|By the SDK team, October 30, 2006; updated November 2009|
Sun Microsystems released the Java Application Platform SDK to streamline enterprise application development and improve developer productivity. The SDK also supports Java Platform, Standard Edition 6 and the latest technologies of the Java Platform, Enterprise Edition 5 (Java EE 5) Specification. It includes updated versions of Sun GlassFish Enterprise Server and Portlet Container. This free release is based on the source code developed by Sun engineers and the open-source community.
This article discusses the key features of the Java Application Platform SDK Update 8. With this all-in-one bundle, developers can quickly learn, develop, and deploy new enterprise Java technologies. More than 5.5 million developers have downloaded earlier versions of the Java EE SDK.
|-||Java EE 5 Platform Support|
|-||Java SE Support|
|-||Portlet Container 2.1|
|-||Web Services for Remote Portlets 2.0 Beta 2|
|-||Composite Application Development on a SOA|
|-||Identity Management and Web Services Security|
|-||Integrated Development Environment (IDE) Support|
|-||Open Source Community|
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 through the use of Java annotations, programming based on POJOs (Plain Old Java Objects), and resource injection concepts. Sun GlassFish Enterprise Server (formerly Sun Java System Application Server and hereafter referred to as Application Server) v2.1.1 supports all the technologies required by the Java EE 5 specification. A brief summary of the key Java EE 5 technologies is provided here.
Key technologies in Java EE 5 include the following:
For more information, refer to the article An Introduction to the Java EE 5 Platform.
The Enterprise JavaBeans (EJB) 3.0 specification defines a 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 Java Persistence API directly with Java Platform, Standard Edition. This allows maximum flexibility in your persistence needs, with a common solution for both client and server environments.
The Application Server 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).
Sun GlassFish Enterprise Server v2.1.1 features include clustering, in-memory replication, more improvements to the Grizzly-based HTTP engine, enhanced administrative functionality, improved self-management capabilities, registration, update center functionality that allows installation and/or updates of additional components, and much more.
Java EE 5 Samples demonstrate the technologies and features specific to the Java Platform, Enterprise Edition 5. The features include annotations, EJB 3.0, persistence, security, and many others.
The SDK has been fully tested with JDK 6 and JDK 5.0. The SDK is shipped in two bundles: one with JDK 6 and one without any JDK. Contents of both bundles are compiled with JDK 5.0 to enable users to switch to their copy of JDK 6 or JDK 5.0.
The Java Portlet Specification (JSR 168) is a standard for developing portal components with the Java programming language. The Portlet Container not only implements the Java Portlet Specification, but also provides a portlet driver, a lightweight portlet rendering environment. NetBeans Portal Pack provides state-of-the-art tools to create and deploy portlets on the Portlet Container. For more information, read the articles, Understanding the Portlet Container 2.1 Software and Developing Portlets with NetBeans Portal Pack 3.0.2.
Web Services for Remote Portlets (WSRP) delivers an implementation based on the specification defined by the OASIS Web Services for Remote Portlets. WSRP is a web services protocol for aggregating content and interactive web applications from remote sources. It is the means of aggregating (and publishing on the other end) remote "visual services," (i.e., it does not aggregate data itself, but the "view" to the data). It is a "presentation-oriented" web service, as opposed to the traditional "data oriented." Since it is based on presentation, WSRP enables seamless delivery and integration of entire web applications (or components thereof), their presentation layer inclusive. WSRP primary features include:
A service-oriented architecture (SOA) provides application developers with a powerful platform for integrating existing applications and web services. As a platform, SOA provides a set of standard interfaces through which service consumers and providers discover, describe, and interact with application services. Composite application development refers to the process by which these independent services are composed and orchestrated to fulfill an application use case.
Java Specification Request (JSR) 208, Java Business Integration, provides a standards-based integration architecture to enable composite application development. JBI runtime functionality from Project Open ESB is now installed in the SDK. JBI allows you to integrate web services and enterprise applications as loosely coupled composite applications, thereby realizing the benefits of a SOA. In addition to the core runtime, the following JBI components are included:
Sun Java System Access Manager 7.1 Patch 1 provides open, standards-based authentication and policy-based authorization within a single, unified framework. It secures the delivery of essential identity and application information to meet current businesss needs, and to scale as needs grow, by offering SSO as well as enabling federation across trusted networks of partners, suppliers, and customers. Sun Java System Access Manager 7.1 Patch 1 provides Java EE developers with a runtime environment for single sign-on (SSO) and a federation functionality for enterprise applications to secure web services using generic security tokens from the WSI-BSP (SAML, UserName and X509) and the Liberty ID-WSF (Bearer, SAML and X509).
NetBeans IDE 6.7 provides excellent support for securing web services via identity management. Refer to identity management support in NetBeans for more details.
By default, Application Server, JBI runtime, BPEL, and Access Manager are fully configured when they are shipped, enabling developers to develop enterprise applications with ease. If you are not developing composite applications or involved in identity management, it is possible to disable the respective runtimes. To disable JBI/BPEL runtime, log on to the administration console and disable
JBIFramework lifecycle module. To turn off Access Manager, disable the
AMConfiguratorLifeCycleModule lifecycle module and the
amserver web application. After you restart the Application Server, the respective runtimes will not be initialized. An earlier version of the Application Server introduced 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, reducing both the server startup time and memory footprint.
The use of Java annotations and the simplification of EJB and web service APIs have reduced 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. These default values reduce 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.
A variety of developer and administration tools are bundled with the Application Server, including an administrator graphical interface, command-line interface, verifier, upgrade tool, Apache Ant, log viewer, and a Java database, based on the Apache Derby project.
The Java EE 5 Tools Bundle consists of the Java Application Platform SDK integrated with NetBean IDE 6.7, which provides tools support for writing, testing, and debugging Java EE 5, and service-oriented architecture (SOA) applications and interoperable secure web services. The Java EE 5 Tools Bundle also provides visual design tools for XML schema editing and BPEL-based web service orchestration. Application Server is supported by the NetBeans IDE and IntelliJ IDEA. In addition, a plug-in for Eclipse is available from the Project GlassFish community.
The Java BluePrints series defines the application programming model for end-to-end solutions using Java technology. The series contains guidelines, patterns, and code for real-world application scenarios, enabling you to build robust, scalable, and portable solutions. All the code and applications included in these blueprints are NetBeans-ready.
The SDK contains blueprints for the following technologies:
Sun launched the Project GlassFish community in June 2005 to develop a free, open-source, commercial-grade application server that supports the newest features of the Java EE 5 platform. Sun GlassFish Enterprise Server v2.1.1 is Sun's supported distribution of the GlassFish v2.1.1 application server. In the wake of Project GlassFish, additional middleware projects have been open-sourced by Sun. Members participate in these communities by exchanging information through discussion forums and mailing lists, 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 community and offers tech tips from a variety of sources.
Learn more about enterprise application development using Java Application Platform SDK: