Java Enterprise Edition 5 – love it or hate it, it's the culmination of a great deal of work by the thought leadership of the Java Community Process (JCP) and the EE ecosystem. But has the work on behalf of this platform, which some say is too complex for a service-oriented world, better positioned it to play in such a world? And what has been learned from the process, and from the reception thus far to Java EE 5, that might drive future changes to the platform as well as to the JCP itself?
Overall, according to Onno Kluyt, chair of the JCP, the Java EE 5 process "worked quite well. One of the good things the effort achieved was that Java EE 5 succeeded in creating a common persistence API."
In addition, Michael Bechauf, vice president of industry standards at SAP AG, pointed to EJB 3.0 as "a big step forward, even though EJB has nothing directly to do with SOA enablement, it's a step forward in how Java EE as an environment has matured for building business applications in general. People have accepted a certain maturity setting in. They want to know how Java has matured, and how the Java platform is moving forward."
But are organizations moving forward with adopting Java EE 5? In some ways they have to wait for the vendors. Only SAP NetWeaver Application Server Java EE 5 Edition, Sun Java System Application Server Platform Edition 9 and TmaxSoft JEUS 6 have Java EE 5 compatible implementations. The upcoming JBoss Application Server 5.0 will be Java EE 5 compliant and is targeted for the first half of 2007. JBoss has already made available some core technology that will be part of the 5.0 release.
"Our current Web services stack has good chunk of Java EE 5 Web service support in it today," said Shaun Connolly, vice president of product management JBoss, a division of Red Hat Inc. "The full capability of what's required from EE 5 Web services will be part of the next release. We're focusing on the things our community and customers are saying they want now [that Java EE 5 made possible]."
What has resonated with users with Java EE, he said, are the simplification of persistence, increased performance, Java Server Faces for a more structured Web application framework and Web services annotations, which make the creation of Web services easier. "If the success of JBoss seam is any indication, the market wants more simplification," he said. Seam is a Web application framework that Connolly said bridges the gap between JSF and EJB.
Jeet Kaul, executive director of application platforms at Sun Microsystems Inc., said that data on adoption is mostly anecdotal, but he said there has been "an uptick in developers talking about going into deployment with Java EE 5 next year. People are aware there's a new platform there. Maybe it's because open source is part of it."
In November, Sun open sourced the Java platform and released source code under the GPL license. The first pieces of source code it made available were Sun's implementation of Java Platform Standard Edition (Java SE) and a buildable implementation of Java Platform Micro Edition (Java ME). Sun is adding the GPL license to Java EE, which had been available as open source through Project GlassFish.
What has surprised Sun's Nick Kassem, technology director for Web services, about reaction to Java EE 5 has been the "the quality of questions coming in from our partners and customers. I was expecting skeptics about Web services."
However, Bruce Snyder, co-founder and developer for the Geronimo project and a senior architect at open source provider LogicBlaze Inc., said he is still seeing "people going outside of Java EE to look for solutions. That's why customers are coming to us, why open source projects are there. The upgrade from 1.4 to Java EE 5 is a major shift from RPC-style Web services to annotated Web services. That's good, but it's just following what the open source community was already doing. And there are still a lot of organizations out there that run Java 1.4. Java EE 5 requires an upgrade to Java 1.5."
Jason Bloomberg, senior analyst at ZapThink LLC, said he's "not seeing anybody interested in JAX-WS and JAXB. The Java world is getting very diverse, both on the commercial side and open source. It's also getting noisy, which is an opportunity for Microsoft."
The user community is "coming to understand the true implications of SOA for their enterprise architecture, which is more about abstracting heterogeneous capabilities to build services into processes and enabling richer consumption of services. It's not about putting Web services interfaces on," Bloomberg said. Java EE 5, if anything, "will become more a niche approach for transactional Web,sites that don't have to be service-oriented, one tool in an ever more populated toolbox," Bloomberg said.
Richard Monson-Haefel, a senior analyst at Burton Group Inc., said there are some technologies in Java EE 5 that make sense for the user community, "but as a whole platform, it no longer represents the best solution for all developers." He advises organizations to consider alternative frameworks for future development, such as Linux, Apache, MySQL, PHP/Python/Perl (LAMP), Spring, Hibernate, RoR, and Microsoft .NET, which offer simpler programming models.
Sun's Kassem said Sun is "a big fan of Ruby on Rails. I don't see it at odds with the Java EE 5 value proposition."
Sun is just starting to talk with other EE platform vendors about the direction for the next version, but in the meantime EE 5 in Project GlassFish "is adding support for JBI, whatever it takes to help developers build Web services and to use orchestration and to provide all the tools needed for people to start going in that direction," said Sun's Kaul.
"One thing we did in the context of Project Tango is delivered the NetBeans tooling, which is an important aspect of the usability effort," Kassem said. "We expect to do more work in this area. You'll see a richer set of tooling delivered as part of NetBeans for the Web services stack."
Project Tango is a Sun initiative focused on ensuring interoperability between Java EE and .NET. Sun and Microsoft engineers have been working together and Sun has released Web Services Interoperability Technology (WSIT), an open-source implementation built on JAX-WS. NetBeans modules are delivered as part of Project Tango.
While Sun's Kassem acknowledges there has been a "perception that Sun was falling behind in the WS-* race, it's not a race from our perspective. We're picking and choosing the moments to strike." He said the opportunity came up to work with Microsoft. "Vista at the client level is a fact of life. It's important for EE to have first-class interoperability with that environment."
A new JCP
Interoperability is also a focus of the JCP going forward. "The realization we've all come to from customer experiences, is that increasingly our customers' enterprises need to compose applications from larger building blocks," the JCP's Kluyt said. "You find you don't often have a homogeneous IT environment. It would be helpful to enterprises if in some cases the specs can not only be implemented in Java, but in other [technologies]."
The ability to do so is one of the issues being addressed in JSR 306, a proposed process change dubbed "Toward a New Version of the JCP." JSR 306 was submitted to the JCP in September by Sun, and Sun has taken the role of spec lead. It is on an aggressive schedule to be approved by May 2007.
Along with allowing non-Java implementations of JSRs, a faster pace for JSRs is another issue being addressed in this JSR, as well as: the ability to create liaisons with other organizations: easing migration of existing technologies towards a standard; broader access to and use of Java standards by non-Java environments; enhanced participation in the JCP program; and optimization of transparency of the process.
The open sourcing of the Java platform will help drive transparency, Kluyt said. While he said it won't impact the fundament role of the JCP.
"The JCP has been coexisting with open source and doing so for a number of years," he pointed out. It will impact the JCP "more from a lifestyle perspective," particularly around Java SE.
"Open sourcing of SE is a bigger deal [than open sourcing EE 5]," Kluyt said. "It speaks to many more developers and includes the language and the VM [virtual machine]. It's more tangible for the majority of developers and in that sense there will be a higher number of developers that get involved in those projects. With the existence of large-scale projects and the openness developers are used to [with open source], the need for JSRs to behave in a similarly open and transparent way will increase. It will be a good influence. You will see many more spec leads blogging about what the JSRs are doing."
And JSR 306 may help those JSRs move faster, if appropriate. Kluyt said the spec is investigating if "there are things we can do to make JSRs on average go faster." While he said reaching agreement around standardization takes time, JSR 306 will examine if "the process stands in the way of reaching that conclusion."
Kluyt said the JCP is looking at the cycle of Java EE 5 as well as SE. "Those are very large undertakings. I don't think it's useful for the community at large if those efforts would go much faster," he said. "You have to take into account the rate of change market can endure."
Looking ahead to EE 6
Looking to 2007, Kluyt said he expects to see "lively discussions" around all three of the new platform versions completed this year. For the next version of EE, one discussion he expects will focus on the merits of another big release vs. the release of smaller pieces.
SAP's Bechauf suggested rethinking "the all or nothing [approach]. Java EE 5 got larger and larger. We don't want to see the same thing with EE 6. If it adds more functionality, then also allow [us] to add it on a selective basis."
Bechauf said he would also like to see the JCP become more friendly "from a process perspective" and open to development outside of the JCP, such as the Service Component Architecture effort. "The JCP process shouldn't preclude these being brought back into the JCP. A revision of the JCP is happening now and these are the right steps [being] taken. From our perspective it's a good sign Java is maturing."
JBoss' Connolly would also like to see a more "a la carte" approach instead of vendors having to certify to the whole platform. Customers don't want large platforms "inflicted upon them," which is why the lightweight platforms have gained traction, he said.
Open source will also force innovation, Connolly said. "If you keep [the process] open and collaborative, a lot of this stuff will come back in and be part of platform. The EE platform will evolve, and it is going to need to."