Read an Excerpt
IBM WebSphere Portal Primer
By Ashok K. Iyengar, Venkata V. Gadepalli IBM Press and MC Press
Copyright © 2005 International Business Machines Corporation
All rights reserved.
ISBN: 978-1-931182-40-9
CHAPTER 1
Enter the Portal
A couple of years ago, a customer mentioned "integration at the glass" — a phrase that we had not heard before. Now, everybody in the IT world seems to talk about it, and we have Enterprise Portals to thank for that new phrase. What started off as simple Web-based interfaces are now powerful content management and collaboration centers. Portals in general have become the Web interface of choice to provide business users — and the emphasis here is on business users — rapid access to the information and services they need to be more efficient. "Integration at the glass" might seem superfluous, but that is hardly the case. Integration happens at all levels, and the real benefit of the portal stems from the fact that real integration takes place in the backend, and the results are aggregated and presented "at the glass."
So, if you want to be able to integrate with existing backend systems and have a Web interface that provides personalized content along with e-mail and collaboration functionality, you need a framework. IBM WebSphere Portal is one such portal framework that gives individuals the freedom to create virtual desktops and gives enterprises the ability to have "integration at the glass."
This chapter includes a technical introduction to IBM WebSphere Portal. For those who are already familiar with the WebSphere Portal product suite, Chapter 3 is where the in-depth technical discussions start.
The WebSphere Platform
Based on the Java 2 Platform, Enterprise Edition (J2EE), IBM WebSphere Application Server is firmly established as the premier platform in e-business computing. WebSphere scales well and provides enterprises with a comprehensive set of integrated e-business solutions. The current release of WebSphere Application Server is Version 6 but Version 5.1 supports WebSphere Portal V5.1. The three different facets of the WebSphere platform are shown in Figure 1.1. They are Business Portals, Business Integration, and Foundation & Tools. By utilizing each side of the WebSphere pyramid, you can create and operate a dynamic, reliable, and secure e-business.
Three elements make up the Foundation & Tools portion of WebSphere:
* IBM WebSphere Application Server
* IBM WebSphere MQ, the messaging middleware component
* IBM Rational Application Developer, the Eclipse-based pluggable application-development toolset that supercedes WebSphere Studio Application Developer
The Business Integration side of the product suite pyramid is also known as Business Process Management, or BPM. BPM deals with business modeling, B2B integration, process automation, and message integration. These products are geared to help businesses streamline their operations and save money.
Finally, the Business Portals part of the suite pyramid encompasses products like Portal Server, WebSphere Commerce Server, Tivoli Web Site Analyzer, WebSphere Voice Server, and WebSphere Translation Server. This book covers the IBM WebSphere Portal for Multiplatforms, which is IBM's official name for this product.
WebSphere Portal
WebSphere Portal is software for building and deploying enterprise portals, big and small. It provides an extensible framework for delivering access to enterprise applications and information. As portals enter their third generation of maturity, WebSphere Portal has introduced new concepts of delegated administration, cascading page layouts, portal federation through Web services, advanced portlet applications, business process integration, and advanced personalization.
WebSphere Portal is available in two different offerings known as editions: Enable and Extend. These editions are cumulative in function and components. For example, Extend includes all functionality available in Enable, plus additional functionality. Table 1.1 shows the software components that are packaged in each WebSphere Portal offering. Another version of the software is called WebSphere Portal Express, which is just like the Enable edition but is licensed on per-user basis.
WebSphere Portal server
WebSphere Portal server provides common services such as application connectivity, integration, administration, and presentation that are required across portal environments. It is installed as another application within WebSphere Application Server, with its own Web and Enterprise JavaBean (EJB) container. Since it is part of the WebSphere Application Server, it provides the same benefits of management, cloning, and scaling. The main components running within the Portal Server's Web container are portlets and portlet applications.
Portlets
A portlet is a small portal application that is displayed as a rectangular area on a Web page. This rectangular area is akin to a miniature browsing area. Portlets are the heart of a portal. They are independent, reusable components that provide access to applications, Web-based content, and other resources. Web pages, services, applications, and syndicated-content feeds can be accessed through portlets.
Portlets are written in Java, utilizing a Portlet Application Programming Interface (API). A standard API now exists, as explained in Chapter 6. Portlets are developed, deployed, managed, and displayed independently of each other. However, you can create special portlets that communicate with each other. Figure 1.2 is a screen shot of one of the default screens of WebSphere Portal server, which is really a portal page entitled Productivity. This page is one of three pages under the page group called My Work, and it contains three portlets — Reminder, My ToDos, and Bookmarks. (You'll learn more about the concepts of pages, page groups, and portlets in later chapters.)
Portlets are becoming prevalent in the IT world. Enterprises can create their own portlets or select from a portlet catalog that has portlets made available from IBM and other third-party vendors. Now that a standard Portlet API exists, a portlet written for one portal server can conceivably work in another vendor's portal server without modifications.
The IBM portlet catalog is available at http://catalog.lotus.com/wps/portal/portlet/catalog. Many of the more than 500 plus portlets are freely downloadable, but some are written by third-party software vendors and require a usage or license fee. Make sure you download and use portlets meant for your particular version of WebSphere Portal server, because portlets written for older versions of WebSphere Portal might not work correctly with the current version 5.1.
Portlet Applications
Portlets, in fact, can be parts of complete applications. A portlet application can contain one or more portlets and follow the model-view-controller (MVC) design. Portlet applications are packaged as Web Archive (.war) files, per the J2EE specifications for Web applications.
Like servlets, portlets run inside a Web container that is part of the portal server. As in the case of servlets, the Web container provides a runtime environment in which portlets are instantiated, used, and finally destroyed. Portlets rely on the portal infrastructure to access user profile information, participate in window and action events, communicate with other portlets, access remote content, look up credentials, and store persistent data.
Portlets, however, are administered more dynamically than servlets. For example, a portlet application consisting of several portlets can be installed or removed while the server is running. An existing portlet can even be dynamically updated with a newer version.
The Portlet API
Portlets are assembled into a larger portal page, with multiple instances of the same portlet displaying different data for each user. Portlets rely on the portal infrastructure for their functionality. Since they are very similar to servlets, it makes sense that IBM portlets are a special subclass of HttpServlet, with properties that allow them to easily plug into and run in the portal server. The portlet Application Programming Interface (API) provides standard interfaces for the portlets' functionality.
The portlet API defines a common base class and interfaces for portlets, in order to cleanly separate a portlet from the portal infrastructure. In most respects, the portlet API is an extension of the servlet API, except that the Portlet API restricts certain functions to a subset of the full servlets API. This makes sense for portlets running in the context of a portal. For example, unlike servlets, portlets may not send errors or redirects as a response. This is done only by the portal itself, which controls the overall response page.
Normally, one or more portlets are invoked in the course of handling a single request, from a user, each one contributing its content to the overall page display. Some portlets can be rendered in parallel, so that the portal server assembles all the markup fragments when all the portlets finish or time-out. Portlets that are not considered thread-safe will be rendered sequentially.
The markup fragments that portlets produce may contain links, actions, and other content. The portlet API defines URL-rewriting methods that allow portlets to transparently create links, without needing to know how URLs are structured in the particular portal. (The portlet API and its usage in creating portlet applications are discussed in more detail in Chapter 6.)
Portal Architecture
WebSphere Portal is a third-generation portal server with a lot of components, and it offers one of the most comprehensive portal solutions. This is possible because WebSphere Portal server mirrors the proven MVC architecture of the WebSphere Application Server. With its own robust portlet API, plus support for the new JSR 168 portlet API, WebSphere Portal not only integrates well with existing backend components, but also is easily extendable.
Enterprises can use existing security systems by using Trust Association Interceptors to achieve portal authentication. You can delegate the authorization decisions out to external security management systems. WebSphere Portal has a Document Manager that is used for collaboration and a Web Content Management component that makes it easy to develop, manage, and publish content to the portal. If enterprises already have third-party content-management systems, WebSphere Portal toolkits are available to interface with many of them.
WebSphere Portal gets installed as a set of J2EE enterprise applications in WebSphere Application Server. Like every other J2EE application, it is comprised of Web Applications and EJBs. Some of the major Enterprise Applications related with WebSphere Portal server are:
* WebSphere Member Management or WMM (wmmApp.ear)
* WPS Enterprise Application (wps.ear)
* WebSphere Content Management or WCM (wcm.ear)
* Personalization applications (PZN_Utilities.ear, pznpublish.ear, pznscheduler.ear)
* Business Process application (BPEContainer.ear)
* Portal Document Management or PDM (pdmauthor.ear, pdmsearchadapter.ear)
In addition to these enterprise applications, about 95 portlets get installed. When you view the WebSphere Application Server Administrative Console, as shown in Figure 1.3, you will see numerous Enterprise Applications, all running on one or more nodes of the WebSphere Application Server. Keep in mind that you can start with the base WebSphere Portal Enable and then add components in the future to move up to the Extend edition.
WebSphere Portal Components
Table 1.2 shows the products and components that are packaged in each WebSphere Portal offering. The rest of this chapter gives you an overview of the major components. Although some of these components either were or still are stand-alone products, they are very nicely integrated with Portal Server.
Personalization
A major point of confusion in the marketplace is the distinction between customization and personalization. Optimizing each user's experience of the portal is one of the key goals of WebSphere Portal. To this end, Portal Server provides end-user and administrative interfaces for creating and modifying the content of portal pages, as well as adjusting the look and layout of the pages. With these tools, users can customize their own pages by selecting portlets and customizing the settings of each one.
WebSphere Portal also comes with the Personalization Server. The purpose of this server is to select content for users, based on information in their profiles and on business logic. It provides facilities that allow subject-matter experts to select content suited to the unique needs and interests of each portal visitor. To enable either Personalization Server or WebSphere Portal to perform these types of functions, the content must have metadata describing one or more categories.
The Personalization Server and portal server share a common user profile and a common content model. This model is based on the WebSphere resource framework interfaces classes. Thus, personalization rules can be added easily to portlets to select portal content and target it to the portal's registered users. (Personalization is covered in more detail in Chapter 5.)
Search
WebSphere Portal provides integrated text-search capabilities, including a search portlet, a crawler, and a document indexer. The search service can search the portal's document repository as well as Internet content.
Customers seeking support for large document collections or support for searching a wide range of document types and data sources should consider using IBM's Lotus Extended Search (included with the WebSphere Portal Extend offering), or IBM's Enterprise Information Portal, now known as WebSphere Information Integrator for Content.
The default search portlet that works with the Portal Search Engine (PSE) is deployed during the installation of WebSphere Portal. However, specific portlets are available that work with the other advanced search engines. (Search concepts are discussed in more detail in Chapter 8.)
Site Analyzer
Tivoli Web Site Analyzer is a software component that comes with the Extend edition of WebSphere Portal. Both technical and business users can use Site Analyzer (SA) to monitor and maintain a very effective portal site.
Portal administrators and site developers can obtain overall usage statistics, such as logins and logouts, enrollments, and error conditions. Site developers can get portlet and page usage statistics, including portlet actions, number of views, and modifications. The business sponsors can measure the effectiveness of the business rules and campaigns, and use visitors' profiles to market products more effectively via the portal. (Site Analyzer is discussed in more detail in Chapter 8.)
Collaborative Components
Lotus Domino Server, Lotus Instant Messaging and Web Conferencing (formerly Sametime), Lotus Team Workplace (formerly QuickPlace), and Domino Document Manager are the building blocks for the Collaborative Components In WebSphere Portal. They provide Java API methods and tags for Java Server Pages (JSPs) for extending the functionality of Lotus' collaborative portlets. Using the Collaborative Services not only hides the complexities of integrating with these components, but also manages the security context. Lotus Software Collaborative Services are listed in Table 1.3.
All the Collaborative Components, except the People Services are UI-neutral. That means, portlet developers can design the user interface for the collaborative features they are implementing. (Collaboration is covered in more detail in Chapter 9.)
Content Management
When companies deploy portals, they are focused primarily on content aggregation, especially the delivery of personalized content. WebSphere Portal meets the portal's content-delivery needs by supporting syndicated content, by integrating with Web content-management systems, and by providing built-in content-organizing portlets.
Content syndication is about delivering fresh, personalized, and filtered content from multiple sources to subscribers. Typically, the content is related to news, finance, and entertainment. Companies are embracing syndication concepts and standards to automate the publishing of electronic catalogs and other internal information and to make this information available to workers through enterprise portals.
Web content management deals with creating, approving, and publishing Web content from content creators to Web servers. This process involves defining content types, roles, publication options, destination specifications, and workflow processes. Lotus Workplace Web Content Management delivers end-to-end Web content management through Internet, intranet, extranet, and portal sites. In addition, Lotus Workplace Web Content Management leverages content in back-end systems and reduces development and implementation time.
(Continues...)
Excerpted from IBM WebSphere Portal Primer by Ashok K. Iyengar, Venkata V. Gadepalli. Copyright © 2005 International Business Machines Corporation. Excerpted by permission of IBM Press and MC Press.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.