Portlet

Portlets are pluggable user interface software components that are managed and displayed in a web portal. A portlet responds to requests from a web client with and generates dynamic content. A portlet is managed by a portlet container.

Description
A portlet is a pluggable user interface software component that is managed and displayed in a web portal,  for example an enterprise portal or a web CMS. A portlet can aggregate (integrate) and personalize content from different sources within a web page. A portlet responds to requests from a web client with and generates dynamic content.

Portlets produce fragments of markup (HTML, XHTML, WML) that are aggregated into a portal. Hence, a portlet (or collection of portlets) resembles a web-based application that is hosted in a portal. Some examples of portlet applications are e-mail, weather reports, discussion forums, and news.

Portlet containers
A portlet is managed by a portlet container. A portlet container runs portlets, provides them with the required runtime environment, manages their life cycles. A container also provides persistent storage mechanisms for the portlet preferences.

A portlet container receives requests from the portal to execute requests on the portlets hosted by it. A portlet 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.

Standards
Portlet standards are platform independent application programming interfaces that are intended to enable software developers to create portlets that can be plugged into any portal supporting the standards. An example is the Java Portlet Specification.