Java under siege

The duo of Java the language and J2EE the platform has come into its own, but now faces a challenge from the emerging Web services model

AS SUN MICROSYSTEMS heads into its annual JavaOne developer conference this week in San Francisco, it has become abundantly clear that Java may not have fully realized its potential, but it has succeeded at forcing Microsoft to stand up and take notice of the threat Java presents to the Redmond, Wash., software giant's core business.

Yet in a somewhat ironic twist of fate, the latest trick up Microsoft's sleeve -- XML-based Web services -- is emerging to challenge the very nature of Java's "write once, run anywhere" promise.

Whereas Sun has taken the portable code approach, spanning the language, platform, and applications that run on J2EE (Java 2 Enterprise Edition), Microsoft is pushing interoperability of otherwise disparate systems and applications through a set of protocols, namely XML, SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery, and Integration), and WSDL (Web Services Description Language). These core protocols enable Web services to be described and registered to a repository where they can be located and ultimately accessed and consumed across the Internet.

XML-based Web services, however, minimize the need for Java's write once, run anywhere approach: With the standards-based interoperability of Web services, applications that support the appropriate protocols can communicate with one another, reducing the need to have the same code everywhere.

But analysts note that XML is only capable of doing one part of the task load Java handles in terms of code interactions, and that XML and Web services by no means replace Java. Although XML is good for representing data, it does not provide a way to address the business logic and processes used to manipulate the data and make it useful -- a strength Java brings to the table.

"Ultimately, the best scenario is with J2EE and Java being the engine and XML being the fuel in that engine," says Tyler McDaniel, an analyst at Hurwitz Group in Framingham, Mass.

Indeed, Sun and its cadre of J2EE partners are fiercely marketing their wares as the foundation for building and deploying Web services, positioning themselves as alternatives to Microsoft's .Net.

Hewitt Associates, for example, built a Web services architecture on top of an IBM WebSphere stack because J2EE offered the scalability it needed to handle surges of Web services calls, says Tim Hilgenberg, chief technology strategist at Hewitt, a financial management and consulting firm in Lincolnshire, Ill.

"Web services comes down to the quality of the services that we offer to our clients. We need to process 10,000 concurrent users at times, and that takes a lot of scale," Hilgenberg explains.

Hilgenberg says that Hewitt also chose Java because it can divorce development from deployment. "For our environment, we'll continue to evolve with Java," he adds.

Still, analysts note that Sun has been slow to embrace the core de facto Web services standards -- SOAP, UDDI, and WSDL -- and the company is putting a lot of stock in ebXML (e-business XML). Sun officials say ebXML could be used for Web services, but Sun's stance on ebXML is not so much that it is an alternative to SOAP, UDDI, and WSDL; rather ebXML is a broader e-business initiative, encompassing those same Web services tenets and much more in the realm of e-business transactions.

"Sun seems a little conflicted about how wholeheartedly to embrace XML and the Web services standards like SOAP that are based upon XML," says Brent Sleeper, a principal at The Stencil Group, a San Francisco consulting firm specializing in Web services.

Friends and enemies

Taking to heart the old maxim, "Keep your friends close and your enemies closer," Microsoft is in cahoots with its sometime-rivals IBM and BEA Systems, who also just happen to be two of Sun's most valued partners -- or, at least, the two J2EE licensees currently battling for the application server market throne.

Microsoft and IBM together have driven development protocols such as SOAP and UDDI, with plans to standardize them through independent standards bodies, all the while subtly -- in the recent case of the Web Services Interoperability Organization (WS-I), not so subtly -- squeezing Sun out of the standards game.

Early last month, IBM and Microsoft let BEA into their realm when they formed the WS-I to ensure that interoperability exists among Web services. Other Sun partners have also joined the group, notably Oracle and Hewlett-Packard. In the creation of WS-I, Microsoft, IBM, and BEA apparently squeezed Sun out of the organization by not extending Sun an invitation until the week they announced the consortium's formation. Sun still has not joined, but maintains that it is reviewing the WS-I charter documents and will decide about joining in the near future.

020325fejavastrat.gif
Sun has also been slighted in that it was working -- in conjunction with other companies including IBM -- toward standardization of a set of e-business technologies under the ebXML umbrella when IBM and Microsoft declared their plans for SOAP, UDDI, and WSDL.

The ebXML mission statement -- to enable businesses of any size in any location to meet and conduct business through the exchange of XML-based messages -- is not altogether different from the tenet of the Web services movement in general or from the set of protocols Microsoft is pushing.

Furthermore, within the larger ebXML fray are working groups focused on messaging, collaborative partnerships, business processes, implementations, and creation of a registry based on ebXML. The ebXML Registry is designed to include general-purpose document registries and real-time business-to-business registries, goals similar to those of UDDI.

"Why was there a perceived need to replicate something that was already being done in a standardized way and with all the intellectual property free?" asks Ed Julson, Sun's director of product management for Java and XML technologies.

That is not to say that companies must choose between ebXML and XML with SOAP, UDDI, and WSDL when it comes to Web services. "That's not a choice anyone will need to make. XML is a generic way to describe data; ebXML is specific to a particular kind of business interaction," Stencil Group's Sleeper adds.

Sun also stands opposed to the standards process approach Microsoft and IBM are taking with SOAP, UDDI, and WSDL.

Microsoft and IBM are developing the technology, then trying to push it through standards bodies, such as the World Wide Web Consortium (W3C). Julson says this is the opposite of how standards are typically construed, with the norm being to start with an idea and submit that to a standards body; after the standards organization's members work on it, an adoptable technology emerges.

"The model has been inverted and, in a lot of ways, is a step back toward proprietary [technologies]," Julson says. He adds that the harm to users comes when specifications such as SOAP are open enough to interpretation that vendors can add their own technology, resulting in incompatible implementations.

Eyeing the future

Undaunted by Microsoft's and IBM's apparent usurpation of the standards process for e-business transactions -- whether they're called Web services or plain old e-business -- Sun is working on adapting Java to meet the needs of Web services by supporting SOAP and UDDI in addition to XML.

Earlier this month Sun teamed with SAP, Cisco, Fujitsu, Oracle, and Software AG to submit to the W3C a specification called XML Pipeline. Pipeline is designed to determine the sequence of application processes for messaging in Web services, which Sun claims will increase interoperability.

"Of course Web services will have an impact on where Java goes long-term. We're on the front of a long-ranging trend toward a new distributed computing," Sun's Julson says.

Sun is also planning to arm the pending J2EE 1.4 with Web services support: The JSR (Java Specification Request) 151 submitted by Sun for J2EE 1.4 declares, "The major theme for the next version of J2EE is Web services." The JCP (Java Community Process) also hopes to add technology for implementing and accessing Web service endpoints, as well as accessing Web services registries, according to the document.

But the company is sticking with ebXML as well, calling it a better fit for e-business than the less-mature triad of UDDI, SOAP, and WSDL. "If you want more robustness, more security for e-business transactions, you're not going to get that from UDDI," Julson says. "We'll support both, though, because we'd rather have the developer choose."

While the competing vendors bicker over standards and implementations, companies will have to evaluate which solution or combination of solutions best meets their needs. Washington Mutual, the Seattle-based bank, is taking the wait-and-see approach and evaluating .Net, Sun ONE (Open Net Environment), and IBM infrastructure, says Jerry Gross, the company's CIO and executive vice president.

Gross explains that a lot is at stake in architecture investments, particularly before the standards get ironed out, because Washington Mutual's infrastructure must be interoperable with not only customers but also with partners. Until the standards are baked, he adds, there is an element of risk.

"There is a leap of faith if I am going to provide services to my customers, and especially if those rely on services from another party. I need to know that those services will be interoperable with mine, that they will be maintained and that they will be there -- and to the level that customers expect from my brand," Gross says.

020325fejavastrat2.gif

Copyright © 2002 IDG Communications, Inc.

How to choose a low-code development platform