| By Rahul Gupta | Article Rating: |
|
| August 29, 2005 05:15 PM EDT | Reads: |
25,877 |
What is the significance of WSRP and what are its goals?
With earlier portal vendors or organizations running portals, application integrators had to write special adapters to enable communication with applications and content providers using a variety of different interfaces and protocols. However, with this standard the entire approach is changed. Some of the WSRP features are:
- Remote Invocation - Can be used to include the remote applications as it is, which follows WSRP specification i.e., it delivers both data and that data's presentation logic.
- Business Enablement - Designed to enable businesses to provide content or applications in a form that does not require any manual content or application-specific adaptation by consuming applications.
- Plug 'n' Play - Easy to aggregate and can be invoked through a common interface using generic portlet-independent code that is built into the portal.
- To provide interoperability, portability, and options for deployment
- To decouple the deployment and delivery of applications
- To remove duplication of functionality from otherwise discrete applications
- To enable interactive, presentation-oriented Web services to be easily plugged into standards-compliant portals
- To ensure concepts and data exchanged are aligned with other standards in both the portal and Web service arenas
- To make the Internet a marketplace of visual Web services, ready to be integrated into portals
Now we know what WSRP is and what its benefits and goals are. Now let's understand the inside story of WSRP from a WSRP implementer (producer and consumer) perspective in the context of the end user. In this section we will discuss the following:
- Layered architecture (which includes the end user also)
- Remote portlets publishing and access mechanism
- List of interfaces (API) (and their brief descriptions) implemented by producers and consumers
- Sequence of flows of interaction between the end user, consumer, and producer
To better understand how to design the application that supports disparate clients I would suggest you read the "Building Internationalized J2EE Web Applications for Disparate Clients" article (www.devx.com/DevX/Article/9778/0/page/1).
The portal page that the end user sees is an aggregation of different set of portlets. Table 1 shows how WSRP portlets can be categorized into two types and shows the difference between them as well.
Local portlets can be accessed as remote portlets by some other portals, if our portal sever supports the WSRP producer specifications and WSRP services can be integrated into portals by wrapping them in adapter code written to the local portlet API. JSR 168 defines the standard API for this in Java programming language.
As we know Registry (UDDI), SOAP protocol, and markup languages are the backbone for any Web service architecture. Here it's also the same. The process of engaging a WSRP is shown in Figure 8.
Publishing Web Services for Remote Portals - The WSRP producer must publish WSRP to a Registry (UDDI directory). All WSRP must follow the WSDL interface and behavioral contracts standards.
Finding and Binding WSRP Services - A WSRP consumer can find the WSRP by querying the directory for registry (UDDI directories). During binding the WSRP consumer will typically store WSRP information for administrative purposes and in order to keep information on how to invoke the service. During this time the WSRP consumer creates/uses the generic proxy portlet.
Invoking WSRP Services - The WSRP consumer passes the information about the user's request and portlet handle (a unique identifier for portlet) to the WSRP service and returns to end user the response it receives from the WSRP producer.
Now let's understand implementation process of WSRP. Since we are a technical people we should also understand how the features have been implemented as well as the major sequence flow(s) for a clear view and better understanding.
As we know WSRP producers are modeled as containers of portlets. The producer provides a set of Web service interfaces and by implementing these interfaces, and agreeing to conform to WSRP, both producers and consumer can use a standard mechanism to offer and consume portlets. The following are the WSRP interfaces defined in the WSRP specification (See Figure 9):
- Service Description Interface: This is a required interface and it must be implemented by a WSRP producer to provide metadata of itself and the list of portlets it offers.
- Registration Interface: This is an optional interface. It is used to establish a relationship between a WSRP producer and a WSRP consumer. This interface provides the mechanism for a WSRP consumer to register with a WSRP producer and lets the producer customize its behavior for each WSRP consumer based on the registration information.
- Markup Interface: This is a required interface and it must be implemented by a WSRP producer to generate markup and to process interaction requests.
- Portlet Management Interface: This is an optional interface and it is implemented to grant access to the life cycle of the hosted portlets. This interface also includes property management, which enables programmatic access to a portlet's persistent state. In addition to this it also allows WSRP consumers to clone/destroy portlets, and also to customize portlets by changing any associated properties.
- First (shown above the arrow) - represents the functionality/activity
- Second (shown below the arrow) - represents the method name/XML attribute name that comes into the picture while actually performing the activity defined above the arrow
Published August 29, 2005 Reads 25,877
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Rahul Gupta
Rahul Kumar Gupta has more than seven years of experience in the IT industry with core expertise in designing and developing enterprise applications and middleware based on JAVA, J2EE, and Web technologies. He works with Indian IT giant HCL Technologies Limited, NOIDA (INDIA). He is also a co-technical reviewer for the Wrox Publications books Professional Java Ecommerce, Professional EJB, and Professional JSP Site Design, and is involved with other technical writings as well. He has eight certifications, including Sun Certified Enterprise Java Architect and Java 2 Programmer.
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Why IBM’s Server Chief Got Busted
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Stock in Focus: Dragon Capital
- 1st Annual Government IT Conference & Expo: Themes & Topics
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- The Top 150 Players in Cloud Computing
- SOA in the Cloud - Monitoring and Management for Reliability
- How to Diagnose Java Resource Starvation
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Software AG Named "Gold Sponsor" of SOA World Conference & Expo 2009 East
- Why IBM’s Server Chief Got Busted
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SYS-CON's Cloud Expo Adds Two New Tracks
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV









The past month has seen an unprecedented conc...
























