Web Service Definition Language
Download
Report
Transcript Web Service Definition Language
Web Service Definition Language
Elena Buchir 341C5
[email protected]
Adrian Cristea 341C5
[email protected]
Cuprins
Ce este WSDL?
Scurt istoric
Structura documentului WSDL
Componente WSDL
Concluzii
Ce este WSDL?
WSDL = Web Services Description Language
Defineşte un mod standard de a preciza detaliile
unui serviciu Web.
Schemă XML cu scop general
◦ Detaliile intefețelor serviciului Web
◦ Legăturile
◦ Detalii de implementare
Ce este WSDL?
Un document WSDL descrie:
◦ Ce metode publice sunt disponibile;
◦ Unde este localizat serviciul;
Utilizat de UDDI pentru descrierea
interfeţelor serviciilor web.
*UDDI = Universal Description, Discovery and Integration
Scurt istoric
Septembrie 2000 - WSDL 1.0
◦ IMB, Microsoft, Ariba
Martie 2001 – WSDL 1.1
Iunie 2003 – WSDL 1.2
Iunie 2007 – WSDL 2.0
Folosire WSDL
Asigurarea serviciilor Web peste internet
Un client ce se conectează la un serviciu Web
poate citi documentul WSDL pentru a determina
ce operaţii sunt disponibile pe server.
Tipurile speciale de date utilizate sunt incluse in
documentul WSDL sub forma XML Schema
Clientul poate folosi SOAP pentru a
apela una din operaţiile incluse in WSDL
folosind XML sau HTTP
*SOAP = Simple Object Access Protocol
Structura documentului WSDL
Document WSDL:
◦
◦
◦
◦
◦
◦
Tipuri de date pe care le foloseşte WS;
Mesajele pe care le utilizează;
Operaţiuni pe care le efectuează;
Protocoale de comunicare care le utilizează;
Adrese individuale de legare;
Agregarea unei mulțimi de porturi relaționate;
* WS = Web Service
Structura WSDL
1. Contractul logic definește
interfața publică care este
independentă de formatele
de transport, de transmitere
și de limbajele de
programare.
2. Contractul fizic definește
legăturile pentru formatele
de transport și de
transmitere și mai multe
contracte.
Structura documentului WSDL
Element
Descriere
<types>
Tipul de date utilizat de serviciul web
<message>
Mesajul utilizat de serviciul web
<portType>
Operaţia realizată de serviciul web
<binding>
Protocolul de comunicare utilizat de serviciul web
<service>
Porturile suportate de un serviciu Web.
<port>
Terminal specificat printr-o adresă pentru realizarea legăturii
Structura documentului WSDL
<definitions>
<types> definition of types........ </types>
<message> definition of a message....
</message>
<portType>
<operation> definition of a operation.......
</operation>
</portType>
<binding> definition of a binding....</binding>
<service> definition of a service.... </service>
</definitions>
Description (I)
Rădăcina oricărui document WSDL 2.0
2 categorii:
◦ Componente WSDL 2.0
◦ Tipurile componentelor de sistem
Tipurile de componente de sistem descriu
constrângerile asupra unui sistem
◦ Local name
◦ Namespace name
◦ Children
◦ Attributes
Description (II)
Componente:
◦ {interfaces} OPTIONAL
◦ {bindings} OPTIONAL
◦ {services} OPTIONAL
◦ {element declarations} OPTIONAL
◦ {type definitions} OBLIGATORIU
Interface (I)
Descrie secvenţa de mesaje pe care un
serviciu le trimite/primește
Grupează mesajele înrudite în operaţii
Operaţie secvenţă de mesaje de
input/output
Interfaţă set de operaţii
Poate extinde alte interfeţe
Interface (II)
Componente:
◦ {name} OBLIGATORIU
◦ {extended interfaces} OPTIONAL
◦ {interface faults} OPTIONAL
◦ {interface operations} OPTIONAL
Interface fault
Interface fault descrie o eroare ce poate apărea
cand e invocată o operaţie
Mecanism de a numi și descrie seturile de erori
pe care le poate genera o interfaţă
Pot apărea erori nedescrise
Componente
◦ {name} OBLIGATORIU
◦ {message content model} OBLIGATORIU
◦ {element declaration} OPTIONAL
◦ {parent} OBLIGATORIU
Interface operation
Descrie o operaţie suportată de interfaţă.
Componente:
◦ {name} OBLIGATORIU
◦ {message exchange pattern} OBLIGATORIU
◦ {interface message references} OPTIONAL
◦ {interface fault references} OPTIONAL
◦ {style} OPTIONAL
◦ {parent} OBLIGATORIU
Interface fault & operation
Binding (I)
Descrie formatul mesajului si al protocolului de
transport folosite pentru a defini un endpoint
Defineste detaliile de implementare pentru a accesa
un serviciu
Daca defineste legaturo pentru o interfata, trebuie
sa defineasca legaturi pentru toate operatiile ei
Binding fault legatura intre o eroare din cadrul
unei interfete si un format de mesaj
Binding operation formatul mesajului si
interactiunea protocolului sociate cu o operatie a
unei interfete
Binding (II)
Componente:
◦ {name} OBLIGATORIU
◦ {interface} OPTIONAL
◦ {type} OBLIGATORIU
◦ {binding faults} OPTIONAL
◦ {binding operations} OPTIONAL
Services
Descrie un set de endpoint-uri pentru care e
asigurată o implementare particulară.
Componente:
◦ {name} OBLIGATORIU
◦ {interface} OBLIGATORIU
◦ {endpoints} OBLIGATORIU
Endpoint (I)
Definește detaliile unui endpoint unde este
disponibil un serviciu dat.
Sunt locale unei componente service.
Legat cu o interfaţă a componentei Service.
Endpoint (II)
Componente
◦ {name} OBLIGATORIU
◦ {binding} OBLIGATORIU
◦ {address} OPTIONAL
◦ {parent} OBLIGATORIU
Types
Definește tipul fiecărui mesaj.
Include erorile.
Fiecare trebuie sa fie un element de tip toplevel.
Including description
Permite separarea diverselor componente ale
definiţiei unui serviciu.
Poate include componente din documente
WSDL 2.0 ce au același namespace.
Includeri mutuale și circulare.
Importing description
Folosit pentru a importa componente dintr-un
alt namespace.
Identifică namespace-urile străine.
Mai multe câmpuri importing pentru același
namespace mai multe locaţii ale
informaţiilor.
Documentation
Comentarii de cod
Concluzii
Ușor de înţeles și de editat
◦ Utilizatori
◦ Aplicaţii
WSDL este in format XML
◦ Independent de limbaj
◦ Independent de platformă
WSDL 2.0
◦ Oferă o structurare mai bună
◦ Este extensibil
Răspunsuri la întrebări
http://www.w3.org/TR/wsdl
http://www.w3.org/TR/wsdl20
http://www.w3schools.com/wsdl/wsdl_do
cuments.asp
http://www.tutorialspoint.com/wsdl/wsdl_
definition.htm