Enterprise Context

This topic defines fundamental enterprise concepts and terminology used throughout this chapter and describes its alignment within the CMS TRA.

Introduction to Portals and Portlets

A portal provides functionality and content from a diverse and potentially distributed set of applications (called portlets) in a common, unified manner. From a user perspective, a portal aggregates multiple applications (represented as portlets) into a common look and feel while allowing users to customize and personalize both content and layout. A portal also makes available a user interface via a Web server. From an application perspective, a portal provides a common run-time environment (i.e., a portlet container) for portlet instantiation, usage, communication, and destruction. This includes a single framework for user management, authentication and authorization, and inter-portlet communication. Portlet Wireframe and Nomenclature illustrates key components of a portal architecture.

Portal Architecture Overview figure describes an overview of the portlets in the presentation, application and the data zones as described in the associated text.
Portal Architecture Overview

A portlet generates portlet content as markup fragments. The portlet renders these portlet fragments in a consistent manner. For example, a portal may add a title, specific window controls, and decorations and renders this within a portlet window. Multiple portlet windows aggregated into a complete document represent the portal page. This is illustrated in Portlet Wireframe and Nomenclature , adapted from Java Specification Request (JSR) 168: Portal Specification.

Portlet Wireframe and Nomenclature; This figure shows that a portlet wireframe contains a title and decorations and controls along the top of the portlet window, and then the portlet fragment consists of portlet content. The portal page contains smaller windows with titles and portlet content.
Portlet Wireframe and Nomenclature

The Java Portlet Specification (JPS) defines a consistent programming model for developers to use in developing portlets that reside within a portlet container. The JPS was developed as a (JSR, which dictates that any Java-provided content comes by way of a portlet. Version 1.0 of the JPS (JSR 168) specifies portlet modes, window states, data models, packaging formats, and methods of integrating applications with portlets. JPS Version 2.0 (JSR 286) extends JSR 168 to define inter-portlet communication, serving dynamically generated resources, Extensible Markup Language or JavaScript Object Notation data, and portlet filters and listeners. The WSRP specification complements JSR 286 by defining a standard for communicating with remote portlets. The JSR 286 and WSRP standards should be used and are referenced throughout this chapter.

CMS Enterprise Portal Environment

The CMS Enterprise Portal is intended to provide a shared service for exposing CMS applications and content to intranet, Internet, and extranet users consistent with the CMS TRA Multi-Zone Architecture. The outermost zone is the Presentation Zone that supports Web servers and user interfaces. The middle zone is the Application Zone that controls business logic, business rules, and messaging. The third zone is the Data Zone that supports the database servers. The CMS Enterprise Portal spans the Presentation and Application Zones. In the Presentation Zone, the portal serves as a user interface, presenting different CMS applications in a consistent manner. The portal container resides in the Application Zone, responsible for integrating and providing a common program interface to disparate CMS applications made available as portlets. The business logic and data access contained within applications resides in the Application and Data Zones, respectively.

The Enterprise Portal will enable users to interact with CMS through a single website, allowing for personalization as well as integrated security. Users will be able to alter, within specified limits, the experience they enjoy with the portal by selecting from approved portlets and configuring the position and size of portlets to meet their needs for a productive and comfortable experience.

The CMS Enterprise Portal has SSO and a Security Programming Interface (SPI) for managing authentication and authorization. The SPI isolates most details of complying with security checks from the application integrator. For example, the CMS Enterprise Portal will shield portlet applications from the details of SSO with the existing CMS applications. There is no need for specialized programming or use of third-party software on the part of the application integrator; the SPI provides services based on the URL mapping of applications.