UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk UDDI Universal Description Discovery and Integration Provides data model for describing businesses and services Provides API for accessing registries UBR – Public Registry maintained by IBM, Microsoft, HP etc. But UDDI can be used for private/community registries UDDI History Initial simple specification to encourage take-up and early implementations Fairly rapid turn-around of new versions: Version 1.0 late 2000 Version 2.0 mid 2001 Version 3.0 mid 2002 2000-2002: lead by UDDI Consortium 2002- moved to OASIS TC Present: Version 2.0 process of vote for OASIS Standard Version 3.0 OASIS Committee specification UDDI Data Structure V2 UDDI API Security get_AuthToken, discard_AuthToken Publication save_ (create, update), delete_ Inquiry find_, get_ template based queries No relevance/ranking Negotiation (QoS, price etc.) should happen outside of UDDI (but UDDI may contain endpoints to such negotiation services) UDDI v3 Subscription Synchronous Asynchronous (via callback webservice) Digital signature support for authenticating provenence Custody transfer Explicit node replication API V2 left to implementation Migration of data between registries UBR as registry of key generators UDDI Policy modeling All UDDI objects can be referenced by http gets Additional query modifiers, category groups, internationalization, etc. UDDI Extensibility Prior to v3 getBusinessDetailExt V3 Appendix Extending data model via XML Schema substitutionGroups Extending API structures via XML Schema substitutionGroups Use of XML Namespace to identify extension elements Policy for client/server behaviour Extensibility 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 v4 Compatibility changes for SAML, WS-A, WS-I, WSPolicy, BPEL, XRI, etc. Better external taxonomy support etc. More granular access control (by role, entity, action) Life of data (stale data) Trustworthiness (integration of trust and identity services) Federation (representing registries within registries) Different comparisons for category groups UDDI and GRID – best practice or new requirements? More best practice guides etc. XRI – eXtensible Resource Identifier New OASIS Committee (began early this year) Chairs:Drummond Reed, OneName and Gabe Wachob, Visa International Aims: to define a URI scheme and a corresponding URN namespace that provide transport- and application-neutral identification schemes to support distributed directory services that enable the identification of resources (including people and organizations) define basic mechanisms for resolving the identifiers in these schemes and for exchanging data associated with these identifiers. To enable the creation of Web-like collections of resources (including, but not limited to, data, systems, services, organizations, and people) that extend the WWW's current generalized addressing and linking capabilities Define an XML schema to associate metadata with resources and a service to manipulate this metadata and data associated with the resources XRI Strawman XRI-URI are 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) Human-friendly - XRI-URIs are intended to supported names that are parseable, memorable, and semantically meaningful to humans. 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 different resources themselves over time. 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 particular directory -- there can be multiple "paths" to get to a particular directory/namespace. XRI-URNs are: 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) 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. 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. XRI Examples XRI xri://’naming.authority’/local/part (abstract identifiers) xri://naming.authority.com/local/part (leveraging DNS) xri://(http://root.cross-reference.com).leaf/local/part (cross referencing leveraging other URI scheme – abstract identifiers) xri://=AlbertEinstein/theory/relativity (shortcut mnemonics for convenience of humans) XRN urn:xri://.naming.authority/local/part (abstract identifiers) urn:xri://.(urn:pin:999).leaf/local/part (cross referencing leveraging other URN scheme – abstract identifiers) WSIL - Web Services Inspection Language IBM/Microsoft Note (2001) Dropped from OGSI/OGSA due to potential IPR issues XML document acting as intermediate pointer to service description Can reference UDDI services or WSDL (or other WSIL) Extensible to support other descriptions WSIL Examples Referencing WSDL <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://example.com/stockquote/main.wsdl"> </description> Referencing UDDI <description referencedNamespace="urn:uddi-org:api"> <wsiluddi:serviceDescription location="http://www.example.com/uddi/inquiryapi"> <wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-B3200333F79</wsiluddi:serviceKey> <wsiluddi:discoveryURL useType="businessEntity"> http://www.example.com/uddi?3C9CADD0-5C39-11D5-9FCF-BB3200333F79 </wsiluddi:discoveryURL> </wsiluddi:serviceDescription> </description> Locating WSIL Add /inspection.wsil to URL Via HTML meta tags <HTML> <HEAD> <META name="serviceInspection" content="localservices.wsil"> <META name="serviceInspection" content="http://www.example.com/calculators.wsil"> <META name="serviceInspection" content="ftp://www.anotherexample.com/translators.w sil"> </HEAD> <BODY> WSIL Alternative? Use of html link element (proposed to UDDI list by Paul Denning) e.g. <link rel="alternate" type="application/uddi-inq+xml" title="bizNameHere" href="url/to/SOAP/UDDIv2/inquiryAPI" /> UDDI v3 all UDDI objects can be referenced by http gets. Web Service Architecture – Discovery N.B. UDDI is registry designed for long life-cycle endpoints QoS, contract negotiation, management, etc. outside of UDDI (but endpoints can be stored in UDDI) ebXML XML for e-Business OASIS Standard (Currently at version 2) Defines: Data model for e-business objects (including services, policies etc.) Messaging for e-business transactions Registry for e-business objects ebXML Data Model Object Oriented Model (UML) Objects have methods and attributes ebXML Registry API Life Cycle Management Query Management Filter (XML syntax) SQL XQuery in future version? ebXML Registries must have policies Auditing ebXML 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 UDDI Fairly similar aims ebXML centred on e-business UDDI centred on WebServices ebXML defined UML data model; UDDI defines XML Schema Cross OASIS TC Working Groups UDDI as basis for ebXML registries ebXML as basis for UDDI registries JAXR (Java Access to XML Registries) High level abstract interface to UDDI, ebXML, … WSDM New OASIS TC (started up last month) Based on previous floundered OASIS TC Defining management of distributed resources USING Web services Defining management OF Web services operations and WSDL. Collaborate with W3C, GGF, DMTF, OASIS Chairs: Heather Kreger (IBM, Chair of WSA MTF) & Winston Bumpus (Novell, DMTF President) Web Service Architecture – MTF Defining the manageability characteristics of the architectural elements of the Web Services architecture, i.e.: Identification - data that uniquely identifies the element Status - information about operational state of a element (up: busy/idle; down: stopped/saturated/crashed) Configuration - a collection of behavioural properties which may be changed (persistent over instances) Metrics - raw atomic, unambiguous information for managmement purposes e.g. response times Operations - methods that control or help manage the entity (instance specific) Events - changes in the state of the entity e.g a lifecycle state change, or a state change. DTMF Models real world managed objects. Large existing model (not in web/grid format/granularity) Application Working Group Intends to model management of web services Interoperability Working Group Defining a CIM/SOAP protocol in WSDL: CIM/Ops as WSDL operations and xmlCIM as the body of SOAP messages over HTTP GRID OGSA et al. But you know all about that! Web Services stack Management requirements for a Manageable Web Services Archicture W3C WS Arch WG, Management TF Quality of Service Management Security/Trust/Privacy Mangeability of Web Services OASIS WSDM Web service based access to management data OASIS WSDM, GGF CMM Manageability portTypes OASIS WSDM, GGF CMM, DMTF Links OASIS (ebXML, UDDI, XRI, WSDM) http://www.oasis-open.org/ Web Service Architecture http://www.w3.org/2002/ws/arch/ WSIL http://www-106.ibm.com/developerworks/webservices/library/wswsilspec.html