Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET...

Post on 17-Jan-2016

227 views 0 download

Tags:

Transcript of Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET...

Migrating Java Applications to the .NET Framework

Andrew JenksProgram ManagerVisual Studio .NETajenks@microsoft.com

Brian KellerProduct ManagerVisual J#.NETbriankel@microsoft.com

Session Code: TLS330

AgendaAgenda

MSJVM SituationTransition OptionsTransition Tools and ResourcesThe Road to Whidbey

MSJVM SituationTransition OptionsTransition Tools and ResourcesThe Road to Whidbey

MSJVM Situation

Microsoft JVM SituationMicrosoft JVM Situation

In a settlement agreement reached in January 2001 to resolve a dispute over Microsoft's distribution of its Java implementation, Sun and Microsoft agreed to limit the duration of Microsoft's use of Sun's source code and compatibility test suites to support the MSJVM until January 2004

In a settlement agreement reached in January 2001 to resolve a dispute over Microsoft's distribution of its Java implementation, Sun and Microsoft agreed to limit the duration of Microsoft's use of Sun's source code and compatibility test suites to support the MSJVM until January 2004

Microsoft/Sun ExtensionMicrosoft/Sun Extension

Sun and Microsoft have agreed to extend Microsoft's license to use Sun's Java source code and compatibility test suites until September 30, 2004, and gives Microsoft the ability to address potential security issues, effectively giving customers another year to manage the transition

Sun and Microsoft have agreed to extend Microsoft's license to use Sun's Java source code and compatibility test suites until September 30, 2004, and gives Microsoft the ability to address potential security issues, effectively giving customers another year to manage the transition

Transition Options

Transition OptionsTransition Options

No actionIE trusted zone lockdownDesktop MSJVM removalDesktop third- party JRE replacementOS deployment

No actionIE trusted zone lockdownDesktop MSJVM removalDesktop third- party JRE replacementOS deployment

No actionRetire application.NET migrationOther rendering technologiesThird-party JRE development

No actionISV product service pack or upgradeMS product service pack or upgrade

Custom ApplicationsCustom ApplicationsInfrastructure/DesktopInfrastructure/Desktop Vendor ApplicationsVendor Applications

Systems Engineer Developers Application Support

No ActionNo Action

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

Custom ApplicationsCustom Applications No ActionNo Action

• No unexpected No unexpected surprisessurprises

• No development No development efforteffort

• The MSJVM will The MSJVM will continue to run Java continue to run Java applicationsapplications

HoweverHowever

• The MSJVM is The MSJVM is exposed as exposed as unsupported softwareunsupported software

Retire ApplicationRetire Application

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

Custom ApplicationsCustom Applications Retire ApplicationRetire Application

• Requires that there is Requires that there is no longer a need for no longer a need for the applicationthe application

.NET Migration.NET Migration

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

Custom ApplicationsCustom Applications .NET Migration.NET Migration

• Supported Supported development development platformplatform

• Leverages new Leverages new technologiestechnologies

• Same vendor support Same vendor support with conversion toolswith conversion tools

HoweverHowever

• Re-engineering effortRe-engineering effort

• Development Team Development Team and readiness and readiness for .NETfor .NET

Other Rendering TechnologiesOther Rendering TechnologiesNo actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

Custom ApplicationsCustom Applications Other Rendering Other Rendering TechnologiesTechnologies

• DHTML, ASP, Flash, DHTML, ASP, Flash, etc.etc.

• Well suited for visual Well suited for visual web presentationweb presentation

HoweverHowever

• Re-engineering effortRe-engineering effort

• Development Team Development Team and readiness for and readiness for other technologiesother technologies

• Potential new vendor Potential new vendor supportsupport

Third-Party JRE DevelopmentThird-Party JRE DevelopmentNo actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

No actionRetire Application.NET migrationOther Rendering TechnologiesThird-party JRE development

Custom ApplicationsCustom Applications Third-party JRE Third-party JRE developmentdevelopment

• Runs Java Runs Java applicationsapplications

HoweverHowever

• Re-engineering effortRe-engineering effort

• Development Team Development Team and readiness for and readiness for third-party JRE third-party JRE developmentdevelopment

• New vendor platformNew vendor platform

Transition Tools and Resources

Transition ToolsTransition Tools

Group Policy settings for IE lockdown with trusted zonesMSJVM removal tool SMS and SUS for deployment and upgrades

Group Policy settings for IE lockdown with trusted zonesMSJVM removal tool SMS and SUS for deployment and upgrades

Diagnostic Tool for the Microsoft VM.NET migration

Visual C# - Java Language Conversion Assistant (JLCA)Visual J# - J# Browser Controls

Training webcasts on tool usage

ISV product transition inventoryMS product transition inventory

Custom ApplicationsCustom ApplicationsInfrastructureInfrastructure Vendor ApplicationsVendor Applications

Systems Engineer Developers Application Support

Diagnostic Tool for the Microsoft VMDiagnostic Tool for the Microsoft VM

Helps developers and IT pros determine the extent of their reliance on the MSJVMSearch local or distributed machines for

Instances of the MSJVMEXEs, DLLs, and OCXs which link to the MSJVMClass filesUses of the Microsoft extensions for the Java language (JavaCOM, J/Direct, etc.)Web files and URLs with applet tags or Object or Embed tags which point to the MSJVM

Beta available in early November ‘03

Helps developers and IT pros determine the extent of their reliance on the MSJVMSearch local or distributed machines for

Instances of the MSJVMEXEs, DLLs, and OCXs which link to the MSJVMClass filesUses of the Microsoft extensions for the Java language (JavaCOM, J/Direct, etc.)Web files and URLs with applet tags or Object or Embed tags which point to the MSJVM

Beta available in early November ‘03

Diagnostic Tool for the Microsoft VM

Java Language Conversion AssistantJava Language Conversion Assistant

Convert Java language and API calls to C# and the .NET FrameworkHelps developers move; does not move for developersFastest way to move Java application to C#Easiest way to take advantage of new features of the .NET FrameworkAdditional MSJVM-specific features in JLCA 2.0

Convert Java language and API calls to C# and the .NET FrameworkHelps developers move; does not move for developersFastest way to move Java application to C#Easiest way to take advantage of new features of the .NET FrameworkAdditional MSJVM-specific features in JLCA 2.0

Converting Applets with JLCA

Visual J# .NETVisual J# .NET

Brings the Java language syntax to the .NET frameworkMaintains the simplicity and familiarity of the Java languageSupports most of the JDK functionality and MS Extensions found in J++Can fully target the .NET FrameworkCarry forward existing skills and code investments

Brings the Java language syntax to the .NET frameworkMaintains the simplicity and familiarity of the Java languageSupports most of the JDK functionality and MS Extensions found in J++Can fully target the .NET FrameworkCarry forward existing skills and code investments

J# Browser ControlsJ# Browser Controls

Provides migration path for applet source code to J#Requires little or no source code modificationAvailable for download today!

http://msdn.microsoft.com/vjsharp/browsercontrols

Send feedback to jsfeedbk@microsoft.com

Provides migration path for applet source code to J#Requires little or no source code modificationAvailable for download today!

http://msdn.microsoft.com/vjsharp/browsercontrols

Send feedback to jsfeedbk@microsoft.com

J++ Upgrade Wizard and J# Browser Controls

Transition Aids and ServicesTransition Aids and Services Custom ApplicationsCustom ApplicationsInfrastructureInfrastructure Vendor ApplicationsVendor Applications

Microsoft MSJVM Transition GuideBusiness Technology Reviews to assist in identifying dependencies and migration optionsFree PSS incident support for transition tools and MSJVM migration to .NETCase Study examples on migrationSupported public newsgroupsPrepared Service Consultants and PartnersAdditional information on http://www.microsoft.com/Java

Microsoft MSJVM Transition GuideBusiness Technology Reviews to assist in identifying dependencies and migration optionsFree PSS incident support for transition tools and MSJVM migration to .NETCase Study examples on migrationSupported public newsgroupsPrepared Service Consultants and PartnersAdditional information on http://www.microsoft.com/Java

MSJVM Transition GuideMSJVM Transition Guide

Walks developers and IT pros through all stages transition

Assessing your situationAnalyzing your resultsLocking down nowMigrating to .NETRewriting using other rendering technologiesMoving to another JRE

www.microsoft.com/java

Walks developers and IT pros through all stages transition

Assessing your situationAnalyzing your resultsLocking down nowMigrating to .NETRewriting using other rendering technologiesMoving to another JRE

www.microsoft.com/java

SummarySummary

Awareness – review the available materials at http://www.microsoft.com/Java Assess – determine your reliance on the MSJVMPlanning – find the best solution(s) that meet your company’s requirementsTransition – begin the process sooner rather than later

Awareness – review the available materials at http://www.microsoft.com/Java Assess – determine your reliance on the MSJVMPlanning – find the best solution(s) that meet your company’s requirementsTransition – begin the process sooner rather than later

Road to “Whidbey”

J# “Whidbey”J# “Whidbey”

J# Browser Controls integrated into runtimeSwing functionality integrated into runtimeAPTC enabledFull CLS Extender

Author enum typesAuthor value typesCLSCompliant attribute

Support for strictfp and volatile

J# Browser Controls integrated into runtimeSwing functionality integrated into runtimeAPTC enabledFull CLS Extender

Author enum typesAuthor value typesCLSCompliant attribute

Support for strictfp and volatile

JLCA 2.0 – JSP and ServletsJLCA 2.0 – JSP and Servlets

Huge community request to offer JSP and Servlet migrationSupport present in JLCA 2.0

JSP pages converted to ASP.NET inline code filesServlets converted to code-behind solutions

Conversion success nearly 90%

Huge community request to offer JSP and Servlet migrationSupport present in JLCA 2.0

JSP pages converted to ASP.NET inline code filesServlets converted to code-behind solutions

Conversion success nearly 90%

JSP to ASP.NET Conversion GuideJSP to ASP.NET Conversion Guide

The guide containsGuidance on how to use the JLCAVideo presentationsWhite PapersSample code

The guide was built around a single case study

www.codenotes.comA Random House website

The guide containsGuidance on how to use the JLCAVideo presentationsWhite PapersSample code

The guide was built around a single case study

www.codenotes.comA Random House website

A Conversion Case StudyA Conversion Case Study

The website (www.codenotes.com)

Random House's Developer PortalBuilt in support of the CodeNotes® book series

The ConversionEntire website migrated to ASP.NETBefore and after code is availableDetailed presentations and white papers in guide

The website (www.codenotes.com)

Random House's Developer PortalBuilt in support of the CodeNotes® book series

The ConversionEntire website migrated to ASP.NETBefore and after code is availableDetailed presentations and white papers in guide

JLCA 3.0JLCA 3.0

In development nowAdds support for

J2EE 1.3 JDK 1.3Extensibility of the JLCA

Beta available early 2004Currently seeking EAP customers interested in evaluating early builds

In development nowAdds support for

J2EE 1.3 JDK 1.3Extensibility of the JLCA

Beta available early 2004Currently seeking EAP customers interested in evaluating early builds

JLCA 3.0: Swing Conversion

PDC ResourcesPDC Resources

Product Pavilion Java and .NET: Migration and Interop

Ask the ExpertsTuesday, Oct. 28th 6:30-9PM, Halls F&G

Hands-On LabsParty

Wednesday, Oct. 29th 7:30PM, Universal Studios

Product Pavilion Java and .NET: Migration and Interop

Ask the ExpertsTuesday, Oct. 28th 6:30-9PM, Halls F&G

Hands-On LabsParty

Wednesday, Oct. 29th 7:30PM, Universal Studios

ResourcesResources

JLCA 2.0http://msdn.microsoft.com/vstudio/downloads/tools/jlca/default.aspx

Visual J# and J# Browser Controlshttp://msdn.microsoft.com/vjsharphttp://msdn.microsoft.com/vjsharp/browsercontrols

MSJVM Transition Guidehttp://www.microsoft.com/java

JSP to ASP.NET Migration Guidehttp://msdn.microsoft.com/asp.net/using/migrating/jspmig/default.aspx

JLCA 2.0http://msdn.microsoft.com/vstudio/downloads/tools/jlca/default.aspx

Visual J# and J# Browser Controlshttp://msdn.microsoft.com/vjsharphttp://msdn.microsoft.com/vjsharp/browsercontrols

MSJVM Transition Guidehttp://www.microsoft.com/java

JSP to ASP.NET Migration Guidehttp://msdn.microsoft.com/asp.net/using/migrating/jspmig/default.aspx

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.