orchestrare

cuprins:

  • în engleză simplă
  • studiu de caz

organizațiile care au angajat deja produse middleware enterprise application integration (EAI) pentru a automatiza procesele de afaceri sau pentru a integra diverse medii moștenite vor fi probabil deja familiarizate cu conceptul de orchestrare. În aceste sisteme, un set controlat central de logică a fluxului de lucru facilitează interoperabilitatea între două sau mai multe aplicații diferite. O implementare comună a orchestrației este modelul hub-and-spoke care permite mai multor participanți externi să interacționeze cu un motor central de orchestrare.

una dintre cerințele de conducere din spatele creării acestor soluții a fost de a găzdui fuzionarea proceselor de afaceri mari. Cu orchestrarea, diferite procese pot fi conectate fără a fi nevoie să redezvoltați soluțiile care au automatizat inițial procesele individual. Orchestrarea acoperă acest decalaj prin introducerea unei noi logici a fluxului de lucru. Mai mult, utilizarea orchestrației poate reduce semnificativ complexitatea mediilor de soluții. Logica fluxului de lucru este abstractizată și mai ușor de întreținut decât atunci când este încorporată în componentele soluției individuale.

rolul orchestrației se extinde în mediile orientate spre servicii. Prin utilizarea extensiilor care permit exprimarea logicii proceselor de afaceri prin intermediul serviciilor, orchestrarea poate reprezenta și exprima logica de afaceri într-un loc standardizat, bazat pe servicii. Atunci când construiți soluții orientate spre servicii, acest lucru oferă un mijloc extrem de atractiv de locuire și control al logicii care reprezintă procesul automatizat.

orchestrarea valorifică în continuare interoperabilitatea intrinsecă căutată de proiectele de servicii, oferind potențiale puncte finale de integrare în procese. Un aspect cheie al modului în care orchestrația este poziționată în cadrul SOA este faptul că orchestrațiile în sine există ca servicii. Prin urmare, bazându-se pe logica orchestrării standardizează reprezentarea proceselor în cadrul unei organizații, abordând în același timp Obiectivul Federației întreprinderilor și promovând orientarea către servicii.

figura 6.32. O orchestrație controlează aproape fiecare fațetă a unei activități complexe.

o specificație primară a industriei care standardizează orchestrarea este Web services Business process Execution Language (ws-BPEL). Această carte recunoaște WS-BPEL ca o extensie cheie de a doua generație și, prin urmare, folosește conceptele și terminologia sa ca bază pentru o serie de discuții referitoare la modelarea proceselor de afaceri.

notă

WS-BPEL este cel mai recent nume dat acestei specificații, care este, de asemenea, cunoscut sub numele de BPEL4WS și doar BPEL. Pentru o prezentare generală a părților principale ale limbajului WS-BPEL și o discuție despre modul în care a apărut schimbarea numelui, vezi capitolul 16.

în engleză simplă

după ce am spălat cu succes mai multe mașini împreună, Chuck, Bob, Jim și cu mine decidem să ne înființăm propria companie. Formalizăm pașii din procesul nostru de spălare a mașinilor, astfel încât să putem gestiona diferite tipuri de mașini cu cerințe diferite de curățare.

prin urmare, procesul nostru este afectat de următoarele cerințe noi:

  • decidem să angajăm ajutor suplimentar în timpul orelor de vârf. Aceasta introduce până la doi membri suplimentari care se alătură echipei noastre.
  • deoarece nu avem capital de risc pentru această afacere, facem un aranjament cu o benzinărie locală. În schimbul utilizării unei părți din lotul lor pentru operațiunea noastră de spălare a mașinilor, suntem de acord să ajutăm cu sarcinile de pompare a gazului în timpul orelor de vârf.

procesul nostru simplu de spălare a mașinilor a devenit acum mult mai complicat. Procesul nu mai este fixat prin faptul că se poate schimba la un moment dat ca urmare a diferitelor condiții și evenimente.

  • când sosesc lucrătorii noștri suplimentari, alocarea sarcinilor întregii echipe este modificată.
  • când personalul benzinăriei are nevoie de ajutor suplimentar, suntem obligați să trimitem unul sau mai mulți dintre membrii echipei noastre de spălare a mașinilor pentru a-i ajuta.

aceste exemple se referă la condiții previzibile care apar zilnic. Operațiunea noastră este afectată în continuare de unele constrângeri:

  • dacă fluxul nostru de numerar scade sub o anumită sumă, nu ne putem permite lucrători cu fracțiune de normă.
  • dacă plouă, toate lucrările sunt suspendate (ceea ce duce și la reducerea fluxului de numerar).

aceste constrângeri introduc condiții care sunt mai puțin frecvente, dar pe care trebuie să le luăm întotdeauna în considerare. Pentru a acomoda aceste situații potențiale, venim cu un plan care cartografiază procesul nostru extins și oferă procese alternative pentru a face față atât condițiilor comune, cât și celor neobișnuite.

acest plan este în esență un flux de lucru care unește pașii individuali cu procesele și subprocesele împărțite prin puncte de decizie. Acest flux de lucru elaborat încorporează procesul nostru original cu procesul benzinăriei și procesul extins care rezultă din sosirea lucrătorilor noștri cu fracțiune de normă. Acest flux de lucru este în esență o orchestrație care gestionează cerințele individuale ale procesului și resursele conexe, participanții, evenimentele, regulile de afaceri și activitățile.

6.6.1. Protocoale de afaceri și proces definiție

logica fluxului de lucru care cuprinde o orchestrație poate consta din numeroase reguli de afaceri, condiții și evenimente. În mod colectiv, aceste părți ale unei orchestrații stabilesc un protocol de afaceri care definește modul în care participanții pot interopera pentru a realiza finalizarea unei sarcini de afaceri. Detaliile logicii fluxului de lucru încapsulate și exprimate printr-o orchestrație sunt conținute într-o definiție a procesului.

6.6.2. Serviciile de proces și serviciile partenere

identificate și descrise într-o definiție a procesului sunt participanții la proces admisibili. În primul rând, procesul în sine este reprezentat ca un serviciu, rezultând un serviciu de proces (care se întâmplă să fie un alt model de serviciu, așa cum se arată în figura 6.33).

figura 6.33. Un serviciu de proces care coordonează și expune funcționalitatea de la trei servicii partenere.

alte servicii autorizate să interacționeze cu serviciul de proces sunt identificate ca servicii partenere sau link-uri partenere. În funcție de logica fluxului de lucru, serviciul de proces poate fi invocat de un serviciu partener extern sau poate invoca alte servicii partenere (figura 6.34).

Figura 6.34. Serviciul proces, după ce a fost invocat mai întâi de un serviciu partener, invocă apoi un alt serviciu partener.

6.6.3. Activități de bază și activități structurate

WS-BPEL descompune logica fluxului de lucru într-o serie de activități primitive predefinite. Activitățile de bază (primire, invocare, răspuns, aruncare, așteptare) reprezintă acțiuni fundamentale ale fluxului de lucru care pot fi asamblate folosind logica furnizată de activități structurate (secvență, comutare, Timp, flux, alegere). Modul în care aceste activități pot fi utilizate pentru a exprima logica reală a proceselor de afaceri este explorat în Capitolul 16.

6.6.4. Secvențele, fluxurile și legăturile

activitățile de bază și structurate pot fi organizate astfel încât ordinea în care se execută să fie predefinită. O secvență aliniază grupuri de activități conexe într-o listă care determină o ordine de execuție secvențială. Secvențele sunt utile în special atunci când o bucată de logică a aplicației depinde de rezultatul alteia.

fluxurile conțin, de asemenea, grupuri de activități conexe, dar introduc cerințe de execuție diferite. Piesele de logică a aplicației se pot executa simultan într-un flux, ceea ce înseamnă că nu există neapărat o cerință pentru un set de activități de așteptat înainte ca altul să termine. Cu toate acestea, fluxul în sine nu se termină până când toate activitățile încapsulate nu au finalizat procesarea. Aceasta asigură o formă de sincronizare între logica aplicației care locuiește în fluxuri individuale.

legăturile sunt utilizate pentru a stabili dependențe formale între activitățile care fac parte din fluxuri. Înainte ca o activitate să se poată finaliza pe deplin, trebuie să se asigure că toate cerințele stabilite în legăturile de ieșire sunt îndeplinite mai întâi. În mod similar, înainte ca orice activitate legată să poată începe, trebuie îndeplinite mai întâi cerințele conținute în orice link-uri primite. Regulile furnizate de link-uri sunt, de asemenea, denumite dependențe de sincronizare.

6.6.5. Orchestrații și activități

așa cum am definit mai devreme, o activitate este un termen generic care poate fi aplicat oricărei unități logice de lucru completate de o soluție orientată spre servicii. Prin urmare, sfera unei singure orchestrații poate fi clasificată ca o activitate complexă și, cel mai probabil, de lungă durată.

6.6.6. Orchestrarea și coordonarea

orchestrarea, așa cum este reprezentată de WS-BPEL, poate utiliza pe deplin cadrul de gestionare a contextului WS-Coordination prin încorporarea tipului de coordonare ws-BusinessActivity. Această specificație definește protocoalele de coordonare concepute pentru a sprijini activități complexe, de lungă durată.

6.6.7. Orchestrarea și SOA

logica proceselor de afaceri se află la baza soluțiilor de automatizare. Orchestrarea oferă un model de automatizare în care logica procesului este centralizată, dar încă extensibilă și composibilă (figura 6.35). Prin utilizarea orchestrațiilor, mediile de soluții orientate spre servicii devin inerent extensibile și adaptabile. Orchestrațiile în sine stabilesc de obicei un punct comun de integrare pentru alte aplicații, ceea ce face ca o orchestrație implementată să fie un factor cheie de integrare.

figura 6.35. Orchestrarea referitoare la alte părți ale SOA.

aceste calități duc la creșterea agilității organizaționale deoarece:

  • logica fluxului de lucru încapsulată de o orchestrație poate fi modificată sau extinsă într-o locație centrală.
  • poziționarea unei orchestrații la nivel central poate ușura semnificativ fuzionarea proceselor de afaceri prin abstractizarea lipiciului care leagă soluțiile de automatizare corespunzătoare.
  • prin stabilirea unor arhitecturi de integrare orientate spre servicii la scară largă, orchestrarea, la un nivel fundamental, poate sprijini evoluția unei întreprinderi divers federalizate.

orchestrarea este un ingredient cheie pentru realizarea unei stări de federație în cadrul unei organizații care conține diverse aplicații bazate pe platforme de calcul disparate. Progresele în middleware permit motoarelor de orchestrare să devină pe deplin integrate în medii orientate spre servicii.

conceptul de orchestrare orientată spre servicii valorifică pe deplin toate conceptele pe care le-am discutat până acum în acest capitol. Pentru multe medii, orchestrațiile devin inima SOA.

studiu de caz

seria de pași pe care i-am înfășurat într-o activitate de afaceri în exemplul anterior al studiului de caz a demonstrat modul în care TLS a folosit protocolul WS-BusinessActivity pentru a adăuga gestionarea contextului și gestionarea excepțiilor la o activitate complexă de lungă durată. Chiar dacă sfera unei activități de afaceri poate constitui un proces de afaceri, aceasta nu oferă TLS un mijloc standard de exprimare a logicii fluxului de lucru subiacent. Pentru aceasta, TLS folosește o orchestrație WS-BPEL (figura 6.36).

figura 6.36. Procesul extins de depunere a comenzilor de achiziție TLS gestionat de o orchestrație și implicând numeroase organizații potențiale partenere.

orchestrarea stabilește o logică cuprinzătoare a procesului care cuprinde activitatea de afaceri și o extinde și mai mult pentru a guverna scenarii suplimentare de interacțiune cu mai multe servicii de furnizor. De exemplu, atunci când un furnizor nu poate îndeplini o comandă, următorul furnizor în linie este trimis aceeași comandă de achiziție. Acest ciclu se repetă până când oricare dintre furnizori poate finaliza comanda în întregime (în anumite limite de preț) sau până când toți furnizorii au fost interogați. În această din urmă situație, sistemul evaluează pur și simplu cea mai bună ofertă de pe masă aplicând o formulă care ia în considerare prețul, procentul de comandă care trebuie completat și termenii de întârziere.

logica orchestrării gestionează toate aspectele procesului, inclusiv implicarea mai multor servicii partenere ale furnizorilor, precum și activitatea de afaceri care începe atunci când un PO este procesat.

rezumatul punctelor cheie

  • o orchestrație exprimă un corp de logica procesului de afaceri, care este de obicei deținută de o singură organizație.
  • o orchestrație stabilește un protocol de afaceri care definește formal o definiție a procesului de afaceri.
  • logica fluxului de lucru din cadrul unei orchestrații este împărțită într-o serie de activități de bază și structurate care pot fi organizate în secvențe și fluxuri.
  • orchestrarea a fost numită „inima SOA”, deoarece stabilește un mijloc de centralizare și control al unei mari logici inter și intra-aplicație printr-un model de serviciu standardizat.

Lasă un răspuns

Adresa ta de email nu va fi publicată.