Architecting Portal Solutions: Applications Development
| < Day Day Up > |
|
B.1 WebSphere Portal architecture
WebSphere Portal is the industry's most comprehensive portal solution and represents the de facto standard e-business architecture. WebSphere Portal integrates both IBM and business partner technologies to realize this architecture. IBM is also extending its portal offering to create additional products that deliver highly personalized and context-sensitive applications, accessible from any device at any time.
As e-business applications enter the on demand era, WebSphere Portal leads the way with its concepts of delegated administration, cascading page layouts, portal federation through Web services, advanced portlet application concepts, business process integration, knowledge management, and advanced personalization. In complementary offerings, additional pervasive computing functions are enabled, such as intelligent notification, offline browsing, and data synchronization.
WebSphere Portal is available in several editions, each designed to provide the infrastructure you need to build and deploy highly scalable portals. All three offerings share a common framework (the portal server) plus additional products and services. The portal server provides common services such as application connectivity, integration, administration, and presentation that are required across portal environments.
B.1.1 Portlets
Portlets are the heart of a portal. The term portlet refers to a small portal application, usually depicted as a small box in the Web page. Portlets are reusable components that provide access to applications, Web-based content, and other resources. Web pages, Web services, applications, and syndicated content feeds can be accessed through portlets. Companies can create their own portlets or select from a catalog of portlets created by IBM and its business partners.
Any particular portlet is developed, deployed, managed, and displayed independent of other portlets. Administrators and end users create personalized portal pages by choosing and arranging portlets. The portal server already includes a rich set of standard portlets for displaying syndicated content, performing XML transformation—accessing existing Web pages, Lotus Notes and Microsoft Exchange productivity applications, Lotus Instant Messaging, and Lotus Team Workplace team rooms. [1]
Portlet applications
Portlets are more than simple views of existing Web content. A portlet is a complete application, following a standard model-view-controller design. Portlets have multiple states and view modes, plus event and messaging capabilities.
Portlets run inside the portlet container of a portal server, similar to a servlet running on an application server. The portlet 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.
Portlet modes
Portlet modes allow a portlet to display a different user interface, depending on the task required of the portlet. A portlet has several modes of display, which can be invoked by icons on the portlet title bar (view, help, edit, and configure).
Portlet API
Portlets are a special subclass of HttpServlet, with properties that allow them to easily plug into and run in the portal server. Portlets are assembled into a larger portal page, with multiple occurrences of the same portlet displaying different data for each user.
Standards
As portals continue to evolve into the new desktop and integration standard, IBM is leading efforts to standardize the application programming interfaces between portals and other applications. In particular, the Java Community Process (JCP) and the Organization for the Advancement of Structured Information Standards (OASIS) are working cooperatively to standardize the Java and XML technology needed to link portals to disparate applications.
Struts
Struts is a Jakarta open source project that provides a framework based on the Model-View-Controller (MVC) pattern. It allows developers to efficiently separate the application's business logic from its presentation. Struts enforces sequence of pages and actions and provides form validation functions.
The latest release of WebSphere Portal adds support for using the Struts 1.1 framework to build portlets.
Portlet cooperation
The portal server provides a mechanism for portlets to communicate with each other, exchanging data or other messages.
Brokered cooperation
Brokered cooperation allows independently developed portlets to exchange information. Portlets that exchange data in response to a user action are called click-to-action portlets. Click-to-action automatically matches the portlet information sources and possible actions based on their data type compatibility. A unique advantage of click-to-action is that it is designed to work in different browsers, making it more accessible to users.
Discoverable services
The Portlet API provides an interface to enable dynamic discovery of available services. Each service is registered in a portal configuration file and is accessed from the PortletContext.getService() method, which looks up the factory for the service, creates the service, and returns it to the portlet. This makes services available to all portlets without having to package the service code with the portlet. The implementation of such a service can be exchanged or enhanced transparently, without affecting the portlet.
The portal server provides discoverable services for its credential vault, for managing persistent TCP/IP connections, and for managing the portal's content repository. New services such as search, location, notification, content access, or mail services can be implemented by portal developers.
Tools
Portlets can be grouped together in a portlet application. Portlet applications are distributed and deployed using Web archive (WAR) files. There are portlet-specific extensions to the standard Web application deployment descriptor.
WebSphere Studio Application Developer provides an excellent development, test, and debug environment for portlet applications. You can implement the Java classes for portlet classes and also test and debug the Java code. Studio also provides tools for creating Java Server Pages, HTML pages, images, and other related portal resources. The portal toolkit (downloaded from the Web) provides plug-ins to help build the portlet deployment descriptor, package it into a WAR file, and then easily deploy it to the runtime portal server.
B.1.2 Content and search
WebSphere Portal meets the portal's content delivery needs by supporting syndicated content, by integration with Web content management systems, and by providing built-in content and search portlets.
Syndicated content
A key concept related to portal technology is syndication, which is about delivering fresh, personalized, and filtered content and services from multiple sources to subscribers. Typically, the content is related to news, finance, and entertainment. Portal partners include popular content providers such as Pinnacor, Financial Times, Moreover, YellowBrix, Hoovers, Factiva, NewsEdge, MediaApps, and DataMonitor.
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. A popular and useful format for syndicated news and entertainment content is Rich Site Summary (RSS). Content can be published directly from the content management system into Rich Site Summary and Open Content Syndication (OCS) channels, where it can easily be displayed by the portal server's built-in RSS portlet. This self-syndication concept defines a procedure for editing, managing, and publishing your own sources of content.
Web content management
Web content management deals with creating, approving, and publishing Web content from content creators to Web servers. The steps of this process include defining content types, roles, publication options, destination specifications, and workflow processes. There are many content management vendors in the marketplace today, including Interwoven, Vignette, Documentum, FatWire, Stellant, and IBM Lotus Workplace Web Content Management. Although each of these products works differently, generally they are designed to create, maintain, and publish collections of documents that can be made available to users via the portal.
WebSphere Portal includes integration kits that illustrate specific steps of how to publish RSS content from several of the Web content management products. These are available through the portlet catalog. Content contribution and approval operations of the Web content management system can also be accessed through portlets that are provided by their respective companies. These portlets provide a user interface into various aspects of the content management process—such as content submission, workflow management, content approval, and even staging or publishing.
Web content publishing
The Web Content Publisher is a tool intended for users that need to contribute content to a Web site on a regular or occasional basis. This includes business users creating template-driven content such as press releases or product information, and graphic artists creating and editing artwork using their favorite tools. Content Publisher supports content contribution via templates or forms, as well the contribution of files such as images, HTML, or JSPs, which are created and edited using popular tools such as HomePage Builder, Dreamweaver, FrontPage, PhotoShop, or Word.
Workflow
Web Content Publisher manages the task lists of each user, maintains access control over what content each user can see or change, and coordinates the approval and publishing process when the content is ready.
Digital content libraries
For managing and searching large collections of digital content, the WebSphere Portal Experience offering includes IBM Content Manager. Additional search portlets from leading search vendors such as Verity, Inktomi, and Autonomy are also available and can be found on the portlet catalog.
Search
WebSphere Portal provides integrated text search capabilities, including a search portlet, a crawler, and a document indexer. The search service can search local documents as well as Internet content. The portal server's built-in search engine is optimized for full-text searching of small and medium-sized collections, where precision is essential. It efficiently applies state-of-the-art search algorithms, producing high-quality search results.
The search engine supports free-text queries, with query assistance and query word completion. Search queries use advanced query operators (+ or -) to indicate keywords that must or must not be be in the document. The search engine can search documents in any language, and also supports synonyms and stop word lists. Search results include document summarization and search results clustering.
Federated search
WebSphere Portal also integrates several other search technologies. Portlets using IBM Lotus Extended Search and DB2 Information Integrator can access and aggregate other search engines and indexes in a distributed fashion. Customers seeking support for large document collections or for searching a wide range of document types and data sources should consider using Lotus Extended Search [2] or IBM's Content Manager.
Extended search
Lotus Extended Search (ES) provides distributed, heterogeneous searching across Domino servers, databases, and the Internet, without the user having to know the details of these various systems. The result is single point of access to a variety of data sources without requiring a new, central index. ES can search and retrieve documents from repositories that include Lotus Notes 4.X and 5.X, Domino.doc, and R5 Domain Index. ES also searches external sources such as Microsoft Index Server and Site Server, LDAP-compliant directories, 18 popular Web search sites and News sites, commercial content providers, and relational databases such as IBM DB2, Oracle, Sybase, MS SQL Server, and other ODBC compliant databases. Results can be ranked by relevancy over multiple data stores.
Advanced search and document processing
IBM Content Manager can manage data access across multiple sources such as content management repositories, e-mail systems, relational databases, file systems, and Web sites (both intranet and Internet). The developer's interface for working with IBM Content Manager is called DB2 Information Integrator for Content. It integrates data sources across the enterprise through a unified set of APIs to simplify programming and to speed development and deployment while providing an interface layer that isolates portal applications from changes to underlying data repositories.
Documents can be full-text indexed and searched using the Information Integrator's crawler and text search features. Many different document formats are supported in addition to standard markup text such as HTML and XML. Documents can be categorized into taxonomies, enabling search by category.
APIs are provided for capturing and storing other metadata about documents. Information Integrator has connectors for a variety of repositories provided by IBM, Lotus, and other vendors such as Documentum and Filenet. Federated searches can be applied across multiple such repositories and can exercise searching based on metadata, full text, and other specialized search properties such as Query by Image Content (QBIC®)—depending on the search services enabled for each repository. The Text Analysis features support creating full-text indices and subsequent searching across all the text portions of the content sources configured for use in the portal. Sources can be accessed for indexing via the Web crawler or a metadata search. Portlets for accessing Information Integrator's advanced and federated search functions are available from the portlet catalog.
B.1.3 Security
With the explosive growth of B2B and B2C Web applications, e-businesses must protect critical information assets from intruders and hackers. Service providers need similar protection when re-hosting e-business content and applications for their customers. Portal applications and resources are protected by:
-
Managing user profiles (member services)
-
Verifying user identity (authentication)
-
Managing access to back-end applications (single sign-on)
-
Enforcing access policies (authorization)
Member services
Centralized administration of user identities, credentials, and permissions is desirable in many environments. The portal server includes facilities for defining portal users and managing user access rights. The user and group subsystem includes Web pages where users can register and manage their own account information, administration portlets for managing user accounts and group information, and a repository that stores all the information about portal users. It provides services to create, read, update, and delete users or groups in the repository. User profile information includes general information such as a user's name and ID, plus preference information such as news topics of interest and preferred language. A user can be a member of one or more groups, and groups can contain other groups.
The default set of user profile attributes is based on the inetOrgPerson schema, which is supported by most LDAP directories. The user repository can consist of multiple data sources. By default, the repository consists of two data sources—it is a combination of a database and a directory server. The database can be either a DB2 or Oracle database. Additional ones may be supported in the future. Any one of several LDAP directory products are supported, including the Netscape (iPlanet) Directory Server, Microsoft Active Directory, Novell eDirectory, Lotus Domino, and IBM Directory Server.
Administration
Administration of users and groups can be performed by users themselves (self care) or by portal administrators. The portal server includes forms for registering new users as well as administration portlets for updating user and group information.
Authentication
Authentication is the process of establishing a user's identity. Usually, the portal server uses the authentication services provided by WebSphere Application Server. Another option is to use a third-party authentication server (such as Tivoli Access Manager, WebSEAL, or Netegrity SiteMinder) that has a trusted association with the application server.
Identifying the user
Portal server uses form-based authentication, which means that a user is prompted through an HTML form for the user ID and password for authentication when trying to access the portal. The portal server requests the application server to validate the authentication information against a Lightweight Directory Access Protocol (LDAP) user registry.
WebSphere Application Server uses Lightweight Third Party Authentication (lLTPA) as the authentication mechanism. A Common Object Request Broker Architecture (CORBA) credential is used to represent authenticated users and their group memberships. When a user tries to access a protected resource, the application server intercepts the request and redirects the request to the login form. This form posts the user ID and password to the portal, which requests the application server to authenticate the user. If the user can be authenticated, a valid CORBA credential is created and an LTPA cookie is stored on the user's machine.
Third-party authentication servers
If your system uses a third-party authentication server, trust must be established between that proxy and WebSphere Application Server. This is done using a Trust Association Interceptor (TAI) module, which converts security information specific to the authentication proxy into a format that can be handled by the application server. The supported authentication mechanism depends on the capabilities of the third-party product.
When a user tries to access the portal, the third-party authentication proxy intercepts the request and challenges that person to authenticate. After a successful login, the original user request along with additional security information in the request header is passed to the application server. The format and content of this information is vendor-specific. WebSphere Application Server uses the TAI module specific to the third-party product to extract the necessary security information from the request header.
TAI modules for IBM Tivoli Access Manager and Netegrity SiteMinder are packaged with all editions of the portal server. The WebSphere Application Server InfoCenter includes information about creating custom TAI modules for other third-party reverse proxy servers.
Single sign-on
The portal server provides comprehensive single sign-on (SSO) support. Users want to log on only once and be known to the different parts of the portal server with the same consistent user credentials. Users should not be asked to do multiple logons simply because they access different portal applications.
The portal server supports single sign-on realms using WebSphere Application Server as well as authentication proxies. This means that the user needs to log on only once to gain access to all enterprise applications that are installed within the single sign-on realm.
Credential vault
Many portlets must access remote applications that require some form of user authentication. For accessing applications outside the portal's realm, portal server provides a credential vault service that portlets can use to store user ID and password or other credentials for a user login to an application. Portlets can use these on behalf of the user to access remote systems. The credential vault supports either local database storage or IBM Tivoli's Access Manager for secure storage and retrieval of credentials.
For secure transmission of data, portlets can request a secure session (HTTPS) for accessing Web applications.
Persistent connections
Portlets that depend on remote connections require some way of maintaining that connection as users navigate through the portal. The portal provides a persistent back-end connection service that maintains TCP/IP connections across page changes. Some remote applications use forms-based logins and store cookies during the login form processing. The HttpFormBasedCredential can be used for handling these form-based logins and will store all the cookies that are returned as a result. For subsequent calls, the portlet can then ask the credential for an authenticated connection. This gives an HTTP connection with these cookies already set in the header. This way, portlets can maintain persistent and secure back-end connections.
Java security
The portal server implements the Java Authentication and Authorization Service (JAAS) architecture. JAAS provides a means for authenticating subjects and for providing fine-grained access control. JAAS is part of the standard Java security model, giving applications independence from the underlying authentication and authorization mechanisms being used.
JAAS performs login and logout operations using a modular service provider interface. Credentials that are established through the portal server's JAAS login modules include CORBA credentials, user and group distinguished names, user ID and password, and LTPA tokens. In a distributed J2EE environment, portlets can use the JAAS API to access JAAS-enabled back-end applications.
Authorization
After determining the user's identity, the portal server consults locally cached access control lists to determine which pages and portlets a user has permission to access.
The portal server enforces access control to portal assets, including portlets, pages, places, and user groups. The access control lists are stored in the portal's administration database. It is also possible to manage access control for specific resources in an external security manager such IBM Tivoli Access Manager or Netegrity SiteMinder.
Delegated administration
Granting view access to administration portlets is an effective way of delegating certain administrative tasks to other portal users. Those users can simply add the administration portlets to their personal pages and then perform whatever task the portlet is designed to do. This way, the user doesn't have to be given all administrative privileges or added to the portal administrator's group. Each user's administrative abilities are limited to only those tasks covered by the authorized portlets.
B.1.4 Personalizing the portal
Optimizing each user's experience in the portal is one of the goals of WebSphere Portal. To this end, the portal server provides end-user and administrative interfaces for customizing the content of portal pages, as well as 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. Users can also change the page layout and the color scheme if the administrator has decided to allow this.
Customizing pages
Users can have one or more personalized pages, navigating to each one from the home page. Pages are arranged into places. In a place, each personalized page can have a different set of portlets. The portlets on a page can be selected by end users or administrators, depending on their access rights for the page.
Cascading portals
Many companies need to build portals that accommodate the needs of a central organization as well as regional and local communities of users. WebSphere Portal supports the needs of companies that want to cascade portal definitions across the organization using the concept of derived pages.
Base pages are defined by top-level administrators, who then permit subordinate administrators to further refine the page layouts and content to meet their individual needs. The refinement process can continue for any number of levels until it finally reaches end users. If permitted, end users can customize their own pages by selecting and placing portlets and by changing portlet settings. In order to compute the page that a user finally sees, the portal server merges the page fragments defined by each successive refinement.
A company can achieve both vertical administration (across the company, business segments, locations, and users) and horizontal administration (where administrators provide content that is dedicated for a specific page). Using page locks together with the portal's access control features, administrators can determine which content is mandatory, recommended, optional, or forbidden.
Skins and themes
The portal server uses a system of JavaServer Pages (JSP) templates, cascading style sheets, and images to define the look of the portal pages. You can modify these to control any of the visual aspects of the portal, perhaps to add company-specific brand elements or to achieve a different color scheme and visual style.
The system for defining color themes and portal skins has been enhanced to support multiple skins per theme, additional branding elements, navigation styles, and dynamic, browser-independent cascading style sheets. Skins and themes can now be applied to a place rather than being restricted to having only one for the overall portal. Different skins can be applied individually to portlets so that the portal look can be fine-tuned to meet any needs.
Brand elements
All of the visual elements of the portal—including the masthead, the navigation areas, graphics, portlet title areas, and style sheets—can be changed to give the portal a custom look. Standard file formats such as JPEG, GIF, CSS, and JSP files are used for defining the look and the layout of the portal.
Navigation
In this release, the portal's navigation capabilities have been improved significantly. Now, instead of a simple page list for each place, it is possible to create very complex navigation trees with both page links and links to external URLs shown in the navigation area.
Virtual portals
Using different themes for each place, a single installation of the portal server can give the appearance of supporting many "virtual" portals. For example, a company might want to have a different portal for each division or special branding of its B2B portal for each business partner. Each virtual portal can be designed using one or more places, each with its own theme, skins, page layouts, and access permissions.
Universal access
The entire system of page templates, themes, skins, and portlet rendering is fully enabled for internationalization (including double-byte and bi-directional languages) and for accessibility to people with disabilities.
The portal server generates markup that complies with the American Disability Act (ADA) as defined in Section 508 Web Accessibility Standards, and meets the guidelines of the W3C Web Accessibility Initiative.
For globally accessible portals, the portal server will search for and select the proper JSP pages based on the target browser's settings for language and country.
For portals that must support many languages or for those that include rapidly changing portal content, WebSphere Translation Server offers automatic translation technology. This technology is useful for either real time or offline translation of human languages.
WebSphere Translation Server provides quick, inexpensive, convenient "gist" text translations whenever a professional translation is not feasible due to availability, time, or cost. The dictionaries can be tuned so that idiomatic expressions and specialized terminology are interpreted correctly. It supports bi-directional translation of content for English to and from French, Italian, German, Spanish, Japanese, and Chinese (simplified and traditional).
Unidirectional translation of content from English to Korean and Brazilian Portuguese is also supported.
Personalization
WebSphere Portal offerings include the WebSphere Personalization Server, whose purpose is to select content for users based on information in their profiles and on business logic.
WebSphere Personalization provides facilities that allow subject matter experts (SMEs) to select content suited to the unique needs and interests of each site visitor. Web-based tools help companies quickly and easily leverage content created by lines of business (LOBs) and SMEs.
The WebSphere Personalization Server and WebSphere Portal Server share a common user profile and content model. This model is based on the WebSphere resource framework interfaces classes. This means that personalization rules can easily be added to portlets to select portal content and target it to the portal's registered users.
Business experts create the rules for classifying users and selecting content, using Web-based tools. WebSphere Personalization also includes a recommendation engine that provides collaborative filtering capabilities. This uses statistical techniques to identify groups of users with similar interests or behaviors. Inferences can be made about a particular user's interests based on the interests of the other members of the group.
Also included with WebSphere Personalization are new campaign management tools. Campaigns are sets of business rules that work together to accomplish a business objective. [3] Implicit profiling services can collect real time information about site visitor actions and then construct personalization business rules using this data. Implicit profiling tracks the areas of a site where a user is most active in order to determine his or her interests.
To analyze the effectiveness of the site and its personalization strategies, the server provides logs that can be analyzed by IBM Tivoli Web Site Analyzer, which can then create reports for the portal's business owner. This helps the company measure the effectiveness of business rules and campaigns in achieving its objectives.
B.1.5 Administration
Administration of the portal is done through the portal itself in either a centralized or a delegated fashion. Administrators can deliver a new service to users simply by adding new portlets to the pages of the portal. Since these are portlets just like bookmarks or reminders or news or any other portlets, administrators can control access to them, place them on portal pages, and perform any of the usual steps.
Administrative portlets are provided for adding portlets to the portal's registry, managing users, groups, and access control lists; clipping Web pages; publishing Web services; setting portal-wide settings; managing logs; and performing other common tasks.
Portal settings
In the global settings portlet, administrators can change portlet settings such as the default language or cache time-out values. In this version of WebSphere Portal, there are some new settings that control how new user sessions are handled and what to do when a user tries to access a portlet without authorization. Unauthorized access can be ignored (in other words, the portlet is not displayed), or the portlet can be replaced by an informative message so that the user can take the necessary actions to correct the situation. Returning users might wish to pick up where they previously left off, so there is a setting to retain the state of the last visit and return to that page next time.
Web clipping portlet
One of the most important new portlets is the Web clipping portlet. This portlet is used to display sections of existing Web pages. You can visually select portions of the page or clip all the text between specific tags. This way, you can precisely control what markup is extracted. The portlet can optionally rewrite the links inside the clipped page, which is useful for displaying existing pages without leaving the portal's navigation structure. Each time you clip a Web page, a new portlet is created in the portal's registry. Whenever the new portlet is displayed, it retrieves the current version of the Web page and extracts the clipped portion to display.
Managing portlets
When installing new portlets you can use Web Archive (WAR) files from your local file system or install portlets that have been previously published in a UDDI directory.
Installing new portlets
The new portlet is automatically activated, but with no special permissions.
Managing the portlet catalog
Once the portlet is installed, you can copy it, set its configuration parameters, activate or deactivate it, or uninstall it.
Users and groups
In previous versions of WebSphere Portal, it was necessary to use your LDAP directory's administration tools to manage user and group information. Now, portlets have been added so that you can manage user and group information without leaving the portal. You can also manage a user's group memberships.
Web services
A Web service is an interface that describes a collection of network accessible operations. The interface is described using a standard XML description language called Web Service Description Language (WSDL) so that the service can be invoked without prior knowledge of the platform, language, or implementation design of the Web service. Web services are located using the standard Universal Description and Discovery Interface (UDDI), which may be a private or public registry of Web services. WebSphere Portal provides extensive support for Web services. Portal administrators can publish and bind remote portlets as Web services, making the remote portlets available in the portal's registry dynamically. When a remote portlet is used, its services are invoked using Simple Object Access Protocol (SOAP) or other transport protocols.
Federated portals
Consider a large corporation that has several different portals. Each of these portals offers portlets to its users and may choose to publish some of them as Web services, thus making them available for access through other portals. Completing the publishing step puts an entry for the portlet into a UDDI directory. An administrator at another portal can browse this directory to find all of the portlets that have previously been published and bind these into their local portal. This makes the portlet available as though it were locally installed. Of course, the portlet is actually running remotely on the original portal server that published it. The effect is to have a federated portal, where portlets may be running at any location in the network of portals.
Individual portlets can also use Web services internally to deliver their functionality. WebSphere Studio Application Developer provides development tools for quickly developing Web services and for generating proxy classes from WSDL descriptions.
Logging
Administrators can control the tracing and logging activity through the Log Files portlet and by modifying the configuration properties files of the logging subsystem. The portal server also records user activity in logs that can be processed by Tivoli Web Site Analyzer. Overall usage statistics such as logins and logouts are tracked, along with portlet and page usage statistics.
Project Summary | Displays summary statistics about the analysis, such as the total number of hits, sessions, visitors, and page views. |
User Agent Ranking | Displays a ranking of user agents employed by visitors to your site. |
Browser Ranking | Displays a ranking of browsers used by visitors to your site. |
Platform Ranking | Displays a ranking of platforms employed by visitors to your site.. |
User Ranking | Displays a ranking of users to your site by frequency of visits. |
Page Ranking | Displays a ranking of the pages viewed or editied by visitors to your site. |
Portlet Ranking | Displays a ranking of the portlets viewed by visitors to your site. |
Commands Ranking | Displays a ranking of the commands executed by visitors to your site, such as editing pages, creating new pages, or creating or deleting users and groups. |
Logins | Displays the number of logins/logouts into the portal. |
Resource Ranking | Displays a ranking of the resources viewed by visitors to your site. |
B.1.6 Collaboration
Corporate portals connect people to the applications, content, and resources they need. Portals also connect people to each other through community pages, shared bookmarks, contact lists, and personal productivity portlets.
Collaboration is really about people working in teams to solve a business problem. The portal server includes portlets and services designed to support the team and its activities with messaging, document libraries, user profiles, in-boxes and calendars, and electronic meetings. Users can access these collaborative services in the context of what they are currently doing rather than having to leave the portal to open another application.
For example, while working in the portal, users can easily see who else is online and then send an instant message, send an e-mail, or add a person to their contact lists. Collaboration portlets have advanced built-in features that allow portal users to take actions on documents or user names that appear in a portlet. Directly from the portlet, a portal user can see if other users are online and select from a menu of options to interact with another user.
Collaboration portlets
Collaboration portlets include Lotus Notes e-mail, calendar, and to-do list portlets, plus Lotus Notes discussion, document library, and TeamRoom portlets. There are also portlets for Discovery Server, Lotus Team Workplace, and Lotus Instant Messaging.
Several new portlets are being designed and prepared for an upcoming release on the portlet catalog. These include the People Finder, the Web Conference center, and the Team Workspaces portlet.
Table B-2 summarizes collaboration portlets.
My iNotes™ | Provides access to a Lotus iNotes server Welcome, Mail, Calendar, To Do List, Contacts, and Notebook functions. |
My Notes Calendar, Mail, and To-do List | These portlets display the user's calendar, in-box, or to-do list from his or her mail database. |
Notes Discussion | Views Lotus Notes databases built with the Discussion Database Template. |
Notes View | Views can be configured to view most Lotus Notes databases. |
Lotus QuickPlace | Displays a Lotus QuickPlace view inside the portlet. |
Lotus Instant Messaging Chat | Displays a Lotus Instant Messaging chat window from within the portal. |
Lotus Team Workplace | Displays a Lotus Team Workplace view inside the portlet. |
Web Page | The Web Page portlet will show the contents of an Internet or intranet Web page in a scrollable portlet. |
Discovery Server | Searches or displays a knowledge map. |
People Finder | Locates a person by name or profile characteristcs. |
Team Workspaces | Show, search, and create Lotus QuickPlaces. |
Web Conferences | Schedule, find, and attend e-meetings. |
B.1.7 Related products
WebSphere Portal Extend integrates tightly with Lotus's world-class collaboration and knowledge management products—including Lotus Team Workplace, Instant Messaging, and Discovery Server—by providing portlets and services to access these products seamlessly from the portal.
Lotus Team Workplace
Lotus Team Workplace provides workspaces for sharing and organizing ideas, content, and tasks. It includes tools to manage team projects and schedules, organize discussion threads, and share documents.
The Lotus Team Workplace user interface is shown inside a portlet. The integration between the portal and the Lotus Team Workplace includes single sign-on so that users who access the portal can access the Lotus Team Workplace seamlessly, without requiring an additional login.
Lotus Instant Messaging
Lotus Instant Messaging provides instant messaging, shared whiteboards, and application sharing for electronic meetings. Lotus Instant Messaging functionality is integrated into the portal for access to chat sessions and buddy lists as well as for people and place awareness. Awareness is the ability to tell who the place members are and to find out whether they are online, offline, or not available.
Lotus Instant Messaging provides other services that can also be integrated through portlets: application sharing, whiteboarding, and online meetings.
Lotus Discovery Server
Lotus Discovery Server is a separately purchased product that creates expertise and knowledge maps by analyzing and categorizing documents. It creates profiles of users based on their document activity, including their topics of interest and their areas of expertise.
Discovery Server also examines user activity such as reading documents, responding to documents, timeliness of interactions, or links to specific documents. This way, Discovery Server can determine the relative proficiency of individuals to content categories. These proficiency indicators are called affinities, and they indicate the relative expertise of individuals to particular business areas of the organization.
Discovery Server continually assesses the strength of affinities using metrics, ensuring that individuals with recent and high-quality expertise ratings are found and presented to users seeking expertise when browsing the Discovery Server Knowledge Map interface.
Lotus Discovery Server is purchased separately from WebSphere Portal.
Collaborative Services
Lotus Collaborative Components are building blocks (APIs and JSP tag libraries) for integrating the functionality of Lotus Domino, Instant Messaging, Team Workplace, and Discovery Server into the portal. Developers can leverage their features by using these components to add user interface extensions to portlets and portal pages.
The collaborative services hide the configuration details of the Lotus products installed within an enterprise. Instead of working with more complex product APIs, Lotus collaborative components provide developers with an easier method of integrating core collaborative features into any portal or portlet.
The benefit of using Collaborative Components is that they provide standardized access to Lotus applications, with easier APIs that are optimized for the portal. Security context is handled automatically, and upgrades of the back-end systems are transparent to the portlets. Collaborative Components work across versions of Domino 4.67 and above.
People Service | Provides online awareness capability so that portlets can determine who is online and what their status is. |
Domino Data Service | Provides access to Domino data, including views, documents, and directory-related information. Use the services to locate Domino servers, create and edit documents, and work with views. |
Discovery Services | Provides methods to find people, documents, knowledge maps, and profiles. |
Lotus Team Workplace Service | Provides methods for creating a new Lotus Team Workplace |
Menu Service | Displays a popup menu in the portal that is used with the People Service to create chat, e-mail, and search menus. |
B.1.8 Application integration
By definition, a portal provides access to content, data, and services located throughout the enterprise. These include not only predefined connectors and portlets, but also tools for creating additional connectors and portlets.
Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) systems are excellent candidates for portlets because efficient, personalized access to these functions provides measurable return on your portal investment. WebSphere Portal includes portlets that help you access a variety of ERP and CRM systems.
Enterprise portlets
WebSphere Portal Application Integration provides a fast way to build new portlets that access various kinds of enterprise application systems, including SAP, PeopleSoft, Siebel, and Oracle Financials. It also works for relational databases such as DB2, Oracle, Informix, and SQL Server.
The goals of the integrator framework were to provide a simple way for portlet administrators to build new portlets. Simply put, each tool is a portlet that builds new portlets for a specific back-end system. Operating the builder tool is simple and easy for administrators or business users. It works by querying the back-end system for metadata that describes the business object against which the new portlet will work.
Once the business object is selected, the person building the portlet selects which fields and operations he or she wants to enable in the portlet. These operations include searching, updating, deleting, and creating new records.
Once selections are made, the portal server stores the configuration information needed to run the portlet. No new Java code or service must be deployed—just the configuration information for each portlet.
Using this approach, anyone who understands the usage pattern of the enterprise application system can build a portlet in just a few minutes. In the future it might be possible to build additional connectors for other applications such as Domino, Ariba, or Documentum.
Commerce
Many portals must include access to commerce functions such as portlets that access a catalog of products and services, or that present price, discount, or tariff information. Portals can provide these functions to consumers or to business partners for procurement or electronic exchange that links buyers and sellers of goods.
In January 2002, IBM announced a new capability for integrating WebSphere Portal and WebSphere Commerce Server to create commerce-enabled portals that provide consolidated, personalized access to commerce functions via the Web or wireless devices. This capability is available through service offerings from IBM and business partners.
The product roadmap for integrating commerce and portal functions includes integrating user management, authentication, single sign-on, and access control functions using common implementations and APIs for each. In the first step, WebSphere Portal and WebSphere Commerce Server will share a common user and group management subsystem. This way, users register only once so that all user profile information (for example, name, address, user ID, password, user preferences, etc.) are consistent across different portlets.
In addition, authentication for both the portal server and the commerce server will be based on WebSphere Application Server security, using either its built-in forms-based authentication or its Trust Association Interceptor modules to accept the authentication done by an external authentication proxy server. Once the users' credentials are established, the portal and commerce servers will use these for any access controls required by the different portlets.
B.1.9 Mobile portals
Next-generation portals will be accessible through more than just traditional desktop browsers. Access through handheld or mobile devices is becoming increasingly important. The portal server currently supports mobile devices by generating portal pages in three markup languages:
-
HTML for desktop computers and some personal digital assistants
-
WML for WAP devices, which are typically mobile phones
-
cHTML for mobile devices in the NTT DoCoMo iMode network
Users can customize a unique home page for each device, selecting the content and applications most useful on the device. When a home page is requested, it is produced by first detecting the type of device that is making the request, and then assembling the portlets (each of which render their contents in the appropriate markup language).
When a user customizes the home page for a particular device, the portlet selection list only shows portlets that can actually produce markup appropriate for that device. Thus, the list of available portlets for each device depends on what the portlets can actually do. Some portlets might be available for all supported devices, while others may be available only on a single device. The user interface design of each portlet varies from device to device, so that the user's experience can be fine-tuned. Thus, the user's home page and all portlets might be very different on a mobile phone versus a desktop browser.
Supporting new devices
The portal server supports several different markup languages so that portlets can render themselves for a variety of desktop and mobile browsers. Portlets that do not natively support the device markup can optionally be transformed using transcoding technology. This means that portlets can easily and automatically support mobile devices, even if the portlet developer did not explicitly support that device.
Clients and markups
Out of the box, the portal server's page aggregation subsystem supports several markup languages and recognizes certain browsers and mobile device user agent signatures. The framework for supporting markup languages is open and extensible, making it easy to support additional markups or new devices.
To support new browsers and devices, you add new markup and clients using the corresponding administration portlets. In the markups portlet, the markup name indicates the name of the folders used to store the page templates and theme or skin files matching that markup language.
[1]An extensive third-party partner program makes many more portlets available for IBMers from the portlet catalog download site at ihttp://www-306.ibm.com/software/info1/websphere/index.jsp?tab=products/portal&S_TACT=103BEW01
[2]Included with the WebSphere Portal Extend offering.
[3]For example, an HR manager may want to run a campaign to encourage employees to enroll in a stock purchase plan.
| < Day Day Up > |
|