Business process execution language (kort BPEL) wordt gezien als een belangrijke standaard binnen het SOA-landschap. Deze standaard stelt je immers in staat om een businessproces te modelleren op basis van services, dus feitelijk het in juiste volgorde aan elkaar rijgen van verschillende stukjes functionaliteiten tot een concrete activiteit. In BPEL ontbreekt echter de mogelijkheid om menselijke interacties als onderdeel van het businessproces te modelleren. Met de nieuwe BPEL4People-standaard wordt deze omissie weggenomen en lijkt een van de weinige bezwaren tegen het gebruik van BPEL ook weggenomen te worden.
Standaardisatieorganisatie OASIS Open heeft half december de publieke review van de standaard BPEL4People uitgeschreven. Feitelijk betekent dit dat de in januari 2008 gevormde werkgroep, bestaande uit materiedeskundigen van onder andere Oracle, IBM, SAP, Microsoft, Tibco, Active Endpoint, alsook enkele individueel niet geaffilieerde personen, haar werk heeft afgerond.
De werkgroep heeft zich vooral geconcentreerd op het definiëren van een specificatie welke het mogelijk maakt om menselijke interacties op te nemen als onderdeel van een BPEL-proces, het definiëren van een specificatie van een model voor menselijke interacties welke als webservices beschikbaar gemaakt kunnen worden en het definiëren van een programmeerinterface voor clientapplicaties. De BPEL4People-architectuur scheidt de taak- en proces-engines van elkaar, wat maakt dat gebruikers meerdere proces-engines (gelijktijdig) kunnen gebruiken binnen hun infrastructuur.
Al langer bestond de wens om mensen als deelnemer aan een BPEL-proces te kunnen toevoegen, omdat mensen nu eenmaal deelnemen aan businessprocessen en het procesverloop kunnen beïnvloeden. Dat deze wens populair is blijkt uit de sterke interesse vanuit gebruikers, als ook de grote leveranciers. Al voordat de standaard als officieel is bestempeld (naar verwachting begin 2010), hebben de meeste grote leveranciers al implementaties van de BPEL4People-extentie in hun proces-engines gebouwd.
Het nu kunnen modelleren van menselijke interacties op een standaard wijze lijkt de BPEL-standaard nog meer als te prefereren standaard voor procesmodellering en procesorkestratie te maken.
Een te verwelkomen ontwikkeling. Wij hebben al een tijdje een BPEL engine draaien met diverse processen, maar hebben de grootste moeite deze processen ook goed te ontwerpen op basis van business scenario’s. Zo hebben we nu inderdaad een gap voor wat betreft menselijke handelingen en zitten we met moeilijkheden binnen het procesontwerp en integratie met onze eindgebruikersomgevingen.
Ik heb even door de standaard gebladerd, maar moet zeggen dat het er allemaal niet erg makkelijk uitziet. Ik hoop dat leveranciers ook goede ontwerptools leveren, zodat het ook op een wat minder technisch niveau te begrijpen is.
Ik vraag me af waarom “een specificatie van een model voor menselijke interacties welke als webservices beschikbaar gemaakt kunnen worden en het definiëren van een programmeerinterface voor clientapplicaties” als onderdeel van BPEL gezien wordt. Het is goed om dit te standaardiseren, maar een webservice hoef je niet persee vanuit een BPEL proces aan te roepen. BPEL is BPEL, en dit is een standaard die je o.a. vanuit een BPEL proces kan gebruiken. Waarom als onderdeel van BPEL?