Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
Portlets are pluggable user interface components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal page. Typically, following the desktop metaphor, a portal page is displayed as a collection of non-overlapping portlet windows, where each portlet window displays a portlet. Hence a portlet (or collection of portlets) resembles a web-based application that is hosted in a portal. Portlet applications include email, weather reports, discussion forums, and news.
Portlet standards are intended to enable software developers to create portlets that can be plugged in any portal supporting the standards.
 Portlet Standards The purpose of the Web Services for Remote Portlets protocol is to provide a web services standard that allows for the "plug-n-play" of remote running portlets from disparate sources.
The Java Portlet Specification (JSR168) enables interoperability for portlets between different web portals. This specification defines a set of APIs for between the portlet container and the portlet addressing the areas of personalization, presentation and security.
Apache Pluto is a reference implementation of JSR168. Other than the reference implementation, a number of vendors provide commercial implementations of the portlet container. Some of the leading vendors are IBM, Oracle and BEA Systems. These vendors provide standards based implementations and also provide extensions not yet approved by the standards body. Furthermore a number of open-source portal solutions support JSR168 such as Apache's Jetspeed-2 Enterprise Portal, JBoss Portal, and Liferay Portal.