Sun brews up Java EE 6

GlassFish server, NetBeans IDE drink it

Sun Microsystems is still the steward of the Java programming language and its related virtual machine and runtime environment. Despite its PR blackout as the $7.4bn acquisition of Sun by Oracle is mulled by European regulators, Java Enterprise Edition version 6, or Java EE 6, has been released. Sun has also delivered versions of its GlassFish Web application server and NetBeans development tools that are based on Java EE 6.

While Java SE is designed for client and mobile computing, Java EE is aimed at creating applications that run on servers and that need advanced features, such as the ability to run on multi-tier server architectures and fault tolerance. Each successive release of the enterprise edition of the Java stack has taken a little bit longer to come to market. J2EE 1.2 came out in December 1999, followed by J2EE 1.3 in September 2001, and J2EE 1.5 in November 2003. Java EE 5 (after a change in naming convention) debuted in May 2006.

To date, according to Sun, the Java EE software development kit (which includes compilers as well as the runtime environment) has more than 18 million downloads and has 28 licensees worldwide. The most important licensees are arguably Oracle, IBM, Red Hat, and SAP (and probably in that order). Java EE 6 is backwards compatible with Java EE 5.

With Java EE 6, Sun and its partners in the Java Community Process, which steers the Java EE specification, are trying to make the Java enterprise stack more modular and therefore easier to program. Thus, Java EE 6 includes profiles, which package up Java features for specific application scenarios.

The first such profile is for Web applications, and includes Enterprise JavaBeans 3.1 Lite, a simplified Java packaging approach. Updates to Java EE 6 will have other, and as yet unspecified, profiles for different application scenarios.

Java EE 6 has been rejigged to allow for new features to be more easily plugged into the application server framework. Perhaps equally importantly, it now has a process approved by the JCP that allows for software and features to be "pruned," as Sun put it, from the Java EE stack.

To give developers a better sense of what is in the new Java EE 6 software, Sun is hosting a virtual conference on December 15, which you can find out about here. If you like your overview in text format, Sun has put together a detailed document describing Java EE 6 here. You can download Java EE 6 here.

Sun is the first of the Web application server makers to put Java EE 6 to work, and did so in its GlassFish Enterprise Server v3, which was also just released. Sun says that GlassFish has seen over 24 million downloads to date, making it the most popular application server in the world. (It is always risky counting downloads as production installations, of course, as Sun's experience with Solaris 10 shows.)

GlassFish implements the OSGi runtime, which allows for features to be dynamically added to the Java server as needed and for the skinniest possible Java stack to be deployed to support applications. Companies can create applications using the Web profile and then, using the GlassFish update center, move to the full Java EE 6 implementation to scale their Java applications out.

You can get GlassFish v3 here. It can interact with various integrated development environments, including Sun's own NetBeans as well as Eclipse, Ant, IntelliJ, and Maven, and supports a number of other languages aside from Java. These include PHP, JRuby/Rails, Jython/DJango, Scala/Lift, Groovy/Grails, and server-side JavaScript. Sun is charging $999 per server per year to support GlassFish.

Sun has also kicked out its own NetBeans 6.8 IDE, which supports the new Java EE 6 as well as PHP 5.3 and the Symfony framework for creating PHP apps. It also supports tighter integration with the Project Kenai open source project hosting and collaboration service, profiling and tuning of C and C++ applications with the microstate accounting indicator and I/O usage monitor, and improvements for code completion and hints for JavaFX in the NetBeans editor.

NetBeans 6.8 also weaves in support for JSF 2.0/Facelets, Java Persistence 2.0, and EJB 3.1. The NetBeans 6.8 IDC can be used to create Java, JavaFX, C, C++, PHP, JavaScript, Groovy, and Ruby programs; it runs on Windows, Linux, Mac OS X, and Solaris desktops. You can download it here. ®