JSRs: Java Specification Requests
JSR 162: Portlet API
Reason: Portlet API As there is very significant overlap between JSRs 162 & 167, Sun and IBM have reached a mutual agreement regarding the proposals. We have now reached a point where we feel that we have a mutually acceptable new combined JSR proposal, which we now wish to seek endorsement of from the existing supporters of JSR 162 and 167.
JCP version in use: 2.1
Java Specification Participation Agreement version in use: 1.0
The Portlet API specification defines an API for components being aggregated in web applications like portals. It includes portlets, portlet container behavior, portlet windows, events, persistent storage and portlet services.
Please direct comments on this JSR to the Spec Lead(s)
This JSR has been Withdrawn
Section 1. Identification
Submitting Member: IBM
Name of Contact Person: Thomas Schaeck
E-Mail Address: firstname.lastname@example.org
Telephone Number: +49 171 692 8407
Fax Number: +49 7031 16 4888
Specification Lead: Stefan Hepper
E-Mail Address: email@example.com
Telephone Number: +49 7031 16 3445
Fax Number: +49 7031 16 4888
Initial Expert Group Membership:
Supporting this JSR:
Section 2: Request
2.1 Please describe the proposed Specification:
The Portlet API specification defines an API for web application components that interact with and can be aggregated in web applications like portals. We refer to
these components as portlets in the remainder of this text.
2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)
2.3 What need of the Java community will be addressed by the proposed specification?
The lack of standards in the portal space has led many portal software vendors to define proprietary APIs for portal components. The resulting diversity of interfaces creates problems not only for portal customers and ISVs, but also for portal software vendors and companies who wish to provide portlets.
The Portlet API specification is required to achieve interoperability between portlets and Java-based portal servers or other web applications that aggregate portlets. The goal is to allow that portlets can be developed, packaged into WAR files and deployed in a standard way, on Portlet API-compliant portal servers leveraging existing Servlet infrastructure.
The Java Portlet API will also allow portlets acting as proxies for Remote Portlet Web Services and therefore allow integration of visual, user-facing web services
2.4 Why isn't this need met by existing specifications?
The Java Servlet API specification does define servlets and related APIs in general, but does not address the requirements for components that need to be aggregated in
composite pages and plug into portal servers, using the portal server environment and yet shall be portable across portal server platforms.
2.5 Please give a short description of the underlying technology or technologies:
The Portlet API is based on the Servlet API and supports access of portal-related objects from JSPs through appropriate JSP tags. Portlet containers can be implemented as extensions of servlet containers. The portlet concept is based on prior work done in the Apache JetSpeed Open Source Community. The Portlet API will be compatible with the Remote Portlet Web Services and e.g. allow for integration of remote portlet web services in portals.
2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
2.8 Are there any security issues that cannot be addressed by the current security model?
2.9 Are there any internationalization or localization issues?
2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
2.11 Please describe the anticipated schedule for the development of this specification.
Portlet API Spec community draft: 05/2002
2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.
Initial Kick-Off Meeting in 03/2002
Section 3: Contributions
3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.
Portlet API defined in Apache JetSpeed Open Source Project, see http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
3.2 Explanation of how these items might be used as a starting point for the work.
The Portlet API as designed by the Apache JetSpeed community may be used a basis from which the standard Portlet API can evolve.
Section 4: Additional Information (Optional)
4.1 This section contains any additional information that the submitting Member wishes to include in the JSR.
The reference implementation shall be done in open source at Apache.
The Portlet API is related to the Remote Portlet Web Services concept: The Java Portlet API and the Remote Portlet Web Services WSDL interface and contracts are compatible so that Portlets can optionally be exposed as Remote Portlet Web Services by a portal server and a portal server can consume Remote Portlet Web Services using a portlet proxy that behaves like a portlet to the container.