Integrarea Aplicatiilor Prin Sercicii

  • View
    219

  • Download
    0

Embed Size (px)

Text of Integrarea Aplicatiilor Prin Sercicii

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    1/29

    INTEGRAREA APLICATIILOR PRIN SERCICII

    SOA şi Servicii Web

    Mul i cred că "SOA" i "Serviciile Web" sunt sinonime, iar SOA ar avea nevoie deț ș

    serviciile Web pentru a putea fi implementată. Această în elegere este total gre ită, SOA fiind oț ș

     paradigmă, iar serviciile Web reprezentând o tenologie de implementare !#$. %onfuzia apare

    deoarece serviciile Web sunt considerate standardul de-facto pentru realizarea SOA & urilor, dar 

    e'istă i alte posibilită i !()*$.ș ț

    +reptat, modelul de prelucrare clientserver, specific primelor aplica ii în re ea, a fost transformatț ț

    întrun model bazat pe niveluri de servicii !)#$. %onsiderate ca fiind viitorul -nternetului,

    serviciile Web sunt colec ii de standarde M/ care permit interac iunea între sisteme 0programe1,ț ț independente de platforma i tenologie. 2olul serviciilor Web este de a parta3a date i de aș ș

    accesa diverse servicii, oferind clien ilor o singură interfa ă publică !)4$.ț ț

    5rincipalele avanta3e ale serviciilor Web sunt legate de fle'ibilitate i versatilitateș 6 ele suportă o

    mul ime deț   aritecturi iș   sunt independente de platforme i modele.ș Serviciile Web sunt

    construite pe mai multe tenologii care lucrează în colaborare cu standardele în curs de

    dezvoltare pentru asigurarea securită iiț , precum iș  pentru a se asigura că pot fi combinate pentru a

    lucra independent de un furnizor. 7e asemenea, serviciile Web câ tigăș  pe u urin a dezvoltăriiș ț   i aș

    interoperabilită iiț . 8le oferă un cadru promi ător pentruț   dezvoltarea, integrarea iș

    interoperabilitatea aplica iilor soft9areț   distribuite. +enologia serviciilor Web permite

    interac iunea dintreț  componente soft9are aflate în afara grani elor ț  organiza ionaleț . :ntrun astfel

    de mediu distribuit este foarte important pentru a elimina erorile din faza de proiectare, înainte ca

    serviciile să fie implementate !#;#$, !#;4$, !#;;$.

    :n sec iunile următoare vom prezenta, pe scurt, câteva no iuni de bază ale ambelor concepteț ț

    0principii, beneficii, caracteristici, protocoale

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    2/29

    2.1. SOA

    8'istă mai multe defini ii ale SOA, iar în opinia organiza iei OAS-S 0ț ț Organization for the

     Advancement of Structured Information Standards1 reprezintă "o paradigmă pentru organizarea

    i utilizarea capabilită ilor distribuite care pot fi sub controlul diferitor domenii de proprietate.ș ț 

     Această paradigmă furnizează mijloace uniforme pentru a oferi, a descoperi, a interac iona i aț ș

     folosi capabilită ile cu scopul de a produce efectele dorite compatibile cu condi iile prealabile" ț ț 

    !(($, !#;=$. %onform +anenbaum, un  sistem distribuit este o colec ie de calculatoareț

    independente care reu esc să fie percepute de către utilizatorii umani ca un sistem unic i coerent.ș ș

    :n SOA, resursele sunt puse la dispozi ia altor participan i în re ea sub formă de serviciiț ț ț

    independente care sunt accesate întrun mod standardizat. Astfel, este furnizat un cupla3 mai

    fle'ibil al resurselor decât în aritecturile sistemelor tradi ionale !#;#$, !#;>$. ?nul dintreț

    obiectivele de bază al SOA este de a produce componente reutilizabile, fiecare dintre acestea

    încapsulând logica diferită. Orientarea pe servicii !# $ !usiness rocess #anagement, %AI -

     %nterprise Application Integration, AO - Aspect Oriented rogramming& are multe rădăcini în

    orientarea pe obiecte 'ezvoltare modulară, programare procedurală, () $ (emote rocedure

    )all&  i a fost influen ată de evolu ia sistemelor tradi ionale a a cum este redată în figura #.(.ș ț ț ț ș

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    3/29

    Figura 2.1 8volu ia de la sistemele tradi ionale la cele orientate pe servicii0prelucrare dupăț ț

    !(#4$1

    SOA este o formă a aritecturii sistemelor distribuite, iar mai multe organiza ii i corpora ii de laț ș ț

    nivel interna ional, printre care W*%, Microsoft, -@M  -nternational @usiness Macines, OAS-Sț

    au publicat propriile lor principii cu privire la SOA !(=$, !=#$, !>$, !(#4$, !(($, !#;#$, !#;4$,

    dintre care amintim6

     Vedere logică. Serviciul este un abstract, o vedere logică de programe reale, baze de date,

     procese de afaceri etc., de obicei desfă oară opera ii la nivel de afaceri.ș ț  Orientare spre mesaj . ormal, serviciul este definit în termeni de mesa3e scimbate între

    furnizor i solicitant, dar nu depinde de proprietă ile acestora.ș ț  Orientare spre descriere. ?n serviciu este descris de o ma inăprocesabilă de metadate.ș

    7escrierea referă caracterul public al SOA6 doar acele detalii care sunt e'puse public iș

    care sunt importante pentru folosirea serviciului ar trebui să fie incluse în descriere.

    Semantica unui serviciu ar trebui să fie documentată, fie direct, fie indirect, prin

    descrierea sa.   Abstractizarea. %ontractele de servicii con in doar informa ii esen iale despre servicii iț ț ț ș

    informa iile despre servicii sunt limitate la ceea ce este publicat în contracte.ț  Granularitate. Serviciile tind să folosească un număr mic de opera ii cu mesa3e relativț

    mari i comple'e.ș

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    4/29

     Orientare re eaț  .  Serviciile tind să fie orientate spre utilizarea printro re ea, de i acestț ș

    lucru nu este o cerin ă absolută.ț   Interoperabilitate / platforma neutră. Mesa3ele sunt trimise către o platformă neutră, într

    un format standardizat prin intermediul interfe elor publice. M/ este formatul cel maiț

    adecvat care îndepline te această constrângere.ș   Distributivitate. Serviciile componente pot fi consumate de aceea i ma ină sau distribuiteș ș

     pentru ma inile de la distan ă. -nterfa a serviciului i logica sunt independente deș ț ț ș

     protocoalele folosite pentru transport, respectiv acces la serviciu.  Cutie neagră / ncapsularea. Serviciile sunt un fel de "cutie neagră" pentru consumatorii

    acestora, în sensul ca implementarea acestora este ascunsă de consumatorii finali.   Autonomia. Serviciile au control asupra logicii pe care o încapsulează, de la design-time

     până la run-time.  Contractul. Serviciile î i e'pun interfe ele publice prin intermediul contractelor, astfel căș ț

    consumatorii de servicii au acces la acces la descrierile serviciilor prin contracte.  Componen!ialitate. ?n serviciu poate fi la rândul său compus din mai multe componente,

    ciar i alte servicii, care pot fi versionate i administrate în mod independent.ș ș   Asamblarea. Serviciile pot fi asamblate de o aplica ie cu scopul de a efectua opera ii maiț ț

    comple'e sau să adopte un proces de afaceri.  Cuplare slaba. Serviciile men in o rela ie care minimizează dependin ele de alte aplica iiț ț ț ț

    i necesită să men ină doar o rela ie de con tientizarea fa ă de celălalt.ș ț ț ș ț   Descoperirea. Serviciile î i publică metadatele pe bază deș  WS7/  uri prin care acestea

     pot fi descoperite i consumate în mod eficient.ș   "eutilizarea.  /ogica de business este împăr ită în servicii cu scopul de a promovaț

    reutilizarea acestora.

    5rincipiile care stau la baza SOA sunt ilustrate în figura #.#, de mai 3os.

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    5/29

    Figura 2.2 +riungiul SOA

    Modelul SOA tratează trei elemente principale care ac ionează ca un ciclu6ț  găsire # legare / 

    invocare $ nregistrare %find $ bind/invo&e # register'.

     urnizorul de servicii 0 (ervice )rovider 1 oferă un anumit serviciu i publică descriereaș

    serviciului 0 "egister 1 întrun registru de servicii 0 "egistr*1.  Solicitantul de serviciu 0 (ervice "e+uester 1 interogează registrul de servicii pentru a găsi

    un anumit serviciu 0,ind 1.  7acă serviciul căutat va fi găsit în registrul de servicii 0 "egistr*1, atunci solicitantul de

    serviciu va regăsi loca ia serviciului i se va lega 0ț ș  -ind 1 la endpoint & ul acestuia, în final

     putând invoca 0 Invo&e1 opera iile serviciului.ț

    :n opinia noastră, comparativ cu modelul tradi ional client

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    6/29

    re ele sau, conform organiza iei World Wide Web %onsortium 0W*%1ț ț (  !(B$, "3n serviciu +eb

    este un sistem softare identificat printr-un 3(I 4()-56789 ale cărui interfe e publice iț ș

    legături sunt descrise folosind :#;. 'efinirea sa poate fi descoperită de alte sisteme softare.

     Aceste sisteme softare pot interac iona cu serviciul eb

  • 8/16/2019 Integrarea Aplicatiilor Prin Sercicii

    7/29

    7intre principiile SOA descrise în sec iunea anterioară, autonomia, cuplarea slabă i contractulț ș

     pot fi considerate ca principii de bază ale serviciilor Web !(=$. Serviciile sunt autonome, în sensul

    că6

      Ar trebui să aibă controlul asupra propriilor da