Professional Documents
Culture Documents
Didier DONSEZ
Université Joseph Fourier (Grenoble 1)
IMAG
Didier.Donsez@imag.fr
16/02/2002
3
WSDL
n Spécification (09/2000)
• Ariba, IBM, Microsoft
• TR W3C v1.1 (25/03/2001)
n Objectifs
• Décrire les services
comme un ensemble d’opérations et de messages abstraits
relié (bind) à des protocoles et des serveurs réseaux
Didier Donsez, 2001, WSDL & UDDI
Élément <types>
• Contient les définition de types utilisant un système de typage (comme XSD).
n Exemple
<!-- type defs -->
<types>
<xsd:schema targetNamespace="urn:xml-soap-address-demo"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:complexType name="phone">
<xsd:element name="areaCode" type="xsd:int"/>
<xsd:element name="exchange" type="xsd:string"/>
<xsd:element name="number" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="address">
<xsd:element name="streetNum" type="xsd:int"/>
Didier Donsez, 2001, WSDL & UDDI
Élément <message>
<message name="GetAddressFromNameRequest">
<part name="name" type="xsd:string"/>
Didier Donsez, 2001, WSDL & UDDI
</message>
<message name="GetAddressFromNameResponse">
<part name="address" type="typens:address"/>
</message>
16/02/2002
9
Element <porttype>
Element <porttype>
n Exemple
<!-- port type declns -->
<portType name="AddressBook">
<output message="GetAddressFromNameResponse"/>
</operation>
</portType>
16/02/2002
11
Élément <binding>
• Spécifie une liaison d’un <porttype> à un protocole concret (SOAP1.1, HTTP
GET/POST, MIME, …).
• Un porttype peut avoir plusieurs liaisons !
n Exemple de binding sur SOAP et HTTP
<!-- binding declns -->
<binding name="AddressBookSOAPBinding" type="AddressBook">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="addEntry">
<soap:operation soapAction=""/>
<input><soap:body use="encoded" namespace="urn:AddressFetcher2"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input>
<output><soap:body use="encoded" namespace="urn:AddressFetcher2"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output>
</operation>
Didier Donsez, 2001, WSDL & UDDI
<operation name="getAddressFromName">
<soap:operation soapAction=""/>
<input><soap:body use="encoded" namespace="urn:AddressFetcher2"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:AddressFetcher2"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
</binding>
16/02/2002
12
Élément <binding>
n Exemple de binding avec SOAP et SMTP
<definitions ...>
<types>
<schema targetNamespace="http://stockquote.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="SubscribeToQuotes">
<complexType><all><element name="tickerSymbol" type="string"/></all></complexType>
</element>
<element name="SubscriptionHeader" type="uriReference"/>
</schema>
</types>
<message name="SubscribeToQuotes">
<part name="body" element="xsd1:SubscribeToQuotes"/>
<part name="subscribeheader" element="xsd1:SubscriptionHeader"/>
Didier Donsez, 2001, WSDL & UDDI
</message>
<portType name="StockQuotePortType">
<operation name="SubscribeToQuotes">
<input message="tns:SubscribeToQuotes"/>
</operation>
</portType>
…
16/02/2002
13
Élément <binding>
n…
<binding name="StockQuoteSoap" type="tns:StockQuotePortType">
<soap:binding style="document" transport="http://stockquote.com/smtp"/>
<operation name="SubscribeToQuotes">
<input message="tns:SubscribeToQuotes">
<soap:body parts="body" use="literal"/>
<soap:header message="tns:SubscribeToQuotes" part="subscribeheader" use="literal"/>
</input>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="tns:StockQuoteSoap">
Didier Donsez, 2001, WSDL & UDDI
<soap:address location="mailto:subscribe@stockquote.com"/>
</port>
</service>
</definitions>
16/02/2002
14
Élément <service>
• Une collection de points d’entrée (endpoint) relatifs
n Exemple
<?xml version="1.0" ?>
<definitions name="urn:AddressFetcher"
targetNamespace="urn:AddressFetcher2"
xmlns:typens="urn:xml-soap-address-demo"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
…
</definitions>
16/02/2002
16
Outils
n Toolkit
• IBM Web Services Toolkit
• Outils + demo-tutorial Gourmet2GO
Didier Donsez, 2001, WSDL & UDDI
UDDI
Universal Description, Discovery and Integration
16/02/2002
18
UDDI
n Spécification (09/2000)
• Ariba, IBM, Microsoft +260 autres sociétés
n Objectifs
• annuaire mondial d'entreprises pour permettre d'automatiser
les communications entre prestataires, clients, etc.
• plusieurs entrées indéxées : nom, carte d'identité des sociétés,
description des produits, services, services applicatifs
invocables à distance (références des connexions)
Didier Donsez, 2001, WSDL & UDDI
What is UDDI?
A mid-sized
manufacturer needs to
Broader create 400 online
B2B relationships with Describe
customers, each with
their own set of Services
standard and protocols
A B2B marketplace
Integrate
Didier Donsez, 2001, WSDL & UDDI
UDDI v1 Implementation
Marketplaces
16/02/2002
22
4.
1. SW companies, standards
bodies, and programmers
populate the registry with
descriptions of different types
of services
Marketplaces, search
engines, and business
apps query the registry to
2. discover services at other
companies
UDDI Business Registry
the registry
3.
UBR assigns a programmatically unique
with Business uses this
identifier to each service and business
descriptions of data to facilitate
registration
the services easier integration
they support with each other over
the Web
16/02/2002
23
Registry Data
White
Pages
n Businesses register
public information
Yellow
about themselves
Pages
Green
Pages
n Standards bodies,
Programmers,
Didier Donsez, 2001, WSDL & UDDI
White Pages
n Business Name
n Text Description
• list of multi-language text strings
n Contact info
• names, phone numbers, fax numbers, web sites…
n Known Identifiers
• list of identifiers that a business may be known by - DUNS,
Thomas, other
Didier Donsez, 2001, WSDL & UDDI
16/02/2002
25
Yellow Pages
n Business categories
• 3 standard taxonomies in V1
• Industry: NAICS (Industry codes - US Govt.)
• Product/Services: UN/SPSC (ECMA)
• Location: Geographical taxonomy
• Implemented as name-value pairs to allow any valid
taxonomy identifier to be attached to the business white page
Didier Donsez, 2001, WSDL & UDDI
16/02/2002
26
Green Pages
Business Registration
Contact
Contact
n XML document businessEntity Phone
Phone
Address
Address
n Created by end-user businessKey Email
Email
name
company (or on their URL
behalf) description
businessService
contacts businessService
serviceKey
n Can have multiple businessServices
Key
tModelKey
Name
service listings identifierBag Name
Description
categoryBag Description
BindingTemplates
n Can have multiple BindingTemplates
keyedReference
tModelKey
tModelKey
keyName
keyedReference
keyedReference keyName
keyValue
tModelKey keyValue
tModelKey
keyName
keyName
keyValue
keyValue
16/02/2002
29
Example of a Registration
Peter Smythe
businessEntity 872-6891
TB993… 4281 King’s Blvd, Sydney, NSW
Harbour Metals Peter@harbourmetals.co.au
www.harbourmetals.co.au
“Serving Inner Sydney Harbour for … businessService
businessService
contacts 23T701e54683nf…
Key
businessServices Online catalog
Name
identifierBag “Website where you can …
Description
categoryBag BindingTemplates
BindingTemplates
BindingTemplate
keyedReference 5E2D412E5-44EE-…
EE123… keyedReference http://www.sydneynet/harbour…
tModelInstanceDetails
NAICS DFE-2B…
Didier Donsez, 2001, WSDL & UDDI
02417 DUNS
tModelInstanceInfo
45231
4453D6FC-223C-3ED0…
http://www.rosetta.net/catalogPIP
tModelKeys
16/02/2002
30
UDDI at Work
1.
SydneyNet.com
Harbour Metals creates UDDI Registry
online website with 2.
local ASP
4. ASP registers
Consumers and 3. Harbour Metals with UBR
Didier Donsez, 2001, WSDL & UDDI
businesses discover
Harbour Metals and do
Marketplaces and search engines
business with it
query UBR, cache Harbour Metals
data, and bind to its services
16/02/2002
31
Registry Operation
n Peer nodes (websites)
n Companies register queries
with any node
IBM
n Registrations replicated
on a daily basis
n Complete set of
“registered” records
available at all nodes
n Common set of
SOAP APIs supported Ariba
other UDDI.org
by all nodes
n Compliance enforced by
business contract
Didier Donsez, 2001, WSDL & UDDI
other Microsoft
16/02/2002
32
UDDI Registry
User Node
UDDI
SOAP Request HTTP SOAP
Server Processor
UDDI
SOAP Response UDDI
Registry Service
neutral
16/02/2002
34
• get_tModelDetail • get_authToken
• discard_authToken
16/02/2002
35
UDDI Roadmap
V1 V2 V3 Ongoing
3 More Custom
Taxonomies Taxonomies Taxonomies
Descriptions of Layered
Workflow
Services Services
Didier Donsez, 2001, WSDL & UDDI
Le modèle
de
données
v1
UML
Didier Donsez, 2001, WSDL & UDDI
16/02/2002
37
Summary
Bibliographie et Webographie
n Web Services
• Philippe Mougin, Christophe Barriolade, Web Services, Business Objects
and Component Models, WhitePaper Orchestral Networks, July 2001,
http://www.orchestranetworks.com/us/solutions/0105_whitepaper.cfm
n WSDL
• La spécification du W3C
• http://www.w3.org/TR/wsdl
n UDDI
• http://www.uddi.org
• http://www.juddi.org
Didier Donsez, 2001, WSDL & UDDI