A portlet is a web component that can form part of a single page of a portal. It is an extension to the Java servlet API. A portlet can provide content or give access to an application.

Portlets and portals aim to provide a simple application framework with mechanisms for security and personalization. So, for example, a user logged in to the portal would be able to customize their view perhaps by selecting which portlets they see together on their home page. Portals tend to impose a consistent look and feel and navigation structure too.

There are currently several implementations of Java portals; the big ones being IBM WebSphere Portal, Oracle Portal Server, BEA Weblogic Portal and Apache Jakarta Jetspeed (the open source one).

All of these companies (and many more) are involved in a JSR (number 168) which aims to bring the concepts and API behind portlets into the Java library just as servlets are.

http://www.jcp.org/en/jsr/detail?id=168
http://www.ibm.com/software/webservers/portal/
http://jakarta.apache.org/jetspeed/

In the Web Services for Remote Portals model, a portlet is a usually Java-based component that is able to receive and process user requests and generates dynamic content.

User requests are forwarded to the portlet by a consumer portal, i.e. a portal showing the portlet on some of its pages (the portal will usually behave like an aggregator and show many portlets on its pages). In this model, the portal behaves like a proxy, i.e. handles user requests and then forwards them to the portlet.

Dynamic content generated by the portlet is in the form of fragments, i.e. pieces of markup (usually HTML, XHTML or WML) that the portal may display to the user.

A portlet life-cycle happens within a portlet container, that is an application that runs the portlets and provides them with suitable user session and environment information. Most commercial Java application servers should provide portlet containers by now or in upcoming releases.

(The word 'portlet' is coined to be similar to other Java technologies as applets and servlets)

Log in or register to write something here or to contact authors.