Documente Academic
Documente Profesional
Documente Cultură
Aplicatii web
WSDL-S
1 Introducere
1.1 Interoperabilitate. WSDL. WSDL-S.
Interoperabilitatea reprezinta capacitatea aplicatiilor aflate pe platforme diferite, pe sisteme de operare diferite si programate in limbaje diferite de a interschimba informatii. Ea este ingreunata de obicei de probleme precum nepotrivirea codarii caracterelor de la o limba la alta, reprezentarea diferita a unor tipuri standard (de ex. pe unele platforme tipul int este reprezentat pe 16 biti, pe alte platforme pe 32 de biti) etc. Aceste probleme au fost rezolvate prin decizia de a folosi XML (eXteded Markul Language) pentru transmisia datelor. Dar XML fiind un vocabular foarte general, s-a hotarat realizarea unei particularizari a acestuia rezultand SOAP (Simple Object Acces Protocol). Acesta doar impune un set de reguli de formatare a mesajului XML reprezentand informatia transmisa. Un serviciu web trebuie sa fie usor de descris si creat programe client. Pentru aceasta problema ridicata de cei ce dezvolta programe client ale serviciilor web s-a gasit o solutie care a constat in dezvoltarea unui nou subset XML denumit WSDL prin care, prin elemente prestabilite, sa se informeze clientul asupra structurilor(obiectelor) folosite de serviciu, asupra metodelor expuse si asupra modului de accesare a acestora (parametrii, tipul parametrilor, protocoalele de transport admise, stilul si tipul de codare etc.). Datorita caracterului fix pe care il are acest limbaj a fost posibila realizarea unor utilitare pentru crearea suportului de comunicare (necesar unui client pentru a invoca un serviciu web) doar pe baza fisierului WSDL ce descrie serviciul respectiv. De ce este necesara documentarea serviciului? Deoarece serviciul este oferit spre uz ntregii comunitati Internet (sau unui subset). Exista programatori care vor sa se foloseasca de functionalitatea oferita de serviciul web in cauza. Dar sarcina lor este foarte dificila n cazul lipsei documentatiei referitoare la interfata oferita de serviciu si la maparile ce trebuie folosite pentru a putea transmite corect obiecte si alte informatii. Din aceasta cauza au luat nastere mai multe limbaje de documentare a unui serviciu web. Unele dintre ele se axeaza pe organizarea si accesarea serviciilor, altele pe topografia unui serviciu web mai complex iar altele pur si simplu descriu ce face fiecare metoda si cum ar trebui apelata. Dintre toate aceste limbaje se remarca, datorita folosirii sale pe scara larga, limbajul WSDL (Web Services Description Language). Submis pentru aprobare de catre IBM, Microsoft si altii in septembrie 2000, acest protocol are ca rol descrierea tehnica elementara a interfetei serviciului. O descriere WSDL prezinta trei proprietati fundamentale ale unui serviciu web:
WSDL-S
Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare Ceea ce face serviciul operatiile pe care serviciul le furnizeaza. Cum este accesat serviciul detalii ale formatelor de date si protocoale folosite pentru accesarea operatiilor. Unde este localizat serviciul detalii ale adresei de retea specifice protocolului (un URL). WSDL-S este o extensie a limbajului WSDL definita prin intermediul XML Schema si care permite adaugarea unor adnotari semantice in cadrul componentelor ce apartin descrierii abstracte a serviciilor. Utilizarea explicita a acestor meta-informatii ce au in spate un suport teoretic (cum sunt ontologiile) va permite ca web-ul sa ofere servicii de o calitate superioara celor de pina acum.
Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare un mesaj cu HTTP-GET, HTTP-POST, SOAP, sau orice alt protocol pe care un ofertant de servicii web il suporta. Daca se foloseste SOAP, elementul <message> corespunde incarcaturii utile a unui mesaj SOAP de cerere sau de raspuns. Acesta nu include elementele SOAP <Envelope> si <Fault>. Mesajele pot avea orice nume pentru ca WSDL nu defineste o conventie de denumire pentru mesaje. Un element <message> contine 0 sau mai multi fii <part>. Un mesaj de cerere contine toti parametrii in si inout. Un mesaj de raspuns contine toti parametrii out si inout. Fiecare element <part> trebuie sa aiba un nume si un tip de data care se poate potrivi cu tipurile de date care sunt folosite in implementarea serviciului. Port Type Un ofertant de servicii web (un nod din retea care este server web) poate expune mai multe servicii web. Un singur serviciu web poate suporta invocarea metodelor sale folosind o varietate de protocoale. Formatul datelor schimbate intre client si serviciul web poate depinde depinde de protocolul folosit pentru a invoca o metoda. De aceea trebuie sa existe o cale de a asocia operatiile cu endpointurile de unde acestea pot fi accesate. Acest tip de asociere se poate realiza folosind elementul portType. Binding Dupa definirea portului logic(portType), in continuare se defineste cum poate un consumator al serviciului web sa se lege la portul pe care este disponibila operatia GetAccount. Acest lucru implica asocierea unei operatii cu un protocol si asigurarea oricarei informatii de legatura specifice protocolului. De exemplu, un element binding poate mapa un port type la o interfata specifica SOAP RPC utilizand HTTP ca protocol de transport si sistemul de codare a datelor SOAP. Pentru a face asta se foloseste elementul <binding>. Service La sfarsitul fisierului WSDL se definesc endpointurile pentru fiecare dintre protocoalele care se pot folosi pentru a accesa un serviciu web. Pentru a defini endpointurile se foloseste elementul <service>.
WSDL-S
3 WSDL-S
3.1 Principii de proiectare
Ideea de la care s-a plecat a fost adaugarea unor caracteristici semantice serviciilor web care sa reduca ambiguitatile in ceea ce priveste descrierea elementelor componente si sa permita automatizarea unor procese precum descoperirea, apelarea si compunerea serviciilor. Extensia WSDL-S este construita peste standardul WSDL si permite adnotarea serviciilor Web prin intermediul unor elemente si atribute suplimentare: adnotari referitoare la tipul mesajelor (modelReference,schemaMapping) si adnotari referitoare la operatii (modelReference, category, precondition,effect). De WSDL-S 5
Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare asemenea, trebuie sa asigure un mecanism independent de modelul(limbajul) de reprezentare al semanticii si sa permita asocierea de adnotari multiple scrise in diferite limbaje de reprezentare a semanticii. WSDL-S permite adnotari semantice pentru serviciile Web ale caror tipuri de date sunt descrie prin XML Schema si asigura suportul pentru maparea tipurilor definite si ontologii.
WSDL-S
Desi intrarile,iesirile,preconditiile si efectele asigura in mod traditional semantica unei operatii, o adnotare precum cea din exemplul de mai sus poate fi deosebit de utila in cazul descoperii serviciilor.
WSDL-S
Bottom Level Annotation: descriere la nivelul elementelor frunza. In acest caz sunt descrise elementele frunza din cadrul tipului complex. Avantajul acestei abordari consta in simplitatea sa. Abordarea presupune existenta unui concept corespondent pentru fiecare element frunza. In cazul in care nu exista un concept corespondent pentru un anumit element nu se specifica nimic. Dezavantajul consta in presupunerea existentei unei corespondente 1:1 intre elementele schemei si conceptele din cadrul unui domeniu(ontologii). In cazul in care asocierile sunt de tipul 1:n sau n:1 acest mod de descriere poate sa nu fie posibil.
Exemplu:
In acest caz tipul complex are asociat un concept. Avantajul acestei abordari consta in rezolvarea problemei referitoare la asocierile de tip 1:n sau n:1 si posibilitatea asocierii elementelor din cadrul unui tip complex cu anumite concepte semantice.
WSDL-S
Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare Dezavantajul consta in complexitatea acestei abordari. Exemplu:
WSDL-S
Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare gen UDDI. Astfel utilizatorii pot reduce numarul de servicii canditate in functie de acest criteriu. Obiectivul este asigurarea unei clasificari elementare de nivel inalt a serviciilor, lasand la o parte detaliile referitoare la sistemul de grupare a acestor servicii. Exemplu: <wssem:category name= "Electronics" taxonomyURI="http://www.naics.com/" taxonomyCode="443112" />
4 Aplicatii
Integrarea aplicatiilor si a proceselor de business sunt activitati critice pentru organizatiile actuale. In contextul arhitecturii orientate pe servicii aceasta se traduce prin provocarile tehnice referitoare la descoperirea, reutilizarea si compunerea serviciilor. In implementarea arhitecturilor orientate pe servicii, serviciile web reprezinta niste componente esentiale. Pentru descoperirea automata a serviciilor si compunerea rapida a acestora este necesara eliminarea ambiguitatilor referitoare la descrierea serviciilor prin adaugarea unor elemente semantice.
WSDL-S
5 Concluzii
WSDL-S are la baza o abordare simpla si compatibila cu actualul standard WSDL. De asemenea, extensia asigura independenta fata de modelul de reprezentare al semanticii oferind flexibilitate in alegerea modelulul de reprezentare(ontologiei) si posibilitatea asocierii mai multor ontologii. Datorita faptului ca este o extindere a standardului WSDL eforul de modificare al uneltelor de dezvoltare existente este foarte redus.
6 Bibliografie
1. R. Akkiraju, J. Farell , J.A. Miller, M. Nagarajan, A. Sheth, K. Verma Web Service Semantics -WSDL-S 2. World Wide Web Consortium (www.w3.org) Standardul WSDL-S 3. UGA IBM Technical Note 4. Wikipedia (http://en.wikipedia.org) Web Services Description Language 5. http://lsdis.cs.uga.edu/projects/WSDL-S/wsdl-s.pdf WSDL-S
WSDL-S