WebSphere software: Presentation template

pityingmushroomInternet and Web Development

Aug 7, 2012 (5 years and 2 months ago)

278 views

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

<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

<businessService>

<Name=…/>

<Description=…/>

<categoryBag>


<keyedReference>


tModelKey=…


keyName=“WSRP Type”


keyValue=“Producer”

Producer

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

<tModel>

<Name=WSRP Type/>

Unchecked Categorization

KeyValues would be Producer or
Portlet, later might be even
PortletApplication

<bindingTemplate>


<accessPoint=“PortletHandlel”/>


<businessService>

<Name=…/>

<Description=…/>

<categoryBag>


<keyedReference>


tModelKey=…


keyName=“WSRP Type”


keyValue=“Portlet”



<keyedReference>


tModelKey=…


keyName=“WSRP Producer Ref”


kevValue=“Producer Business
Service Key”

Portlet

<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

<tModel>

<Name=WSRP Producer/>


This tModel indicates that this
businessService is a WSRP
Producer

<bindingTemplate>


<accessPoint=“http://your.com/ser
vice.wsdl”/>


<tModelInstanceDetails>


<tModelInstanceInfo>


tModelKey=…


<tModelInstanceInfo>


tModelKey=…


<tModel>

<wsrp_v1_bindings wsdl/>

Type: wsdlSpec

To indicate it implements the V1
wsrp wsdl

<businessService>

<Name=…/>

<Description=…/>



Producer

IBM Software Group | WebSphere software

Publishing Portlets (optional)


Approach 2

<bindingTemplate>


<accessPoint=“PortletHandle”/>


<tModelInstanceDetails>


<tModelInstanceInfo>


tModelKey=…

<businessService>

<Name=…/>

<Description=…/>

<categoryBag>


<keyedReference>


tModelKey=…


keyName=“WSRP Producer Ref”


kevValue=“Producer Business
Service Key”

Portlet

<tModel>

<Name=WSRP Producer Service Ref/>

Unchecked Categorization

KeyValues would be the Producer’s
businessService Key

Allows to find Producer in Registry

<tModel>

<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)