UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University...
-
date post
20-Dec-2015 -
Category
Documents
-
view
219 -
download
0
Transcript of UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University...
UDDI, ebXML, WSIL, XRI, UDDI, ebXML, WSIL, XRI, WSDM (and the GRID)WSDM (and the GRID)
Matthew J. DoveyMatthew J. DoveyTechnical ManagerTechnical Manager
Oxford University e-Science CentreOxford University e-Science [email protected]@oucs.ox.ac.uk
UDDIUDDI
Universal Description Discovery and IntegrationUniversal Description Discovery and Integration
Provides data model for describing businesses Provides data model for describing businesses and servicesand services
Provides API for accessing registriesProvides API for accessing registries
UBR – Public Registry maintained by IBM, UBR – Public Registry maintained by IBM, Microsoft, HP etc. Microsoft, HP etc. But UDDI can be used for private/community But UDDI can be used for private/community
registriesregistries
UDDI HistoryUDDI History
Initial simple specification to encourage take-up Initial simple specification to encourage take-up and early implementationsand early implementationsFairly rapid turn-around of new versions:Fairly rapid turn-around of new versions: Version 1.0 late 2000Version 1.0 late 2000 Version 2.0 mid 2001Version 2.0 mid 2001 Version 3.0 mid 2002Version 3.0 mid 2002
2000-2002: lead by UDDI Consortium2000-2002: lead by UDDI Consortium2002- moved to OASIS TC2002- moved to OASIS TCPresent:Present: Version 2.0 process of vote for OASIS Standard Version 2.0 process of vote for OASIS Standard Version 3.0 OASIS Committee specificationVersion 3.0 OASIS Committee specification
UDDI Data StructureUDDI Data Structure
V2
UDDI APIUDDI API
SecuritySecurity get_AuthToken, discard_AuthTokenget_AuthToken, discard_AuthToken
PublicationPublication save_ (create, update), delete_save_ (create, update), delete_
InquiryInquiry find_, get_ find_, get_ template based queriestemplate based queries No relevance/rankingNo relevance/ranking Negotiation (QoS, price etc.) should happen outside Negotiation (QoS, price etc.) should happen outside
of UDDI (but UDDI may contain endpoints to such of UDDI (but UDDI may contain endpoints to such negotiation services)negotiation services)
UDDI v3UDDI v3
SubscriptionSubscription SynchronousSynchronous Asynchronous (via callback webservice)Asynchronous (via callback webservice)
Digital signature support for authenticating provenenceDigital signature support for authenticating provenenceCustody transferCustody transferExplicit node replication APIExplicit node replication API
V2 left to implementationV2 left to implementation
Migration of data between registriesMigration of data between registries UBR as registry of key generatorsUBR as registry of key generators
UDDI Policy modelingUDDI Policy modelingAll UDDI objects can be referenced by http getsAll UDDI objects can be referenced by http getsAdditional query modifiers, category groups, Additional query modifiers, category groups, internationalization, etc.internationalization, etc.
UDDI ExtensibilityUDDI Extensibility
Prior to v3Prior to v3 getBusinessDetailExtgetBusinessDetailExt
V3 AppendixV3 Appendix Extending data model via XML Schema Extending data model via XML Schema
substitutionGroupssubstitutionGroups Extending API structures via XML Schema Extending API structures via XML Schema
substitutionGroupssubstitutionGroups Use of XML Namespace to identify extension Use of XML Namespace to identify extension
elementselements Policy for client/server behaviourPolicy for client/server behaviour
Extensibility ExampleExtensibility Example<uddi:add_publisherAssertions
xmlns:egExt="http://tempuri.org/uddi_extension"xmlns:uddi="urn:uddi-org:api_v3"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<uddi:authInfo>someAuthInfo</uddi:authInfo><egExt:publisherAssertionExt>
<uddi:fromKey>some business key</uddi:fromKey><uddi:toKey>some other business key</uddi:toKey><uddi:keyedReference
tModelKey="uddi:uddi.org:relationships"keyName="some peer to peer relationship"keyValue="peer-peer" />
<uddi:discoveryURLs><uddi:discoveryURL useType="contract">
http://www.example.com/contract/p2pcontract.pdf</uddi:discoveryURL>
</uddi:discoveryURLs></egExt:publisherAssertionExt>
</uddi:add_publisherAssertions>
UDDI v4UDDI v4
Compatibility changes for SAML, WS-A, WS-I, WS-Compatibility changes for SAML, WS-A, WS-I, WS-Policy, BPEL, Policy, BPEL, XRIXRI, etc., etc.Better external taxonomy support etc.Better external taxonomy support etc.More granular access control (by role, entity, action)More granular access control (by role, entity, action)Life of data (stale data)Life of data (stale data)Trustworthiness (integration of trust and identity Trustworthiness (integration of trust and identity services)services)Federation (representing registries within registries)Federation (representing registries within registries)Different comparisons for category groupsDifferent comparisons for category groupsUDDI and GRID – best practice or new requirements?UDDI and GRID – best practice or new requirements?
More best practice guides etc.More best practice guides etc.
XRI – eXtensible Resource XRI – eXtensible Resource IdentifierIdentifier
New OASIS Committee (began early this year)New OASIS Committee (began early this year)Chairs:Drummond Reed, OneName and Gabe Wachob, Visa International Chairs:Drummond Reed, OneName and Gabe Wachob, Visa International
Aims:Aims: to define a URI scheme and a corresponding URN namespace that provide to define a URI scheme and a corresponding URN namespace that provide
transport- and application-neutral identification schemes to support distributed transport- and application-neutral identification schemes to support distributed directory services that enable the identification of resources (including people directory services that enable the identification of resources (including people and organizations)and organizations)
define basic mechanisms for resolving the identifiers in thesedefine basic mechanisms for resolving the identifiers in theseschemes and for exchanging data associated with these identifiers. schemes and for exchanging data associated with these identifiers.
To enable the creation of Web-like collections of resourcesTo enable the creation of Web-like collections of resources(including, but not limited to, data, systems, services, organizations,(including, but not limited to, data, systems, services, organizations,and people) that extend the WWW's current generalized addressing andand people) that extend the WWW's current generalized addressing andlinking capabilitieslinking capabilities
Define an XML schema to associate metadata withDefine an XML schema to associate metadata withresources and a service to manipulate this metadata and data associatedresources and a service to manipulate this metadata and data associatedwith the resourceswith the resources
XRI StrawmanXRI StrawmanXRI-URI areXRI-URI are
Abstract - XRI-URIs are intended primarily to identify things that are not otherwise Abstract - XRI-URIs are intended primarily to identify things that are not otherwise concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc) concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc)
Human-friendly - XRI-URIs are intended to supported names that are parseable, Human-friendly - XRI-URIs are intended to supported names that are parseable, memorable, and semantically meaningful to humans. memorable, and semantically meaningful to humans.
Reassignable - XRI-URIs are intended to be "reassignable". This means that they can both Reassignable - XRI-URIs are intended to be "reassignable". This means that they can both resolve to different networked resources or representations as well as semantically refer to resolve to different networked resources or representations as well as semantically refer to different resources themselves over time. different resources themselves over time.
Multiple paths of hierarchy - Each "segment" of an XRI-URI corresponds to a local key in a Multiple paths of hierarchy - Each "segment" of an XRI-URI corresponds to a local key in a directory/namespace. No assumption is made about the segments used to "reach" a directory/namespace. No assumption is made about the segments used to "reach" a particular directory -- there can be multiple "paths" to get to a particular particular directory -- there can be multiple "paths" to get to a particular directory/namespace. directory/namespace.
XRI-URNs are:XRI-URNs are: Abstract - XRI-URNs are intended primarily to identify things which are not otherwise Abstract - XRI-URNs are intended primarily to identify things which are not otherwise
concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc)concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc) Efficiently Machine Resolvable - An important feature of XRI-URNs is that they are very Efficiently Machine Resolvable - An important feature of XRI-URNs is that they are very
efficiently resolvable. Efficient resolvability is favored over support for human readability. efficiently resolvable. Efficient resolvability is favored over support for human readability. Permanent - XRI-URNs have the semantics of other URN schemes – an XRI-URN refers to Permanent - XRI-URNs have the semantics of other URN schemes – an XRI-URN refers to
the same logical resource from the time it is defined globally and forever.the same logical resource from the time it is defined globally and forever.
XRI ExamplesXRI Examples
XRIXRI xri://’naming.authority’/local/part xri://’naming.authority’/local/part (abstract identifiers)(abstract identifiers) xri://naming.authority.com/local/part xri://naming.authority.com/local/part (leveraging DNS)(leveraging DNS) xri://(http://root.cross-reference.com).leaf/local/part xri://(http://root.cross-reference.com).leaf/local/part (cross referencing leveraging other URI scheme – abstract identifiers)(cross referencing leveraging other URI scheme – abstract identifiers) xri://=AlbertEinstein/theory/relativity xri://=AlbertEinstein/theory/relativity (shortcut mnemonics for convenience of humans)(shortcut mnemonics for convenience of humans)
XRNXRN urn:xri://.naming.authority/local/parturn:xri://.naming.authority/local/part (abstract identifiers)(abstract identifiers) urn:xri://.(urn:pin:999).leaf/local/parturn:xri://.(urn:pin:999).leaf/local/part (cross referencing leveraging other URN scheme – abstract identifiers)(cross referencing leveraging other URN scheme – abstract identifiers)
WSIL - Web Services Inspection LanguageWSIL - Web Services Inspection Language
IBM/Microsoft Note (2001)IBM/Microsoft Note (2001)
Dropped from OGSI/OGSA due to Dropped from OGSI/OGSA due to potential IPR issuespotential IPR issues
XML document acting as intermediate XML document acting as intermediate pointer to service descriptionpointer to service description
Can reference UDDI services or WSDL (or Can reference UDDI services or WSDL (or other WSIL)other WSIL)
Extensible to support other descriptionsExtensible to support other descriptions
WSIL ExamplesWSIL Examples
Referencing WSDLReferencing WSDL
<description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://example.com/stockquote/main.wsdl">location="http://example.com/stockquote/main.wsdl">
</description> </description>
Referencing UDDIReferencing UDDI
<description referencedNamespace="urn:uddi-org:api"><description referencedNamespace="urn:uddi-org:api"><wsiluddi:serviceDescription <wsiluddi:serviceDescription location="http://www.example.com/uddi/inquiryapi"> location="http://www.example.com/uddi/inquiryapi"> <wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-B3200333F79</wsiluddi:serviceKey><wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-B3200333F79</wsiluddi:serviceKey>
<wsiluddi:discoveryURL useType="businessEntity"><wsiluddi:discoveryURL useType="businessEntity">
http://www.example.com/uddi?3C9CADD0-5C39-11D5-9FCF-BB3200333F79http://www.example.com/uddi?3C9CADD0-5C39-11D5-9FCF-BB3200333F79</wsiluddi:discoveryURL></wsiluddi:discoveryURL>
</wsiluddi:serviceDescription></wsiluddi:serviceDescription></description> </description>
Locating WSILLocating WSIL
Add /inspection.wsil to URL Add /inspection.wsil to URL
Via HTML meta tagsVia HTML meta tags <HTML> <HEAD> <META name="serviceInspection" <HTML> <HEAD> <META name="serviceInspection"
content="localservices.wsil"> <META content="localservices.wsil"> <META name="serviceInspection" name="serviceInspection" content="http://www.example.com/calculators.wsil"> content="http://www.example.com/calculators.wsil"> <META name="serviceInspection" <META name="serviceInspection" content="ftp://www.anotherexample.com/translators.wcontent="ftp://www.anotherexample.com/translators.wsil"> </HEAD> <BODY> sil"> </HEAD> <BODY>
WSIL Alternative?WSIL Alternative?
Use of html link element (proposed to Use of html link element (proposed to UDDI list by Paul Denning)UDDI list by Paul Denning) e.g.e.g.
<link rel="alternate" type="application/uddi-inq+xml" <link rel="alternate" type="application/uddi-inq+xml" title="bizNameHere" title="bizNameHere" href="url/to/SOAP/UDDIv2/inquiryAPI" /> href="url/to/SOAP/UDDIv2/inquiryAPI" />
UDDI v3 all UDDI objects can be referenced by http UDDI v3 all UDDI objects can be referenced by http gets.gets.
Web Service Architecture – DiscoveryWeb Service Architecture – Discovery
N.B.N.B. UDDI is registry designed for long life-cycle endpointsUDDI is registry designed for long life-cycle endpoints QoS, contract negotiation, management, etc. outside of UDDI (but endpoints can be stored QoS, contract negotiation, management, etc. outside of UDDI (but endpoints can be stored
in UDDI)in UDDI)
ebXMLebXML
XML for e-BusinessXML for e-Business
OASIS Standard (Currently at version 2)OASIS Standard (Currently at version 2)
Defines:Defines: Data model for e-business objects (including Data model for e-business objects (including
services, policies etc.)services, policies etc.) Messaging for e-business transactionsMessaging for e-business transactions Registry for e-business objectsRegistry for e-business objects
ebXML Data ModelebXML Data Model
Object Oriented Model (UML)Object Oriented Model (UML) Objects have methods and attributesObjects have methods and attributes
ebXML Registry APIebXML Registry API
Life Cycle ManagementLife Cycle Management
Query ManagementQuery Management Filter (XML syntax)Filter (XML syntax) SQLSQL XQuery in future version?XQuery in future version?
ebXML Registries must ebXML Registries must have policieshave policies
AuditingAuditing
ebXML Filter QueryebXML Filter Query<AdhocQueryRequest> <ResponseOption returnType = "LeafClass"/> <FilterQuery> <OrganizationQuery> <OrganizationParentBranch> <NameBranch> <LocalizedStringFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Equal">XYZ</StringClause> </SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch> </OrganizationParentBranch> </OrganizationQuery> </FilterQuery></AdhocQueryRequest>
select id from Organization where parent in (select id from Organization where name = ‘XYZ’);
ebXML and UDDIebXML and UDDI
Fairly similar aimsFairly similar aims ebXML centred on e-businessebXML centred on e-business UDDI centred on WebServicesUDDI centred on WebServices ebXML defined UML data model; UDDI defines XML ebXML defined UML data model; UDDI defines XML
SchemaSchema
Cross OASIS TC Working GroupsCross OASIS TC Working Groups UDDI as basis for ebXML registriesUDDI as basis for ebXML registries ebXML as basis for UDDI registriesebXML as basis for UDDI registries
JAXR (Java Access to XML Registries)JAXR (Java Access to XML Registries) High level abstract interface to UDDI, ebXML, …High level abstract interface to UDDI, ebXML, …
WSDMWSDM
New OASIS TC (started up last month)New OASIS TC (started up last month)Based on previous floundered OASIS TCBased on previous floundered OASIS TC
Defining management of distributed resources Defining management of distributed resources USING Web servicesUSING Web servicesDefining management OF Web services Defining management OF Web services operations and WSDL. operations and WSDL. Collaborate with W3C, GGF, DMTF, OASISCollaborate with W3C, GGF, DMTF, OASISChairs: Heather Kreger (IBM, Chair of WSA Chairs: Heather Kreger (IBM, Chair of WSA MTF) & Winston Bumpus (Novell, DMTF MTF) & Winston Bumpus (Novell, DMTF President)President)
Web Service Architecture – MTF Web Service Architecture – MTF
Defining the manageability characteristics of the Defining the manageability characteristics of the architectural elements of the Web Services architecture, architectural elements of the Web Services architecture, i.e.:i.e.:
IIdentification - data that uniquely identifies the elementdentification - data that uniquely identifies the element Status - information about operational state of a element (up: Status - information about operational state of a element (up:
busy/idle; down: stopped/saturated/crashed)busy/idle; down: stopped/saturated/crashed) Configuration - a collection of behavioural properties which may Configuration - a collection of behavioural properties which may
be changed (persistent over instances)be changed (persistent over instances) Metrics - raw atomic, unambiguous information for Metrics - raw atomic, unambiguous information for
managmement purposesmanagmement purposes e.g. response times e.g. response times Operations - methods that control or help manage the entity Operations - methods that control or help manage the entity
(instance specific)(instance specific) Events - changes in the state of the entity e.g a lifecycle state Events - changes in the state of the entity e.g a lifecycle state
change, or a state change.change, or a state change.
DTMFDTMF
Models real world managed objects. Large existing Models real world managed objects. Large existing model (not in web/grid format/granularity)model (not in web/grid format/granularity)
Application Working GroupApplication Working Group Intends to model management of web services Intends to model management of web services
Interoperability Working Group Interoperability Working Group Defining a CIM/SOAP protocol in WSDL: CIM/Ops as Defining a CIM/SOAP protocol in WSDL: CIM/Ops as
WSDL operations and xmlCIM as the body of SOAP WSDL operations and xmlCIM as the body of SOAP messages over HTTPmessages over HTTP
GRIDGRID
OGSA et al.OGSA et al.
But you know all about that!But you know all about that!
Web Services stackWeb Services stack
Man
agem
ent
Secu
rity/Trust/P
rivacy
Qu
ality of S
ervice
Manageability portTypes - OASIS WSDM, GGF CMM, DMTF
Management requirements for a Manageable Web Services ArchictureW3C WS Arch WG, Management TF
Web service based accessto management data - OASIS WSDM, GGF CMM
Mangeability of Web ServicesOASIS WSDM
LinksLinks
OASIS (ebXML, UDDI, XRI, WSDM)OASIS (ebXML, UDDI, XRI, WSDM) http://www.oasis-open.orghttp://www.oasis-open.org//
Web Service ArchitectureWeb Service Architecture http://www.w3.org/2002/ws/arch/http://www.w3.org/2002/ws/arch/
WSILWSIL http://www-106.ibm.com/developerworks/webservices/library/ws-http://www-106.ibm.com/developerworks/webservices/library/ws-
wsilspec.htmlwsilspec.html