Java Portlet Specification: Difference between revisions

Content deleted Content added
c/e to clarify JSR abbreviation, which is the Java Specification Request, not an abbreviation of Java Portlet Specification
 
(94 intermediate revisions by 64 users not shown)
Line 1:
{{Short description|Technical standard}}
The '''Java Portlet Specification''' defines a contract between the portlet container and [[Portlet|portlets]] and provides a convenient programming model for portlet developers. The Java Portlet Specification V1.0 was developed under the [[Java Community Process]] as Java Specification Request (JSR) 168.
{{more citations needed|date=January 2013}}
TheA '''Java Portlet Specification''' defines a [[design by contract|contract]] between the portlet container[[Portlet|portlets]] and their [[Portlet container|portletscontainers]]; andthey provides a convenient [[programming model]] for portlet[[Java developers. The(programming language)|Java]] Portletportlet Specification[[Developer V1(software)|developers]].0 wasIt developedis underdefined thethrough [[Java Community Process]] asvarious Java Specification RequestRequests (JSRJSRs) 168.
 
== Background ==
 
=== Portlets ===
{{Main|Portlet}}
A [[portlet]] is a [[Pluggable look and feel|pluggable]] [[user interface]] [[software component]] that is managed and displayed in a [[web portal]]. A portlet responds to requests from a web client with and generates dynamic content. Some examples of portlet applications are [[e-mail]], [[weather forecasting|weather reports]], [[discussion forum]]s, and [[news]].
 
==== Portlet containers ====
A portlet is managed by a [[portlet container]], which runs [[portlet]]s and provides them with the required runtime environment. A portlet container receives requests from the portal to execute requests on the portlets hosted by it.
 
== Specifications ==
Portlet standards are platform independent [[application programming interface]]s that are intended to enable [[software developer]]s to create portlets that can be [[plug-in (computing)|plugged into]] any portal supporting the standards. An example is the Java Portlet Specification. A Java portlet resembles a Java [[Servlet]], but produces fragments rather than complete documents, and is not bound by a [[URL]]. A Java Portlet Specification (JSR) defines a [[design by contract|contract]] between portlets and the portlet container. JSRs provides a convenient programming model for Java portlet developers.
 
[[fr:=== JSR 168]] ===
The Java Portlet Specification V1.0 was developed under the [[Java Community Process]] as Java Specification Request '''JSR 168''', and released in its final form in October 2003.<ref>{{cite web|url=http://www.jcp.org/en/jsr/detail?id=168|title=JSR 168|publisher=JCP}}</ref>
 
The Java Portlet Specification V1.0 introduces the basic portlet programming model with:
* two phases of action processing and rendering in order to support the [[Model-View-Controllermodel–view–controller|Model–View–Controller]] pattern.
* portlet modes, enabling the portal to advise the portlet what task it should perform and what content it should generate
* window states, indicating the amount of portal page space that will be assigned to the content generated by the portlet
* portlet data model, allowing the portlet to store view information in the render parameters, session related information in the portlet session and per user persistent data in the portlet preferences
* a packaging format in order to group different portlets and other [[J2EEJava EE]] artifacts needed by these portlets into one portlet application which can be deployed on the portal server.
* Portal development as a way to integrate the different web-based applications for supporting deliveries of information and services.
 
==== PortalPortlet serversCatalog ====
* Initially Java portal vendors had their own portlet development framework thus those portlets were confined to specific portal servers and couldn't be deployed to the rest of the Java portals. After JSR 168 inception, Java portlets may be deployed on any Java portal servers adhering to JSR 168 specifications.
JSR 168 compliant portal servers:
* A Portlets Catalog is a set of portlets that are ready-to-use components for enterprise portals. For those who want to adopt portals certainly need many and variety of portlets to deploy and run. Here Portlets catalog are of use.
* [[IBM WebSphere]] Portal
* A JSR 168 portlets catalog makes sure that portlets under this catalog may run on any standards–compliant Java portal server. Types of portlet solution (vertical domains and technology) like collaboration, social networking, community, content management, utility, calendaring, HRM all are available in these catalogs.
* [[Sun Java System Portal Server]]
* There are many open source and commercial Portlets Catalog available but JSR 168 based solutions are rare.
* [[BEA Weblogic]] Portal
* JSR 168 specifications offer suitability to the developers to reuse the code to maintain a set of JSR 168 compliant portlets. For deployers, it's easy to keep a single set of solution and deploy it on many.
* [[Oracle Corporation|Oracle]] iAS Portal
 
* [[JBoss Enterprise Portal Platform]]
=== JSR 286 ===
* [[Liferay]] Portal
'''JSR-286''' is the Java Portlet Specification v2.0 as developed under the [[Java Community Process|JCP]] and created in alignment with the updated version 2.0 of [[Web Services for Remote Portlets|WSRP]]. It was released in June 2008.<ref>{{cite web | url = http://www.jcp.org/en/jsr/detail?id=286 | title = JSR 286: Portlet Specification 2.0}}</ref> It was developed to improve on the short-comings of the version 1.0 specification, JSR-168. Some of its major features include:<ref>
* [[Vignette]] App Portal
{{cite web | last = Hepper | first = Stefan | title = What's new in the Java Portlet Specification V2.0 (JSR 286)? | publisher = IBM | date = 18 March 2008 | url =http://www.ibm.com/developerworks/websphere/library/techarticles/0803_hepper/0803_hepper.html }}</ref>
* [[eXo Platform Portal]]
* Inter-Portlet Communication through events and public render parameters
* [[SAP]] Enterprise Portal
* Serving dynamically generated resources directly through portlets
* [[TIBCO]] PortalBuilder
* Serving [[AJAX]] or [[JSON]] data directly through portlets
* [[JetSpeed Portal]]
* Introduction of portlet filters and listeners
* [[uPortal]]
 
* [[OpenPortal]]
=== JSR 362 ===
'''JSR-362''' is the Java Portlet Specification v3.0 and was released in April 2017.<ref>{{cite web | title = JSR 362: Portlet Specification 3.0 | url = https://www.jcp.org/en/jsr/detail?id=362}}</ref> Some of its major features include:<ref>
{{cite web | last = Nicklous | first = Martin (Scott) | title = Portlet Specification 3.0 is Here! | publisher = IBM | date = September 2016 | url = https://static.rainfocus.com/oracle/oow16/sess/1462801563632001pOv8/ppt/JSR362-JavaOne-2016a.pdf }}</ref>
* Resource Dependencies
* Explicit Render State
* CDI 1.2 Integration
* Servlet 3.1 Alignment
* Portlet Hub & XHR IPC
* FacesBridge Integration via JSR 378<ref>{{Cite web|url=https://www.jcp.org/en/jsr/detail?id=378|title=The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 378|website=www.jcp.org}}</ref>
 
==See also==
* [[WebList Servicesof forenterprise Remoteportal Portletsvendors]]
* [[Web Services for Remote Portlets]] (WSRP)
 
== External linksReferences ==
{{Reflist}}
 
== External links ==
* [http://www.jcp.org/en/jsr/detail?id=168 JSR 168]
* [http://www.jcp.org/en/jsr/detail?id=286301 JSR 286301] (versionPortlet 21.0 ofBridge thefor JavaJavaServer portletFaces 1.2 specificationSpecification)
* [http://www.jcp.org/en/jsr/detail?id=168329 JSR 168329] (Portlet 2.0 Bridge for JSF 1.2 Specification)
* [http://portals.apache.org/pluto/ JSR 168 Open Source Reference Implementation at Apache]
* [https://web.archive.org/web/20060110193512/http://community.java.net/portlet/ Open source JSR 168/WSRP community] at http://java.net
 
* [http://soap-portlet.sourceforge.net/ Dynamic SOAP Portlet], for dynamic integration of [[SOAP]] services in JSR-168 portals
{{standard-stubWeb interfaces}}
 
[[Category:Java enterprise platform|Portlet specification]]
[[Category:Java specification requests|Portlet specification]]
[[Category:Web portals]]
[[Category:AMD]]
 
[[Category:AMD microprocessors]]
[[fr:JSR 168]]
[[Category:AMD technologies]]