Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

Build portals with Jetspeed

Use Apache Jetspeed to build portals out of Web services

Developers are facing a new application integration challenge: building existing content, server-side Java applications, and Simple Object Access Protocol (SOAP)-based Web services into a coherent frontend application for their users. Most of you are familiar with consumer-oriented Websites -- such as Lycos, AltaVista, and Yahoo! -- that aggregate content and services into portals. Company intranets have used portals for years to make internal systems available to employees. Those intranets tend to be either expensive proprietary solutions or internally supported homegrown portals. If you're looking for an open source way to develop your own portal solution, look no further than the Jetspeed project from the Apache Software Foundation. For Java developers, Jetspeed offers a Portal API for developing small Java applications, known as portlets, that run inside the portal. The IBM WebSphere Portal Server also supports that Portlet API.

What does Jetspeed do?

Jetspeed lets you focus on building connections to outside resources, such as Web services, databases, and content feeds. It features built-in services for user interface customization, caching, persistence, and user authentication. As a portal developer, you don't have to build any of those services yourself; instead, you can concentrate on retrieving external data and displaying it. Jetspeed doesn't place any restrictions on what resources portlets may access.

Each user has individual settings for displaying portlets on his or her portal, for both wireless and Web access. Some portlets may only work on the Web, while some may also work on mobile devices; users can have different portlets for each. User authentication is abstracted through interfaces, and you can implement the authenticate() method on the UserManager interface from Turbine (provided as part of Jetspeed) or you can replace the method with a pluggable authentication module. You could use that module as part of a single sign-on solution, in which your portal handles frontend authentication, or to access an existing database of user information.

To display content, portlets use the Element Construction Set (ECS) API, which generates markup elements from Java objects. ECS supports the Wireless Markup Language (WML) as well as HTML and XML, and is open source under the Apache license. It is available from the Jakarta Apache Project; however, the ECS jar file is bundled with Jetspeed, so no additional downloads are necessary. It may be easier to use a servlet-based template or Web publishing technology, such as JSPs, WebMacro, or Velocity, to generate content for your portlet. ECS can run a servlet and capture the output in an ECS element, which may then be used as the displayed content.

Without any Java programming, you can easily set up Jetspeed to get news headlines and content from other Websites. Jetspeed can use both the RSS (RDF Site Summary) and OCS (Open Content Syndication) formats. RSS is an XML format used for syndicating Web headlines. Websites publish RSS feeds to anyone on the Internet interested in retrieving them. The headlines link back to the publishing Website for the article's full content. The OCS format describes multiple-content channels, including RSS headlines. To configure new content channels for Jetspeed, add them to your WEB-INF/conf/jetspeed-config.jcfg file.

1 | 2 | 3 | 4 |  Next >
Resources