Sun Java Solaris Communities My SDN Account Join SDN
 
Technical Articles and Tips

Java EE 5 SDK and Sun Java System Application Server Platform Edition 9: A Feature Summary

By Tony Ng and Jerome Dochez, June 28, 2006  

On May 11, 2006, Sun Microsystems released Sun Java System Application Server Platform Edition 9 (hereinafter called Application Server PE 9), which implements the latest technologies of the Java Platform, Enterprise Edition 5 (Java EE 5) Specification, and offers many new features targeted at improving developer productivity. This free release is based on the source code developed by Sun engineers and the GlassFish community (an open-source community that is developing a Java EE 5 application server).

Application Server PE 9 is included as part of the Java EE 5 SDK—an all-in-one bundle with which developers can quickly learn, develop, and deploy new enterprise Java technologies. (More than 5 million developers have downloaded earlier versions of Java EE SDK.)

This article discusses the key features of Java EE 5 SDK and Application Server PE 9.

Contents
 
Java EE 5 Platform Support
New Persistence API
JavaServer Faces 1.2 Technology
Web Services and Service-Oriented Architecture (SOA)
Developer Productivity
Integrated Development Environment (IDE) Support
Web Services Management
Call Flow Monitoring
Self-Management Rules
Java Web Start Software
Performance
Open Source and GlassFish Community
References



Java EE 5 Platform Support

With a primary focus on ease of development, the Java EE 5 platform offers developers ready access to a secure, portable, and scalable platform for their enterprise applications. Java EE 5 technology makes coding simpler and more straightforward. How? Through the use of Java annotations, programming based on POJO (Plain Old Java Object), and resource injection concepts.

Key technologies in Java EE 5 include the following:

  • Enterprise JavaBeans (EJB) 3.0, including a new Persistence API
  • JavaServer Faces 1.2 Technology
  • Web Services Metadata for the Java Platform 1.0
  • Java API for XML-Based Web Services (JAX-WS) 2.0
  • Java Architecture for XML Binding (JAXB) 2.0
  • Streaming API for XML (StAX) 1.0

Application Server PE 9 supports all the technologies required by the Java EE 5 specification, including the APIs listed above. For more information, refer to the article An Introduction to the Java EE 5 Platform. A brief summary of the key Java EE 5 technologies is provided here.

New Persistence API

The Enterprise JavaBeans 3.0 specification defines the following APIs:

  • The new, simplified EJB API, which promotes ease of development
  • The new API for management of persistence and object/relational mapping

Java annotations can now be used to specify the mapping of Java business objects to a relational database. The persistence implementation in the application server supports both the generation of database schemas from Java objects and the mapping of existing database schemas to Java objects. In addition to using persistence inside the EJB container, you can use the Persistence API directly with Java Standard Edition. This allows maximum flexibility in your persistence needs, with a common solution for both client and server environments.

JavaServer Faces 1.2 Technology

JavaServer Faces technology simplifies the building of user interfaces for web-based applications through its well-defined component, state, and event framework. JavaServer Faces technology works extremely well with Ajax technology, providing encapsulation to handle browser differences and to hide the complexities associated with JavaScript code. The Java BluePrints Solutions Catalog for Java EE 5 covers key issues and solutions for common problems encountered during the design and building of an Ajax application on the Java EE platform. Several JavaServer Faces and Ajax components that work with Application Server PE 9 are included as part of the catalog.

Web Services and Service-Oriented Architecture (SOA)

Application Server PE 9 supports the latest web services standards—including Web Services Metadata 1.0 (specifies annotations for web services), JAX-WS 2.0 (specifies web services API for the Java platform), and JAXB 2.0 (specifies Java and XML binding). In addition, Application Server PE 9 includes a Java EE Service Engine based on the Java Business Integration (JBI) standard. The Java EE Service Engine acts as a bridge between the application server and a JBI implementation, such as Project Open ESB. Web services defined in the application server are automatically exposed to the Enterprise Service Bus (ESB) in a JBI environment. Components in the application server can also invoke service providers that are made available through the ESB. Several components in Project Open ESB are integrated as part of Java EE 5 SDK, including a BPEL service engine and HTTP SOAP binding components.

Developer Productivity

The use of Java annotations and the simplification of EJB and web service APIs have contributed to reducing the amount of code a developer needs to write. It is now possible to write EJB and web service applications without defining any standard deployment descriptor files. In addition, many of the values in Sun-specific deployment descriptor (sun-*.xml) files become optional and contain default values. This reduces the amount of deployment information the user has to provide. In some cases, the Sun-specific descriptor files can be omitted from the application altogether.

Application Server PE 9 is designed throughout with developer productivity in mind. The memory footprint of this Application Server is significantly reduced by the combination of the core Application Server and the message queue broker into a single process. This simplifies debugging because all executing code is located in a single Java virtual machine. Application Server PE 9 also introduces a new feature called "on-demand initialization of application server services." With this feature, the Application Server can start with minimum services; additional services are started only when required by a given user application or action. This reduces both the server startup time and memory footprint.

A variety of developer and administration tools are bundled with Application Server PE 9—including administrator graphical interface, command-line interface, verifier, upgrade tool, Apache ANT, and log viewer (refer to the summary article on version 8 of Application Server for more details). The new Java database, based on the Apache Derby project, is supported and integrated as part of the Application Server.

Integrated Development Environment (IDE) Support

Java EE 5 SDK and Application Server PE 9 are integrated with NetBeans Enterprise Pack 5.5, which provide tools support for writing, testing and debugging Java EE 5, and service-oriented architecture (SOA) applications and web services. The pack also provides visual design tools for UML modeling, XML schema editing and BPEL based web service orchestration. Application Server is also supported by the NetBeans IDE, the Sun Java Studio Creator IDE, and the Sun Java Studio Enterprise IDE. In addition, a plug-in for Eclipse is under development in a GlassFish community project.

Web Services Management

Web services are first-class manageable objects in Application Server PE 9. Web services deployed to the Application Server are thus automatically discovered and can then be managed and monitored. If monitoring is enabled for a web-service endpoint, information such as response time, throughput, and number of requests and faults is collected and can be viewed through the administrator GUI. SOAP message content can also be examined. Meanwhile, a web-service testing page can automatically be generated—eliminating the need for explicit web-service client development. More details are available in the screencast Sun Java System Application 9.0: Managing and Monitoring Web Services.

Call Flow Monitoring

Application Server PE 9 can be configured to monitor an incoming request as it flows through various containers in the application server and through the user application code. For example, the Application Server can break down the time spent in the web container, web application code, EJB container, and EJB application code. The collected information is stored in a database and is then available for query and analysis.

Self-Management Rules

With the powerful and flexible infrastructure of Application Server PE 9, you can automate application server management tasks by setting up a self-management rule. A self-management rule consists of an event and an action. Examples of events include message logging, monitoring threshold, timer, and JMX notifications. Actions are logic defined by the user. These actions are then encapsulated in a JMX managed bean (MBean). When an event that matches one of the events defined in a self-management rule is triggered, the associated action is executed. For example, an administrator might define a management rule that sends an email notice when a SEVERE message is logged in the application server.

Java Web Start Software

In addition to defining server-side components like EJB components and servlets, the Java EE platform defines application clients. Typically, these are rich UI applications that run on client machines and connect to the Application Server for retrieval and processing of back-end data. With Application Server PE 9, users can deploy a Java EE application client to the Application Server and then take advantage of Java Web Start software for distribution of the application to client machines. By visiting a single URL in a user's browser, Java Web Start software transparently retrieves and installs the bits necessary to run the Java EE application client. The downloaded bits are cached and can be reused in subsequent sessions. That means no more manually copying and installing the application client bits on individual client machines.

Performance

In addition to startup, memory footprint, and deployment performance improvements, Application Server PE 9 features increased runtime performance. The server includes a highly scalable HTTP connection handler that is implemented with lower-level Java NIO primitives and that can handle thousands of connections with a small number of threads. Application Server PE 9 supports the use of the Fast Infoset standard to reduce the size and processing time of XML and SOAP messages. Depending on the size of the XML messages, processing time is 3 to 5 times faster, and message size is 1.3 to 5 times smaller. See Sun’s Fast Infoset article for more details. Application Server PE 9 also provides 64-bit support in the Solaris Operating System, so the server benefits from more than 4 gigabytes of virtual address space.

Open Source and GlassFish Community

In June 2005, Sun launched the GlassFish community with the goal of developing a free, open-source, commercial-grade application server that implements the newest features of the Java EE 5 platform and related enterprise technologies. Application Server PE 9 is based on the source code developed by Sun engineers and a GlassFish community of over 1100 members. Members participate in this community by exchanging information through a discussion forum and mailing list, filing defects and requests for enhancement in the public issue tracker, and proposing changes to the source code. The Aquarium, a group blog, collects news from and about the GlassFish community and offers tech tips from a variety of sources. Application Server-related add-ons, plug-ins, and technology projects can also be found on the GlassFish project web site.

References

Learn more about Sun Java System Application Server and the J2EE platform:

 
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.
Tony NgTony Ng is a senior engineering manager at Sun Microsystems. He is responsible for driving the next major release of Sun's application server and Java EE SDK. Previously, he served as the architect for the application server. Tony is the coauthor of two books, one on Java Blueprints and the other on J2EE Connector Architecture. He also holds eight software patents.
 
Tony NgJerome Dochez is a Senior Staff Engineer at Sun Microsystems. Jerome has been working in J2EE technologies since 2000. He was the architect for the Java AVK, then technical lead for deployment and web services. He also provided the Mac OS X support of the GlassFish project. Today, he is the GlassFish architect and overall technical lead. He is thinking out the future of the implementation, as well as driving the stability of the next release of GlassFish.