Sun Releases Java EE 6 Reference Implementation, Plus GlassFish and NetBeans Updates

p>Sun Microsystems last week released the reference implementation of the newly approved Java Enterprise Edition 6 ( Java EE 6 ) specification, as well new versions of the GlassFish application server and the NetBeans integrated development environment (IDE).

The Java EE 6 specification, the document that describes the spec, was approved by the Executive Committee of the Java Community Process (JCP) standards body earlier last week. Sun's reference implementation is the code that implements that spec, and the primary example of it.

Sun's release is "the culmination of over three years of work," said Kevin Schmidt, Sun's director of product marketing. It provides a more extensible and flexible platform through the introduction of profiles and pruning, he added.

"Profiles" and "pruning" together characterize something of a theme in this release: making Java EE more light-weight and flexible so more people will use it. The reason we don't see more products that are Java EE certified, observed Gartner analyst Massimo Pezzini, is that only the big vendors -- JBoss, Oracle WebLogic, IBM WebSphere, for example -- can afford to put together a fully Java EE-compliant product.

Pruning is described in JSR-316, the Java Specification Request under which Java EE 6 was developed, as the process of converting some components of the Java EE platform from "required" to "optional." Sun described it this way in a press release; "Java EE 6 specifies a process and a set of technologies that may be ‘pruned' from future releases of the platform, allowing vendors and application providers to plan their migration to newer technologies that will be offered in upcoming versions of the platform."

Profiles, one of the most talked-about new capabilities in the Java EE 6 specification, provides a way for users to define a subset of the Java EE specification and still achieve certification, Pezzini explained.

Forrester analyst John Rymer sees the new profiles capability as a direct response to widespread demand for a lighter-weight Java EE. "Some of our clients are fed up with having to install very large runtimes for everything," he said. "It just makes things that much more complex and harder to evolve. So they're looking for what we call ‘fit to purpose' runtimes, through which you deploy the runtime services you need and no more. If you don't need EJB, don't deploy it. If you don't need JMS, don't deploy it. Profiles are essentially a response to this need."

However, the question of whether the new profiles capability will actually deliver on its promise remains to be answered.

"Profiles is an important idea, but the realization of it is in its infancy," Rymer said. "I expected that by this time there would be half a dozen profiles that were already standardized. But that hasn't happened, so we just don't know what the profiles are going to be. This is an idea that a lot of people are very interested in, and I thought we'd see a fully realization of it."

Sun's Java Platform EE 6 release also includes a new software development kit (SDK), which comes with some significant enhancements, including the introduction of Context and Dependency Injection and EJB 3.1 Lite technologies.

Context and Dependency Injections (CDI), formerly known as "Web Beans," allows plain-old-Java-objects (POJOs) to scale in enterprise applications, simplifying development and deployment, and unifying existing Java EE APIs.

"Dependency injection is something that the Spring Framework has popularized," Rymer said, "and I think it's fair to say that among the things they're doing with the Java EE spec is basically copying Spring. It was a big hit with developers, so why wouldn't you?"

EJB Lite is a smaller subset of the Enterprise JavaBeans 3.1 API that includes such features as transactions and security, but leaves out features such as messaging, remoting, and scheduling. "The thinking here is that EJB Lite will make EJB a little bit more popular in the developer community, which has been hesitant to adopt the technology because of its complexity," Pezzini said.

The new Java EE SDK is available now online.

Sun also unveiled the GlassFish Enterprise Server 3, its commercial distribution of the open-source GlassFish app server. It's the first Java EE 6 application server on the market, and it's the first version of this app server based on an OSGi runtime. OSGi defines an architecture for developing and deploying modular applications and libraries.

GlassFish Enterprise Server 3 comes with several new features. Of special interest to developers is GlassFish 3's wide-ranging support for developer tools, including NetBeans, Eclipse, IntelliJ, Maven and Ant, among others. The GlassFish Tools Bundle for NetBeans and for Eclipse have been updated "to support the productivity enhancements and simplified programming model of the Java EE 6 platform," Sun said.

The GlassFish Enterprise Server v3 also runs many popular Java and non Java-based languages, including JRuby/Rails, Jython/DJango, Scala/Lift, PHP, server-side JavaScript and Groovy/Grails. The app server can also run Jython and JRuby-based applications natively, without requiring a Java Servlet container.

Speculation continues about the fate of Sun's implementation of GlassFish once the company is acquired by Oracle. During a teleconference in which Sun formally announced the release of its implementation of Java EE 6, GlassFish v3, and NetBeans 6.8, the company declined to answer any questions about Oracle's impact on these technologies. But Rymer pointed out that Oracle has said that it plans to merge GlassFish with its WebLogic app server.

"What that means is that there's some combination of GlassFish and WebLogic coming," he said. "WebLogic is baked into Oracle's next-generation app stack, so it's strategic technology. There will probably be a GlassFish option, and GlassFish will probably be around for a long time, but it's not strategic to Oracle. If you, as an Oracle customer, want to be on Oracle's strategic product, you shouldn't base your applications on it."

The fate of Sun's free, open-source NetBeans IDE is less uncertain, Rymer said.

"Again, it's not strategic," he said. "That's not a comment on the quality of NetBeans, which is a good IDE, but it will be Oracle's third IDE. They already have an Eclipse IDE, and there JDeveloper, which is strategic. It's not widely used, but if you want to be on the strategic platform, you go with JDeveloper. What will be interesting to see over the next year or 18 months is whether there will be a big move to JDeveloper."

"I think Oracle will try to make JDeveloper grow," Rymer added, "and if it doesn't, they'll figure out something else to do, but in my opinion, NetBeans doesn't have a bright future inside Oracle."

That said, devoted users of this IDE are getting an impressive release in NetBeans 6.8. Not surprisingly, it's the first IDE to provide full support for Java EE 6 and GlassFish 3, and along with Java, it supports development in a number of languages, including JavaFX, C/C++, PHP, JavaScript, Groovy and Ruby. And it runs on a number of platforms, including Windows, Linux, Mac OS X and Solaris.

This release comes with some noteworthy enhancements, including expanded support for PHP 5.3 and the Symfony framework; improved C/C ++ profiling capabilities, thanks to a new Microstate Accounting indicator and I/O usage monitor; JavaFX support that includes improved code completion, hints, and navigation in the NetBeans editor; and tighter integration with Project Kenai, the collaborative environment for hosting open-source projects.

NetBeans 6.8 also provides improved support for JSF 2.0/Facelets, Java Persistence 2.0, and EJB 3.1. Look also for improvements to the NetBeans Rich Client Platform, which uses the Swing UI toolkit to provide a consistent look and feel.



About the Author

John K. Waters is a freelance author and journalist based in Silicon Valley. His latest book is The Everything Guide to Social Media. Follow John on Twitter, read his blog on ADTmag.com, check out his author page on Amazon, or e-mail him at john@watersworks.com.


Reader Comments:

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above