This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
A portlet is a unit within a portal that provides a specific piece of functionality, service, or content. I would suggest searching in Google for basic answers. The first hit for "portal" in Google is a good entry in Wikipedia. You can also get some good introduction on any portal product manual (such as IBM WebSphere or Oracle Weblogic).
If you visit Google or Yahoo's home page you are given options for customization (for your future visits how the page should look like) like you can select some of the news which are relevant to you like sports, weather updates, music, entertainment, business etc., Once you select the things which you like all those will appear each in a separate window i.e, weather update in one window, another window for news, one for stock updates etc., Each of these windows(with its own title bar and few other buttons) represents a portlet.
These windows are nothing more than different applications(.war files), developed independently of each other. The portal developer will install these.war file on the server and create a page which is called as a PORTAL. That will become a website's Home page housing so many smaller windows (different apps).
As shown in above figure you will see the portal page of the Liferay portal for the user Admin . This page is made up of header, footer, navigation and a set of portlets with a specific layout template, e.g. Reports, Language, Sign in, etc.
In general, a portal (otherwise known as a web portal) is a web based application that, typically, provides personalization, authentication, and content aggregation from different sources and hosts the presentation layer of information systems. Aggregation is the action of integrating content from different sources within a web page. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have a different set of portlets creating content for different users.]
What is a portlet?
As shown in following figure, you will see a set of portlets e.g. Reports, Language, Sign in, etc..
In brief, a portlet, e.g, Reports, is an application that provides a specific piece of content (that is, the link test123) to be included as part of a portal page, e.g. Home - Welcome Page. It is managed by a portlet container that processes requests and generates dynamic content. Actually, portlets are used by portals as pluggable user interface components.].
The content generated by a portlet is also called a fragment. A fragment is a piece of mark-up (e.g. HTML, XHTML, WML, etc.) adhering to certain rules and can be aggregated with other fragments to form a complete document. The content of a portlet e.g., test123, for the portlet Reports is normally aggregated with the content of other portlets to form the portal page. The lifecycle of a portlet is managed by the portlet container.
Obviously, web clients interact with portlets via a request-response paradigm implemented by the portal. Normally, users interact with content produced by portlets, for example by following links, e.g. test123 for the portlet Reports or submitting forms, resulting in portlet actions being received by the portal, which are forwarded by it to the portlets targeted by the user's interactions.
The content generated by a portlet may vary from one user to another depending on the user configuration for the portlet. For example, the content generated by the portlet Reports was the link test123, while the content generated by the portlet Language was the links – language icons e.g., American English, Chinese, etc.