BPEL

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 20 noiembrie 2019; verificarea necesită 1 editare .

BPEL ( Limba engleză  de execuție a proceselor de afaceri ) este un limbaj bazat pe XML pentru o descriere formală a proceselor și protocoalelor de afaceri pentru interacțiunea lor între ele. BPEL extinde modelul de interacțiune a serviciului web pentru a include suport pentru tranzacții.

În general, configurația unui proiect BPEL arată astfel:

Principalele fișiere de proiect BPEL:

Istorie

IBM și Microsoft au definit două limbi destul de similare, WSFL și , respectiv, Xlang . Creșterea BPML, succesul BPMI.org și mișcarea deschisă BPMS au forțat Intalio Inc., IBM și Microsoft să decidă să fuzioneze aceste limbi într-o nouă limbă, BPEL4WS. În aprilie 2003, BEA Systems , IBM, Microsoft, SAP și Siebel Systems au prezentat BPEL4WS 1.1 la OASIS pentru standardizare de către Comitetul Tehnic BPEL pentru Servicii Web . Deși BPEL4WS a apărut imediat în versiunile 1.0 și 1.1, comitetul tehnic WS-BPEL OASIS a votat pe 14 septembrie 2004 denumirea specificației WS-BPEL 2.0. Această modificare a fost făcută pentru a alinia BPEL cu alte standarde de servicii web care, prin convenție, încep cu WS-.

În iunie 2007, Active Endpoints, Adobe, BEA, IBM, Oracle și SAP au publicat specificațiile BPEL4People și WS-HumanTask, care descriau modul în care interacțiunea umană ar putea fi implementată în BPEL.

Există o discuție aprinsă despre direcția viitoare a dezvoltării BPEL. Necesitatea de a adăuga semantică la BPEL sub forma WS-HumanTask și așa mai departe subliniază doar faptul că BPEL nu a fost niciodată un limbaj complet.

Exemplu BPEL

Exemplu ipotetic. Secvența mathProcess BPEL preia variabila $numIn, o pătratează și returnează rezultatul în variabila $numOut.

<process name= "mathProcess" targetNamespace= "http://example.com/ws-bp/math" xmlns= "http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:math = "http://manufacturing.org/wsdl/math" > <partnerLinks> <partnerLink name= "Math" partnerLinkType= "math:exampleMath" myRole= "mathService" /> </partnerLinks> <variables> <variable name= "numIn" messageType= "math:unsignedInt" /> <variable name= "numOut" messageType= "math:unsignedInt" /> <variable name= "num" type= "xsd:unsignedInt" /> </variables> <sequence > <receive partnerLink= "Math" portType= "math:mathPort" operation= "secondDegree" variabilă= "numIn" createInstance= "yes" /> <assign name= "LoopCounterIncrement" > <copy> <from> $numIn.request </from> <to variable= "num" /> </copy> <copy> <from> $num * $num </from> <to variable= "numOut" part= "response" /> </copy> </assign> <reply operation= "secondDegree" partnerLink= "Math" portType= "math:mathPort" variable= "numOut" /> </sequence> </process>

Literatură

  • Înțelegerea SOA cu serviciile web. De Eric Newcomer , Greg Lomow . Addison Wesley Professional 2004
  • SOA pentru dezvoltatorul de afaceri: Concepte, BPEL și SCA. Ben Margolisand, Joseph Sharpe

Vezi și

Standarde