http://java.sun.com/ http://java.sun.com/ http://java.sun.com/javaone
JavaOne - ExperiencingJava technology through education, industry, and community
2007 Conference
Home
Registration
   Conference Hotels
Schedule
   Activities
Tracks
Sessions
   General Sessions
   Business Day
   TV Day
   JavaOne Camp
Hands-on Labs
Pavilion
   Cosponsors
   Exhibitors
   Media
   How to Exhibit
Blogs
Multimedia
Java University
 
Conference Tools
Schedule Builder
Event Connect
My Registration Details
 
Conference Programs
Alumni Program
   Alumni FAQ
Eco Corner
Rock Stars
 
Related Resources
JavaOne Library
JavaOne Online
2006 Site Archive
 
Community
Forums
Sun Developer Network
 
Popular Items
Java Wear
Duke Images
 
Related Sites
java.sun.com
java.com
java.net
 
 
  Home > Catching the Wave -- A Look Forward at the Future of the Java Platform

 Catching the Wave -- A Look Forward at the Future of the Java Platform

   
By Ed Ort  

Bob Brewin, a Sun Distinguished Engineer and chief technology officer for software, is a surfer dude. Beginning the general technical session titled "Evolutionary Java: Open Possibilities," Brewin showed off a Java technology T-shirt designed especially for him. The shirt displayed Duke, Sun's avatar, surfing a pretty large wave.

Well, a pretty large wave is sweeping through the Java platform, making it faster and richer, yet simpler. In this session, Brewin took a virtual ride -- what he called "a little journey" -- catching the Java wave and giving a large and enthusiastic audience a view of where that wave is headed.

Though it is a little journey to Brewin's way of thinking, the session covered the entire spectrum of the Java platform, from Java Platform, Standard Edition (Java SE), to Java Platform, Mobile Edition (Java ME), to Java Platform, Enterprise Edition (Java EE). Spicing up the talk were a number of really cool demos.

New and Powerful Capabilities in the Java Platform

Danny Coward, the platform lead for Java SE, joined Brewin onstage to talk about some of the key developments in the platform. Coward started off by saying that "It's been a really busy year for the SE team." Earlier this year, the team released Java SE 6. In the few months it's been out, Java SE 6 has been downloaded millions of times, clearly illustrating that the platform has been adopted at a faster rate than any previous release.

The Java SE 6 release adds some notable APIs to the platform, including web services-related APIs, such as the Java API for XML-based Web Services (JAX-WS) and Java Architecture for XML Binding (JAXB). Significantly, the platform supports scripting languages. It does this by providing a framework in which scripting engines can access Java classes. Sun's implementation of Java SE 6 also includes a Rhino scripting engine.

There are also highly useful additions in the Swing area, such as a SwingWorker utility, which aids in Swing-related threading, and enhancements in monitoring and management, such as attach-on-demand support. Attach on demand means that developers can attach the jConsole diagnostic tool to any application.

But perhaps the most significant enhancement in the Java SE 6 release is the platform's performance gains. Java SE 6 performs dramatically better than did previous releases of the platform. Coward showed a performance chart that compared the SpecJBB2000 business benchmark running in J2SE versions 1.3, 1.4.2, 5.0, and Java SE 6. The graph showed a performance improvement of more than seven times since J2SE 1.2. Coward followed the SpecJBB2000 chart with a SwingMark client benchmark chart that showed more than a doubling in performance of client applications across the Java SE releases.

As far as plans for the Java SE 7 release, Coward said that a main objective is modularization, something critical for robust design and deployment. A key element of that objective applies to the Java Runtime Environment (JRE). The vision is to have a modular JRE that installs only the pieces that an application needs. This would make for extremely fast desktop application startup.

Two other key features in Java SE 7 relate to packaging:

  • A new packaging format for Java code and related resources. The format, informally called super JARs, adds some significant capabilities that were lacking in the current JAR packaging approach, such as version control and dependency declaration. Coward said that the Expert Group for this feature is looking into making the new packaging format integrable with other packaging formats.

  • A new language feature that allows developers to declare a hierarchically organized packaging structure for an application -- essentially a package of packages, called a superpackage. The packaging hierarchy allows for a much finer level of access control to packages.
OpenJDK -- OpenTCK

Coward also underscored the key role that the OpenJDK community plays in the evolution of the Java SE platform. In late 2006, Sun established the OpenJDK community for the ongoing development of Sun's open-source implementation of Java SE. At that time, Sun open sourced a number of JDK components to the community. Coward restated an announcement that Sun executive vice president Rich Green made earlier today: "Today a fully buildable JDK is being released under the GPL v2 license." Coward also reiterated some other parts of Green's earlier OpenJDK announcement:

  • Creation of an interim JDK governance board drawn from luminaries in the Java community

  • Institution of a charter to build an OpenJDK constitution

  • Plans for an OpenTCK, a test suite for the OpenJDK platform

A technology compatibility kit (TCK) is a suite of tests and tools that determines whether a product complies with a particular Java technology specification. With the availability of an OpenTCK, developers have a tool to ensure compatibility of OpenJDK distributions.

Ramp Up to the Internet

After Coward left the stage, Brewin transitioned to the world of the web. The use of cell phones has grown explosively, and that has fueled an almost equally explosive burgeoning in Internet connections. The growth trend is almost exponential, driven by new types of clients that range from Blu-ray media players to sensing devices in cars.

Paralleling this growth has been a revolution in the ways users interact with the Internet. No longer a static information-retrieval mechanism, the Internet is moving quickly into a new stage, commonly called Web 2.0, with users collaborating in creating and sharing web site content. The huge popularity of web sites such as Flickr and YouTube attests to the success of that revolution.

The Java platform is moving in pace with this change, and to demonstrate that, Brewin called Sun engineers Charles Nutter and Tor Norbye to the stage.

What Nutter and Norbye showed could be termed "Mephisto meets NetBeans" or the "Ruby of Java." First, Nutter took Mephisto, a popular blogging and publishing application built on the Ruby and Rails web application framework, and opened it as a NetBeans IDE project. Through the IDE, he created a web archive (WAR) file for the application, deployed it to the GlassFish application server, and then ran the application in JRuby. Not only did this demo illustrate some cool support for Web 2.0 -- Mephisto is definitely a Web 2.0 application -- but it also demonstrated the Java platform's support for dynamically typed languages -- Ruby is a scripting language, and JRuby is the Ruby implementation in the JVM.* Then Norbye demonstrated how easy it is to use the NetBeans IDE to add features to the Ruby application.

Tailoring a Web Application Fast

The theme of quick-and-easy application customization continued into the next demo. After Nutter and Norbye left the stage, Brewin called Sun technology evangelist Arun Gupta to join him onstage. Using NetBeans plugins for two scripting-friendly, open-source web application frameworks, jMaki (a client-side framework) and Phobos (a server-side framework), Gupta quickly tailored a web application that tracked code bugs over time -- what Gupta called a developer dashboard -- and quickly added a Yahoo! calendar.

GlassFish Version 3

Community participation in the development of the Java platform is certainly not limited to Java SE. For a number of years, an active Java community has been developing an open-source implementation of a Java EE 5-compatible application server. This is the GlassFish community, and its open-source application server implementation is called GlassFish.

The community is also working on various web services technologies apart from the effort to develop the application server. The work on GlassFish has significance for other Java EE 5 application server implementations. Both the Java EE 5 SDK, the Reference Implementation for Java EE 5, and the Sun Java System Application Server -- Sun's commercial implementation of Java EE 5 -- are derived from the GlassFish code.

A beta release of GlassFish version 2 (v2) is currently available. However, the community is already planning for version 3 (v3). Jerome Dochez, the engineering lead for GlassFish, said that the v3 roadmap will "change the way you think about application servers." One of the significant things on the drawing board is a more modular design of the GlassFish code.

Similar to what Danny Coward said about the modularity of Java SE 7, a more modular GlassFish would allow the operating system to load only the parts of GlassFish that are needed for an application. It would also make for much faster GlassFish startup. The modular core of GlassFish v3, called HK2 -- for Hundred Kb Kernel -- has already been tested: It starts in less than a second. In fact, when Dochez started GlassFish onstage, it took only 463 milliseconds. Brewin exclaimed, "That's the fastest app server startup I've ever seen!"

Plans are in the works to include more Web 2.0 support by incorporating frameworks such as jMaki, Phobos, and PHP. This would enable developers to run Ruby on Rails, among other things, using JRuby, Phobos, and PHP. Another objective for v3 would make GlassFish embeddable so that it could run in the same JVM as an IDE. This would give developers a big productivity boost in building web applications.

Rich Clients

Brewin spent a significant amount of the session discussing rich clients, both of the desktop and web-based variety. Two desktop demos in this segment got lots of oohs and ahs from the audience. The first was a desktop application called NASA World Wind. Patrick Hogan, program manager for NASA World Wind, gave an overview of World Wind, and Sun engineer Kenneth Russell gave the demo. And what a demo it was! Imagine being able to zoom in from a satellite and see any place on earth -- and see it in 3D! That's what the application does, albeit virtually.

The application has been available for a number of years. But Hogan announced a new Java technology version of the application built in collaboration with Sun that will be open sourced to the Java community. Beyond that, the application is embeddable in Java applications, extensible through Java code, and can be started through Java Web Start software or Java applets. Hogan challenged the audience by saying, "The onus is now on you to come up with new and innovative ways of using this technology."

It's easy to envision a wide range of Java web applications that combine, or mash up, their data with NASA World Wind planetary images. In fact, the F-16 flight simulator, the second of the two rich client demos, performs this type of mashup with World Wind. Showing this demo was Darren Humphrey, the CEO of Distributed Simulation, Inc. (DiSTI). The company owns the GL Studio line of products, used to build a variety of simulators and other human-machine interface applications. GL Studio for Java was used to develop a F-16 flight simulator. Needless to say, with a fully interactive model of an F-16 cockpit and lifelike images of the Earth generated by World Wind, this was a pretty impressive application.

On the web side, Sun engineers Richard Bair, Jasper Potts, and Kenneth Russell demonstrated Iris, an online photo editor and viewer developed by SwingLabs. SwingLabs is an open-source laboratory for advanced Swing technology, sponsored by Sun Microsystems. The web application allows users to arrange Flickr photos in a viewer, edit them, and share them with others. What was really surprising about this graphical and high-performance web application was the Java applet perched at the bottom of its user interface. To move an image to the web page, all a user has to do is drag and drop the image to the applet -- a simple and fast operation. Russell pointed out that the application is fully interoperable with Web 2.0 applications, has powerful security features, and can be extended to include 3D graphics and 3D audio through OpenGL and OpenAL, respectively.

Rich Clients Made Easy -- JavaFX Technology

Perhaps the most interesting part of the session was the segment on JavaFX technology, which Green announced earlier in the day. This new software product family is designed to make it simple to build compelling, rich-client applications, including Flash-like applications. The products will comprise a set of pure Java runtimes, widgets, development tools, and a scripting environment.

To show how easy it is to build a rich-client application using JavaFX technology, Brewin called Sun engineer Nandini Ramani to join him onstage. A key part of JavaFX is its scripting language, JavaFX Script. In the earlier Rich Green talk, Chris Oliver, the developer of an alpha version of JavaFX Script, showed a graphically rich web site called studio moto and said that he created the site -- complete with all its animated effects -- using JavaFX Script in just three days. Ramani did a deep dive into Oliver's code, focusing on one component in the interface. She demonstrated how compact the code is and how quickly a developer could change the characteristics of interface components.

The plans for JavaFX technology call for a full-fledged JavaFX scripting language, a Java FX design tool called JavaFX Designer (an early prototype plug-in is available in the NetBeans IDE), and widgets and applications built with JavaFX.

Brewin said that what's driving the Java FX technology announcement is the need of many developers -- particularly content developers -- to easily and quickly develop and deploy rich Internet applications that run on the spectrum of clients from browsers to mobile devices to TV.

An especially important target for JavaFX technology is mobile devices such as cell phones. Recently, Sun announced the acquisition of SavaJe, a provider of mobile Java application development tools. Sun will build on the base of SavaJe's Java software to create an open-source, JavaFX-based product for mobile devices called JavaFX Mobile.

The product will empower developers to create network-centric, rich-client applications for cell phones. To give folks a future glimpse of what JavaFX on mobile devices can do, Larry Rau, Sun chief technologist for consumer solutions, showed the product on various mobile devices. Brewin opined that it's "really cool to get a full-fledged Java (that is, JavaFX) on different consumer devices."

A Great Session

All in all, this was an interesting and entertaining session replete with major announcements and compelling demos. The session should stimulate attendees to try out some of the new and exciting things happening in the Java platform.

It's time to get the surfboards out, dudes, and ride that wave!

* As used in this document, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.
 
For More Information

Project jMaki
Project Phobos
NetBeans IDE
GlassFish Community
NASA World Wind
Distributed Simulation, Inc. (DiSTI)
IRIS
JavaFX Technology

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.