280 likes | 409 Vues
W eb S ervice D efinition L anguage. Elena Buchir 341C5 elena.buchir@cti.pub.ro Adrian Cristea 341C5 adrian.cristea@cti.pub.ro. Cuprins. Ce este WSDL? Scurt istoric Structura documentului WSDL Componente WSDL Concluzii. Ce este WSDL?. WSDL = Web Services Description Language
E N D
WebServiceDefinition Language Elena Buchir 341C5 elena.buchir@cti.pub.ro Adrian Cristea 341C5 adrian.cristea@cti.pub.ro
Cuprins • Ceeste WSDL? • Scurtistoric • Structuradocumentului WSDL • Componente WSDL • Concluzii
Ceeste 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
Ceeste WSDL? • Un document WSDL descrie: • Ce metodepublicesuntdisponibile; • Unde este localizat serviciul; • Utilizat de UDDI pentru descrierea interfeţelor serviciilor web. *UDDI = Universal Description, Discovery and Integration
Scurtistoric • 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
StructuradocumentuluiWSDL • Document WSDL: • Tipuride date pe care le foloseşteWS; • 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
StructuraWSDL Contractul logic definește interfața publică care este independentă de formatele de transport, de transmitere și de limbajele de programare. Contractul fizic definește legăturile pentru formatele de transport și de transmitere și mai multe contracte.
StructuradocumentuluiWSDL <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
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 top-level.
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șide 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_documents.asp • http://www.tutorialspoint.com/wsdl/wsdl_definition.htm