Computable.nl
  • Thema’s
    • Carrière
    • IT Strategy & Governance
    • Cloud & Infrastructure
    • Data & AI
    • Security & Risk
    • Software & Development
    • Digitale werkplek
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Computable Awards
    • Nieuws
    • Winnaars
    • Partner worden
    • Inzendingen
    • De jury en experts
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
    • Magazine
    • Adverteren in het magazine
  • Nieuwsbrief

Home » Software & Development » API & Integration » Middleware

BPEL of state transitions?

03 november 2005 - 23:004 minuten leestijdOpinieMiddleware
Rick van der Lans
Rick van der Lans

Door de komst van de service oriented architecture is de interesse voor business process modellering fors toegenomen. Zeker nu we met talen als BPEL (Business Process Execution Language) deze business processen formeel kunnen uitschrijven en er tools zijn waarmee we ze kunnen verwerken, de zogenaamde BPEL-engines. Maar is BPEL wel voor elke situatie ideaal? 

De bouwstenen van BPEL (en ook van BPEL-achtige talen) zijn gebaseerd op de bouwstenen van klassieke, procedurele programmeertalen. We kunnen met BPEL bijvoorbeeld condities en lussen programmeren en we kunnen aan variabelen een waarde toekennen. Het effect is dat een BPEL-proces een serieel karakter heeft. In feite is het een stappenplan. Voer eerst stap één uit, dan stap twee, als de conditie waar is dan stap drie en anders stap vier. Uiteraard kunnen er zaken parallel uitgevoerd worden, maar het blijft een serieel stappenplan.
 
Een stappenplan zal voor vele business processen meer dan geschikt zijn, maar niet voor alle! Wat gebeurt er bijvoorbeeld als ineens van dat seriële stappenplan wordt afgeweken? Wat als er ineens op dit proces wordt ingebroken? Als daar in het BPEL-model niet op geanticipeerd wordt, dan hebben we een probleem.
 
Er zijn situaties die zo event-driven van aard zijn dat het werken met seriële stappenplannen geen zin heeft. BPEL is dan niet de geschikte taal. Neem bijvoorbeeld het begrip vlucht van een fictieve vliegtuigmaatschappij genaamd HappyAir. Veronderstel dat HappyAir een vlucht inplant voor de komende zomer van Amsterdam naar San Francisco. Eerst zal een vliegtuigmodel, bijvoorbeeld een Boeing 777, aan de vlucht toegekend moeten worden. Dit is het eerste event dat op deze specifieke vlucht uitgevoerd wordt en daarmee de status van die vlucht verandert. Vervolgens kan het zijn dat er enkele piloten worden toegewezen en daarna een crew bestaande uit stewards en stewardessen. Dan worden er door klanten reserveringen voor de stoelen en voor vracht gemaakt. Dit zijn allemaal events die in een willekeurige volgorde aangeleverd worden en door HappyAir uitgevoerd moeten worden. Veronderstel dat om bepaalde redenen besloten wordt een ander vliegtuigmodel in te zetten. Alles verandert hierdoor. Bijvoorbeeld, andere piloten en een andere crew moet gekozen worden en passagiers zullen verplaatst moeten worden.
 
We kunnen hier wel een BPEL-model voor maken, maar een State Transition Diagram (STD) zal veel eenvoudiger en veel geschikter zijn. Het modelleren van deze event-driven omgeving voor een vlucht zal met een STD passender zijn. De mogelijke events die de status van een vlucht kunnen veranderen, worden dan geïnventariseerd en gedefinieerd. Deze events mogen dan op elk moment afgevuurd worden. Geen seriële, maar een event-driven status-georienteerde definitie.
 
Uiteraard vereist dit wel dat we engines hebben die in staat zijn deze STD’s te verwerken. Laten we ze state transition diagram engines noemen. Dus wat een BPEL-engine is voor BPEL, dat is een STD-engine voor een STD. Sommige leveranciers, zoals IBM, ondersteunen momenteel naast BPEL een STD-engine. Het is wel interessant om te weten dat achter de schermen dit specifieke product van IBM elke STD omzet naar BPEL. Dus deze wordt uiteindelijk wel door de BPEL-engine verwerkt.
 
Het is niet dat BPEL geen nut heeft. Voor de wat meer seriële situaties is BPEL een prima optie. Maar ik denk dat we realistisch moeten zijn en de beperkingen van BPEL moeten accepteren en het daar moeten inzetten waar het geschikt is: in de niet event-driven omgevingen. In event-driven omgevingen zijn STD’s echter aan te bevelen en vormen een verrijking van de service oriented architecture. Hopelijk zullen vele leveranciers van Enterprise Service Bussen deze niet-seriële toepassing aan hun producten toevoegen.

 
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.

Meer over

Oracle-middlewareService Oriented Architecture

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Meer lezen

    Middleware

    Risc-V-ecosysteem krijgt krachtige impuls

    Middleware

    Linux en Zephyr vullen elkaar ‘embedded’ mooi aan

    Middleware

    Auto-industrie omarmt opensourceplatform Linux

    Foto van quantumsysteem IBM
    Middleware

    IBM op weg naar nuttige quantum-computer in 2033

    Middleware

    IBM kondigt quantum-doorbraken aan

    Middleware

    Applicatiecontract RWS grootste uit tweede kwartaal

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Computable Awards
    • Magazine
    • Ontvang Computable e-Magazine
    • Cybersec e-Magazine
    • Topics
    • Phishing
    • Ransomware
    • NEN 7510

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten
    • Blogwire

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2026 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs