Architecting Portal Solutions: Applications Development

 < Day Day Up > 


B.2 Developer information roadmap

Note 

The following is from the WebSphere Portal Zone, available to IBMers at http://www7b.software.ibm.com/wsdd/zones/portal/roadmaps/develop.html.

B.2.1 Basic skills

B.2.2 Installation/configuration

Before you can create portlets, you must prepare your development environment by installing WebSphere Portal. You can perform a standard production installation of one of the WebSphere Portal for Multiplatforms offerings, or you can perform a customized development installation for use with the Portal Toolkit.

B.2.3 Migration

Just as migration from one version of WebSphere Portal to another can require special attention, there are also considerations you must take into account when migrating portlets and portlet applications for use with a different version of WebSphere Portal.

B.2.4 Developing portlets

To create a truly customized portal experience, you can create your own portlets and portlet applications.

Portlet API

Portlets are reusable components that provide access to Web-based content, applications, 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 portlets from a catalog of third-party portlets. Portlets are intended to be assembled into a larger portal page, with multiple instances of the same portlet displaying different data for each user.

From a user's perspective, a portlet is a window on a portal site that provides a specific service or information (for example, a calendar or news feed). From an application development perspective, portlets are pluggable modules designed to run inside a portlet container of a portal 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. The Portlet API provides standard interfaces for these functions. The portlet container is not a standalone container like the servlet container. Rather, it is implemented as a thin layer on top of the servlet container and reuses the functionality provided by that container.

IBM is working with other companies to standardize the Portlet API, making portlets interoperable between portal servers that implement the specification. The Portlet API offered in WebSphere Portal Version 4.1 is the first step toward the Portlet API standardization.

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpspapi.html for more information.

Portlet creation

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpswrplt.html to learn about the following:

Guidelines for developing portlets

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpspar.html to learn about the following:

Portlet security

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpsadvdev.html to learn about the following:

Collaborative Components API

Lotus Software Collaborative Components provide Java API methods and tags for JavaServer Pages (JSPs) to extend the functionality of Lotus advanced collaboration in portlets. Collaborative Components are a set of methods and tags that allow developers who are writing portlets for WebSphere Portal Server or other application servers to add Lotus collaborative functionality to their portlets. Collaborative Components can be used to develop new custom portlets or to add collaborative functionality to existing portlets (for example, menus or people links indicating online status).

Collaborative Components are designed to provide access to the functionality of Lotus Software products enabled to work as companion products to WebSphere Portal Server. As such, the methods provided by Collaborative Services complement rather than replace the APIs of individual companion products such as the Domino Java API and the Discovery Server KDS API.

Collaborative Components provide standardized access to applications, easy-to-use APIs that are optimized for a collaborative portal, and a consistent security model across all Lotus Software companion products.

All of the Collaborative Components except for people and menu tags are UI-neutral. That is, portlet developers can design the user interface for the collaborative features they are implementing. The goal of Collaborative Components is to provide the data necessary for rendering the user interface and to allow the developer to execute actions on the Lotus collaborative products that have been installed and enabled in the portal environment.

The Java APIs in Collaborative Components contain no platform-specific code. Consequently, these components are UI-neutral and independent of implementation details. Because they are UI-neutral, Collaborative Components can be used to implement pervasive applications for mobile and wireless devices.

Since Collaborative Components hide the configuration details of the Lotus products installed within an enterprise, collaborative functionality can be easily added to a portlet in a generic way—regardless of the physical requirements and machine-dependent details of a portal configuration.

Application developers using Collaborative Components can design and implement functional extensions in portlets that incorporate the features of Lotus Domino and Notes, Team Workplace, Instant Messaging, and Discovery Server. Collaborative Components for other Lotus Software products will become available in the future. JavaDoc for Collaborative Components is installed on the Portal Server. IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/collab/ksd_cs_api_intro.html for more information.

Struts portlet framework

Struts is a Jakarta open source project that allows developers to efficiently implement their Web applications using a Model-View-Controller design pattern. Struts provides the Controller component, a collection of JavaBeans and helper classes for creating the Model, and a set of tag libraries for the JSP pages.

A Struts application is made up of actions, pages, [4] and beans. The application writer creates these objects and defines in the struts-config.xml configuration file, the relationships between these objects, and the transitions that occur. These actions represent processing that occurs prior to going to another page. The configuration of an ActionMapping associates a path with an Action and with ActionForms and can list one or more destination pages following execution of the action. ActionForms are beans associated with actions, supplying the data to fill in various fields on a page. As a result of executing the action, an ActionForward object is returned containing the path to next request. Typically, the returned path is to a page, but it is also possible that it is to another Action.

The Struts Web site offers resources for developers, including a User Guide, informative JavaDoc, and the source code. IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpsstruts.html for more information.

Page sequences

Page sequences is an extension to the Struts Portlet Framework that leverages much of the existing Struts functionality to support the design and implementation of multi-screen flows within a Struts application. This extension supports the generation of an event-driven screen-flow model that allows the developer to concentrate on solution-specific tasks.

Currently, Struts applications are left to manage navigation issues and deal with Forms whose logical contents cross page boundaries. Typical business transactions require more than one interaction with the user, therefore spanning more than one JSP page and action. Page sequences leverage much of the existing Struts functionality and extends the Struts framework to support the design and implementation of multi-screen flows within a Struts application, resulting in the following advantages:

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpspageseq.html for more information.

Click-to-Action portlets

Click-to-Action provides a framework for communication that simplifies users' interactions with portlets on a portal page. With a simple click, users can transfer data from a source portlet to one or more target portlets, causing the target to react to the action and display a new view with the results.

The Click-to-Action framework includes a runtime that automatically matches sources with compatible targets based on type information, and inserts clickable icons associated with sources on portlet pages. When users click on an icon next to a particular source, they are presented with a pop-up menu containing the list of targets for the action. After the user selects a specific target, the Click-to-Action runtime delivers the data to the target in the form of the corresponding portlet action. The portlet does not need to distinguish between an action initiated by user interaction with its own page segment and that initiated using the Click-to-Action route. This keeps the programming effort to a minimum, allowing Click-to-Action portlets to follow the normal portlet programming model.

JSP tag reference

The following tags are used by portlet or portal JSPs.

IBMers can go to http://publib.boulder.ibm.com/pvc/wp/42/exp/en/InfoCenter/wps/wpsjspref.html for more information.

More information

[4]Usually JSPs but sometimes HTML pages.


 < Day Day Up > 

Категории