J2EE and .NET – Reducing the Complexity of IT Environments

Over the past few decades, IT has gone through countless different phases of development, some of them more long-lasting than others. This constant process of change has its positive side – promoting useful innovation, for example – but it also has disadvantages for IT users. One problem is that existing systems are often not easy to replace, so heterogeneous system environments tend to develop over time, even in small and medium-sized companies. Many IT managers are therefore setting their sights on standardization as a way of simplifying technology and cutting costs.
The chances of reducing the complexity of systems seem better now than ever before. A large number of different technologies which were widespread in the 1990s are now obsolete and should soon be phased out. These include 4GL languages, Smalltalk and the Common Object Request Broker Architecture (Corba). The question now is which technologies are suitable to handle all the different requirements made on IT systems and to create a consistent and comprehensive architecture. Alongside SAP NetWeaver, there are two development platforms which offer a basis on which to run future-proof applications. These are Sun Microsystems’ Java 2 Enterprise Edition (J2EE) and Microsoft .NET.
Microsoft made a fundamental strategic change with .NET in the year 2000. During the Internet boom, Java was very much in demand, mainly because of its security concept in which the runtime environment was separated off from the rest of the system. In contrast, Microsoft’s pre-Internet era Windows technology did not offer a convincing solution for the development of Internet-capable, server-based applications which could be distributed and installed reliably and simply.

Numerous similarities

In conceptual terms, .NET and J2EE have many features in common. Both have a virtual runtime environment for device-independence of programs (Java Virtual Machine (JVM) and Common Language Runtime (CLR)), a neutral intermediate code and a standard classification library. They therefore meet all of today’s IT processing needs. Ideally, applications need to be run on central servers, offer access via Internet or intranet, serve different clients such as browsers or GUIs (Graphical User Interface) and support any kind of mobile terminal device.
Since both .NET and J2EE have similar technological potential, companies are faced with a tricky decision about which platform to use in the future. According to IDC analyst Rob Hailstone, the decision depends to a great extent on the existing infrastructure. “It’s important to assess what know-how the company already has. In many large companies which already have Unix or Java specialists, J2EE seems the logical choice. On the other hand, companies which already use Windows would probably be better off choosing .NET”, he explains.

Java applications run on different application servers

J2EE architecture
J2EE architecture

One of the major advantages of J2EE over .NET is the portability of applications which it offers. This makes it easy to run Java applications on different manufacturers’ application servers. In the past, applications had to be tested in many different operating system environments, but these days it is sufficient to simply conduct a test on Sun’s reference implementation system. However, Mr. Hailstone points out that there are certain limitations here. Firstly, many manufacturers deviate from the specifications with their application servers in an effort to enhance their performance. Secondly, the J2EE standard is changing very fast, which is creating portability problems.

NET architecture
NET architecture

With .NET, the customer is tied to Microsoft, since the .NET software only works in Windows environments. However, the advantages of this platform lie in the integration of the individual system components and the use of special functions of the operating system.

Web services to combat compatibility problems

There’s a new kid on the block in the IT world which has rather knocked the stuffing out of the arguments of both the Java and .NET camps. Web services are now accepted as the universal standard for integrating different software platforms, and are supported by both .NET and J2EE. More or less the entire IT industry has now recognized the importance of web services. The idea behind this concept is to use generally available Internet protocols and standards like SOAP and WSDL to facilitate communication between different programs across different platforms. The great advantage of this is that heterogeneous system landscapes can continue to exist.
In Mr. Hailstone’s opinion, the quest for homogeneity in IT is in any case a lofty ideal which won’t work in practice. “For reasons of operating reliability alone, no company is going to simply shut down one of its old systems and replace it with a new one. So strategic technologies will always start by integrating existing systems”, he says. Web services are the ideal integration technology here. With the aid of web service adapters, almost any existing piece of software can subsequently be made web-service-capable, so it will maintain its viability without the need for expensive modifications.

Integrating different environments

The development of web services also clears up a number of issues concerning interoperability between the .NET and Java environments. There are still some inconsistencies because of a few specifications which have not yet been finalized, but all the major manufacturers are working together in forums like the Web Services Interoperability Organization (WS-I) to overcome the last few hurdles. The ability to integrate the two environments ought to be a great help, particularly to large companies. Although companies are encouraged to choose one technology or the other when selecting their platform, the different needs of individual departments or the effects of corporate takeovers can in practice frequently disrupt efforts to achieve homogeneity.

SAP NetWeaver
SAP NetWeaver

When it comes to the manageability of mixed environments like this, SAP NetWeaver offers an integration and application platform which has been designed for complete compatibility and interoperability with J2EE and Microsoft .NET. This allows heterogeneous infrastructures to be managed in a flexible manner. In this way, SAP NetWeaver protects existing investments in IT systems and reduces the complexity of IT environments.

Standardized clients with HTML technology

One aspect which should not be forgotten when looking at standardization is the client area. Fuelled by the Internet boom, a trend towards browser-based front-ends has become clear over the past few years. There are many arguments in favor of user interfaces with HTML technology. In contrast to the established Windows PC (also known as the “fat client”), HTML permits the development of server-based applications which are simple to administer.
As far as their market prognoses are concerned, the Java and Microsoft architectures should both become firmly established. Java has the advantage of a wide range of sellers, including major names like IBM, BEA and Oracle, while Microsoft can rely on its market clout.

Wolfgang Miedl
Wolfgang Miedl