Terug naar de beginpaginaCentor Homepage

Alle belangrijke spelers in de industrie participeren in open standaard

BPEL wordt de standaard voor orchestreren XML Web services

Hoewel al in 2004 door Oracle als nieuw product gepresenteerd, is BPEL tot op de dag van vandaag nog geen gemeengoed. Sterker nog, velen hebben nog niet veel meer dan een vaag idee van de functionaliteit van deze op XML gebaseerde industriestandaard voor het definiëren en orchestreren van bedrijfsprocessen. Zo niet Marcel Telling van het ICT Consultancy bedrijf Simar Praktijk B.V. Hij werkte eerder voor een internationaal werkend telecombedrijf en deed daar ervaring op met de introductie van Oracle BPEL. OC Centor vroeg hem zijn kennis en ervaring rond dit onderwerp in een presentatie te gieten. Voor een gehoor van enkele tientallen Oracle specialisten hield hij onlangs zijn verhaal tijdens een bijeenkomst rond dit thema in het Utrechtse Mitland Hotel.

Een toenemend aantal bedrijven en organisaties kijkt naar Web services en Service Oriented Architecture (SOA) als mogelijke oplossing bij de integratie van meerdere applicaties. BPEL en Web services standaarden bieden een oplossing doordat ze standaardbehoeften van applicaties op een open, overdraagbare en vooral standaard manier adresseren. SOA maakt organisaties flexibeler door bestaande applicaties maximaal te benutten, waardoor de kosten voor het uitrollen van nieuwe applicaties in hoge mate beperkt kunnen worden.

BPEL — wat staat voor ‘Business Process Execution Language’ — is een op XML gebaseerde taal voor het samenstellen van een set Web services. Het is een ontwikkeling die in 2002 door IBM, BEA en Microsoft in gang werd gezet, om tot een nieuwe industriestandaard voor het definiëren en orchestreren van bedrijfsprocessen te komen. De noodzaak hiervoor komt voort uit het gegeven dat steeds meer bedrijven meerdere applicaties inzetten voor het aanpassen en beheren van gegevens. De integratie daarvan is een ingewikkeld proces dat naast hoge kosten ook flinke risico’s met zich meebrengt. Om al deze verschillende applicaties — en de daarin opgeslagen en beheerde gegevens — goed te kunnen integreren is een standaard onontbeerlijk.

Ontwikkeling BPEL voor iedereen te volgen
Als basis voor BPEL werd een samenvoeging van XLANG (Microsoft BizTalk, een workflow taal) en IBM’s WSFL gebruikt. Deze twee talen zijn bij elkaar gevoegd, waarna er nog een heleboel omheen is geschreven. In mei 2003 werd BPEL versie 1.1 aangeboden aan OASIS (Organization for the Advancement of Structured Information Standards, met andere woorden een organisatie die standaarden bijhoudt) om zo tot een open standaard te komen. OASIS beheert nu de standaard en wie op de website van OASIS kijkt (www.oasis open.org) kan tot op de vergadering nauwkeurig nagaan wat de ontwikkelingen zijn en waaraan gewerkt wordt. Een heel transparante manier van ontwikkelen dus!

Oracle raakte erbij betrokken toen het BPM leverancier Collaxa overnam, die een product onder de naam ‘Collaxa BPEL Server’ onder haar vleugels had. Kijkend naar de functionaliteit waren er veel overeenkomsten met Oracle’s ProcessConnect te ontdekken; het grote verschil was dat de versie van Collaxa gebruik maakte van de BPEL standaard. Tijdens JavaOne 2004 presenteerde Oracle het nieuwe product als de ‘Oracle BPEL Process Manager’. Inmiddels is Oracle BPEL Process Manager onderdeel van de Oracle Fusion Middleware productfamilie.

BPEL beziet integratie vanuit het bedrijfsproces
In essentie beschrijft BPEL hoe Web services voor het implementeren van een bedrijfsproces gebruikt moet worden. Het maakt het voor gebruikers mogelijk business process activiteiten als Web services te beschrijven en te definiëren hoe deze met elkaar verbonden kunnen worden, teneinde bepaalde specifieke taken uit te kunnen voeren. De BPEL standaard definieert een taal voor het specificeren van het gedrag van business processen die op Web services gebaseerd zijn. Daarbij bekijkt BPEL de integratie vanuit het bedrijfsproces. De kern van BPEL maakt gebruik van Web services en WSDL (Web Services Description Language), van XML (voor data uitwisseling) en hanteert standaard werkwijzen voor berichtuitwisseling. BPEL heeft een duidelijke focus op Business Process Management.

De Oracle BPEL Process Manager maakt deel uit van Oracle’s Business Integration oplossing. Dit is een uitgebreide en op standaarden gebaseerde oplossing voor het creëren, uitrollen en managen van ‘cross application’ business processen binnen een service georiënteerde architectuur. Bij de integratie van deze processen worden standaarden als XML, BPEL, XSLT, XPATH, JMS, JCA en Web services ondersteund, zodat een breed platform ontstaat. Hierdoor kunnen bijvoorbeeld ook standaardoplossingen zoals ERP en CRM op een eenvoudiger manier tot één proces worden samengevoegd.

Service Oriented Architecture
Een Service Oriented Architecture (SOA) is in feite een methode voor het generiek aanroepen van applicaties, gebaseerd op Web services. Als je bijvoorbeeld iets schrijft in .Net kun je er een Web service omheen wrappen. Aan de hand daarvan kunnen andere programma’s het aanroepen. Een SOA bestaat uit een viertal componenten:
De applicaties (.Net, J2EE applicaties, Servlets, enzovoort);
Web service orchestration (BPEL); De applicaties verpak je in een Web service en via Web service orchestration roep je applicaties aan. Er zit dus een schil omheen.
Management en Security (WS Security, WS Policy) standaarden; en
Business Services (WSDL): .Net/ Axis, Database, EJB’s, enzovoort.

Stappen voor het maken van een Web service
De registratie van een Web service vindt plaats in een zogeheten WSDL file, een standaard om te beschrijven wat een Web service doet. Je moet een WSDL file maken waarin je niet alleen beschrijft wat de Web service doet, maar ook wat er moet worden ontvangen en wat er uit komt. Dan dien je deze te registreren in UDDI (Universal Description, Discovery and Integration) zodat iedereen deze aan kan roepen.

Om een Web service aan te kunnen roepen, is het nodig de beschrijving hiervan te laden in je project. Daarna kan deze via SOAP (Simple Object Access Protocol, maar een ander protocol kan ook) worden aangeroepen. Tenslotte ontvang je nog een respons via SOAP (of een ander protocol).

De BPEL PM Architectuur
Figuur 2 toont de Oracle BPEL Process Manager Architectuur en de componenten van de BPEL Process Manager. Met WSDL’s worden de WSDL bindings bedoeld. Er is een aantal adapters waarmee men kan communiceren. De connecties daarvoor moeten wel in de BPEL Process Manager worden opgezet. De services die bij BPEL gebruikt worden zijn allemaal XML based (Xquery, XSLT en Java). En dan is er natuurlijk de Core BPEL engine, de machine die het feitelijke werk doet.

Op JDeveloper maak je de code (ontwerp je de BPEL projecten). Die kunnen dan lokaal gedraaid en getest worden, om daarna gedeployed te worden op de BPEL Process Manager, die op een applicatieserver draait.

Met de BPEL console kunnen de BPEL processen visueel gemanaged worden (auditen en debuggen).

Orchestreren vanuit één punt
ACN is een telecombedrijf met een hoofdkantoor in Nederland en operaties in vele landen. Zij hebben veel billing systemen (zie de linkerrij), ook voor mobiele en voor vaste lijnen. Marcel Telling was enige tijd voor hen werkzaam en betrokken bij de implementatie van een op BPEL gebaseerd systeem.
‘Het wordt wel allemaal centraal geregeld. ACN werkt met één commissiesysteem, in een zogenaamde multilevel marketing omgeving. Het Amerikaanse commissiesysteem wilde alle informatie van die billing systemen weten, bijvoorbeeld wanneer een klant was aangesloten. Wat wij wilden doen was alle informatie uit al die systemen verzamelen en daar — centraal — een standaard vertaalslag in maken en dat uiteindelijk verzenden naar het commissiesysteem. Het ophalen, vertalen en verzenden van die informatie wilden we via BPEL doen. Hier bleek dat BPEL versie 1.1 slechts standaard transformaties kan doen. Onder transformaties verstaan we bijvoorbeeld iets lezen uit een database en dat transformeren naar een XML structuur.’

Hij vervolgt: ‘Aan de linkerkant (van figuur 3a, red.) hebben we de middleware weggehaald en data integrator (een ETL tool) ervoor in de plaats gezet, omdat die wél heel ingewikkelde mapping kan doen en complexe jobs kan draaien. Die informatie hebben we op een Oracle database gezet. Daar wordt de informatie opgepakt door BPEL, getransformeerd naar XML en vervolgens gepost naar de Web service.’

BPEL wordt uiteindelijk de standaard
Uit de presentatie kwam duidelijk naar voren dat BPEL nog volop in ontwikkeling is. Logisch, want een wereldwijde standaard voor een dergelijke complexe omgeving komt niet van de ene op de andere dag tot stand. Kijkend naar de mogelijke risico’s van een migratie naar de BPEL standaard, wordt het begrijpelijk dat veel organisaties graag nog even de spreekwoordelijke kat uit de boom kijken. Niet geheel ten onrechte, want de ‘early adaptors’ zullen ongetwijfeld tegen de nodige onvolkomenheden zijn aangelopen. Tot zover niets nieuws natuurlijk, want de ontwikkeling van om het even welke nieuwe — ook minder complexe — producten verloopt eigenlijk altijd zo. De innovators onder ons zullen ermee aan de slag gaan en hun feedback zal de ontwikkelaars van de BPEL standaard helpen het product telkens weer beter te maken. Omdat ze er praktisch vanaf het begin bij betrokken waren, hebben bedrijven die de BPEL standaard nu al omarmen, straks een voorsprong op hen die nu nog aan de zijlijn blijven. Voor hen is er goed nieuws, want BPEL versie 2.0 komt eraan. Met name het onderdeel Human Workflow Management wordt hierin verbeterd, een onderdeel dat in versie 1.1 slechts in beperkte mate aanwezig was. Voor veel gebruikers van de huidige versie was dat de grote bottleneck en om die reden zijn een aantal BPEL projecten (tijdelijk) stopgezet. Voor zover bekend zijn er nog weinig tot geen echt grote systemen die onder BPEL draaien.

Een andere reden om nog niet met versie 1.1 aan de slag te gaan, is de onzekerheid over hoe de migratie naar versie 2.0 zal verlopen. Het is namelijk nog niet helemaal zeker dat alles wat onder 1.1 gebouwd is, onder 2.0 nog steeds werkt. Ook de GUI (Graphical User Interface) wordt aangepast en dat heeft weer gevolgen voor de ontwikkeling van development tools. Desalniettemin leidt het geen twijfel dat BPEL dé standaard wordt voor het laten samenwerken van XML based Web services. Wie bedrijfsprocessen op basis van Web services wil automatiseren, zal er uiteindelijk niet omheen kunnen.

Met dank aan Marcel Telling, consulent bij Simar Praktijk B.V. uit Mijdrecht. Hij is te bereiken via e mail: m_telling@hotmail.com.


OC Centor BV
Fultonbaan 2b
3439 NE
Nieuwegein
tel. 030 6020060

Realisatie:
Beaumont Tekst&Ontwerp
H. Dunantweg 20 2400BD
Alphen a/d Rijn
tel. 0172 419370

: Dagelijks Nieuws :
Klik hier voor een actueel overzicht van Linux, Unix, Oracle, DWH, BI, Java, Database, Emercing Technologies, Security, ICT en Financieel nieuws.