![]() |
||||
|
| ||||
Demos Dazzle at the Java Platform Roadmaps Session by Ed Ort If you've attended past JavaOne conferences, you know that one of the highlights is the Java Platform "Roadmaps" session, where Sun's top technical folks outline the key directions for the next releases of the Java platform. At last year's JavaOne conference, Sun Vice president and Fellow Graham Hamilton highlighted some of the cool things planned for the next release of the Java platform for the desktop -- Java Platform, Standard Edition (Java SE) 6. Sun Distinguished Engineer Bill Shannon did the same for the next release of the Java platform for the enterprise -- Java Platform, Enterprise Edition (Java EE) 5. A year has passed and the future is now. Shannon noted happily, and to much applause from the crowd, that "Java EE 5 is done. The Java EE 5 specification was approved by the Java Community Process (JCP) two weeks ago and last week we released the Java EE 5 SDK." Java SE 6 is in the homestretch -- it's scheduled for final release in October. With the availability of Java EE 5 and the near availability of Java SE 6, this session gave Hamilton and Shannon an opportunity to reiterate the themes that they highlighted in last year's session. But more than that, it gave them a chance to show off some of the new platform features by lacing their talk with some impressive demonstrations of Java SE 6 and Java EE 5 in action. Hamilton also shared a peek at some of the neat things planned for Java SE 7 (code named "Dolphin") and Shannon discussed possible future directions for Java EE. Impressive Demos Four snazzy demos highlighted the session:
Openness: A Great Success Beyond these enticing demos, one of the things that pervaded Hamilton's and Shannon's talks is the major impact that the Java community has made on Java SE 6 and Java EE 5. An important take-away from the session is that openness has been a great success and that the Java community should expect even more openness in the development process for future Java SE and Java EE releases. Community involvement has been a driving theme in Java SE 6 and Java EE 5. At last year's Java One conference, Hamilton and Shannon highlighted Project Peabody and Project GlassFish, community-based efforts that were established for collaborating on future Java SE and Java EE releases, respectively. Those efforts have borne fruit. Hamilton noted that community involvement has been extremely successful. He said that community-based feedback to the weekly snapshot releases has been great. It's allowed the community to pick up on new features and fixes. And giving the community access to the source has enabled them to contribute fixes and features early and often. Hamilton said that "this is working out really well for us and very well for the community so expect even more openness with the Dolphin release.' Shannon underscored the significant contributions made by the GlassFish community, a community that has grown to over 2200 members. The GlassFish community built an open source Java EE application server that is the reference implementation of Java EE 5. In addition, the bits in the GlassFish application server went into the Java EE SDK, and the recently-released Sun Java System Application Server Platform Edition (PE) 9. Shannon encouraged the audience to explore the GlassFish community and to download the latest builds (there have been almost 300,000 downloads of GlassFish to date). Systemic Properties Hamilton started off his talk by covering what he termed "systemic properties," enhancements that permeate the release. These include:
New Features Hamilton went on to cover some of the important new features:
Hamilton also stressed that even if you're not interested in these newer features, it makes sense to move to take advantage of its systemic features. "Even if you've got older applications that are written to 1.4 or 5.0 APIs, you may want to quickly move those applications to benefit from the improved performance, improved monitoring and management, and improved stability and reliability." Java EE 5 -- It's All About Ease of Use Shannon followed Hamilton with a segment that highlighted the many simplifications that have been made in Java EE 5. Shannon noted that Java EE 5 makes things easier for developers by drawing even further on its declarative programming style, by removing a number of ungainly requirements, and by offering more powerful frameworks that mean less work for developers. Annotations are a big part of this simplification. Shannon noted that "originally we used deployment descriptors to communicate declarative information to the container. In Java EE 5 we've added the ability to use Java language annotations to communicate this information." In many cases, annotations remove the need for deployment descriptors. Annotations can be used extensively in Java EE 5 to do things as varied as define web services, map Java classes to databases, and specify external dependencies. As extensively as annotations are used in Java EE 5, Shannon said that it's only a start. "We're scratching the surface of what's possible." As mentioned earlier, web services simplifications were highlighted in Shannon's talk, with some impressive demonstrations and J2EE 1.4-versus-Java EE 5 comparisons. The web services support in Java EE 5 is centered around JAX-WS 2.0 and JAXB 2.0. Shannon noted that these technologies support the latest World Wide Web Consortium (W3C) standards for web services, such as SOAP 1.2, and the latest Web Services Interoperability Organization (WS-I) standards, such as the WS-I Basic Profile 1.1. He also said that Java EE 5 implementations are starting to support WS* specifications such as WS-Security, and will support emerging WS* specifications over time. Another area of simplification in Java EE 5 is EJB 3.0 technology. Because EJB 3.0 supports a Plain Old Java Object ("POJO") approach, annotations, and dependency injection (where the container provides the resources that an application needs rather than the application having to find the resources), what developers must code to use EJB technology is dramatically reduced. Shannon said that because of these simplifications, "you don't need to understand all of the EJB APIs and EJB interfaces in order to write applications that take advantage of the power of the EJB container." The Java EE 5 platform also includes a new persistence API that defines a single model for implementing persistence in Java EE as well as in Java SE. It's much simpler to use than the previous EJB container-managed persistence model. Shannon said that feedback on the new persistence API has been overwhelmingly positive. Ease of Use Through JavaServer Faces 1.2 Technology Another ease-of-use "biggie" in Java EE 5 is JavaServer Faces (JSF) 1.2 technology, which gives developers a standard framework for building web applications in Java EE. Developers can use pre-packaged JSF components in building their applications, significantly reducing new code development. Shannon said that there are currently over 200 JSF components available from than 20 vendors. JSF 1.2 includes some important capabilities, such as support for AJAX (Shannon mentioned that the Java Blueprints Catalog includes several AJAX-enabled components for JSF), and an easy-to use but powerful expression language that it shares with JSP technology. Ease of Use in Application Packaging Too An area of simplification in Java EE 5 that's not often cited is application packaging. In many cases, Java EE applications no longer require deployment descriptors, and in general, require fewer XML files. These simplifications can significantly reduce the number of files in an application. Shannon pointed out that Adventure Builder, a sample application, has gone from 67 classes in J2EE 1.4 to 43 classes in Java EE 5. And the RosterApp sample application has gone from 17 classes and 9 XML files in J2EE 1.4 to 7 classes and 1 XML file in Java EE 5. Compatibility With J2EE 1.4 Shannon stressed that all the new Java EE 5 features and simplifications have not been added at the expense of compatibility, "so your investment in J2EE 1.4 is protected in Java EE 5." The Future Both Hamilton and Shannon talked a bit about directions for the future. Hamilton said that the expert group is considering some "thoughtful changes" to the Java language for the Dolphin release. This includes direct support for XML and support for "super packages." Direct support for XML allows for inline XML literals as well as intermixing Java expressions in XML. It also might include lightweight support for XPath expressions to simplify getting and setting chunks of XML. A super package is essentially a package of packages. It allows for large applications to be structured as a set of packages within one super package. This feature would also allow the packages to share state without exposing that state externally. Some other enhancements for Dolphin include desktop improvements, such as more Java 2D desktop acceleration and Swing support for bean binding; better packaging as specified by the Java Module System specification (JSR 277); support for the lightweight BeanShell scripting language (JSR 274); better JVM performance; and the addition of new JVM bytecodes for non-Java languages (JSR 292). Hamilton said that the new bytecodes would allow for better support of dynamic languages such as Groovy and Python. And that's not all of it. Hamilton said that "there are well over 100 serious major features that are being considered." Shannon was more general than Hamilton when covering future directions for Java EE. He said that its still too early to say anything definitive. A lot of the future direction depends on feedback from the community. He urged the audience to give specific feedback on Java EE 5. "Where did we not make it quite easy enough yet? What can we do to make it even easier? What did we do right?" Shannon also said that there are various possible directions for growth: "we can grow upwards, downwards, and sideways." What Shannon meant by grow upwards is to expand Java EE into areas such as composite applications or adding portlet support to Java EE applications. By grow downwards, he meant adding things that enable lower-end applications to work with Java EE. This might include more support for scripting, support for web hosting and application hosting environments, and support for web-based distributed authoring and versioning (webDAV), as well as more support for tools. By grow sideways, he meant enhancing Java EE in the space in which it already exists. This might include a refinement of current support such as polishing current APIs, enhancing the current support for AJAX and web frameworks, and adding more support for WS* specifications. Shannon ended by stressing the importance of feedback from the community. "We need your feedback to guide us in determining which of these are most important to work on first." Help Get the Word Out Hamilton concluded the session by exhorting the crowd to get the word out about Java EE 5. "Java EE 5 is here now -- it's a no brainer for new projects. Arrives in October with many systemic upgrades and great new features." Judging by the buzz created in this session, no exhortation was needed -- developers will have little trouble spreading the word about the terrific things in the these platform releases. | ||||
Comments | About
Sun | Privacy | Terms
of Use | Trademarks | Third
Party Content Disclaimer Conference content is subject to change. Copyright 1996 - 2006 Sun Microsystems, Inc. |
![]() |
|