
A portlet is a pluggable user-interface software component that is displayed in a web portal (such as an enterprise portal or a web content management system).[1] [2] [3] A collection of portlets produce fragments of markup[4] [5] (such as HTML, XHTML, or WML) that are presented as an integrated portal user experience.[6]
A portlet container owns a collection of portlets. A container manages the life cycle of its portlets and provides a runtime environment with services such as persistent storage for user preferences.A container supports aggregating (integrating) information from different sources. Via user customization, a container supports a personalized portal user experience.A container with its portlets can form a web application.[7] Portlet-based applications are often used for portals focused on news, weather, and Internet forums.
A portlet receives user agent requests as dispatched by the portal server and then the container.A portlet responds with dynamically generated content.[8] Its container sends data to the portal for aggregation, but is not responsible for aggregating the content produced by the portlets. The portal itself handles aggregation.A portal and a portlet container can be built together as a single component of an application suite or as two separate components of a portal application.
Typically, a portlet technology is defined by a standard which enables software developers to create portlets that can be plugged into a portal conforming to the standard. An example is the Java Portlet Specification.[9]