Sun Java System Portal Server 7 Developer's Guide

Overview of Portal Server Software

This section provides a brief description of the Portal Server software. See Sun Java System Portal Server 7 Technical Overview for a complete product architecture description.

What Is a Portal?

A portal is a doorway or entry point to a set of resources that an enterprise wants to make available to the portal’s users. For some consumer portals, the set of resources includes the entire World-Wide Web. For most enterprise portals, the set of resources includes information, applications, and other resources that are specific to the relationship between the user and the enterprise.

The primary purpose of the Sun JavaTM System Portal Server software is to give end users a portal Desktop, which provides access to resources and applications. In addition, a search engine infrastructure enables intranet content to be organized and accessed from the portal Desktop.

Sample Desktop and Desktop Hierarchy

The sample desktops use an aggregation of a variety of separate web applications (channels) within a common framework. The common framework provides multiple levels and styles of aggregation, presented to end users through a container metaphor.

Providers and Channels

In the Desktop, leaf channels are the basic unit of content, displaying a specific type of information. To the end user, a channel is a distinct unit of content in the Desktop, usually (but not always) set off with a border and header row of icons that enables users to configure the channel to their preference. A provider is a JavaTM class responsible for converting the content, from a file or an application or service, into a presentable format for a channel.

Portlets and Web Service for Remote Portlets

Portlets and Web Service for Remote Portlets (WSRP) are available with Portal Server. Portlets are web components specifically designed to be aggregated in the context of a composite page. Java Specification Request (JSR) 168 specifies how portlets interact, how their life cycles are managed, and provides details of their semantics.

WSRP provides a presentation-oriented web service. A presentation-oriented web service returns the headers formatted through markup and ready for display in a web browser.

Portal Server Software Desktop

The Desktop provides a mechanism for extending and aggregating content through the Provider Application Programming Interface (PAPI). The PAPI is a JavaTM API that enables you to construct the basic building blocks for creating channels. Usually, though not always, channels contain content. You can also have channels of channels; that is, a container channel that aggregates other channels. A channel can also be the entire Desktop page. The container channels define the layout of the Desktop.

See Sample Desktop and Desktop Hierarchy for a simple representation of a portal Desktop and its providers and containers. In this figure, the Desktop front page is a tab container with two tabs. Each tab contains a table container with various channels.

Notice how one provider, in this case, URLScraperProvider, is serving more than one channel. Providers can have a one-to-many relationship with channels.

Figure 1–1 Desktop Hierarchy and Building Block Providers

Figure shows the desktop hierarchy

Display Profile

The display profile is a set of XML documents used to define and configure providers and channels in the Portal Server software. The display profile defines the following three items:

A provider’s display profile document acts as a template for creating channels. They define the set of properties that channels based on this provider will make use of, as well as providing default values for these properties where appropriate. Channels and container channels must reference a provider, and will use their default property values unless the property is redefined in the channel.

The display profile used to generate a user’s Desktop is constructed by merging together multiple display profile documents. Each display profile contains a series of XML instructions for storing channel properties.

The display profile documents are stored in their entirety as a single attribute in the Sun JavaTM System Access Manager software services layer. That is, the display profile documents are an LDAP attribute residing in an instance of the Sun JavaTM System Directory Server software.

See the Sun Java System Portal Server 6 2005Q4 Technical Reference Guide for a complete discussion of the display profile.

Search Engine

The Portal Server software Search Engine is a taxonomy and database service designed to support basic and advanced search and browse channels for the Desktop. The search engine uses a robot to create resource descriptions (RDs) for documents that are available in the intranet, and stores these resource descriptions in an indexed database. Resource descriptions can also be imported from another server or from a backup SOIF (Summary Object Interchange Format) file. The search engine includes Java and C APIs for submitting resource descriptions and for searching the database. The search engine database can also be used for storing other arbitrary content such as a shared content cache for other content providers.

Access Manager Software Services

Portal applications and resources use Access Manager software to provide services such as authentication, single-sign-on, profile, and session management. See the Access Manager documentation for more information.

Application Development

As a developer, you can provide access to portal resources through the Portal Server software (and the Access Manager software) APIs. For example, you can develop channel content to define aggregation of both those channels as well as channels built from the predefined set into your site’s portal.

In extending the Portal Server software, use the APIs in the following functional areas:

Software Architecture

This section describes the Portal Server software architecture. In Figure 1–2, the Portal Server software components consist of:

The JavaTM Development Kit (JDK) provides the Java run-time environment for all Java software in Portal Server and its underlying components.

The Sun Java System Web Server software, or the Sun Java System Application Server software, or the BEA WebLogic Server, or the IBM Websphere Application Server provides the web container. The application server provides the Portal Server with a robust, highly scalable web container for the Portal Server web applications. It also provides the Portal Server with compatibility for other applications written to use application server and for developers that want to use the additional enterprise services that are provided by these application servers.

The Directory Server software provides the user profile data repository. The Access Manager software provides support for core services such as profile, session, authentication, and logging. It also provides single-sign-on services, policy management, debug utility, and client support interfaces for the Portal Server. Use the Access Manager software administration console for user administration.

The Portal Server software Search Engine provides the search capability. It includes basic and advanced search and browse channels for the Desktop. It uses a robot to create resource descriptions for documents that are available in the intranet, and stores these resource descriptions in an indexed database. Search includes Java and C APIs for submitting resource descriptions and for searching the database. Search also includes an administration console module for editing Search service data and for configuring the search engine and the robot. The console also lets you edit the contents of the Search database.

The Desktop provides the primary end-user interface for the Portal Server and a mechanism for extensible content aggregation through the Container Provider Interface (PAPI). The Desktop includes a variety of providers that provide a container hierarchy and the basic building blocks for building some types of channels. The Desktop implements a display profile data storage mechanism on top of an Access Manager service for storing content provider and channel data.

Figure 1–2 Software Architecture

This image shows the Sun Java System Portal Server architecture
including the various components included with the software.