Welcome!

SOA & WOA Authors: Peter Silva, Maureen O'Gara, Tony Bishop, Mark O'Neill, Yeshim Deniz

Related Topics: SOA & WOA

SOA & WOA: Article

What will determine whether one prevails...or ensure that they can co-exist?

What will determine whether one prevails...or ensure that they can co-exist?

Java 2 Enterprise Edition (J2EE) has not yet achieved critical mass as a Web application platform. Today, for example, over 10,000 customers are using BEA WebLogic, the J2EE application server market leader. However, it's a safe bet that J2EE will eventually reach critical mass.

Microsoft's .NET is also a safe bet to get to critical mass. No other Web application infrastructure software platform has the traction of these two leaders, and while some developers may be drawing battle lines between J2EE and .NET, it seems to me that their peaceful coexistence will be the norm.

Most sophisticated IT organizations will deploy both platforms. J2EE already has a strong position in enterprise applications, and enterprise ISVs (independent software vendors) need an application code base that can be deployed on whichever platform their customers demand. On the other hand, much of Microsoft's existing ISVs and small enterprise marketplace is sure to jump on the NET bandwagon.

Interoperability Via Web Services
The good news for all of us is the promise of easy interoperability between the two platforms, via the shared Web services stack (SOAP, WSDL, UDDI, URI). The leading J2EE platforms already provide Web services that were delivered before the advent of .NET. The real fisticuffs will continue to be Java vs C# and J2EE vs .NET.

Both J2EE and .NET are server-side platforms. J2EE, of course, came out of the recognition that the sweet spot for Java was more than just client devices. Rather, Java was and remains an outstanding platform for server-side applications. J2EE extends Java with the standard application programming interfaces (APIs) required for server-centric Web applications. J2EE does for Web applications what SQL did for relational applications - protects investment in programs and programmers.

While there's some truth to the "write once, test everywhere" claim of Sun's Java, interface specifications and rigorous compliance testing have ensured that the Java community has done a far better job of protecting programming investment than prior standards like SQL and POSIX. What's more, the portability offered by a specific J2EE platform like BEA WebLogic is comparable to that offered by NET, but applies across virtually all of the hardware and operating systems on the Web. This multiplatform support remains one of the most fundamental value-adds for J2EE. While C# may indeed be ported to UNIX, it seems unlikely that the full .NET environment will show up there (that is, Basic - "the language" - may be multiplatform, but Visual Basic/ VB.NET - "the platform" - is Windows-centric).

Java/J2EE Is a Community Effort
While competition between J2EE and .NET helps the industry by driving innovation in both market camps, how this innovation comes about highlights another of the fundamental differences between the two platforms: .NET APIs are the product of a single company, while Java/J2EE represents the collective innovation of the hundreds of companies that make up the Java community. Universities, too, have bought into the Java paradigm, making it the de facto standard in computer science curriculums.

For those that are looking to handicap the J2EE/.NET race, I would summarize the technology advantages for J2EE as follows:

  • Maturity: J2EE has four years of scaled production under its belt. How many years did it take to fully harden Microsoft SQL Server (which is of comparable complexity to .NET)? And SQL Server was derived from a mature product.
  • Richness: Today, the J2EE component model supports sessions (with session protection), asynchrony (messaging), caching, replication, and automated persistence. Moreover, J2EE is language-specific, which offers a more natural model for intra-application invocations (Web services are the better fit for inter-application calls).
  • Pluggability: J2EE offers service-provider interfaces (SPIs) for messaging and events (JMS), resource adapters (JDBC, J2EE connectors), XML processing (JAX), and so on. These SPIs allow a level of plug and play not afforded by .NET.
  • Learning Curve: The existing Visual Basic programmer will find that NET demands a steep learning curve. This disconnect is going to have a multi-year impact on the reworking of Microsoft applications and the retraining of MS developers. The Java/J2EE community is simply further down this path, and J2EE applications require zero rework for Web services.
Microsoft and Java
Microsoft's strategy with respect to Java is actually good news for companies like BEA. Had Microsoft elected to stay in the Java business, I suspect it is unlikely that BEA would be having so much success enabling J2EE for Windows. Today, WebLogic is one of the most Windows-friendly of the J2EE application servers, including support for native bindings for MS SQL Server, IIS, COM+ (bi-directionally), and, last but not least, "out of the box" interoperability with Microsoft clients and servers via Web services.

Future Factors
What will ultimately determine whether J2EE or .NET prevails are the innovations still to come. Here are just a few examples of future factors:

  1. How reliable and secure each is for asynchronous Web services
  2. How dramatically each reduces the complexity of application integration
  3. The extent to which each simplifies aggregation and personalization of user interfaces
  4. The extent to which each lowers the total cost of ownership
The ultimate winner(s) will have integrated platforms that make even the most difficult things easier. Stay tuned!

More Stories By Scott Dietzen

Scott is widely credited with helping put together the J2EE standard, launching the Web application server category, launching the Java Community Process, and driving the Web services collaboration with Microsoft and IBM. Prior to Zimbra, Scott was CTO of BEA Systems where he was the principal architect of the technology strategy for the WebLogic product family.

Comments (5) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Greg Ohlsen 08/12/02 10:30:00 AM EDT

Why do Java App servers cost so much? They can't be that much better than a Microsoft solution.

Mark Tomlinson 05/30/02 12:55:00 PM EDT

I disagree with the implied statement that "Benchmark Factory is accurate, and LoadRunner is not accurate" - where accuracy of browser simulation is critical to both tools. Veritests own comparison of the tools at: http://www.gotdotnet.com/team/compare/Benchmark_ToolComparison.aspx

states:
"The fact that Quest Benchmark Factory produces almost twice the load as Mercury Interactive LoadRunner at the same user levels, and other technical differences in the two test tools, makes a comparative statement between these tools impossible."

I repeat: "A COMPARATIVE STATEMENT BETWEEN THESE TOOLS [is] IMPOSSIBLE"

guy young 02/17/02 12:55:00 AM EST

whats your take on bea....good investment or bad? I apprechiate your art

Mansour Kavianpour 02/11/02 02:41:00 PM EST

I found your Guest Editorial by Scott Dietzen very interesting. He indeed pointed out the most important aspects of the two technologies and the fact that, the aggregation of Industry brain certainly produce much better and more reliable design and arcgitecture than Microsoft alone!

Thanks,
Mansour Kavianpour

J Reddy 02/05/02 07:50:00 PM EST

Based on the past history it is better not to ignore other things:

1) Performance
2) Development tools, and
3) Sustained backing

Clean and elegant interfaces are very appealing and intellectually satisfying.
But what a CIO cares is running his business without much headaches; when his job is on the line, he is going choose what "works"!!!

Cheers!