IBM® Rational® Application Developer Version 7.5 is an end-to-end software lifecycle management tool. It offers design, development, test, and deployment capabilities, all in a single product. Portal tooling that is a part of the same offering has been enhanced and revised to align with IBM® WebSphere® Portal Version 6.1 capabilities. This tooling provides performance and usability benefits.
This article delves into how the Rational Application Developer V7.5 Portal Toolkit lets you leverage the following new capabilities introduced with WebSphere Portal V6.1:
- WebSphere Portal V6.1 as a target runtime: Configure local and remote server instances targeting WebSphere Portal V6.1.
- Java™ Specification Request (JSR) 286 and Web Services for Remote Portlets (WSRP) 2.0 support: Create JSR portlets based on Java Portlet Specification 2.0. This feature provides support for events and public render parameters through the Event wizard and the Portlet Deployment Descriptor editor.
- Client-side programming model support: Retrieve portlet preferences in basic portlet projects.
- Client-side click-to-action support: Use automatic code generation to enable cooperation between portlets using client-side click-to-action (hereafter, C2A) support.
- Person tagging support: Use automatic code generation for the Person menu, and extend the Person menu by writing Java Script actions for the extensions.
- Static page aggregation: Create new or import existing HTML pages as static portal pages. Publish or deploy portal projects containing static pages.
- Friendly URL support: Assign friendly URLs to portal pages within the portal site development tool.
- Portal theme support enhancement: Create, edit Web 2.0 portal themes. Edit client-side aggregation (CSA) files.
These updates help ensure that your technology stays current amidst the rapidly changing landscape of software development products.
A walkthrough of the new features
This will not be an exhaustive walkthrough. Rather, this article discusses only the new features of Rational Application Developer V7.5. To download the trial version, see the Resources section.
Server runtime and server type
First, consider the WebSphere Portal V6.1 as a target runtime. One of the main new features in Rational Application Developer V7.5 is the addition of a new server runtime, server type, and stubs for WebSphere portal V6.1 support.
The Define a New Server dialog is shown in Figure 1.
Figure 1. New Server wizard (WebSphere Portal 6.1 server)
Figure 2 shows the New Server Runtime Environment dialog.
Figure 2. Define a new server runtime environment
In Rational Application Developer V7.5, you can create a portlet or portal project targeted to a WebSphere Portal 6.1 runtime, and then publish or deploy it on a WebSphere Portal 6.1 server.
JSR 286 and WSRP 2.0 support
Rational Application Developer V7.5 adds the support for the newly introduced Java Portlet Specification 2.0 based on the JSR 286 specification, which includes new features like filters, events, public render parameters, and so on. Thus, there have been changes to the XSD for the Portlet Deployment Descriptor (PDD), adding new elements to it. The PDD editor in Rational Application Developer V7.5, shown in Figure 3, is a very convenient, user-friendly way to edit the deployment descriptor for portlet projects called portlet.xml. Therefore, the changes to XSD translate into changes in PDD, so that you have an interface to edit these new fields.
Figure 3. PDD for JSR 286 portlet
The new Event tab in PDD, shown in Figure 4, enables you to add an event. You can customize the properties of the event for a JSR 286 portlet.
Figure 4. Events in the JSR 286
In addition, the new Render Parameter tab in PDD, shown in Figure 5, enables you to add a new render parameter. You can also customize its properties.
Figure 5. Public Render Parameters in the JSR 286 portlet
Next, the new Filters tab in PDD, shown in Figure 6, enables you to add a filter and customize the properties of that filter for the JSR 286 portlet.
Figure 6. Filters tab in the JSR 286 portlet
Support for WSRP 2.0 has also been added in Rational Application Developer V7.5.
Client-side click-to-action support
The current (Websphere Portal 6.0) portlet implementation requires every operation to be performed on the server side. This means that for each action, a request is submitted to the server. For example, changing the portlet window state to
maximize will submit a request to the server, due to which the whole page is refreshed. Subsequently, the portlet is shown in the maximized or minimized state. Typically, these types of operations will lead to repeated round trips to the server.
To reduce these round trips to the server, WebSphere Portal V6.1 introduces the client-side programmingmodel. This means that operations like maximizing or minimizing the portlet are performed on the client side, and round trips to the server are avoided.
To achieve this, the Portlet tooling in Rational Application Developer V7.5 provides the necessary client-side programming support for WebSphere Portal V6.1.
When you create a new portlet project, you can add Web 2.0 Portlet Feature support, as shown in Figure 7.
Figure 7. Advanced settings in the New Portlet Project wizard
Use the Insert Taglib dialog from the Palette view in Page Designer to insert the portlet-client-model custom tag in the Portlet JSP (shown in Listing 1):
Listing 1. Add the portlet-client-model tag
<%@tablib uri="http://www.ibm.com/xmlns/prod/websphere/portal/v6.1/portlet-client-model" prefix="portlet-client-model" %>
In addition, you can add Web 2.0 feature support in a new Web page in an existing portlet project, as shown in Figure 8.
Figure 8. Add client-side properties for a Web page
C2A is one of the ways in which portlets can interact with each other by sharing information. You launch a C2A event from an icon on the source portlet. The icon presents a menu containing the list of targets for the action. After you select a specific target, the property broker delivers the data to the target in the form of the corresponding portlet action. The different C2A properties available on the Palette are shown in Figure 9.
Figure 9. C2A properties
Currently, the C2A technique is only available to IBM Portlet API. IBM WebSphere Portal has a semantic tagging approach that will leverage the C2A capability on the client side. This capability is available for both IBM and JSR portlets. The objective of this functional specification is to list the changes and new features that would be added to the Rational Application Developer Portlet tooling to support the Semantic tagging C2A approach. This new C2A feature will be available only when the target server is WebSphere Portal 6.1.
Person tagging support
The Portlet palette will have a new item called Person Menu, as shown in Figure 10. Drag this onto Portlet JSP to launch a Person dialog.
Figure 10. Add the Person menu extension in the Portlet palette
You can specify the person menu attributes in the Insert Person Menu dialog, as shown in Figure 11.
Figure 11. Enter name and e-mail address
Next you can add an extension to the Person menu by Dragging and Dropping Person Menu Extension from the palette and specifying the details as shown in Figure 12.
Figure 12. Specify Action Details, ShowIf, and Action
Static page aggregation
Rational Application Developer V7.5 adds support for static page aggregation for WebSphere Portal V6.1. Static page aggregation is the feature that allows the static HTML layouts for the portal pages. This means that you can create normal HTML pages as static portal pages. This allows Web designers to edit the portal pages using standard Web authoring tools such as DreamWeaver. These static pages may contain references to portlets.
AJAX-based Web applications are sometimes required to perform AJAX requests to servers different from the server that produced the HTML content. Per default, requests are only allowed to the server that produced the current document. With AJAX-based portlet applications, the portlet is produced from WebSphere Portal server. However, the AJAX application tries to load the feed from some external server. Rational Application Developer 7.5 provides the tooling support for AJAX proxies.
In Rational Application Developer V7.5, you can enable the AJAX proxy facet when you create a portlet project using the Project Facet wizard, as shown in Figure 13.
Figure 13. Select the facets that should be enabled for this project
In the AJAX Proxy Configuration Editor, you specify paths that map to a URL on a remote domain, as shown in Figure 14.
Figure 14. List of proxy rules
Friendly URL support
One of the new features added in Rational Application Developer 7.5 is friendly URL for WebSphere Portal 6.1, which exposes the selected portal page by means of a human-readable identifier in WebSphere Portal URLs. This enables you to manually modify WebSphere Portal URLs (displayed in the browser address bar). In turn, this allows you to navigate to another portal page and enter a complete portal URL into the browser address bar. This way, you can navigate to a particular page without entering any rich navigational state.
Portal theme support enhancement
The Web 2.0 theme has CSA (client-side aggregation) and SSA (server-side aggregation) modes of rendering. CSA is more interactive and responsive, with a direct user interface for as many actions are possible without server roundtrip. It also avoids page flickering. It renders XML obtained from the server on the browser side.
The following functions in a portal project are going to be added or enhanced for WebSphere Portal V6.1 theme support:
- The initial layout of a portal project
- The Parameter tab in the Page Properties view of a portal project
- The ability to edit the code of a theme in its CSA mode
Figure 15. The Portal Configuration view
Figure 16 shows the Parameters tab within the properties view for a portal configuration. In this view, new parameters (key and value pair) to be associated with a portal page could be added.
Figure 16. Parameters option in page Properties tab
Figure 17 shows the option in the Portal Designer menu for opening the CSA theme files for editing in an XSL editor, and Figure 18 shows the actual theme file opened in the XSL editor.
Figure 17. Edit Theme XSL Files option
Figure 18. CSA theme xsl file in the XSL editor
Subsequent articles in this five-part series cover Rational Application Developer support for Web 2.0 portal development, for features in IBM WebSphere Application Server V6.1, for portlet programming, and for static page aggregation.