Having been at this years JavaOne, the event was impressive as always, but left me with a feeling of being mostly a marketing display for Sun and its partners, not for Java as a whole. I even had the feeling that within Java standard and enterprise computing, things are moving at the pace of evolution, while embedded Java is getting most attention right now. Sun seems to focus on fostering and capitalizing on the vast install base of small Java runtimes. Nevertheless, here are some of the non-embedded highlights with follow up on recent developments where applicable.
The Consumer JRE
In its endeavours to again push Java onto the desktop, Sun announced that the JRE
will be slimmed down to approx 2 Mb, containing only the essential classes needed
to run “Hello world” and other basic applications. That will make it comparable to
e.g. the Flex runtime and significantly improve the load time perception. Other
modules will be downloaded and installed on demand. There was even a new good
looking Windows installer, default Java codecs for media and a deployment toolkit
Some of the things mentioned above are actually already being deployed, such as
the improved installer. The latest Java6 versions have a much friendlier installation
experience. SUN seems to be so committed to Java that even the stock ticker sym-
bol has been changed to JAVA.
The latest take was that the Leaner Meaner JRE should come at the latest in Q1
2008 but it has been very quiet on release dates. I still hope for it, since it would
make the Java experience so much more pleasant.
Java has finally been released under an “open” license, loosely based on the GPLv2,
some parts with the classpath exception. This enables Suns JDK and JRE to be
shipped via Ubuntu, Debian and other Linux distributions. To guide the transition
to open code, a Governance Board, consisting of a number of high profile OSS
people even outside Sun, has been formed. The release comprises both the JDK 1.5
(followed by Java6 and 7) and interestingly, the CLDC and CDC JavaME parts.
It seems things are progressing nicely, Java7 milestones are appearing, and a com-
munity is being established. However, now the question is what Apaches Harmony,
the Classpath project and OpenJDK bring to the table and how we all can avoid a
fracturing of Java. Interesting times. Anyway the opening up of the JDK is a great
move and OpenJDK will probably continue to be the reference and major imple-
mentation of the JDK in the future as well.
Java (FX) is everywhere
Java technology nowadays has spread almost everywhere except in the original Ap-
plet domain. We find Java in SmartCards, routers, phones, servers, desktops, web
cameras, Lego Mindstorms Robots, to name but a few. To leverage this installation
power for the new strategy of going visual with even Java, Sun is launching a new
initiative called JavaFX for bringing interactive content to Java based systems. After
that Applets and Swing failed to live up to the expectations, JavaFX tries to stand-
ardize the different Java platforms regarding interactive content delivery, and adds a
scripting language, JavaFX Script, based on the F3 (Form Follows Function) project,
to the mix.
How relevant the system is for the target group, the content creators, design-
ers and artists, remains to be seen. Right now the only tool for JavaFX Script is a
command shell, so there is no Flash or Silverlight-like tooling around. Even from a
platform point of view, it has not been clarified in what incarnations (e.g. a unified
animation API) JavaFX is going to emerge on existing platforms such as J2SE or
On the development tools side, JavaFX plugins for NetBeans 6.0, M10 is out, so
take a look at it. For the designers, being the most important target group for FX
Script, Sun seems honestly to be working on something closer to FlexDesigner than
Netbeans, but no details are to be leaked right now.
Glassfish for president
Sun pushed Glassfish very hard as the best application server around. Glassfish ver-
sion 2 is about to be released. Among the notable new developments are Ericsson
contributing a SIP servlet engine to Glassfish, enabling open development of public
telecommunication services like VoIP, Multimedia and Instant Messaging.
Glassfish v2 has just been released. It is the reference implementation for JavaEE,
and will be the basis of SUN’s commercial Application Server offerings. Even Net-
beans 6.0 will be packaged with a Glassfish server. Seems SUN really wants to take
market share from JBoss, IBM and BEA.
Scripting support in the JVM and IDE
Sun has hired 3 of the 5 core JRuby developers. Even the Groovy folks are work-
ing closely with Sun to make these languages a real alternative to classic class based
development. The next version of Suns JVM will go one step further and explicitly add support for dynamic methods and other goodies, if JSR292 (Supporting Dy-
namically Typed Languages on the JavaTM Platform) can be pushed through until
Both Netbeans 6.0 and Eclipse via the DLTK (Dynamic Languages Tool Kit) and
RDT (Ruby Development Tools) plugins provide good support for JRuby, JavaS-
cript and others. Refactoring is not a strong side of dynamic languages but that is
partly made up for by shortened testing cycles without the building and packaging
For the JVM part, the JSR292 is underway to ease the execution of dynamic
code, but there is some debate on whether that will really have the desired effects
and what the timeframe is. Meanwhile, JRuby and others are getting to a state where
commercial products are built on them, Thoughtworks Mingle platform being one
of the most public ones. It seems dynamic languages on the JVM are here to stay,
partly because they have their uses in a lot of areas, and partly because most of them
need a VM, and SUN’s JVM has proven itself to be a rock solid foundation to build
Netbeans – the one and only
Netbeans has been pushed very hard at JavaOne. I could not spot any single oc-
currence of Eclipse at any seminar. Speakers seem to have been instructed to show
any code or examples exclusively in Netbeans. Netbeans has very good support for
J2ME development, JSP integration and visual tools, whereas these are optional
plugins in Eclipse.
Netbeans is probably just as flexible and powerful as Eclipse, but its approach is a
bit different. Whereas Netbeans and IDEA try only to be an IDE, thus being able to
package that product more tightly, Eclipse with its OSGi and RCP core is more of
a generic platform, the Java IDE being just a subset of plugins, bundled in the JDT,
WTK and related projects.
Furthermore, Netbeans and IDEA are driven by a single company whereas the
Eclipse foundation consists of very big players in the Java market. Still, Netbeans de-
livers a highly integrated and consistent Java IDE, making it an obvious alternative to
today’s ruling Eclipse trend. The support for J2ME development is particularly nice,
with visual development of Midlet screen flows, easy emulation and good support
for signing and deploying Midlets.
After 10 years in existence, it seems the pace of revolutionary improvements in Java
Standard Edition is starting to slow down. This might be a good thing, as it means
even more compatibility and stability for long running systems. Nevertheless, with
the existing platform there is plenty of space for progress and development outside
the core Java platform, like the Java IDEs, scripting languages being ported to the
JVM and new efforts like Spring and QI4J (www.qi4j.org). I am very confident in
Java – and the surrounding technologies – having the power to give us new ways to
build better systems in the future too and being able to reinvent itself in the face of
mobile computing, scripting and new programming paradigms bubbling up.
Originally published in JayView.