Limbajul de execuție a procesului de afaceri

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Limbajul de execuție a procesului de afaceri
limbaj de programare
Data de origine Aprilie 2003
Influențată de XML

BPEL (tema cântec B USINESS P rocess E xecution L anguage) este un limbaj bazat pe " XML construit pentru a descrie în mod oficial procesele comerciale și industriale, pentru a permite o diviziune a muncii între diferiți actori.

O aplicație BPEL este invocată ca serviciu web și interacționează cu lumea exterioară numai prin invocarea altor servicii web. În acest sens, ea însăși reprezintă o formă de coordonare a serviciilor web, permițându-le, de asemenea, să le compună pe acestea din urmă într-un mod recursiv . Mediul de rulare în care rulează procesul generic se numește motor BPEL .

Standardul care definește utilizarea BPEL în interacțiunile dintre serviciile web se numește BPEL4WS sau WS-BPEL . BPEL s-a născut ca o integrare a cercetărilor efectuate de IBM și Microsoft pe WSFL și XLANG , ambele înlocuite de BPEL. În aprilie 2003, BPEL a fost transmis OASIS, care l-a standardizat [1] .

Limbajul BPEL

Limbajul BPEL vă permite să descrieți un proces de afaceri printr-un set de activități, care pot fi simple sau structurate . Activitățile simple exprimă o acțiune generică (de exemplu, invocați serviciul, primiți răspuns, atribuiți o valoare unei variabile, terminați procesul etc.), în timp ce cele structurate sunt utilizate în mod normal pentru a grupa activități simple pentru a exprima bucle, operații condiționate, secvențiale de execuție, concurente executare etc. Întregul proces este descris prin intermediul unei singure activități structurate (activitate de nivel superior ), în general de tip secvențial.

O etichetă „scop” cuprinde setul de activități care alcătuiesc o tranzacție atomică , adică un proces care se poate încheia cu o „comitere” sau un „avort”, fără stări intermediare, în care oprirea procesului pe o activitate implică întreruperea a procesului și anularea modificărilor în scris în baza de date în timpul activităților anterioare („anulați” activitățile). Acest lucru este necesar, de exemplu, într-o tranzacție bancară / financiară în care fiecare debit trebuie să fie creditat cu sume.

O diagramă a fluxului de lucru conține de obicei operațiuni, mesaje, actori (umani sau aplicație), aplicații care definesc serviciul web, condiții logice (IF), paralelisme, bucle și sarcini de sincronizare între operații.

BPEL este potrivit în special pentru modelarea fluxurilor de lucru complet automatizate, pentru compoziția serviciilor web, integrarea serviciilor (și a aplicațiilor care le execută) care sunt eterogene pentru hardware-ul care le execută, arhitecturile de rețea și limbajul codului aferent.

BPEL prevede, de asemenea, structurile pentru exprimarea așa-numitelor tranzacții pe termen lung ( tranzacții pe termen lung, LRT), care reprezintă o extindere a tranzacțiilor ACID în cazul proceselor pe termen lung prin conceptul de compensare a operațiunilor efectuate. Mai mult, mecanismul de corelație este utilizat pentru a urmări o anumită conversație la nivelul afacerii, identificând astfel un fel de sesiune între mai mulți participanți în aceeași instanță de proces.

BPEL vă permite să descrieți un flux de lucru existent sau un proces abstract neexecutabil, transformând o modelare grafică care conține semantica care poate fi descrisă cu constructele UML în cod de programare. Acest lucru este deosebit de util pentru comunicarea software-ului proprietar pentru modelarea proceselor, care utilizează diferite terminologii și pictograme pentru a reprezenta ceea ce poate fi descris cu o notație UML. BPEL vă permite să exportați și să importați aceste diagrame într-un fișier a.bpel dintr-o bază de date proprietară în alta fără a pierde conținutul reprezentării.

„Primirea” unui mesaj creează o instanță a procesului; Diferite instanțe de proces variază în conținutul mesajelor schimbate. Prin urmare, un câmp de mesaj identifică în mod unic instanța de membru pentru a trimite datele corecte fiecărei instanțe de proces. Mesajele sunt „variabile de intrare / ieșire” pentru care BPEL creează automat tipul adecvat (șir, text, număr), adică ce este necesar pentru persistența informațiilor în timpul execuției fluxului de lucru; mesajele cu conținut informațional identic sunt reprezentate cu o instrucțiune de „atribuire” care vă permite să asociați conținutul altuia unei variabile.

Motoare BPEL

Au fost dezvoltate diverse motoare BPEL, inclusiv:

  • Active Endpoints ActiveWebflow Server un motor BPEL complet bazat pe serverul de aplicații Java EE sau ca aplicație independentă integrată pe un server web (de exemplu, Tomcat ). ActiveWebflow Designer este o aplicație de dezvoltare vizuală bazată pe Eclipse .
  • ActiveBPEL Engine este un mediu complet de rulare pentru BPEL. Scris în Java, ActiveBPEL Engine este disponibil în tehnologie open source și este distribuit sub licența GPL .
  • bexee BPEL Execution Engine este un motor BPEL open source , bazat pe motorul BPEL bazat pe Java EE . Produsul nu a mai fost dezvoltat după versiunea curentă 0.1, prin urmare poate fi folosit ca „ dovadă a conceptului ” sau ca bază pentru proiecte ulterioare.
  • Biztalk Server, produsul Microsoft pentru gestionarea mesajelor și integrarea aplicațiilor, a fost compatibilizat cu standardul BPEL de la versiunea 2004. Se bazează pe tehnologia COM +, dar poate fi perfect integrat cu platforma .NET.
  • Orchestra BSOA a Grupului Bull efectuează procese BPEL. Un server de aplicații Java EE rulează pe JOnAS .
  • Collaxa BPEL Orchestration Server este un motor server de aplicații Java EE. Din versiunea 2 este inclus un mediu de dezvoltare vizuală bazat pe Eclipse . După achiziționarea acestui produs de către Oracle Corporation, mediul de dezvoltare se bazează acum și pe JDeveloper IDE al Oracle.
  • FiveSight PXE este un motor BPEL modular axat în special pe fiabilitate și flexibilitate.
  • IBM WebSphere Business Integration Server Foundation este un motor BPEL complet care rulează pe platforma WebSphere . Include extensii pentru a sprijini interacțiunea umană și poate rula pe o varietate de platforme, cum ar fi Linux și z / OS . IBM oferă, de asemenea, medii de dezvoltare bazate pe Eclipse , cum ar fi WBI Modeler și WebSphere Studio Application Developer Integration Edition (care face parte din familia Rational Application Developer ).
  • Site-ul Web OpenLink Virtuoso Universal Server OpenLink Software este un server care acceptă BPEL.
  • OpenStorm ChoreoServer este o implementare BPEL pe platforma Microsoft .NET . Produsul, lansat în 2004, nu mai este disponibil, iar firma texană OpenStorm Software Inc. nu mai este activă.
  • Oracle BPEL Process Manager [1] este un motor BPEL nativ. Are suport complet pentru specificația BPEL, a fost prima implementare comercială a acestui standard și include extensii pentru a sprijini interacțiunea umană (Human WorkFlow). Este o aplicație Java EE și poate rula pe servere de aplicații majore și sisteme de operare majore.
  • SeeBeyond eInsight Business Process Manager 5 oferă un mediu de modelare grafică bazat pe BPMN pentru notație și BPEL4WS (WS-BPEL) pentru executarea proceselor SeeBeyond Technology Corporation .
  • Twister este prima implementare open source a standardului WS-BPEL ( LGPL ). Twister acceptă modelele SOA, precum și interacțiunea umană.

Notă

  1. ^ OASIS Web Services Business Process Execution Language (WSBPEL) TC , la oasis-open.org . Adus pe 10 martie 2020.

linkuri externe

Standard

Motoare și implementări

Dezvoltarea aplicațiilor BPEL

Articole despre BPEL

Controlul autorității LCCN ( EN ) sh2006005369
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT