XML Web Services for Business Software

Embed Size (px)

Citation preview

Folosirea Serviciilor Web XML in Business SoftwareServicii Web aspecte teoretice si arhitectura:Introducere in WebServices : XML Web Services apartin unei categorii de componente software care asigura functionalitate in cadrul unui network. Ele sunt blocurile fundamentale construite spre a obtine distributie computationala in cadrul internetului. Definitia XML Web Service-urilor poate fi descrisa prin urmatoarele caracteristici : Interactiunea cu XML Web Services este de obicei realizata folosind protocoale standard de internet. Aceasta include standarde internet bine stabilite cum ar fi Transmission Control Protocol/Internet Protocol (TCP/IP) si Extensible Markup Language(XML), dar de asemenea include noi standarde dezvoltate spre utilizarea lor cu XML Web Services cum ar fi Simple Object Access Protocol(SOAP), Web Services Description Language(WSDL) si Universal Discovery Description and Integration(UDDI). Un XML Web Service este rareori o aplicatie completa ci in mod frecvent reprezinta o componenta functionala a unei solutii mult mai vaste. Astfel, XML Web Services sunt in primul rand orientate spre interactiunea program-program. XML Web Services exprima functionalitate prin intermediul unor interfete bine definite. Acestea nu sunt interfete utilizator, cum ar fi cele de pe pagini Web sau applicati Window, ci interfete programate definite folosind un limbaj standard de descriere a interfetei cum ar fi WSDL(Web Services Description Language). XML Web Services sunt inserate intr-un director care poate fi privat sau public (depinde de natura Web Service-ului si de vizibilitatea sa spre audienta). Procesul de inregistrare si gasire a XML Web Service-ului in cadrul directorului este definit de standardul UDDI(Universal Discovery Description and Integration). XML Web Services folosesc XML-based messaging pentru a trimite respective primi date care permit aplicatiilor sa interopereze. Se pot folosi XML Web Services spre a integra aplicatii scrise in diferite limbaje de programare lansate (desfasurate) pe diferite platforme. Astfel, se pot desfasura XML Web Service-uri in cadrul unui Intranet la fe de bine ca sip e Internet. In timp ce Internetul adduce utilizatorii mai aproape de organizatii, XML Web Services permit organizatiilor sa-si integreze aplicatiile. Cea mai importanta caracteristica a XML Web Services este ca clientul nu trebuie sa stie limbajul in care serviciile sunt implementate. Acesta trebuie doar sa cunoasca locatia serviciului si metodele pe care le poate invoca prin intermediul acestuia. Standarde Web: Transmission Control Protocol(TCP) si Internet Protocol(IP) au fost dezvoltate la inceput pentru a conecta network-uri diferite de diferiti designeri in cadrul unui network de network-uri. In final acest network de network-uri a ajuns sa fie cunoscut ca si Internetul in sine. Web-ul este o retea de network-uri alcatuite din documente hypertext. Astfel au luat nastere 2 tehnologii revolutionare : HTML si HTTP. 1

Folosind HTTP, se invinge una din obstacolele majore in interoperarea obiectelor distributive, in special lipsa unui protocol omnipresent si care sa fie de incredere. Aparitia unui nou tip de aplicatii distributive construite in jurul unui browser Web este inevitabila. Dar aplicatile Web nu sunt folosite ca niste aplicatii distributive pe componente. In plus, URL encoding si HTML nu sunt flexibile sau destul de puternice pentru toate tipurile de date de care era nevoie. XML un format de date universal : Developerii au realizat in scurt timp ca desi HTML permitea un document pentru definirea structurala, nu detinea nici un mod de definirii a structurii datelor sau a relatiilor dintre date in cadrul documentului. In 1996 aceasta limitare a condos la nasterea unui limbaj care sa marcheze structura datelor in document. Acest limbaj e cunoscut sub numele de Extensible Markup Language (XML). XML a inceput incet sa castige teren in industrie, ca si un mod intelept de reprezentare a formatului datelor. De fapt, nu a durat mult pana cand XML 1.0 sa devina W3C Reccomendation in 1998. In scurt timp industria si-a concentrate atentia asupra serviciilor aditionale cum ar fi: DOM, XPath, XSLT, XML Schema, SOAP, WSDL si Universal Description, Discovery and Integration (UDDI). Developerii au realizat imediat ca intreaga suita de tehnologii ofera o solutie robusta deficientelor aplicatiilor Web. Problemele cu obiectele model existente pentru aplicatiile distributive au fortat developerii sa caute alternative. Prin adoptarea standardelor Web, este firesc ca solutiile bazate pe standarde Web sa fie considerate baza pentru serviciile web: HTTP, XML si SOAP. Dezvoltarea acestor tehnologii este guvernata de Word Wide Web Consortium. Arhitectura Web Service: Serviciile orientate architectural sunt ideale pentru implementarea de aplicatii dinamice si distributive. In sectiunea urmatoare se va analiza mai intai arhitectura Web Service, apoi se va descrie maparea intre elementele arhitecturii Web Service si elementele serviciilor orientate architectural. In final, se va prezenta o demonstratie a unui exemplu de serviciu web, specificand componentele arhitecturii solutiei. Serviciu orientat architectural: In zilele noastre, cele mai multe systeme de business si aplicatiile sunt compuse din mai multe aplicatii si subsisteme cuplate. Cand aplicatia si subsistemele sunt in stransa legatura, orice schimbare a unui subsistem poate cauza deteriorarea componentelor dependente de acesta. Un serviciu orientat architectural este format din 3 componente fundamentale: un furnizor de servicii (service provider), un serviciu de consum (service consumer) si un servciciu broker. O diagrama a unui astfel de serviciu este aratata mai jos:

2

Fig. 1 Service-Oriented Architecture Cele 3 servicii orientate architectural interactioneaza pentru a realize 3 operatii de baza: 1. publicarea serviciilor furnizorii de servicii publica serviciile lor unui serviciu broker. Informatia puplicata include definitia interfetei serviciului, locatia furnizorilor de servicii si posibil alte informatii si documentatii support. 2. gasirea serviciilor consumatorii serviciilor gasesc serviciile cerute/dorite folosind un serviciu broker. 3. legatura cu aceste servicii(conectarea la servicii) consumatorii de servicii se conecteaza la anumite servicii furnizate de furnizorii de servicii. Procesul de conectare la acestea implica autentificarea consumatorului. Ambele, atat gasirea cat si legatura la servicii se pot face dynamic pentru a permite aplicatiilor sa fie configurate dynamic. Web Services vazute ca si implementarea unui serviciu orientat architectural: In cadrul unei solutii bazate pe Web Service, cele 3 noduri network definite pentru un serviciu orientat architectural corespund elementelor unei solutii web service. Asa cum am vazut inainte, cele 3 elemente de baza in cadrul unui serviciu orientat architectural sunt: Furnizorul de servicii un nod network care gazduieste un serviciu web Consumatorul serviciului web un nod network care gazduieste orice client care poate comunica folosind Hypertext Transfer Protocol (HTTP). Clientii reprezinta browsere, aplicatii consola si traditionalele aplicatii GUI (Graphical User Interface). Serviciul web broker un nod network care incapsuleaza serviciile web disponibile (un fel de carte de adrese).

3

Toate aceste noduri ar trebui sa fie capabile sa comunice una cu cealalta prin intermediul unui Transmission Control Protocol/Internet Protocol(TCP/IP). Diagrama de mai jos arata relatiile dintre elementele unei arhitecturi Web service si modul lor de comunicare.

Fig. 2 Comunicarea Cand un client acceseaza un serviciu UDDI pentru a localiza un XML Web Service, serviciul UDDI returneaza un URL spre documentul discovery al serviciului XML Web. Ce este acest document discovery? El reprezinta un fisier cu extensia .disco care contine link-uri spre resursele ce detin descrieri ale servicciului XML Web. Dup ace clientul primeste URL-ul spre documentul respective, acesta cere un server care sa ii returneze fisierul discovery. Continutul unui astfel de document este arata in codul urmator:

4

Fig.3 Electronic funds transfer Web Service

Standarde si protocoale XML Web Services :Desi XML Web Services sunt o noua tehnologie, ele se folosesc de diverse protocoale si standarde. In urmatoarele randuri se vor furniza tehnologiile care formeaza baza unui XML Web Sevice. Infrastructura unui XML Web Service: Unul dintre cele mai importante caracteristici ale acestui tip de serviciu este modelarea computationala atat clientii cat si serviciile web XML nu cunosc detaliile de implementare unul celuilalt. Infrastructura XML WebService-ului detine diferite componente care permit aplicatiilor clientilor localizarea si folosirea serviciului. Aceste componente include urmatoarele lucruri: Directoarele XML Web Services: aceste directoare furnizeaza un loc central unde stocheaza informatia publicata despre XML Web Service. Aceste directoare pot fi de asemenea servicii XML Web Service care ne permit cautarea informatiei despre alte service Web XML. Specificatiile UDDI definesc ghidul de publicare a informatiilor despre XML Web Services. XML Schema asociata cu UDDI definesc 4 tipuri de informatii care trebuie publicate pentru a face serviciul accesibil. Aceasta informatie cuprinde informatii business, informatii despre servicii, informatii despre cum se face legatura si specificatiile servciciului. Microsoft furnizeaza un astfel de serviciu de directoare localizat la adresa http://uddi.microsoft.com. XML Web Services discovery : folosind acest process, clientii localizeaza documentul care descrie serviciul Web XML folosind WSDL. Procesul de discovery permite clientilor cunoasterea existentei unui serviciu Web XML si localizarea unui serviciu web particular. Descrierea serviciilor XML Web: aceasta componenta furnizeaza informatii care permit cunoasterea operatiilor care se pot face cu respectivul serviciu. Descrierea unui serviciu Web XML este un document XML care specifica formatul de mesaje pe care un serviciu Web XML le poate intelege. De exemplu documentul de descriere cuprinde mesajele SOAP folosite cand se invoca serviciul. Formate XML Web Service wire: pentru a permite comunicarea intre sisteme separate, XML Web Services folosesc formate wire deschise. Acestea sunt protocoale care sunt cunoscute de orice system capabil sa suporte standarde web cum ar fi HTTP si SOAP. Urmatoarea imagine arata cum componentele infrastructurii unui serviciu Web XML permit clientilor localizarea si aplicarea metodelor de invocare asupra serviciilor Web XML:

5

Fig. 4 Infrastructura unui serviciu Web XML Principii de design ale unui serviciu Web XML: Arhitectura globala a unui serviciu Web XML se construieste pe baza specificatiilor Web XML: XML, SOAP, WSDL si UDDI existente azi. Arhitectura este aratata in graficul de mai jos si fiecare componenta e discutata ulterior:Discovery UDDI, DISCO

Description WSDL

Messaging SOAP

Encoding XML

Transport HTTP

Fig. 5 Web Services Protocols Stack Arhitectura globala a unui serviciu Web XML se bazeaza pe 4 principii: o Modular : in locul unei specificatii largi care sa ofere functionalitatea totala, aceasta arhitectura este construita pe

6

componente modulare. Acestea pot fi compuse in solutii care ofera exact setul de caracteristici cerute de problema de la momentul respective, neoferind informatii nefolositoare. o Are un scop general: arhitectura serviciilor Web XML este conceputa astfel incat sa ofere scenario pentru o gama larga de servicii XML Web, de la solutii B2B si EAI la aplicatii peer-topeer si servicii B2C. Fiecare modul este exprimat uniform sin u individual sau in combinatie cu altele si este independent de orice domeniu al aplicatiei. o Asociata: arhitectura XML Web Service nu necesita servere centrale.Ea permite comuicarea intre frontiere si entitati autonome. Nici modulele si nici protocoalele nu fac nici o prezumtie asupra tehnologiei de implementare la mesajele endpoint. Orice tehnologoe poate fi folosita. o Standarde de baza: arhitectura XML Web Service este construita total pe baza specificatiilor Web XML: SOAP, WSDL,si UDDI. In viitor, Microsoft lucreaza cu parteneri din industrie pentru a standardize viitoare specificatii pentru serviciile critice XML Web interoperabile.

Tehnologii Web Services :In urmatoarele randuri se vor descrie infrastructura protoceoaleleor care defineste arhitectura serviciilor Web si care presupune multe tehnologii. Figura de mai jos furnizeaza o ilustrare a unor familii de astfel de tehnologii.

Fig. 6 Arhitectura Web Services Apoi se vor descrie unele din tehnologiile care par critice si rolul lor in arhitectura XML Web Service.

7

Serviciile Web se bzeaza pe XML-data model, pe SOAP pentru mesajele procesate si dta-model si WS-Addressing pentru localizarea serviciilor si identificarea mesajelor independente de transport. XML: Pentru a permite systemelor distincte sa comunice intre ele, este nevoie de un standard care sa fie inteles de toate systemele. Tocmai de aceea, alegerea facuta, de altfel naturala, pentru acest standard este bazata pe text. Deoarece majoritatea systemelor inteleg date textuale, XML este preferatul in comunicari. Astfel se rezolva o cerere cheie in cadrul tehnologiei, cerere care apare in multe locuri. Oferind un standard si un format flexibil, XML reduce semnificativ povara lansarii atator tehnologii necesare pentru succesul unui serviciu Web. Aspectele importante ale unui XML, in scopul acestei arhitecturi, sunt sintaxa in sine, conceptele unui XML si schemele acestuia(XML Schema). Un XML bine format contine un tag de sfarsit pentru fiecare tag inceput. content Orice document XML poate avea asociat un document (DTD) sau o XML Schema care descriu relatiile dintre datele cuprinse in documentul XML. DTD defineste gramatica unei clase, avand o sintaxa diferita de sintaxa XML-ului. Pe de alta parte, XML Schema este un document XML ce defineste elementele si atributele unui document XML si poate contine informatii tip. XML DOM (XML Document Object Model): Clasa XML DOM este o reprezentare in memorie a fisierului XML. Aceasta permite citirea, scrierea si manipularea unui document XML. Exista clase care permit navigarea printr-un document XML cu scopul obtinerii de informatii relevante.. Orice XML contine noduri parinti respectiv copii. XML DOM contine diferite tipuri de noduri. Cele mai comune sunt: , , , , . XML InfoSet este un set de fisiere de informatii, proprietatile lor asiciate comprimand o descriere abstracta a unui document XML. Serializarea definitiilor unui XML InfoSet poate fi exprimata folosind XML 1.0. Flexibilitatea in alegerea formatelor de serializare permit interoperabilitatea intre agentii de system. In viitor, o codare binara a XML InfoSet-ului poate fi o inlocuire potrivita pentru serializarea textuala. Un astfel de cod binar ar putea fi mai eficient pentru interactiuni de la o masina la alta. XML Schema face posibila descrierea tipului si structurii unui docment XML. Servesc ca si documentatie oficiala pentru un set de mesaje XML. Structura documentelor XML este bazata pe reguli cunoscute si sub numele de gramatica. Aceste reguli sunt specificate in cadrul XML Schema (XSD file). Un fisier XSD contine definitiile elementelor, atributelor si tipurilor de date. Orice document XML poate fi supus unei validari cu un astfel de fisier XSD. Dupa cum s-a mai amintit anterior, XML Schema permite descrierea exacta a structurii de elemente, asemanator cu DTD plus inca ceva. Acea informatie aditionala poate fi folosita de procesoare pentru validarea structurala. XML Schema reprezinta o mare reusita pentru platforma serviciilor Web. Cum developerii au construit servicii Web folosind XML Schema, urmatoarea provocare pentru ei ar fi extensibilitatea. De exemplu, se doreste includerea de securitate speciala asupra cererii sau influentarea traseului cu ceva informatii extra. Adaugand o astfel de informatie in mesaje, acest lucru presupune updatarea schemei sau modificarea tipurilor

8

originale de definitii sau chiar definirea de noi tipuri extinse care sa adauge noua informatie. Mesajele XML: Anumite protocoale de comunicare, cum ar fi HTTP si SMTP, sunt extensibile prin intermediul folosirii header-urilor. In cazul HTTP, header-ele vin imediat dupa linia de comanda si continua pana deasupra de body. Daca Web Services ar fi fost folosite doar cu HTTP, s-ar fi putut pune baza doar pe mecanismul de extensibilitate HTTP si definirea de noi header-e pentru ce ar mai trebui in plus. Dar cum se doreste folosirea serviciilor Web si cu alte protocoale, este necesara o solutie mai generica care sa nu fie legata da un protocol network particulat. SOAP(Simple Access Protocol): SOAP furnizeaza un framework extensibil si standard pentru impachetarea si schimbul de mesaje XML. El a fost adoptat ca fiind mecanismul favorit folosit in trimiterea de mesaje de la clienti la serviciile Web XML. Mesajele include cereri de la clienti care instruiesc serviciul Web pentru realizarea unui task respectiv raspunsuri de la serviciu care sa detaileze rezultatele. Bine-nteles SOAP se bazeaza pe XML ca si multe alte standarde si protocoale care fac parte din serviciile Web. SOAP nu este legat de nici un limbaj de programare sau system de operare particulare. In zilele noastre, definitia oficiala este : SOAP este un protocol realizat pentru schimbul de informatie structurata intr-un mediiu decentralizat si distributiv. Foloseste tehnologii XML pentru a defini un framework extensibil de mesaje, framework care a fost conceput astfel incat sa fie independent de orice model particular de programare si alte implementari specifice de semantica. SOAP detine un mecanism simplu de schimb de informatie structurala intre membrii, in cadrul unui mediu decentralizat si distributiv, folosind XML. El defineste practic o cale de a muta mesaje de la un punct A la un punct B, furnizand un framework de mesaje. Simplitatea ramane una din scopurile primare de design a SOAP. Defineste un framework de comunicare care oermit ca securitatea, reabilitarea etc sa fie adaugate asemenea unor extensii stratificate. Microsoft, IBM si altele lucreaza la astfel de extensii SOAP care vor adauga multe din aceste caracteristici pe care toti developerii le asteapta. SOAP poate fi folosit cu orice protocol de transport cum ar fi TCP, HTTP, SMTP sau chiar MSMQ. Un mesaj SOAP este un document XML de informatii care contine 3 elemente: , , si . Envelope este elementul radacina care contine un element Header (optional) si un element Body (mandatory, obligatoriu). Elementul Header este un mecanism generic de adaugare de caracteristici unui mesaj SOAP intr-o maniera decentralizata. Fiecare element copil a lui Header este numit un bloc header, iar SOAP defineste mai multe atribute bine-cunoscute care indica roluri (cine trebuie sa se ocupe de fiecare bloc header) indicand daca procesarea este sau nu obligatorie (mustUnderstand). Mesajele SOAP sunt transmise intr-o singura directie, de la sender (expeditor) la receiver (destinatar). Mai multe astfel de mesaje cu o singura directie pot fi combinate intr-un sablon mai sofisticat. De exemplu un sablon cunoascut este o pereche sincron cerere/raspuns de mesaje. Figura de mai jos ilustreaza un mesaj simplu unidirectonal unde expeditorul nu primeste nici un raspuns:

9

Fig. 7 Sablon de schimb de mesaje receiver/sender Orice agent software care trimite sau primeste mesaje este numit nod SOAP. Nodul poate fi un expeditor original, un destinatar sau un intermediary. Colectia de noduri intermediare traversate de mesaj pana la destinatar poarta numele de calea mesajului (message path). Protocolul legaturilor (Protocol Bindings): SOAP permite schimbul de mesaje pentru o varietate de protocoale. Cum framework-ul de mesaje SOAP este independent de protocol, fiecare intermediary poate allege un protocol de comuniare diferit fara a afecta mesajul SOAP. Sunt necesare standardele de legatura catre protocol pentru a asigura interoperabilitate high level in cadrul aplicatiilor si infrastructurii SOAP. O legare la protocol defineste exact cum mesajele SOAP ar trebui transmise prin protocolul dat.Cu alte cuvinte, defineste detalii despre cum SOAP se potriveste in cadrul unui alt protocol care cel ami probabil are un framework de mesaje propriu impreuna cu o varietate de headere. Legatura cu protocolul HTTP defineste regulile folosind SOAP cu HTTP. Cererea/raspunsul se mapeaza in mod natural modelului HTTP de cerere/raspuns.

Fig.9 SOAP- HTTP binding In concluzie, SOAP defineste un framework extensibil si simplu de mesaje XML care poate fi folosit cu protocoale multiple a diferitelor metode de programare desi

10

specificatia codifica cum se foloseste SOAP cu HTTP si RPC. De asemenea SOAP defineste un model complet de procesare care reda procesarea mesajelor pe parcursul drumului lor. WSDL (Service Description): Arhitectura serviciilor Web XML defineste un mechanism standard spre a face resursele disponibile prin intermediul mesajelor XML. Aceasta arhitectura face posibila, pentru orice consummator cu support XML, integrarea acestuia cu aplicatiile serviciilor web. Totusi, pentru a realiza acest lucru, consumatorii trebuie sa determine interfata XML impreuna cu diverse detalii de mesaje. XML Schema poate partial sa umple aceasta nevoie deoarece permit developerilor sa descrie structura mesajelor XML. Un schimb de mesaje defineste o operatie. Consumatorii sunt cei interesati de aceste operatii din moment ce prin intermediul lor ei pot interactiona cu serviciul web. In mod obisnuit developerii grupeaza operatiile commune in cadrul interfetelor. Consumatorii trebuie sa cunoasca aceste grupuri deoarece ele au impact asupra modului in care ei scriu codul. Consumatorul trebuie e asemenea sa ia la cunostinta protocoalele de comunicare pe care le pot folosi pentru a trimite mesaje unui serviciu, respective mecanismele specifice unui protocol anume, folosirea comenzilor, header-urilor si a codurilor de eroare. Un serviciu poate suporta legaturi multimple pentru o interfata data, dar fiecare legatura trebuie sa fie accesibila la o adresa unica printr-un URL.

Fig. 10 Interfaces and bindings

11

Consumatorii trebuie deci sa descopere toate lucrurile descries mai sus inainte de a interactiona cu un serviciu Web. WSDL (Web Services Description Language) se pozitioneaza in XML Schema acolo unde a ramas la un moment dat, spre a grupa mesajele in operatii si operatiile in interfete. De asemenea furnizeaza o cale de definire a legaturilor pentru fiecare combinatie interfata/protocol impreuna cu endpoint-urile de adrese. WSDL joaca ub rol important in arhitectura serviciilor web, ele descriind contractul complet pentru aplicarea comunicarii. Developerii pot utilize definitiile WSDL pentru generarea de cod care sa stie prcis cum sa interactioneze cu serviciul Web pe care il descriu. De exemplu Microsoft .NET vine cu un utilitar de linii de comenzi numit wsdl.exe care genereaza clase din definitiie WSDL. O definitie WSDL este un document XML cu un element radacina de definitie din http://schemas.xmlsoap.org/wsdl/. Elementele de definitie pot ingloba mai multe alte elemente incluzand types, message, portType, binding si service. Structura de baza a unei definitii WSDL ar fi: ... ... ... ... ...

Primele 3 elemente (types, message si portType) sunt definitii abstracte din interfata serviciului Web. Ultimele 2 ekemente (binding si service) ofera detalii complete despre cum interfata adstracta se mapeaza cu mesajele. Aceste detalii sunt manipulate de infrastructura fundamentala sin u de codul aplicatiei.

Comunicarea intre client si XML Web Services:Acest process este similar unei chemari de procedura remote (RPC). Clientul foloseste un proxy al serviciului XML Web pe computerul sau local cu scopul de a invoca metodele oferite de XML Web Service.

12

Fig. 11 Comunicarea Asa cum se vede in figura, interactiunea dintre un client si un serviciu XML Web este formata din mai multe faze: 1. Clientul creaza un obiect proxy al serviciului XML Web pe computerul sau local pe care lucreaza; 2. Clientul invoca o metoda cu obiectul proxy instantiate; 3. Infrastructura serviciului XML Web Service din systemul clientului serializeaza invocarea metodei si trimite argumente intr-un mesaj SOAP, trimitand mesajul mai departe serviciului XML Web Service prin intermediul network-ului; 4. Infrastructura serverului unde e localizat serviciul XML Web deserializeaza mesajul SOAP si creaza o instanta a servciciului Web XML. Infrastructura invoca atunci metodele cu argumentele de pe serviciul Web XML; 5. Serviciul XML Web executa metodele si returneaza infrastructurii o valoare cu parametrii de iesire; 6. Infrastructura serializeaza valoarea returnata si parametrii de iesire intr-un mesaj SOAP si il trimite clientului prin intermediul network-ului; 7. Infrastructura de pe computerul clientului deserializeaza mesajul SOAP care contine valoarea returnata si eventualii parametrii de iesire si le trimite obiectului proxy; 8. Obiectul proxy trimite valoarea returnata se=I eventualii parametrii de iesire clientului. 13

Un proxy este adezivul (lipiciul) intre serviciul Web XML si limbajul de programare. Permite programatorului sa se foloseasca de serviciu rapid si usor. Un proxy este o clasa care expune functionalitatea unui serviciu XML Web prin intermediul metodelor. Fara un proxy, programatorul ar trebui sa faca fata tuturor interactiunilor cu serviciul Web in mod manual, respective folosind WSDL ca o referinta la operatiile existente. Acest lucru ar presupune ca fiecare mesaj SOAP trimis la server sa fie mestesugit manual si fiecare raspuns sa fie parsat pentru date si erori.

In ciuda imaturitatii modelului XML Web Service, un numar mare de companii la-u integrat in aplicatiile lor pentru a extinde activitatea lor de afaceri tuturor partenerilor si consumatorilor.

14