J2EE 1.4 Spec Is Final -- Finally

The J2EE 1.4 spec is final, and downloads will be available Nov. 24. The finalization of J2EE 1.4 comes almost a year after it was delayed to support basic web services standards from the multi-vendor WS-I. But, some J2EE voices say it could also be the beginning of the end of Sun's long-standing separation between church and state, as Sun offers its commercial implementations of the spec. IDN spoke with Sun's Distinguished Engineer Mark Hapner.

Tags: J2EE, Developers, Reference Implementation, Support, Spec, Sun, Web Services,

The Java Community Process has finally approved the specs for J2EE 1.4, and release of the spec, reference implementations and initial SDKs is only days away.

"We have an agreement on the new specs for J2EE 1.4, and in specific how Java will work to enable developers to support web services and Service Oriented Architectures," Mark Hapner, J2EE spec lead and a Sun Distinguished Engineer, told IDN.

Adoption of the J2EE 1.4 spec, with native support for web services and XML, comes almost a year after Sun and the JCP voted to delay the release of the spec and reference implementation for J2EE 1.4compliant with the WS-I's Basic Profile 1.0. It also follows Sun's hook-up with the Web Services Interoperability Organization (WS-I), a group initially founded by Microsoft, IBM, and others to ensure that cross-platform web services (particularly between Java and .NET) would conform to compatibility standards to ensure they work together.

A preview of the J2EE API specifications is available. The final spec and reference implementation will be available Nov. 24th.

Inside J2EE Web Services Support
J2EE's web services support reflects a marriage between the WS-I's native work with SOAP, WSDL and XML and current Java APIs. "Support for the BP 1.0 [WS-I's Basic Profile 1.0] will come through the use of the JAX-RPC," Hapner told IDN.

"We looked at a variety of approaches for how [Java/J2EE] could support the full BP, and decided that using JAX would be the best and most efficient approach. We're looking to make it easier for developers to support web services in their development, and so we don't think it's necessary for them to worry about learning a new coding [approach] just to support a WSDL, for example."

The trick to the J2EE support for the Basic Profile, then, is in the expansion of JAX-RPC APIs to recognize and work with WSDL and XML files and schema, Hapner added. "We want to make it as easy for a Java developer to work with an EJB as it would be to work with a WSDL file," he said. "As much as possible, from an engineering and developer point of view, we think there should be no real difference."

J2EE 1.4 will also include XML support to enable J2EE developers to "focus on the XML schema and define [web] services, and not get too involved in the lower-level details," Hapner added. The J2EE 1.4 specification also includes improved support for JSPs (Java Server Pages), connector architecture, and infrastructure management and deployment. Though Hapner said that the key updates in J2EE 1.4 are in web services, but he added that work on the J2EE side is just beginning, and he conceded there is more to do to ensure J2EE developer support for the integrity of an end-to-end web service.

"We're only at the first step of ensuing the whole SOA environment for developers," Hapner told IDN, "and I'm talking more than just security." The challenge remains to provide developers the same kind of robust transaction support for loosely coupled (or web-based) connections as found in today's tightly coupled client/server or legacy networks. From Hapner's point of view, that means some key elements from the message-queuing world are on the agenda, including ensuring and validating transactions, and even making sure that connections aren't dropped or transactions aren't duplicated.

Can Sun Still Be Friends?
The release of J2EE 1.4 also represents the first work product to come from Sun's new membership in the WS-I, and its close work with IBM and Microsoft on the WS-* family of web services interoperability specs. IDN asked Hapner, who, by the way, is the Sun delegate on the WS-I, if his first taste of working in the WS-I was a harbinger for more cooperation.

With guarded optimism, Hapner said, "I certainly think this is a first step toward more cooperation, but the WS-I also needs to rethink some of its approaches." For instance, Hapner said he was concerned that some of the interoperability initiatives at WS-I may not fully support total cross-platform interoperability -- either between varying J2EE implementations or between Java/J2EE and .NET. "Developers need to be aware that not all vendors are fully implementing the entire WS-I [specs]," he said.

But doesn't WS-I compliance and interoperability testing shield developers from possible incompatibilities? Hapner said that, notwithstanding the testing, he was concerned about the possibility of incompatibilities. However, he also admitted that neither Sun nor the JCP had done, nor planned to do, any compliance testing on their own at this time.

But there are other J2EE vendors that are also concerned with Sun's approach -- especially with Sun's idea to take aspects of the J2EE 1.4 Reference Implementation and bundle that into the "Platform Edition" of Sun's free Sun Enterprise Server (formerly SunONE). "With this [J2EE] spec, Sun has turned the reference implementation into a commercial product, which gives them a plus," BEA's Eric Stahl, director of product marketing told IDN.

"Sun's strategy is pretty transparent," Stahl added, saying Sun wants "to get [early developers] to use the J2EE 1.4 reference implementation and turn them into using the Sun commercial product line. To avoid this scenario, Stahl said early developers who download the J2EE 1.4 spec and reference implementation, available Nov. 24, should confine their use of the implementation to the J2EE 1.4 APIs. "Functionally, outside of that, they will be in the Sun product line," Stahl added.

For it's part, BEA will not immediately release an upgrade of its WebLogic 8.1 J2EE platform, just released in August, Stahl said. WebLogic 8.1 is currently complaint with J2EE 1.3, and has some web services and XML support features.

"We weighed the possibility to do an early [J2EE 1.4 implementation and the reality is the cost of doing that versus what we truly believe is the benefit does not add up to a worthwhile equation," Stahl said, adding that in BEA's research there is not a huge demand for J2EE 1.4 for now.

"There are always a percentage that are early adopters, but we see that is far from a majority of J2EE developers. So, we will not do a Developer's Release of [J2EE] 1.4. If people want to ramp on the 1.4 enhancements, there are plenty of resources out there," Stahl added.

Getting J2EE 1.4 -- The Spec
The full J2EE 1.4 spec, including API specifications and reference implementations, will be available Nov. 24, Hapner said. For its part, Sun will release a J2EE 1.4 SDK that includes a J2EE 1.4-certified Sun app server (the developer release of the Sun Java System Application Server 8 Platform Edition), documentation, tools and reference implementations. It will be available as a free download for Solaris and Windows at Sun's Developer Network site at or.