Introduction


While there are a number of technology choices that can be used when implementing applications, the market has consolidated into two major families of technology. These are the Microsoft .NET family and the Java 2 Enterprise Edition (Java EE) family. The latter of these, Java EE, is considered by many to be superior based on its security, scalability, and manageability merits, as well as the fact that much of the logic required to make applications highly available, reliable, and performant is already developed as part of Java EE Application Servers, preventing the need to develop this functionality individually. For this reason, among others, many development groups are looking into Java EE as a viable alternative to .NET and want to size and price what it would take to migrate their existing .NET applications to Java EE.

As such, the focus of this chapter is to look at how to port existing .NET applications to Java, and to assist in determining the best strategy for doing so.

Why Java EE?

Java EE Applications are flexible and work on most hardware and operating system configurations. Because they are based on Java, they work on any system that has a supported Java Virtual Machine. As the Java EE standards are open and implemented by many vendors, there are many alternatives to meet every budget, from free application servers such as Tomcat and JBoss, to fully-featured license-based ones such as BEA WebLogic and the Sun Application Server. The reliability and availability of Java EE applications are well known and well published, and the scalability of the platform is not a problem. Indeed, one of the main points of the Java EE specification is that the application server that is built on the platform handles much of the Enterprise "plumbing," such as object pooling or application clustering, without the developer having to write and support thousands of lines of code to do this for himself.

The driving factors for migration to the Java EE platform vary from company to company, but the main ones are

  • Security The Microsoft Operating System platform and Internet Information Services Web Server have been frequent victims of successful security attacks. Many companies have been scared off by this and don't want to absorb the expense of almost daily patching, updating, and regression testing.

  • Rapid development using off-the-shelf components While the Microsoft Visual Studio tools empower developers to quickly produce quality software, an Enterprise application requires functionality that allows it to scale well, scale securely, and be inherently manageable. For example, high availability applications require such functionality as object pooling. The cost of developing this functionality is extremely high, and when it can be purchased off the shelf (in the form of a Java EE Application Server) for a license fee that is orders of magnitude lower than the cost of developing it, Java EE becomes an attractive prospect.

  • Linux and Solaris More and more enterprises are factoring the use of Linux into their overall strategy for cost and security reasons. To allow for interoperability and maximization on skill sets and license expenditure, the cross-platform Java is more attractive. Solaris is free and has advantages over Linux with features such as Dtrace, zones, and more, [Solaris1].

Therefore another advantage of using Java EE is that not only does it provide the best available application platform, but it also has the flexibility for adopting Linux, Unix, or Solaris, potentially providing a cheaper and more secure operating system solution than many of the alternatives.

As has been made clear, there are many reasons why the Java and the Java EE platform in particular are compelling if one wants to deploy, run, and maintain mission critical, highly available, scalable, and performant applications. As such, if there are application assets presently built in .NET and the desire is to move toward the Java platform, there are many benefits to be obtained.

This chapter looks at the considerations to take into account when porting .NET applications to Java; it evaluates some strategies to make it as straightforward as possible and goes into detail on how to port an example based on the WS-I Supply Chain Management application [WSI-1]. It looks into what it takes to manually translate source code from C# to Java, as well as the innovative Visual MainWin for Java EE from Mainsoft and how it allows the use of existing .NET source code to build and deploy Java EE applications.




Java EE and. Net Interoperability(c) Integration Strategies, Patterns, and Best Practices
Java EE and .NET Interoperability: Integration Strategies, Patterns, and Best Practices
ISBN: 0131472232
EAN: 2147483647
Year: N/A
Pages: 170

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net