http://java.sun.com/javaone http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
  2009 Platinum Cosponsor
Intel
  Cosponsors
Cosponsors
  Gen Session Cosponsors
General Session Cosponsors
  Media Sponsors
Media Cosponsors
Home > Sun General Technical Session: Intelligent Design -- The Pervasive Java Platform

Sun General Technical Session: Intelligent Design -- The Pervasive Java Platform


"This session is not a teleological discussion. It's not going to be about Java being the product of some divine inspiration as opposed to natural selection. It really is about how the platform itself was intelligently designed such that it can, in fact, be the center of today's digital society, as well as the changes happening on almost a daily basis." In this way, Bob Brewin, Sun Distinguished Engineer and chief technology officer for application platform software, kicked off the 2009 JavaOne conference general technical session titled "Intelligent Design -- The Pervasive Java Platform."

Brewin spent the early part of the session discoursing on what drives technological change. "Basically, when we take a look at technology, the state of the art generally, averaged over time, proceeds at a fairly predictable rate. The reason why things change is that the demand on that technology changes."

But sometimes there are radical changes in technology, often driven by social forces. Brewin cited as a social force the vast collection of interconnected clients, devices, and computers. According to Brewin, this vast network is "the critical mass that is able to tip and tilt technology in a fundamental way and in a relatively short amount of time."

And certainly another force for technological change is the consumer. Speaking about the numbers of consumers and their influence on technology, Brewin told the audience, primarily made up of developers, that "there are more of them than us, so consumers are having a greater influence over the direction of technology, the quality of the technology, and what you and I have to build every day."

In fact, it is the consumer demand for immersive technologies that led to JavaFX, something that Brewin sees as a revolutionary versus an evolutionary technology.


Bob Brewin

With this discourse on the forces that drive technological changes, Brewin set the stage for a number of presentations. Each of these presentations highlighted an important trend that is directing changes -- evolutionary or revolutionary -- in the Java platform.

Trend: Richer Clients

JavaFX, which was initially released in December 2008, is an enabler of rich Internet applications (RIAs) that can run in a wide variety of devices, anywhere from handsets to laptops to desktops. Since its release, JavaFX has been getting functionally richer and is now supported by additional tools.

To give an update on JavaFX, Brewin brought John Burkey, the JavaFX platform architect, to the stage. Burkey presented a visually engrossing, next-generation JavaFX application based on Prism, a Java2D/3D platform that the JavaFX team is planning to deliver later this year. The application displays a rotating 3D sphere of tiles. When the user touches the sphere with the mouse, the tile at the point of touch flies off the sphere and then returns to its spot on the sphere.

There are some interesting things going on in the underlying JavaFX 1.2 graphics system that drives the application. Burkey noted that the team rearchitected the scene graph in the graphics systems so that no matter what type of device a JavaFX developer is targeting, whether a mobile device or a TV, he or she can plug in all this functionality and the same scene graph works. To make this happen, JavaFX takes the graphic objects and annotates them so that they can be interpreted by the appropriate engine to do the right thing.

Burkey also showed a second intriguing JavaFX application, one that interfaces with the popular social-networking application Facebook. Aside from providing some nice end-user functions, such as making it easy to add a friend to or remove one from a Facebook friends' list, the application was built surprising quickly -- in only 18 hours.

Trend: Connected Developer

One of the far-reaching goals at Sun is to bring together the powerful yet disparate resources available to developers -- such as development tools, frameworks, collaboration services, and social-networking features -- into a seamless platform for building and deploying applications. This goal is designed to enable a more interactive, more community-driven model of development and to support what's termed the "connected developer."

Sun's senior product manager of emerging Internet technologies, John Brock, known by most at Sun as J.B., highlighted some of the ongoing activities that are making the connected developer a reality -- specifically, Project Kenai, Zembly, Hudson, and NetBeans IDE 6.7.

  • Project Kenai provides a platform where developers can host their open-source projects and code. From its inception, the Kenai project has had the mission of giving developers a way to connect, communicate, and collaborate online with other developers. Although it provides some functionality that mirrors what some code-forge sites offer, Kenai does more than that. Brock noted that what Kenai offers is actually a set of web services that developers can use and interact with in any way they want.

  • Zembly is a site that Brock described as a place where "developers can create, host, and scale web applications like Facebook apps, all within the browser and all within the cloud, so that it scales automatically." Brock and the folks working on Kenai took advantage of Zembly's Web Gateway API -- a repository of API definitions and descriptions -- to find an appropriate service to do language translation of text.

  • Hudson is an extensible, continuous integration engine. Hudson makes it easier for developers to integrate changes to a project -- often in an automated way. Brock announced that continuous integration based on Hudson is now available for all projects in Kenai. This drew a lot of applause from the audience.

These three efforts give developers a community-based way of building, maintaining, and deploying applications. What ties the three together is NetBeans IDE 6.7, which is currently available as a release candidate. NetBeans is a comprehensive yet easy-to-use interactive development environment (IDE). Among the many new features it implements, NetBeans IDE 6.7 integrates support for Kenai and Hudson, and it can be easily used with Zembly.

Core Platform Trends: Multiple Languages, Modular Design

Another strong trend directing the evolution of the Java platform is the growth in the number of languages, especially scripting languages, that run on the Java Virtual Machine (JVM).* Over the years, the JVM has been host to a growing number of languages. Increasingly, JVM implementations of dynamic languages are becoming available, such as JRuby, an implementation of the Ruby programming language; Jython, an implementation of the Python programming language; and the Groovy scripting language.

That support will get a big boost in the next release of the core Java platform, JDK 7, with the addition of a new bytecode -- the first new bytecode added to the JVM -- and some other enhancements that will enable dynamically typed languages such as scripting languages to run natively in the JVM.

Native support for dynamically typed languages is one of many new and exciting features that will be provided in JDK 7. To report on some of these features, Brewin called to the stage Mark Reinhold, Sun's principal engineer for the Java Platform, Standard Edition (Java SE) and OpenJDK. Reinhold pointed out that two of the major objectives in JDK 7 are to increase the productivity of developers and to provide a very high level of performance. Another key objective is to modularize the platform.

Modularity is particularly important because it can dramatically reduce the size of the JDK for download as well as improve the JDK's startup time and memory footprint. A key part of modularizing the JDK is developing a simple, low-level module system, something that is being done in Project Jigsaw. In addition to modularizing the JDK, the Project Jigsaw module system will also be available to developers so that they can modularize their own code. Reinhold gave a demonstration of the Project Jigsaw module system in action.

Enterprise Platform Trends: More Powerful, More Flexible, Simpler

Brewin next called on Roberto Chinnici, specification lead for the Java Platform, Enterprise Edition (Java EE), to give an update on the Java EE platform. The next release, Java EE 6, continues the strides made in Java EE 5 to simplify the platform. Many of the Java EE 6 simplifications appear in technologies such as JavaServer Faces 2.0, Enterprise JavaBeans (EJB) 3.1, and the Java Persistence API 2.0. Other simplifications are the direct result of new technologies added to the platform. These include Java API for RESTful Web Services (JAX-RS), which makes it easy to develop and use RESTful web services using Java technology, and Bean Validation, which simplifies the task of validating JavaBeans.


Roberto Chinnici

The platform will also be much more extensible with the addition of a new feature that allows users to plug in libraries in such a way that the added code automatically gets registered in the pertinent Java EE container.

As is the case for JDK 7, Java EE 6 will be highly modular. The approach to modularity in Java EE 6 is based on profiles. Each profile is a particular Java EE 6 download that comprises a specific collection of APIs designed for a particular type of application. For example, the Java EE 6 web profile includes APIs that are useful in most Java technology-based web applications.

GlassFish v3, the popular open-source, production-quality application server, implements Java EE 6 and thus offers a great deal of modularity, extensibility, and ease of use. Chinnici called onto the stage Sun senior staff engineer Ludovic Champenois, whom he introduced as "our resident GlassFish applications server tooling guru." Champenois deftly demonstrated the new GlassFish features.

An Important Announcement: The Java Store

The last segment of this session was perhaps the most interesting to many developers in the audience, because it covered the Java Store, a new Sun initiative that's designed to give widespread visibility to Java and JavaFX applications, making them available to the vast number of Java users around the world. It's essentially a new Java application marketplace on the Web.

Jonathan Schwartz, Sun CEO and president, had announced the Java Store at the opening of the 2009 JavaOne conference earlier on Tuesday.

In this final segment, Bernard Traversat, engineering manager for both the Java Store and Java Warehouse, took the stage to explain how the Java Store works and to discuss its underlying architecture.

Traversat also demonstrated how using the new Java Warehouse Developer Center, a developer can, in a relatively painless way, submit an application for addition to the Java Store. Note that as a protection against any inappropriate applications, Sun will vet the applications before making them available.

To Sum Up

As this information-rich session demonstrated, the Java platform continues to improve, evolve, and respond to forces such as consumer demand that drive technological change.

_______
* As used on this web site, the terms "Java Virtual Machine" and "JVM" mean a virtual machine for the Java platform.

For More Information

» Watch the Video Replay
» JavaFX
» Java SE
» Java EE
» GlassFish
» Project Kenai
» Zembly
» Hudson
» Java Store
» Java Warehouse Developer Center

 

Do you have comments about this article? We welcome your participation in our community. Please keep your comments civil and on point. You may optionally provide your email address to be notified of replies - your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use.