WebSphere software: Presentation template

®
IBM Software Group
WSRP-UDDI Straw Man
Richard Jacob
WSRP-PFB SC
IBM Software Group | WebSphere software
Publishing Producers – basic ideas
 Publish WSRP Producer as a businessService
 Categorize this businessService as being of type WSRP-Producer
 Use simple approach to publish the URL of service-WSDL and then use the
service’s DescriptionInterface for further discovery
 At the beginning use an approach as simple as possible, perhaps with
minimum amount of tModels and other structures needed.
 Proposal should allow easy extension to the UDDI-WSDL documents
IBM Software Group | WebSphere software
Publishing Producers – approach 1
Producer
<businessService>
<Name=…/>
<Description=…/>
<categoryBag>
<keyedReference>
tModelKey=…
keyName=“WSRP Type”
keyValue=“Producer”
<tModel>
<Name=WSRP Type/>
Unchecked Categorization
KeyValues would be Producer or
Portlet, later might be even
PortletApplication
<bindingTemplate>
<accessPoint=“http://your.com/ser
vice.wsdl”/>
<tModelInstanceDetails>
..tModelKey=…
<tModel>
<wsrp_v1_bindings wsdl/>
Type: wsdlSpec
To indicate it implements the wsrp
wsdl
IBM Software Group | WebSphere software
Publishing Portlets – basic ideas




Publish Portlet as a businessService
Categorize this businessService as being of type WSRP Portlet
Need to publish the Portlet handle somehow
Need to reference the Producer the Portlet belongs to
 This could be done in two ways:
•
•
Either pointer to the Producer’s wsdl
Or reference within the directory to the Producer entity (seems better to me)
 Try to keep it as simple as possible with minimum amount of tModels and
other structures needed
IBM Software Group | WebSphere software
Publishing Portlets – approach 1
Portlet
<businessService>
<Name=…/>
<Description=…/>
<categoryBag>
<keyedReference>
tModelKey=…
keyName=“WSRP Type”
keyValue=“Portlet”
<keyedReference>
tModelKey=…
keyName=“WSRP Producer Ref”
kevValue=“Producer Business
Service Key”
<bindingTemplate>
<accessPoint=“PortletHandlel”/>
<tModel>
<Name=WSRP Type/>
Unchecked Categorization
KeyValues would be Producer or
Portlet, later might be even
PortletApplication
<tModel>
<Name=WSRP Producer Ref/>
Unchecked Categorization
KeyValues would be the
Producer’s businessService Key
Note: same
tModel as used
for Producer
categorization
IBM Software Group | WebSphere software
Approach 1 – summary/questions/…
 3 tModels used in total
 No redundant information about wsdl, just stored on the producer entity (seems to be natural),
Portlets refer to Producer
 WSRP Type tModel
 Is it sufficient for searching WSRP Producer/Portlets?
 Could it be a checked categorization allowing only distinct values?
 Producer’s bindingTemplate
 tModelInstanceKey references the wsrp-wsdl tModel to indicate a wsrp impl
 Do we need this if we have the categorization WSRP Type tModel?
 It could be defined as UDDI-tn-v2, Appendix a (external wsdl documents)
• Here UDDI defines a WSDL Address tModel to indicate the accessPoint is not an actual access point
but the service wsdl URL, do we need that?
• Contradiction to UDDI-WSDL proposals (v1 and v2)
− We would have one tModel for the WSRP wsdl (containing 4 bindings/portTypes)
− While UDDI defines that for each binding/porttype there should be one tModel…
− Also UDDI says there must be one bindingTemplate for each portType used (don’t see really
why in this case)
 Producer Reference tModel
 How easy is it to find the businessService entity in UDDI the Portlet businessService is pointing to?
 Better ways to add such a reference?
 This model could be easily extended to the WSDL-UDDI best practices/technical note proposals
®
IBM Software Group
Approach 2
As discussed in calls/list
IBM Software Group | WebSphere software
Publishing Producers – Approach 2
Producer
<businessService>
<Name=…/>
<Description=…/>
…
<tModel>
<wsrp_v1_bindings wsdl/>
Type: wsdlSpec
To indicate it implements the V1
wsrp wsdl
<bindingTemplate>
<accessPoint=“http://your.com/ser
vice.wsdl”/>
<tModelInstanceDetails>
<tModelInstanceInfo>
tModelKey=…
<tModelInstanceInfo>
tModelKey=…
<tModel>
<Name=WSRP Producer/>
This tModel indicates that this
businessService is a WSRP
Producer
IBM Software Group | WebSphere software
Publishing Portlets (optional) – Approach 2
Portlet
<businessService>
<Name=…/>
<Description=…/>
<categoryBag>
<tModel>
<Name=WSRP Producer Service Ref/>
Unchecked Categorization
KeyValues would be the Producer’s
businessService Key
Allows to find Producer in Registry
<keyedReference>
tModelKey=…
keyName=“WSRP Producer Ref”
kevValue=“Producer Business
Service Key”
<tModel>
<bindingTemplate>
<accessPoint=“PortletHandle”/>
<tModelInstanceDetails>
<tModelInstanceInfo>
tModelKey=…
<Name=WSRP Portlet/>
This tModel indicates that this
businessService is a WSRP Portlet
IBM Software Group | WebSphere software
Approach 2 – data structures
Producer’s businessService
<businessService serviceKey=“…“ businessKey=“…">
<name xml:lang=“en”>Example Producer</name>
<description xml:lang=“en”>Producer description</description>
<bindingTemplates>
see next page
</bindingTemplates>
</businessService>
 may contain multiple name values (at least one), each accompanied with a
unique xml:lang value (required)
May contain multiple description values, each adorned with a unique xml:lang
value (optional)
Contains at a minimum one binding template holding the access point to the
service wsdl (required)
IBM Software Group | WebSphere software
Approach 2 – data structures
Producer’s wsdl address bindingTemplate
<bindingTemplate bindingKey=“…” serviceKey=“…”>
<description xml:lang=“en”>Binding description</description>
<accessPoint URLType=“other”> http://url-to-your-service-wsdl.wsdl </accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo>
tModelKey=“key of wsrp_v1_bindings.wsdl tModel”
</tModelInstanceInfo>
<tModelInstanceInfo>
tModelKey=“key of WSRP Producer tModel”
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
May contain multiple description values, each adorned with a unique xml:lang value (optional)
accessPoint holds URL of service WSDL (required)
References two tModels
Wsrp_v1_bindings.wsdl to indicate that producer implements V1 of WSRP (required)
WSRP Producer tModel to point out the businessService is a WSRP Producer (required)
IBM Software Group | WebSphere software
Approach 2 – data structures
Portlet’s businessService
<businessService serviceKey=“…“ businessKey=“…">
<name xml:lang=“en”>Example Portlet</name>
<description xml:lang=“en”>Portlet description</description>
<bindingTemplates>
see next page
</bindingTemplates>
<categoryBag>
<keyedReference
tModelKey=“WSRP Producer Service Reference tModel’s key”
keyName=“WSRP Producer Service Reference”
keyValue=“Producer’s businessService key” />
</categoryBag>
</businessService>
 may contain multiple name values (at least one), each accompanied with a unique xml:lang value
(required), we may want to define a mapping to PortletDescription.title?
May contain multiple description values, each adorned with a unique xml:lang value (optional), we
may want to define a mapping to PortletDescription.Description
Contains at a minimum one binding template where the accessPoint holds the Portlet handle
(required)
categoryBag holds reference to the businessService entity of the Producer, thus allowing to find out
the wsdl location of the producer
IBM Software Group | WebSphere software
Approach 2 – data structures
Portlet’s wsdl address bindingTemplate
<bindingTemplate bindingKey=“…” serviceKey=“…”>
<description xml:lang=“en”>Binding description</description>
<accessPoint URLType=“other”> portlet_handle_comes_in_here </accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo>
tModelKey=“key of WSRP Portlet tModel”
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
May contain multiple description values, each adorned with a unique xml:lang value (optional)
accessPoint holds URL of service WSDL (required)
References one tModel
WSRP Portlet tModel to point out the businessService is a WSRP Portlet (required)
IBM Software Group | WebSphere software
Approach 2 – data structures
WSRP v1 bindings wsdl tModel
<tModel tModelKey="...">
<name>urn:oasis:names:tc:wsrp:v1:bindings </name>
<description xml:lang="en">
The WSRP V1 WSDL containing the bindings
</description>
<overviewDoc>
<description xml:lang="en">WSDL source document.</description>
<overviewURL>
http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl
</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference
tModelKey="uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
keyName="uddi-org:types"
keyValue="wsdlSpec"/>
</categoryBag>
</tModel>
Name is a uri to wsrp namespace (required)
May contain multiple description values, each adorned with a unique xml:lang value (optional)
overviewURL points to our V1 bindings wsdl (required)
References one tModel
UDDI types tModel indicating that this technical fingerprint is expressed by WSDL
Published once by the WSRP TC (in public UDDI case)
IBM Software Group | WebSphere software
Approach 2 – data structures
WSRP Producer tModel
<tModel tModelKey="...">
<name>urn:oasis:names:tc:wsrp:v1:producer </name>
<description xml:lang="en">
The WSRP V1 Producer
</description>
<overviewDoc>
<description xml:lang="en">Description of that tModel.</description>
<overviewURL>
URL to the WSRP-UDDI document we will produce
</overviewURL>
</overviewDoc>
</tModel>
Name is a uri to wsrp namespace (required)
May contain multiple description values, each adorned with a unique xml:lang value (optional)
overviewURL points to our WSRP-UDDI document (optional)
Published once by the WSRP TC (in public UDDI case)
IBM Software Group | WebSphere software
Approach 2 – data structures
WSRP Portlet tModel
<tModel tModelKey="...">
<name>urn:oasis:names:tc:wsrp:v1:portlet</name>
<description xml:lang="en">
The WSRP V1 Portlet
</description>
<overviewDoc>
<description xml:lang="en">Description of that tModel.</description>
<overviewURL>
URL to the WSRP-UDDI document we will produce
</overviewURL>
</overviewDoc>
</tModel>
Name is a uri to wsrp namespace (required)
May contain multiple description values, each adorned with a unique xml:lang value (optional)
overviewURL points to our WSRP-UDDI document (optional)
Published once by the WSRP TC (in public UDDI case)
IBM Software Group | WebSphere software
Approach 2 – data structures
WSRP Producer Reference tModel
<tModel tModelKey="...">
<name>urn:oasis:names:tc:wsrp:v1:producer reference</name>
<description xml:lang="en">
Reference to the Producer’s businessService key
</description>
<overviewDoc>
<description xml:lang="en">Description of that tModel.</description>
<overviewURL>
URL to the WSRP-UDDI document we will produce
</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference
tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4"
keyValue="unchecked"/>
<keyedReference
tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4"
keyValue="categorization"/>
</categoryBag>
</tModel>
Name is a uri to wsrp namespace (required)
May contain multiple description values, each adorned with a unique xml:lang value (optional)
overviewURL points to our WSRP-UDDI document (optional)
References two tModels
UDDI categorization tModel indicating that this tModel is a categorization tModel
UDDI unchecked tModel indicating the that the values are not being checked
Published once by the WSRP TC (in public UDDI case)