Balduino Camachi - Tema 9 - AOSTW

2
Deosebiri/asemnri ntre servicii Web de tip WS- * (SOAP) i conforme REST (RESTful Web services) Serviciile REST: REST reprezinta un acronim pentru REpresentational State Transfer, termen utilizat pentru prima oara de catre Roy Fielding in disertatia sa doctorala. REST reprezinta un stil arhitectural a carui implementare este inspirata din serviciile web. In cazul serviciilor web de tip SOAP accentul cade puternic pe stabilirea unui contract intre participanti: documentul WSDL. Clientul, pentru a invoca operatiile puse la dispozitie de server, necesita anumite informatii referitoare la aceste operatii (e.g. numele acestora, tipul de date returnat, tipul parametrilor, URL-ul la care este accesibil server-ul etc.). Dupa cum spuneam, clientul invoca aceste operatii. De remarcat este faptul ca acesta (codul acestuia) poate fi scris in orice limbaj. Acelasi lucru este valabil si pentru server. Spre exemplu, aplicatia ce ruleaza pe server si pune la dispozitie operatiile expuse si descrise de WSDL poate fi scrisa in Java (sau orice alt limbaj). Cu toate acestea, clientii pot fi scrisi in alt limbaj, precum Perl, C#, Python etc. O alta distinctie importanta ce trebuie remarcata intre serviciile de tip SOAP si cele de tip REST se axeaza in jurul standardelor implicate de acestea. Mai precis, in ceea ce priveste serviciile REST, este vorba de lipsa acestora. Spre deosebire de SOAP, supus standardelor World Wide Web Consortium, in ceea ce priveste REST, nu exista un set elaborat de standarde. De asemenea, tot in cazul REST, se remarca o populatie mult mai rarefiata de librarii, toolkit-uri, binary-uri etc, in comparatie cu SOAP, unde se remarca o multime de API- uri (in afara de „traditionalul” JAX-WS, un exemplu ar fi SAAJ, un API similar DOM dedicat crearii, modificarii – adaugarea si stergerea nodurilor etc. – si parsarii mesajelor SOAP intr-o maniera dinamica si transmiterii acestora prin intermediul conexiunilor de tip point-to-

description

tege

Transcript of Balduino Camachi - Tema 9 - AOSTW

Deosebiri/asemanari intre servicii Web de tip WS-* (SOAP) si conforme REST (RESTful Web services)

Serviciile REST: REST reprezinta un acronim pentru REpresentational State Transfer, termen utilizat pentru prima oara de catre Roy Fielding in disertatia sa doctorala. REST reprezinta un stil arhitectural a carui implementare este inspirata din serviciile web.In cazul serviciilor web de tip SOAP accentul cade puternic pe stabilirea unui contract intre participanti: documentul WSDL. Clientul, pentru a invoca operatiile puse la dispozitie de server, necesita anumite informatii referitoare la aceste operatii (e.g. numele acestora, tipul de date returnat, tipul parametrilor, URL-ul la care este accesibil server-ul etc.). Dupa cum spuneam, clientul invoca aceste operatii. De remarcat este faptul ca acesta (codul acestuia) poate fi scris in orice limbaj. Acelasi lucru este valabil si pentru server. Spre exemplu, aplicatia ce ruleaza pe server si pune la dispozitie operatiile expuse si descrise de WSDL poate fi scrisa in Java (sau orice alt limbaj). Cu toate acestea, clientii pot fi scrisi in alt limbaj, precum Perl, C#, Python etc.

O alta distinctie importanta ce trebuie remarcata intre serviciile de tip SOAP si cele de tip REST se axeaza in jurul standardelor implicate de acestea. Mai precis, in ceea ce priveste serviciile REST, este vorba de lipsa acestora. Spre deosebire de SOAP, supus standardelor World Wide Web Consortium, in ceea ce priveste REST, nu exista un set elaborat de standarde. De asemenea, tot in cazul REST, se remarca o populatie mult mai rarefiata de librarii, toolkit-uri, binary-uri etc, in comparatie cu SOAP, unde se remarca o multime de API-uri (in afara de traditionalul JAX-WS, un exemplu ar fi SAAJ, un API similar DOM dedicat crearii, modificarii adaugarea si stergerea nodurilor etc. si parsarii mesajelor SOAP intr-o maniera dinamica si transmiterii acestora prin intermediul conexiunilor de tip point-to-point).De asemenea, SOAP se poate baza pe diferite mecanisme de transfer al datelor (e.g. HTTP, SMTP, JMS etc.). Protocolul de-facto pentru transferul informatiilor in contextul serviciilor REST este HTTP. Resursele in cadrul acestuia sunt identificate printr-un URL iar operatiile ce pot fi efectuate asupra acestora sunt mapate metodelor HTTP (i.e. GET, POST, PUT, DELETE, HEAD).Serviciile REST pot reprezenta, in anumite situatii, alternative la utilizarea serviciilor SOAP. Spre exemplu, cand securitatea, tranzactiabilitatea si complexitatea in general nu reprezinta un requirement. Avantajul acestora consta tocmai in abilitatea de a pune la dispozitie o infrastructura bazata pe simplitatea resurselor.