Jump to content

JSR 168 Portlet Catalog

From Alfawiki
Adapted from the English Wikipedia article JSR 168 Portlet Catalog, available under CC BY-SA 4.0Updated 9 August 2025
Java Portlet Specification
Company typeSpecification
IndustrySoftware development, Web portals
FoundedOctober 2003; 23 years ago (2003-10)
Area served
Web portal developers
ProductsJava portlet programming model, Portlet standards (JSR 168, JSR 286, JSR 362)

A Java Portlet Specification establishes a formal agreement between portlets and their corresponding containers, delivering a simplified programming model tailored for Java portlet developers. This specification is defined through multiple Java Specification Requests (JSRs).

Portlets

A portlet is a modular user interface software component that operates within a web portal, managed and rendered by the portal framework. Portlets respond to web client requests by producing dynamic content. Typical uses encompass e-mail, weather updates, discussion forums, and news feeds.

Portlet containers

The portlet container acts as the host environment for portlets, supplying the runtime context necessary for their execution. It handles portal requests by invoking actions on the portlets it controls.

Specifications

Portlet standards define platform-neutral application programming interfaces that empower developers to build portlets compatible with any portal adhering to these specifications. The Java Portlet Specification is a prominent example. In contrast to Java Servlets, Java portlets generate content fragments rather than complete documents and are not tied to specific URLs. The specification (JSR) outlines a contractual relationship between portlets and their containers, establishing a uniform programming approach for Java portlet creation.

JSR 168

The initial version of the Java Portlet Specification, version 1.0, was developed through the Java Community Process as Java Specification Request JSR 168 and was completed in October 2003.

JSR 168 introduced fundamental concepts in portlet development, including:

  • A two-phase lifecycle—comprising action processing followed by rendering—to support the Model–View–Controller architecture.
  • Portlet modes that signal the portlet’s intended function and content output.
  • Window states that represent the amount of portal page space allocated to each portlet’s display area.
  • A data model facilitating storage of view-related data in render parameters, session-specific data within the portlet session, and persistent user preferences.
  • A packaging mechanism allowing multiple portlets along with associated Java EE components to be bundled into deployable applications.
  • Features enhancing portal development by enabling integration of diverse web applications for efficient delivery of information and services.

Portlet Catalog

  • Before JSR 168, many Java portal providers utilized proprietary portlet frameworks, restricting portlet deployment to their own servers. The introduction of JSR 168 standardized this, allowing portlets to be deployed on any compliant Java portal server.
  • A Portlets Catalog supplies pre-built components vital for enterprise portals, offering an extensive selection of portlets to assist deployment and ongoing management.
  • Catalogs based on JSR 168 guarantee interoperability across all Java portal servers adhering to this standard and cover various vertical sectors such as collaboration, social networking, content management, utilities, calendaring, and human resource management.
  • Although numerous open source and commercial Portlets Catalogs exist, those specifically conforming to JSR 168 remain relatively uncommon.
  • By adopting JSR 168, developers can maximize code reuse while deployers benefit from maintaining a single set of standard-compliant portlets deployable across multiple platforms.

JSR 286

JSR-286 represents the second version of the Java Portlet Specification, developed through the JCP and aligned with the revised WSRP 2.0 standard. Introduced in June 2008, it overcame several constraints found in JSR-168. Notable advancements include:

  • Event-driven Inter-Portlet Communication and utilization of public render parameters
  • Capability to serve dynamic resources directly from portlets
  • Enhanced support for delivering AJAX and JSON content via portlets
  • Addition of portlet filters and listener mechanisms

JSR 362

JSR-362 corresponds to version 3.0 of the Java Portlet Specification, launched in April 2017. Its significant improvements encompass:

  • Management of resource dependencies
  • Fine-grained control over Render State
  • Integration with CDI 1.2 for improved dependency injection
  • Compliance with Servlet 3.1 standards
  • Implementation of Portlet Hub and XHR-based Inter-Portlet Communication (IPC)
  • Support for FacesBridge integration through JSR 378

See also

External links