In the Web Services for Remote Portals
model, a portlet is a usually Java
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)