Platform Migration and Integration

The strength of a technology is rarely the deciding factor in a strategic IT decision of a large organization. There are companies that will never use a Microsoft product as a matter of principle, just as there are companies that will never use anything but Microsoft products. Most companies are more pragmatic and make their strategic IT decisions based on a more complex set of criteria.

Many organizations will choose either .NET or Java as their standard enterprise platform. However, through either good or bad planning, some organizations will end up with both .NET and Java platforms. This could be to harness the power of the best technologies from each platform, or simply because too little control is exercised over the individual departments of an organization. Often companies will want to integrate their IT infrastructures and systems closely with their partners, suppliers, and customers who use a different platform.

Whatever the situation, various options exist for integrating the Java and .NET platforms, and some for performing Java to .NET migration. While we have not seen any .NET-to-Java migration tools, we are sure they will appear over the next few years.

Web Services and Open Standards

A current focus of both Java and .NET is the use of open communication standards, XML for data representation, and XML Web services as a means of system integration. This loosely coupled integration capability provides promising, yet unproven, capabilities to bridge the gap between the two competing platforms.

Java User Migration Path to Microsoft .NET

The Java User Migration Path to Microsoft.NET (JUMP to .NET) is a set of technologies designed to simplify the short-term integration and long-term migration of Java applications and skills to the .NET platform.

JUMP to .NET currently contains two components, Microsoft Visual J# .NET and the Microsoft Java Language Conversion Assistant (JCA). Both tools are currently in beta release and are freely available for download from the Microsoft Web site.

Visual J# .NET

Visual J# .NET is an implementation of Java language syntax, corresponding to the Java Development Kit (JDK) 1.1.4, that targets the .NET Framework. Visual J# .NET is fully integrated with the Visual Studio .NET IDE and provides complete access to the features of the .NET Framework, including cross-language integration.

Visual J# .NET enables customers with applications written in Microsoft Visual J++ to migrate them to .NET as painlessly as possible. Although Java programmers can use Visual J# .NET to develop new applications, it isn’t compatible with J2SE and lacks many of the features a Java programmer would expect.

Java Language Conversion Assistant

The purpose of the JCA is to convert applications developed using Microsoft Visual J++ to C# and so only works against JDK 1.1.4–level code. Currently the JCA will convert most Java language constructs but only about 20 percent of the class library.

It’s expected that future releases of the JCA will increase the class library coverage, but no indication has been made of updating the JCA to convert Java code developed based on later versions of Java.

Third-Party Products

Other alternatives for cross-platform integration include third-party middleware products that span both platforms—for example, messaging systems. In addition, there have been numerous announcements about new products designed to execute components from both platforms. We anticipate that many of the predominant J2EE application servers will eventually provide .NET integration capabilities.

Skills Transfer

Java programmers will have little trouble learning the C# language. The difficulty in learning to develop for the .NET platform is in learning the APIs contained in the .NET class libraries. The quickest way for Java programmers to become proficient in C# and .NET is to read this book and write code, code, and more code.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset