This was inspired by the conversation on the last question. How does a portal (portlet?) differ from a web-application published via a webservice running on a Tomcat/Axis server? How does Jetspeed relate to such a webservice configuration? Does it replace it? Augment it?
My upcoming book on JSR 168 portlet development starts off describing a portlet, and emphasizing that a portlet is not a web service.
Portlets themselves are really just content delivery vehicles. They provide a mechanism for delivering content to a user, and providing facilities for personalization and customization that are not within the realm of a basic Servlet and JSP application.
My website, www.portorials.com, has a variety of multimedia tutorials, one of which is simply "what is a portal." You might want to check it out. It's in my signature links. Here's a snippet of what I wrote about what a portlet is:
A portlet, in the most vulgar sense, is simply just a content delivery vehicle. That�s what a portlet does � it delivers content to a user. Sure, a user can be as simple as a web page, or as voluptuous as a handheld, multimedia device, but that�s what a portlet does � is simply delivers content to a user. Portlets are not web services; Web services are web services. portlets are not web services. Portlets are not EJBs; EJBs are EJBs. Portlets are not a database connectivty API. JDBC is the Java based, database connectivity API. Portlets are simply content delivery vehicles that render themselves within the confines of a portal page. Partial Page, Content Generation Note: the fact that portlets are rendered within the confines of a portal page is not a minor point. When a portlet renders itself, the content it delivers to the user makes up only a portion of the total content delivered to the end user. A portlet may make up a large portion of the total content delivered to a user through a handheld device, or it may make up only a quarter of the html page delivered to a client�s browser, but regardless of how much of the content delivered to an end user a portlet is responsible, the fact remains, that a portlet only generates part of the total amount of content delivered to the end user.