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

35
Migrating Java Applications to the .NET Framework Andrew Jenks Program Manager Visual Studio .NET ajenks@microsoft. com Brian Keller Product Manager Visual J#.NET briankel@microsoft .com Session Code: TLS330

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

Page 1: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Migrating Java Applications to the .NET Framework

Andrew JenksProgram ManagerVisual Studio [email protected]

Brian KellerProduct ManagerVisual J#[email protected]

Session Code: TLS330

Page 2: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

AgendaAgenda

MSJVM SituationTransition OptionsTransition Tools and ResourcesThe Road to Whidbey

MSJVM SituationTransition OptionsTransition Tools and ResourcesThe Road to Whidbey

Page 3: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

MSJVM Situation

Page 4: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 5: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 6: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Transition Options

Page 7: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 8: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 9: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 10: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

.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

Page 11: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 12: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 13: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Transition Tools and Resources

Page 14: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 15: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 16: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Diagnostic Tool for the Microsoft VM

Page 17: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 18: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Converting Applets with JLCA

Page 19: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 20: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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 [email protected]

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 [email protected]

Page 21: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

J++ Upgrade Wizard and J# Browser Controls

Page 22: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 23: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 24: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 25: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

Road to “Whidbey”

Page 26: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 27: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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%

Page 28: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 29: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 30: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 31: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

JLCA 3.0: Swing Conversion

Page 32: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 33: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 34: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.

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

Page 35: Migrating Java Applications to the.NET Framework Andrew Jenks Program Manager Visual Studio.NET ajenks@microsoft.com Andrew Jenks Program Manager Visual.