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