Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Human-facing web services, Part 3: Build portals with WSRP

Judith Myerson (jmyerson@bellatlantic.net), Systems Architect and Engineer, Professional Consulting
Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, distributed systems, component-based technologies, and project management. You can contact her at jmyerson@bellatlantic.net.

Summary:  In the first two articles in this series, Judith Myerson examined business users' collective viewpoints on how Web pages and remote portals should be presented, and looked at how the WSIA specifications can be used to build human-facing applications. In this third installment, you'll learn how you can use Web Services for Remote Portals (WSRP) to extend the functionalities of the WSXL component services. You'll see sample code that demonstrates how to aggregate interactive applications into a single portal using one standard adapter for different interfaces and protocols.

Date:  01 Jan 2003
Level:  Introductory

Activity:  5417 views
Comments:  

Introduction

On a portal, you can establish a single sign-on, or personalize and control your access to information, applications, processes, and people. You can get information from a variety of data sources, such as databases, transaction systems, content providers, or remote Web sites. You could, for instance, create a bookshelf of your articles and books on a portal provided by an organization of which you are a member, with the information about your published work stored in a database.

Web Services for Remote Portals (WSRP) is a standard for XML and web services that allows the interactive, human-facing web services to be plugged into portals with a minimum of fuss. These services can be published, found, and bound in a standard way. In the days before the advent of WSRP, vendors often wrote special adapters to accommodate different interfaces and protocols and integrate applications into a single portal, which created a confusing environment for developers. In January 2002, the Organization for the Advancement of Structured Information Standards (OASIS) formed the WSRP Technical Committee as an effort to standardize an adapter for these vendors.

In that same month, OASIS also formed the Web Services Component Model Technical Committee; it aimed to create a standard component model under which developers could put together visual presentation and portal components. In May 2002, OASIS changed the name of this group to the Web Services for Interactive Applications Technical Committee (WSIA TC) to better describe the purpose of its work. The renamed committee has broadened its focus from the appearance of applications to the applications' complete interactive, human-facing experience. On September 30, 2002, the WSIA and WSRP technical committees jointly announced the WSIA-WSRP Core Specification, Working Draft 0.7 (see the Resources section below for a link). This document proposed a standard adapter that vendors can employ to mix, match, and reuse human-facing interactive web service applications from different sources.

Business scenarios

Wondering what real-life portals might look like? The following are some business scenarios for which you might want to use a portal:

  • Information sharing between portal servers.
  • Links to Web applications.
  • A wireless stock trading service.
  • A multimedia sports portal.

Details on roles, relationships, business objectives, and solution requirements for each scenario are provided at the OASIS's Web site (see the Resources section below for a link).


WSRP dependency on WSXL

Let's take a look at how WSRP depends on WSXL for services. In Figure 1, WSRPService is a special WSXL component service built on web service standards, including SOAP, UDDI, and WSDL. Through the WSXL component (in the center), WSRP extends WSXL portTypes (at the top) and Advanced Component Services (at the bottom) to WSRP's Remote Portlet Web services. (Figures 1 and 2, as well as Listing 1, are derived from IBM's Note of April 10, 2002, Web Services Experience Language Version 2; see Resources for a link).


Figure 1. WSRP dependency on WSXL
WSRP dependency on WSXL

As you can see, WSRPService imports two WSRP and four WSXL portTypes through the base WSXL component service, as detailed in Table 1. Each portType refers to schema definitions as specified by WSDL. Table 1 includes a description for each portType with its associated category.

Table 1. portTypes

portTypeCategoryDescription
WSXLServiceDescriptionInquiryAllows a client to request a WSDL service description
WSXLLifeCycleLife cycleAllows a component or collection to determine if it should repeat the current instance (task or service) or proceed to the next one
WSXLPropertiesProperty managementAllows clients to modify properties at times other than initialization
WSXLOutputOutputRelated to markup for the service
WSRPLifeCyclePortal life cycleAllows a component or a collection in a portal to determine if it should to repeat the current instance (task or service) or proceed to the next one
WSRPOutputPortal outputRelated to markup for portal service

Stock plot application

Figure 2 shows WSRP in action. In it, a portal is used to present to the users a remotely hosted stock plot application, which consists of two separate WSXL applications. Its simple workflow has three parts: an application provider (left), an application distributor (middle), and users (right). The application distributor positions the portal in front of the stock data plot input application. The distributor handles SOAP messages regarding the information provided by the stock plot application, sending and receiving them to and from the application provider. Using HTML, the stock data plot input application and the stock plot application are combined for presentation to the human users, prompting them to enter stock ticker symbols to get the quotes for the day.


Figure 2. Remotely hosted stock plot application
Remotely hosted stock plot application

If you do not like the green color, or the presentation's font style or size, you can override defaults with adaptation points employed by Adaptation Description Language (see Resources for a link). You can also override defaults for the data, letting you or the application overwrite or add to a value on the output markup. Each point specifies an application-specific adaptation point name, the insert, replace, or lookup operation desired, and the names of pages to be changed.

This adaptation language is part of a WSXL application that may also consist of a minimum of three WSXL components (presentation, data and control), event wiring, and synchronization and flow composition across multiple WSXL components. Listing 1 contains a code example showing how WSXL components can be grouped under a WSXL collection called StockChartCollection. This collection provides an execution and management environment for the individual components.


Listing 1. WSXL collection code sample
		
<WSXLCollection name="StockChartCollection"
xmlns:ev="http://www.w3.org/2001/xml-events">

  <WSXLComponent name="ChartUI" role="Presentation"
     href="http://www.StocksRUs.com/StockChart.wsxl"/>

  <WSXLComponent name="CartData" role="Data"
     href="http://www.StocksRUs.com/StockFeed.wsxl" >

      <PropertyList> <!--default propertyType="String" -->
         <Property propertyName="DataService" propertyValue="Tipco"/>
         <Property propertyName="StockSymbol" propertyValue="IBM"/>
         <Property propertyName="TimeFrame" propertyValue="1 day"/>
      </PropertyList>
  </WSXLComponent>

  <WSXLComponent name="ChartController" role="Control"
     href="http://www.StocksRUs.com/ChartController.wsxl">

     <PropertyList>
        <Property propertyName="CollectionContext" propertyValue=
            "name://StockChartCollection"/>
        <Property propertyName="ControlFile"
             propertyType="file" propertyValue=
             "http://www.StocksRUs.com/ChartController.xlink" />

 <!-- if more than one control file is needed, just repeat the
ControlFile property:
<Property propertyName="ControlFile" propertyType="file"
propertyValue="http://localhost/StockChartCollection/controlSetting2.x
link"/>
-->

     </PropertyList>

     </WSXLComponent>

<ev:listener event="CollectionInited" handler="ChartData-InitHandler"
type="javascript"/>

</WSXLCollection>


Platform independence

WSRP lets you use an adapter code you can plug in to applications from any Remote Portlet Web Service. With this standard, you can implement a Remote Portlet Web service as a Java/J2EE-based web service, a web service implemented on the Microsoft .Net platform, or as a portlet published by a portal. To help applications, clients, and vendors to discover and display your Remote Portlet Web Services, you can publish them into public or corporate service directories (that is, UDDI).

Remote Portlet Web Services are the key to portals, since they can be consumed by intermediary applications across platforms. With these remote web services, during an operation a portal can:

  • Get information from data sources.
  • Aggregate information into composite pages.
  • Provide personalized information to users in an interactive fashion.

Conclusion

WSRP provides a single adapter for different interfaces and protocols for human-facing web services. The recent WSIA-WSRP Core Specification is indicative of the trend toward user control standards for human-facing interactive web services. These standards, for example, could aim at the behaviors (such as color or font size) that users might want to control in a standardized way.


Resources

About the author

Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, distributed systems, component-based technologies, and project management. You can contact her at jmyerson@bellatlantic.net.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=11745
ArticleTitle=Human-facing web services, Part 3: Build portals with WSRP
publish-date=01012003
author1-email=jmyerson@bellatlantic.net
author1-email-cc=rhalden@us.ibm.com