|March 16, 2007|
|-||JSR 168, Portlet Container, and NetBeans Portlet Plug-in|
|-||JSR 168-Compliant Sample Portlets|
In the pre-JSR 168 days, you had to develop and maintain a separate version of your portlet that complied with the vendor-specific portlet API for each and every vendor portal. The related tasks were time-consuming, aggravating, and cumbersome. Moreover, to the detriment of the end users, ISVs, developers, and vendors, that scenario meant that only a limited number of applications were available through only a few portals.
JSR 168 brought a world of a difference: By adhering to the standards, you can build portlets that can run in portals, irrespective of their vendors. Hence, no more hassles with the requirements that vary according to vendors. ThatPH*PH*PH\u2019PH*PH*PHs a win-win situation for all.
With the release of Sun Java System Portal Server (henceforth, Portal Server) 6.2, Sun became one of the first vendors that supported JSR 168. Portal System Server 7.0, the latest portal server release from Sun, is free for download and deployment.
To send questions or comments on JSR 168, write its interest alias.
Java Community Process
JSR 168 was born of the Java Community Process (JCP), an open, international, community-based organization that coordinates the development of Java technology standards, reference implementations, and technology compatibility kits. As coleader of the JCP, Sun also serves as the editor of JSR 168 and developer of the Test Compatibility Kit (TCK). Since its inception, JSR 168 has received strong and enthusiastic industry support.
See the technical paper, Introduction to JSR 168: The Java Portlet Specification (PDF) , which describes the benefits of JSR 168 and introduces the portlet programming model through the code of a robust portlet example.
Portlet Container 1.0, developed through the Enterprise-Class Portlet Container Open Source Project, not only delivers an implementation of the JSR 168 Portlet Container but also contains a portlet driverPH*PH*PH\u2014PH*PH*PHa lightweight rendering environment. As part of Java Application Platform SDK Update 2, Portlet Container 1.0 is integrated with Sun Java System Application Server Platform Edition (PE) 9.0.
The implementation of the JSR 168 Portlet Container, which originated from Portal Server 7.0, offers capabilities well beyond JSR 168. In the future, the Enterprise-Class Portlet Container Open Source Project will deliver an enterprise implementation of JSR 286.
Portal Open Source Project
Furthermore, the Enterprise-Class Portlet Container Open Source Project is part of the Portal Open Source Project, which includes development projects for other portal-related components. Examples are:
For details, see Open-Source Portal Initiative at Sun, Part 1: Overview .
Check out a few sample portlets that demonstrate the benefits of adopting JSR 168. But first, download Java Application Platform SDK Update 2 for the components for developing, testing, and deploying JSR 168 portlets, namely
A Stand-alone Sample
Now download the Weather Portlet, a stand-alone sample that is prebuilt with the NetBeans Portlet Plug-in. This sample provides the complete source code for the example that is described in the technical paper mentioned earlier.
As its name implies, the Weather Portlet displays the current temperature in a U.S. location denoted by a user-specified zip code. Also, as a demonstration of how the Java APIs for XML-Based Remote Procedure Call (JAX-RPC) connect to Web services, this sample obtains the temperature from the weather Web service of
To run the Weather Portlet:
weathersample.zipfile in any location on your file system.
Alternatively, run the Weather Portlet sample in another IDE that supports JSR 168 portlets. Be sure to supply the appropriate environment- specific project files.
Samples From the Open Source Portlet Repository
The Open Source Portlet Repository (henceforth, the repository), a
java.net project, manages and build portlet samples with Maven. Because the NetBeans IDE also supports Maven projects through the NetBeans Maven2 Plug-in, you can build and run the samples as Maven projects. Alternatively, manually create the NetBeans project.
Currently, the repository offers numerous sample portlets, among them the following:
Here is a screen shot that shows those portlets at a glance:
For details on the repository, see the article Open-Source Portal Initiative at Sun, Part 2: Portlet Repository .
Since its release in 2003, JSR 168 has gone through many real-life tests in portal development and deployment. For all that the community has identified "gaps," standards take time to evolve and become available to the public. Meanwhile, many portal vendors have been filling those gaps with their own custom solutions, which unfortunately cause portlets to be not portable.
To date, one of the most clamored-for standards is that for interportlet communication. The only JSR 168 provision that serves that purpose is the portlet session.
Currently, the OASIS Technical Committee is finalizing WSRP Specification 2.0, a complementary standard. In the past, WSRP Specification 1.0 and Java Portlet Specification 1.0 were developed hand in hand. Not surprisingly, the JSR 286 Expert Group has placed a high priority on aligning Java Portlet Specification 2.0 with WSRP 2.0.
The first draft of JSR 286 brings to the Java portlets all the key capabilities introduced by WSRP 2.0. Examples are
In addition, the first JSR 286 draft defines the portlet filters, with which portlets can, on the fly, transform the content of portlet requests and responses.
Stay tuned for the many enhancements in Java Portlet Specification 2.0. For example, you will be able to take advantage of the Java Portlet Specification 1.0 caching model and reap support for asynchronous technologies, such as Ajax.
To send questions or comments on JSR 286, write its interest alias.