WSRP - ebXML Registry Technical Note
WSRP – ebXML Registry Technical Note
Using ebXML Registry to Publish, Manage and Discover WSRP Artifacts
Version: 1.0-draft-11
WSRP Publish Find Bind SC
Created
September 30, 2004
Document Identifier
wsrp-pfb-ebxml-tn-1.0-draft-11.doc
Editors
Farrukh Najmi, Sun Microsystems ()
Status
This technical note has been approved by the OASIS WSRP Technical Committee.
Committee members should send comments on this technical note to the list. Others should send comments using the web form http://www.oasis-open.org/committees/comments/form.php?wg_abbrev=wsrp at the WSRP TC homepage.
Table of Contents
Table of Figures 4
1 Introduction 5
1.1 Terminology 5
1.2 Conventions 5
2 Overview 7
2.1 WSRP Actors 7
2.1.1 Portlet 7
2.1.2 Producer 7
2.2 WSDL Description for a WSRP Producer Service 8
2.3 Overview of ebXML Registry 8
2.3.1 Supported ebXML Registry Version 8
2.3.2 Summary of ebXML Registry Information Model 9
2.3.3 Registering Web Services in an ebXML Registry 9
2.3.4 Use Cases for ebXML Registry 10
3 Publishing 12
3.1 Overview 12
3.2 Producer Service Description (Optional) 14
3.2.1 Producer Service Mapping to ebRIM Service 14
ServiceDescription Mapping 14
3.3 Portlet Description (Optional) 16
3.3.1 Portlet Mapping to ebRIM Service 16
PortletDescription Mapping 16
3.4 Producer’s Organization Description 19
3.4.1 Association Producer Organization and Service 19
3.5 Portlet’s Organization Description 20
3.6 Publishing the Service Implementation WSDL 20
3.7 Validation of WSRP Producer Service Descriptions 20
4 Discovery 22
4.1 Producer Service Discovery 22
4.1.1 Find All WSRP Producers 22
4.1.2 Find All WSRP Producer Supporting Specified WSRP Version 22
4.1.3 Find Producer By Name 23
4.1.4 Find Producer for Specified Portlet 23
4.1.5 Complex Producer Discovery Query 24
4.2 Portlet Discovery 25
4.2.1 Find All Portlets 25
4.2.2 Find All Portlets Supporting Specified WSRP Version 26
4.2.3 Find Portlet By Portlet Handle 26
4.2.4 Find All Portlets for a Producer 27
4.2.5 Complex Portlet Discovery Query 28
5 Lifecycle Management 29
5.1 Approve Portlets and Producer Services 29
5.2 Update of Portlets and Producer Services 29
5.3 Versioning of Portlets and Producer Services 29
5.4 Deprecation of Portlets and Producer Services 29
5.5 Un-Deprecation of Portlets and Producer Services 29
5.6 Deletion of Portlets and Producer Services 30
6 Event Notification 31
6.1 Subscribing to Events 31
6.2 Selector Query for WSRP Events 31
6.3 Receiving Notification of Events 31
6.4 A Complete Subscription Example 32
Appendix A Canonical Metadata 33
A.1 New Object Types Defined 33
A.2 New Association Types Defined 33
A.3 Canonical Data to Publish 33
Appendix B The Complete Example 36
Appendix C Revision History 40
Appendix D Notices 41
References 42
6.5 Normative 42
6.6 Informative 42
Table of Figures
Figure 1: Relationship between RIM classes Service, ServiceBinding, and SpecificationLink 9
Figure 2: WSRP Use Cases for ebXML Registry 11
Figure 4: WSRP Producer Registration Simplified Instance Diagram 13
Figure 6: Content Validation Service 21
Listing 1: Producer ServiceDescription Attributes 15
Listing 2: Minimal XML Sample Representing a Producer Service 16
Listing 4: PortletDescription Metadata 17
Listing 5: Minimal XML Sample Representing a Portlet Service 18
Listing 7: Sample XML fragment representing the Organization offering the Producer Service 19
Listing 9: Sample XML Fragment for Association between Producer’s Organization and Service 20
Listing 10: Find All Producers - Query 22
Listing 12: Find All Producers Supporting Specified WSRP Version - Query 23
Listing 14: Find Producer By Name - Query 23
Listing 16: Find Producer For Specified Portlet 24
Listing 18: Complex Producer Service Discovery Query 25
Listing 20: Final All Portlets - Query 26
Listing 22: Find All Portlets Supporting Specified WSRP Version - Query 26
Listing 24: Find Portlet By Portlet Handle - Query 27
Listing 26: Find All Portlets for a Producer - Query 27
Listing 28: Complex Portlet Discovery Query 28
Listing 30: Simple Selector Query for WSRP Events 31
Listing 31: A Complete Example of a Publishing a Subscription for WSRP Events 32
Listing 33: WSRP Canonical Metadata 35
Listing 35: Complete Example of a Publishing a WSDL Producer Service, Portlets and Organization 39
1 Introduction
This document proposes a standard methodology for publishing and finding WSRP Producer and Portlet services in an ebXML Registry. It is not the purpose of this document to educate on WSRP [1], WSDL [4] or ebXML Registry [5,6]. The reader of this document should have a good understanding of the WSRP specification, the WSDL specification and the ebXML Registry specifications and data structures.
1.1 Terminology
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in [RFC2119].
1.2 Conventions
Throughout the document the following conventions are employed to define the data structures used. The following text formatting conventions are used to aide readability:
· UML Diagrams
UML diagrams are used as a way to concisely describe concepts. They are not intended to convey any specific Implementation or methodology requirements.
· Identifier Placeholders
Listings may contain values that reference ebXML Registry objects by their id attribute. These id values uniquely identify the objects within the ebXML Registry. For convenience and better readability, these key values are replaced by meaningful textual variables to represent such id values.
For example, the following placeholder refers to the unique id defined for the canonical ClassificationNode that defines the WSRP ObjectType defined in section A.1:
<id="${CANONICAL_OBJECT_TYPE_ID _WSRP}" >
· Constants
Constant values are printed in the Courier New font always, regardless of whether they are defined by this document or a referenced document. In addition, constant values defined by this document are printed using bold face. The following example shows the canonical Slot name defined by this technical note for the requiresRegistration attribute of a WSRP Producer Service:
<rim:Slot name="urn:oasis:names:tc:wsrp:v1:ServiceDescription:requiresRegistration">
<rim:ValueList>
<rim:Value>false</rim:Value>
</rim:ValueList>
</rim:Slot>
· Example Values
These values are represented in italic font. In the following, an access point example value is shown:
<accessPoint useType="http">
http://vendor.com/producer/ServiceDescription
</accessPoint>
2 Overview
This document requires some prior knowledge of WSRP, WSDL and ebXML Registry specifications. This chapter is not intended to replace the WSRP Primer [RP-PRIM] , WSRP Specification [WSRP], WSDL specification [WSDL] or the ebXML Registry specifications [ebRIM, ebRS]. Instead, it is meant to be a very high level summary of concepts relevant to this document.
2.1 WSRP Actors
The WSRP specification [WSRP] describes the following major actors relevant to this technical note.
· End user: The end user, who uses a user agent such as a web browser to see multiple visually and contextually integrated content sources.
· Consumer: The software system such as a Portal that integrates content from multiple content sources.
· Portlet: The content source that generates markup as well as processing instructions for use by the consumer.
· Producer: The web service that acts as a container for Portlets and exposes the interfaces used by consumers to interact with Portlets.
The purpose of this document is to describe how Producer web services and Portlets are published, managed and discovered within an ebXML Registry.
2.1.1 Portlet
A Consumer does not interact directly with Portlets. Instead it interacts with the Producer web service that contains the target Portlet. For this reason, the emphasis of this document is on publishing, management and discovery of Producers web services rather than Portlets.
Portlets are referenced within the service description of the Producer web service by a “Portlet Handle” identifier.
2.1.2 Producer
A Producer is a web service that hosts and manages Portlets. A Producer exposes two required and two optional web service interfaces that allow Consumers to interact with it and specifically with the Portlets hosted within that Producer. These interfaces are described as PortTypes within the WSDL service description in [RP-INT].
The WSRP Producer Service has the following interfaces:
· Service Description: Enables Consumer to discover service capabilities including the Portlets that are available.
· Markup: Enables Consumer to access Portlet markup content.
· Registration: Enables Consumer to register with Producer if needed (optional).
· Portlet Management: Enables Consumer to manage lifecycle and configuration of hosted Portlets.
The WSRP specification [WSRP] specifies a WSDL definition that includes a PortType for each of the above service interfaces. It also defines one or more Bindings for each PortType. It further requires that a Producer MUST define at least a SOAP Binding to the required PortTypes.
2.2 WSDL Description for a WSRP Producer Service
[WSRP] defines the normative WSDL description for a WSRP Producer web service description in three separate parts:
1. Type Description: Defines the data types, message and fault definitions for the WSDL service description. Defined by [RP-TYPE].
2. Interface Description: Defines the abstract interface (PortType) definitions for the WSDL service description. Defined by [RP-INT]. Imports [RP-TYPE].
3. Bindings Description: Defines the standard SOAP bindings for the abstract interfaces defined for the WSDL service description. Defined by [RP-BIND]. Imports [RP-INT].
The above three WSDL files provide the common WSDL definition for all WSRP Producer services. Each of these file are imported within the next (higher-order) file in the sequence.
Each Producer service has to provide its own unique Service Implementation WSDL that contains a Service definition containing WSDL Ports for the various Bindings. This WSDL MUST import the WSRP Binding WSDL [RP-BIND] and supply the address URL for each Port. [WSRP] provides a template for this Service Implementation WSDL is provided in [RP-SERV].
The focus of this document is the unique Service Implementation WSDL for the Producer service and its associated metadata that is published within an ebXML Registry. The purpose of this document is to specify how the unique Service Implementation WSDL for the Producer service and its associated metadata is published, managed and discovered within an ebXML Registry.
2.3 Overview of ebXML Registry
2.3.1 Supported ebXML Registry Version
This document is based upon on version 2.5 of the ebXML Registry specifications [ebRS, ebRIM]. However, it is expected that it will be largely applicable to other version of the ebXML Registry specification.
2.3.2 Summary of ebXML Registry Information Model
This section summarizes the ebXML Registry Information Model [ebRIM] with an emphasis on those aspects of the model that are required for publishing, managing and discovery of WSRP Producer services.
A Web service can be represented in an ebXML Registry through the following Registry Information Model [ebRIM] classes:
· Service: Service instances provide information on services (e.g., Web services). A Service has a collection of ServiceBindings.
· ServiceBinding: ServiceBinding instances represent a specific protocol binding to a Service instance.
· SpecificationLink: A SpecificationLink associates a ServiceBinding with its technical specifications (e.g. a WSDL definition).
The relationship between these RIM classes is illustrated in the figure below.
Figure 1: Relationship between RIM classes Service, ServiceBinding, and SpecificationLink
In addition to the Service related classes defined by [ebRIM] there are other classes in the model that provide additional metadata.
The reader is referred to the Registry Information Model Specification v3.0 for the complete set of classes and their attributes and methods.
2.3.3 Registering Web Services in an ebXML Registry
The ebXML Registry technical note “Registering Web Services in an ebXML Registry, Version 1.0” [RR-WSDL] describes how a generic WSDL service description and its associated metadata MAY be published, managed and discovered within an ebXML Registry.
This document specializes in describing how the WSDL service description and associated metadata for a WSRP web service MAY be published, managed and discovered within an ebXML Registry. This document supplements and takes precedence over the [RR-WSDL] document.
2.3.4 Use Cases for ebXML Registry
This section describes the various use case scenarios for using ebXML Registry with WSRP Producer service descriptions. Note that not all use cases are required to be supported by this technical note.
These use cases are:
· Publishing WSRP Producer Service and Portlet descriptions to an ebXML Registry
· Managing the life cycle of WSRP Producer Service and Portlet descriptions that have been published to an ebXML Registry. Life cycle operations include approval, deprecation and deletion of WSRP Producer service and Portlet descriptions.
· Discovering WSRP Producer service and Portlet descriptions within an ebXML Registry
· Managing access control to WSRP artifacts that have been published to an ebXML Registry[1].
· Receiving notification of changes to WSRP Producer service descriptions that have been published to an ebXML Registry
Figure 2 shows these use cases as a UML diagram. Each of above use cases will be explored in detail in subsequent chapters of this document.
Figure 2: WSRP Use Cases for ebXML Registry
3 Publishing
This chapter describes the detailed steps required to publish WSRP Producer service descriptions to an ebXML Registry. It includes publishing of all metadata including Portlet descriptions as well as the actual Producer Service Implementation WSDL.
3.1 Overview
The ebXML registry is both a metadata registry as well as a content repository. This document describes the publishing of the following major WSRP artifacts:
· WSDL description for a WSRP Producer service
· Metadata describing a Producer service and the Organization provides it (optional)
· Metadata describing one or more WSRP Portlets hosted within Producer services (optional)
Figure 3 shows a simplified UML instance diagram showing the various ebXML Registry Information Model [ebRIM] objects representing a WSRP Producers and its Portlets.
Figure 3: WSRP Producer Registration Simplified Instance Diagram
The following is a summary of main concepts represented in Figure 3:
· An Organization object MAY be published that represents the Organization that is offering the Producer Service.
· A Service object MUST be published that represents the Producer Service being offered.