Sunteți pe pagina 1din 11

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

Aplicatii web

WSDL-S

Davidescu Cristian SAAI !"#!#$$%

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

1 Introducere
1.1 Interoperabilitate. WSDL. WSDL-S.

Interoperabilitatea repre&inta capacitatea aplicatiilor a'late pe plat'orme di'erite( pe sisteme de operare di'erite si pro)ramate in limba*e di'erite de a interschimba in'ormatii! +a este in)reunata de obicei de probleme precum nepotrivirea codarii caracterelor de la o limba la alta( repre&entarea di'erita a unor tipuri standard ,de e-! pe unele plat'orme tipul int este repre&entat pe " biti( pe alte plat'orme pe .# de biti/ etc! Aceste probleme au 'ost re&olvate prin deci&ia de a 'olosi 01L ,e0teded 1ar2ul Lan)ua)e/ pentru transmisia datelor! Dar 01L 'iind un vocabular 'oarte )eneral( s-a hotarat reali&area unei particulari&ari a acestuia re&ultand S3AP ,Simple 3b*ect Acces Protocol/! Acesta doar impune un set de re)uli de 'ormatare a mesa*ului 01L repre&entand in'ormatia transmisa! Un serviciu web trebuie sa 'ie usor de descris si creat pro)rame client! Pentru aceasta problema ridicata de cei ce de&volta pro)rame client ale serviciilor web s-a )asit o solutie care a constat in de&voltarea unui nou subset 01L denumit WSDL prin care( prin elemente prestabilite( sa se in'orme&e clientul asupra structurilor,obiectelor/ 'olosite de serviciu( asupra metodelor e-puse si asupra modului de accesare a acestora ,parametrii( tipul parametrilor( protocoalele de transport admise( stilul si tipul de codare etc!/! Datorita caracterului 'i- pe care il are acest limba* a 'ost posibila reali&area unor utilitare pentru crearea suportului de comunicare ,necesar unui client pentru a invoca un serviciu web/ doar pe ba&a 'isierului WSDL ce descrie serviciul respectiv! De ce este necesara documentarea serviciului4 Deoarece serviciul este o'erit spre u& 5ntre)ii comunitati Internet ,sau unui subset/! +-ista pro)ramatori care vor sa se 'oloseasca de 'unctionalitatea o'erita de serviciul web in cau&a! Dar sarcina lor este 'oarte di'icila 5n ca&ul lipsei documentatiei re'eritoare la inter'ata o'erita de serviciu si la maparile ce trebuie 'olosite pentru a putea transmite corect obiecte si alte in'ormatii! Din aceasta cau&a au luat nastere mai multe limba*e de documentare a unui serviciu web! Unele dintre ele se a-ea&a pe or)ani&area si accesarea serviciilor( altele pe topo)ra'ia unui serviciu web mai comple- iar altele pur si simplu descriu ce 'ace 'iecare metoda si cum ar trebui apelata! Dintre toate aceste limba*e se remarca( datorita 'olosirii sale pe scara lar)a( limba*ul WSDL ,Web Services Description Lan)ua)e/! Submis pentru aprobare de catre IB1( 1icroso't si altii in septembrie #$$$( acest protocol are ca rol descrierea tehnica elementara a inter'etei serviciului! 3 descriere WSDL pre&inta trei proprietati 'undamentale ale unui serviciu web6

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 e!tensie a lim"a#ului WSDL definita prin intermediul $%L Sc&ema si care permite adau'area unor adnotari semantice in cadrul componentelor ce apartin descrierii a"stracte a serviciilor. Utili&area e-plicita a acestor meta-in'ormatii ce au in spate un suport teoretic ,cum sunt ontolo)iile/ va permite ca web-ul sa o'ere servicii de o calitate superioara celor de pina acum!

2 Descrierea limbajului WSDL


Web Services Description Lan)ua)e ,WSDL/ este o )ramatica 01L 'olosita pentru a descrie un serviciu web in termeni de mesa*e pe care le accepta si mesa*e pe care le )enerea&a! Cu alte cuvinte un 'isier WSDL repre&inta un contract intre un consumator de servicii web,client/ si un serviciu web! Intr-un 'isier WSDL sunt o'erite de'initii abstracte ale tipurilor 'olosite in operatii si ale documentelor transmise in 'iecare operatie! Apoi sunt asociate aceste de'initii cu un protocol de retea si sunt )rupate in mesa*e care de'inesc un element endpoint! WSDL poate descrie elemente endpointuri si operatiile lor 'ara sa speci'ice 'ormatul mesa*elor sau protocoalele de retea de care este le)at,bound/ elementul endpoint!

2.1 Structura unui document WSDL


Un document WSDL este o lista de de'initii! Intr-un document WSDL elementul radacina se numeste definitions! Acest element contine 7 'ii imediati 'olositi pentru a de'ini un serviciu web! Urmatoarele 7 elemente apar in cadrul elementului de'initions( intr-un 'isier WSDL in ordinea speci'icata6 8 Types +lementul 9t:pes; de'ineste tipurile de date care sunt utli&ate de serviciu pentru schimbul de mesa*e! Acest lucru inseamna in principal de'inirea tipurilor 'olosind 01L Shema De'inition Lan)ua)e ,0SD/! 8 Message Ina'ara de de'inirea tipurilor de date care sunt transmise inainte si inapoi in timpul invocarii unei metode web( trebuie de asemenea de'inite mesa*ele de cerere si de raspuns! Deoarece mesa*ele sunt independente de protocol( se poate 'olosi WSDL-S (

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare un mesa* cu <==P->+=( <==P-P3S=( S3AP( sau orice alt protocol pe care un o'ertant de servicii web il suporta! Daca se 'oloseste S3AP( elementul 9messa)e; corespunde incarcaturii utile a unui mesa* S3AP de cerere sau de raspuns! Acesta nu include elementele S3AP 9+nvelope; si 9Fault;! 1esa*ele pot avea orice nume pentru ca WSDL nu de'ineste o conventie de denumire pentru mesa*e! Un element 9messa)e; contine $ sau mai multi 'ii 9part;! Un mesa* de cerere contine toti parametrii in si inout! Un mesa* de raspuns contine toti parametrii out si inout! Fiecare element 9part; trebuie sa aiba un nume si un tip de data care se poate potrivi cu tipurile de date care sunt 'olosite in implementarea serviciului! Port Type Un o'ertant de servicii web ,un nod din retea care este server web/ poate e-pune mai multe servicii web! Un sin)ur serviciu web poate suporta invocarea metodelor sale 'olosind o varietate de protocoale! Formatul datelor schimbate intre client si serviciul web poate depinde depinde de protocolul 'olosit pentru a invoca o metoda! De aceea trebuie sa e-iste o cale de a asocia operatiile cu endpointurile de unde acestea pot 'i accesate! Acest tip de asociere se poate reali&a 'olosind elementul port=:pe! 8 Binding Dupa de'inirea portului lo)ic,port=:pe/( in continuare se de'ineste cum poate un consumator al serviciului web sa se le)e la portul pe care este disponibila operatia >etAccount! Acest lucru implica asocierea unei operatii cu un protocol si asi)urarea oricarei in'ormatii de le)atura speci'ice protocolului! De e-emplu( un element bindin) poate mapa un port t:pe la o inter'ata speci'ica S3AP ?PC utili&and <==P ca protocol de transport si sistemul de codare a datelor S3AP! Pentru a 'ace asta se 'oloseste elementul 9bindin);! 8 Service La s'arsitul 'isierului WSDL se de'inesc endpointurile pentru 'iecare dintre protocoalele care se pot 'olosi pentru a accesa un serviciu web! Pentru a de'ini endpointurile se 'oloseste elementul 9service;!

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

2.2 Servicii si tipuri de servicii


+lementele 9t:pe;( 9messa)e;( 9port=:pe; de'inesc un serviciu intr-un mod abstract! 3 descriere WSDL ce contine doar aceste elemente in consecinta descrie un tip de serviciu! +lementul 9bindin); mapea&a tipul serviciului la un protocol speci'ic! +lementul 9service; mapea&a tipul serviciului si le)atura la o instanta speci'ica a serviciului! +lementele 9bindin); si 9service; pot 'i intretinute intr-un document WSDL separat pentru a 'urni&a o mai mare 'le-ibilitate si reutili&are!

3 WSDL-S
3.1 Principii de proiectare
Ideea de la care s-a plecat a 'ost adau)area unor caracteristici semantice serviciilor web care sa reduca ambi)uitatile in ceea ce priveste descrierea elementelor componente si sa permita automati&area unor procese precum descoperirea( apelarea si compunerea serviciilor! +-tensia WSDL-S este construita peste standardul WSDL si permite adnotarea serviciilor Web prin intermediul unor elemente si atribute suplimentare6 adnotari re'eritoare la tipul mesa*elor ,model?e'erence(schema1appin)/ si adnotari re'eritoare la operatii ,model?e'erence( cate)or:( precondition(e''ect/! De WSDL-S *

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare asemenea( trebuie sa asi)ure un mecanism independent de modelul,limba*ul/ de repre&entare al semanticii si sa permita asocierea de adnotari multiple scrise in di'erite limba*e de repre&entare a semanticii! WSDL-S permite adnotari semantice pentru serviciile Web ale caror tipuri de date sunt descrie prin 01L Schema si asi)ura suportul pentru maparea tipurilor de'inite si ontolo)ii!

3.2 Extensii WSDL-S


La nivel conceptual( limba*ul WSDL #!$ pre&inta urmatoarele constructii pentru descrierea serviciilor Web6 inter'ace( operation( messa)e( bindin)( service si endpoint! Dintre acestea( primele trei tin de de'inirea abstracta a serviciului( pe cand ultimele trei tin de implementarea serviciului! In cadrul e-tensiei WSDL-S accentul s-a pus pe adnotarea elementelor care tin de de'inirea abstracta a serviciilor pentru a 'acilita descoperirea dinamica( compunerea si utili&area acestora! +-tensiile si atributele puse la dispo&itie sunt urmatoarele6 modelReference Acest element speci'ica asocierea intre o entitate WSDL si un concept din cadrul unui model semantic! +l poate 'i adau)at unui tip comple-( element sau operatie! schemaMapping Aceasta e-tensie poate 'i adau)ata elementelor 0SD si tipurilor comple-e pentru re&olvarea di'erentelor structurale dintre elementele din schema serviciului web si conceptele lor corespondente din cadrul modelului semantic! 8 precondition si effect Acestea sunt pot 'i elemente 'iu ale elementului operation. Acestea sunt utili&ate in primul rand pentru descoperirea serviciilor web si nu trebuie sa invoce in mod obli)atoriu un serviciu! Adnotarea precondition descrie un set de conditii care trebuiesc satis'acute inainte de invocarea unei operatii a serviciului Web! +lementul e''ect de'inieste starea dupa invocarea unei anumite operatii! category Acesta este un atribut speci'ic elementului interface si este utili&at pentru a incadra serviciile in anumite cate)orii care vor 'i publicate intr-un re)istru de servicii web( cum este de e-emplu UDDI!

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

3.2.1 dnotarea elementului operation


Aceasta presupune adau)area atributului modelReference in cadrul elementelor operation si are ca scop asocierea operatiei cu un anumit concept din cadrul unei ontolo)ii( 'urni&and ast'el o descriere de nivel inalt a operatiei respective! +-emplu ,W.!or)/6

Desi intrarile(iesirile(preconditiile si e'ectele asi)ura in mod traditional semantica unei operatii( o adnotare precum cea din e-emplul de mai sus poate 'i deosebit de utila in ca&ul descoperii serviciilor!

3.2.2 dnotarea elementelor input si output


In continuare vom descrie cum putem adnota aceste elemente! @om considera un input de tip comple- si un output de tip simplu! Adnotarea tipurilor simple are la ba&a e-tensibilitatea -sd6element! De'initia unui element din cadrul 01L Schema speci'ica 'aptul ca el poate 'i e-tins prin intermediul unor atribute apartinand unui namespace e-terior schemei! +-emplu ,W.!or)/

Schema in care se )asesc de'initiile mesa*elor input si output este urmatoarea6

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

Descrierea elementelor de tip comple- se poate reali&a in mai multe moduri6

Bottom Level nnotation6 descriere la nivelul elementelor 'run&a! In acest ca& sunt descrise elementele 'run&a din cadrul tipului comple-! Avanta*ul acestei abordari consta in simplitatea sa! Abordarea presupune e-istenta unui concept corespondent pentru 'iecare element 'run&a! In ca&ul in care nu e-ista un concept corespondent pentru un anumit element nu se speci'ica nimic! De&avanta*ul consta in presupunerea e-istentei unei corespondente "6" intre elementele schemei si conceptele din cadrul unui domeniu,ontolo)ii/! In ca&ul in care asocierile sunt de tipul "6n sau n6" acest mod de descriere poate sa nu 'ie posibil!

+-emplu6

Top Level nnotation6 descriere la nivelul tipurilor comple-e

In acest ca& tipul comple- are asociat un concept! Avanta*ul acestei abordari consta in re&olvarea problemei re'eritoare la asocierile de tip "6n sau n6" si posibilitatea asocierii elementelor din cadrul unui tip comple- cu anumite concepte semantice!

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare De&avanta*ul consta in comple-itatea acestei abordari! +-emplu6

3.2.3 Preconditii si e!ecte


3 preconditie de'ineste un set de conditii care trebuiesc satis'acute inainte de invocarea unei anumite operatii! +le pot speci'ica anumite cerinte care trebuiesc indeplinite sau anumite restrictii si se de'inesc ca elemente 'iu ale operatiei asupra careia actionea&a! +'ectele de'inesc re&ultatul invocarii unei anumite operatii! +le pot 'i asociate si cu erori! Din dorinta de a pastra speci'icatia cat mai simpla( 'iecare operatie poate avea cel mult o preconditie si un e'ect! +-emplu6

3.2." #ruparea serviciilor


1otivul introducerii acestor descrieri este posibilitatea de descoperire dinamica a serviciilor! Acest luru este posibil in momentul in care serviciile sunt publicate( catalo)ate si descrise din punct de vedere semantic! 1ecanismul asi)ura )ruparea serviciilor in vederea publicarii acestora in anumite re)istre de servicii

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare )en UDDI! Ast'el utili&atorii pot reduce numarul de servicii canditate in 'unctie de acest criteriu! 3biectivul este asi)urarea unei clasi'icari elementare de nivel inalt a serviciilor( lasand la o parte detaliile re'eritoare la sistemul de )rupare a acestor servicii! +-emplu6 !"ssem#category name$ %&lectronics% ta'onomy(RI$%http#))""".naics.com)% ta'onomy*ode$%++,--.% )/

"

plicatii

Inte)rarea aplicatiilor si a proceselor de business sunt activitati critice pentru or)ani&atiile actuale! In conte-tul arhitecturii orientate pe servicii aceasta se traduce prin provocarile tehnice re'eritoare la descoperirea( reutili&area si compunerea serviciilor! In implementarea arhitecturilor orientate pe servicii( serviciile web repre&inta niste componente esentiale! Pentru descoperirea automata a serviciilor si compunerea rapida a acestora este necesara eliminarea ambi)uitatilor re'eritoare la descrierea serviciilor prin adau)area unor elemente semantice!

WSDL-S

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

$ %onclu&ii
WSDL-S are la ba&a o abordare simpla si compatibila cu actualul standard WSDL! De asemenea( e-tensia asi)ura independenta 'ata de modelul de repre&entare al semanticii o'erind 'le-ibilitate in ale)erea modelulul de repre&entare,ontolo)iei/ si posibilitatea asocierii mai multor ontolo)ii! Datorita 'aptului ca este o e-tindere a standardului WSDL e'orul de modi'icare al uneltelor de de&voltare e-istente este 'oarte redus!

' (iblio)ra!ie
"! ?! A22ira*u( A! Farell ( A!A! 1iller( 1! Ba)ara*an( A! Sheth( C! @erma D Web Service Semantics -WSDL-S #! World Wide Web Consortium ,www!w.!or)/ D Standardul WSDL-S .! U>A IB1 D =echnical Bote E! Wi2ipedia ,http6FFen!wi2ipedia!or)/ D Web Services Description Lan)ua)e 7! http6FFlsdis!cs!u)a!eduFpro*ectsFWSDL-SFwsdl-s!pd' D WSDL-S

WSDL-S

S-ar putea să vă placă și