Business Process Execution language (BPEL) VOOR E-provincies en Provincie Brabant DOOR Ing. R.H.W. Claassens MIM
Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li...
Positionering van BPEL <ul><li>Een standaard die voorbouwt op Web Services (WS) standaarden en daarop een aanvulling biedt...
Relevante WS-standaarden <ul><li>Extensible Markup Language (XML)  </li></ul><ul><ul><li>Is een flexibel tekstformaat voor...
Positionering van Web Services en BPEL SGML EDI XML DCE RPC OMG Corba SOAP Native workflow BPEL A) Gevestigd B) Ontwrichte...
Wat is BPEL ? <ul><li>Een technische standaard </li></ul><ul><ul><li>om interactie tussen applicaties en componenten te be...
Waarom BPEL ? Bedrijfsproces Service 1 Service 2 Service 5 Service 4 Service 6 Service 3 Service 1 Service 3 Service 2 Ser...
Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li...
Bedrijfsproces  Receive Assign Invoke Assign Invoke Assign Reply Vluchtreservering Hotelreservering <invoke partnerLink=“V...
BPEL kenmerken <ul><li>Ondersteuning van </li></ul><ul><ul><li>Parallelle uitvoering van activiteiten </li></ul></ul><ul><...
Receive Assign Invoke Throw Reply een wachttoestand waarbij wordt gewacht op een passend bericht Verzending van een berich...
Empty While Switch Pick Sequence Voegt een “doe-niets” instructie toe in het business proces Een verzameling activiteiten ...
BPEL globale structuur Partner Links Variables CorrelationSets FaultHandlers EventHandlers CompensationHandlers Receive Re...
Compensatie-acties A’ B’ C’ Invoke Invoke Invoke A B C C’ B’ A’ Bij elke actie kan een ongedaan-maken-actie (compensatie) ...
Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li...
<ul><li>Twee mogelijke invalhoeken </li></ul><ul><ul><li>Event Oriented </li></ul></ul><ul><ul><ul><li>Pi-Calculus (of Eve...
Choreografie versus Orkestratie <ul><li>Choreografie </li></ul><ul><ul><li>Richt zich op het totaal van 2-zijde dialogen t...
Voorbeeld order Order verzoek Order acceptatie Order bevestiging  Bedrijf   “ A ” Bedrijf  “ B ” Choreografie Choreografie...
Bedrijf B Proces Analyse Tool Bedrijf A Zend  Order Ontvang  Order Acceptatie  Zend  Order Bevestiging Vertaal Bedrijf A B...
Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li...
Kakofonie in overheidsland Actoren  =  Verzameling van interacties tussen type actoren Groepen actoren  =  BD UWV CWI IB B...
BD UWV CWI Burgers Bedrijven Gemeenten Provincies Klanten Overheid IB Toegangsvoorziening met Web Services Toegangs voorzi...
<ul><li>Voorwaarden (1) </li></ul><ul><ul><li>Standaardisering </li></ul></ul><ul><ul><ul><li>Techniek </li></ul></ul></ul...
Een toegangsvoorziening met Web Services <ul><li>Voorwaarden (2) </li></ul><ul><ul><li>Veel en intensieve afstemming tusse...
<ul><li>Samenwerkingsverband UWV Belastingdienst (SUB) </li></ul><ul><ul><li>Polisadministratie bij UWV gaat functioneren ...
Bedrijven BD Burgers Nieuwe Polisadministratie Oude Basisregistraties (5x) Klant Contact Centrum, voorziening Externe Inte...
<<koppelvlakken>> <<organisatie>> InkijkFunctie [IF] <<organisatie>> Aanroep(parameters) Terugkeer(antwoord) Berichten [BG...
<<Netwerk>> <<Organisatie>> :RBD <<Organisatie>> :UWV <<HTTP>> {point-to-point Beveiligde verbinding} <<Websphere MQ>> <<F...
Ervaringen <ul><li>Experts met verschillende achtergronden hebben vaak sterk uiteenlopende beelden over de optimale oploss...
Ervaringen <ul><li>Afspraken over te gebruiken technieken zijn het eenvoudigste </li></ul><ul><li>De moeilijkste discussie...
Upcoming SlideShare
Loading in …5
×

Presentatie over BPEL

4,650 views

Published on

Presentatie over BPEL,
Bijeenkomst Elektronische Documentenbeheer, 15 september 2005, Provincie Noord-Brabant.

Published in: Economy & Finance
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,650
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
68
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentatie over BPEL

  1. 1. Business Process Execution language (BPEL) VOOR E-provincies en Provincie Brabant DOOR Ing. R.H.W. Claassens MIM
  2. 2. Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li>Waarom ? </li></ul></ul><ul><li>BPEL </li></ul><ul><ul><li>Waar is het uit opgebouwd ? </li></ul></ul><ul><li>BPEL in een groter geheel </li></ul><ul><li>BPEL en op weg naar de elektronische overheid </li></ul>
  3. 3. Positionering van BPEL <ul><li>Een standaard die voorbouwt op Web Services (WS) standaarden en daarop een aanvulling biedt </li></ul>*) Deze verzameling van standaarden is nog volop in ontwikkeling BPEL (4WS) WSDL , WS-policy, UDDI , WS-Inspection Security Reliable Transactions Soap , logical messaging XML , encoding Other protocols Other services Composition Description Quality Of Service *) Interaction
  4. 4. Relevante WS-standaarden <ul><li>Extensible Markup Language (XML) </li></ul><ul><ul><li>Is een flexibel tekstformaat voor de opslag van data </li></ul></ul><ul><ul><li>Is een meta opmaak (markup) taal voor de beschrijving van gestructureerde data (gegevens) </li></ul></ul><ul><li>Simple Object Access Protocol (SOAP) </li></ul><ul><ul><li>Netwerk-, transport- en programmeertaal-onafhankelijk protocol </li></ul></ul><ul><ul><li>Biedt een service aanvrager de mogelijkheid om een aanroep te doen naar een service aanbieder </li></ul></ul><ul><ul><li>Het berichtformaat is XML </li></ul></ul><ul><li>Web Service Description Language (WSDL) </li></ul><ul><ul><li>Een grammatica voor het beschrijven van services over </li></ul></ul><ul><ul><ul><li>Wat deze doet </li></ul></ul></ul><ul><ul><ul><li>Waar deze te vinden is </li></ul></ul></ul><ul><ul><ul><li>Hoe deze kan worden aangeroepen </li></ul></ul></ul><ul><ul><li>Het berichtformaat is XML </li></ul></ul><ul><li>Universal Discovery Description and Integration (UDDI) </li></ul><ul><ul><li>Infrastructuur om services te publiceren </li></ul></ul>
  5. 5. Positionering van Web Services en BPEL SGML EDI XML DCE RPC OMG Corba SOAP Native workflow BPEL A) Gevestigd B) Ontwrichtend Goedkoper, gemakkelijker in gebruik,.. Performance Gevestigde technologie Ontwrichtende technologie A B C bovengrens D ondergrens Tijd Efficiënter, betere performance, complexer,..
  6. 6. Wat is BPEL ? <ul><li>Een technische standaard </li></ul><ul><ul><li>om interactie tussen applicaties en componenten te beschrijven en die tot een bedrijfsproces samen te voegen (composition) </li></ul></ul><ul><li>Wanneer een proces in BPEL beschreven is, kan het worden ontkoppeld van de machine waar het proces uiteindelijk wordt uitgevoerd </li></ul><ul><ul><li>Ontkoppeling van </li></ul></ul><ul><ul><ul><li>Hulpmiddelen om te beschrijven </li></ul></ul></ul><ul><ul><ul><li>Run-time gebruik om het proces te executeren ( execution language ) </li></ul></ul></ul>
  7. 7. Waarom BPEL ? Bedrijfsproces Service 1 Service 2 Service 5 Service 4 Service 6 Service 3 Service 1 Service 3 Service 2 Service 4 VAN: NAAR: Een antwoord op de choreografie uitdaging <ul><li>Beter te monitoren en te beheren </li></ul><ul><li>Aanpassingen zijn eenvoudiger een sneller door te voeren </li></ul><ul><li>Services blijven eenvoudiger en zijn daardoor eerder te hergebruiken </li></ul>
  8. 8. Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li>Waarom ? </li></ul></ul><ul><li>BPEL </li></ul><ul><ul><li>Waar is het uit opgebouwd ? </li></ul></ul><ul><li>BPEL in een groter geheel </li></ul><ul><li>BPEL en op weg naar de elektronische overheid </li></ul>
  9. 9. Bedrijfsproces Receive Assign Invoke Assign Invoke Assign Reply Vluchtreservering Hotelreservering <invoke partnerLink=“Vluchtreservering” portType=“VluchtreserveringPT” operation=“VerzoekVluchtReservering inputVariable=“VluchtreserveringVerzoek” outputVariable=Reserveringsinformatie”> BPEL code <ul><li>Leesbaar en executeerbaar door machine </li></ul><ul><li>“ Leesbaar” door BPEL-expert </li></ul>BPEL bouwstenen <ul><li>Begrijpelijk voor Businessanalisten </li></ul>Voorbeeld: Reserveren van een reis
  10. 10. BPEL kenmerken <ul><li>Ondersteuning van </li></ul><ul><ul><li>Parallelle uitvoering van activiteiten </li></ul></ul><ul><ul><li>Langlopende transacties </li></ul></ul><ul><ul><ul><li>Seconde…….maanden </li></ul></ul></ul><ul><li>Geen (directe) ondersteuning van </li></ul><ul><ul><li>Gedistribueerde ACID-transacties </li></ul></ul><ul><ul><li>“ Human”-workflow </li></ul></ul>
  11. 11. Receive Assign Invoke Throw Reply een wachttoestand waarbij wordt gewacht op een passend bericht Verzending van een bericht als een reactie op een bericht dat eerder door middel van een receive ontvangen is Roep een eenrichtings- of een vraag/antwoord-operatie aan op een poorttype, die door een partner wordt aangeboden Muteer de waarden van variabelen of partnerlinks met nieuwe data Genereer een fout vanuit het business proces Terminate Stop onmiddellijk de uitvoering van een business proces Wait Wacht een gegeven periode of totdat een bepaald tijdstip verstreken is BPEL bouwstenen
  12. 12. Empty While Switch Pick Sequence Voegt een “doe-niets” instructie toe in het business proces Een verzameling activiteiten de sequentieel uitgevoerd moeten worden Selecteer een tak van activiteiten uit een keuzeverzameling Wijst op een activiteit die herhaaldelijk moet worden uitgevoerd totdat aan een vooraf bepaald criterium is voldaan Een wachttoestand waarin op een passend bericht wordt gewacht of op verstrijken van een time-out Flow Wijst op een of meer activiteiten die parallel uitvoerbaar zijn Scope Definieert een groep van activiteiten met hun eigen variabelen, fout afhandelaar en compensatie afhandelaar BPEL bouwstenen
  13. 13. BPEL globale structuur Partner Links Variables CorrelationSets FaultHandlers EventHandlers CompensationHandlers Receive Reply Activity Process Partijen die met het bedrijfsproces interacteren Variabelen gebruikt in de processen Verzamelingen van kenmerken die door alle berichten in een correlatiegroep worden gebruikt Activiteiten die uitgevoerd moeten worden als reactie op een fout Parallelle aanroepen wanneer een passende gebeurtenis optreedt Groepering van compenserende acties
  14. 14. Compensatie-acties A’ B’ C’ Invoke Invoke Invoke A B C C’ B’ A’ Bij elke actie kan een ongedaan-maken-actie (compensatie) worden gedefinieerd De compensatie-acties worden automatisch uitgevoerd wanneer het proces mislukt CompensationHandlers
  15. 15. Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li>Waarom ? </li></ul></ul><ul><li>BPEL </li></ul><ul><ul><li>Waar is het uit opgebouwd ? </li></ul></ul><ul><li>BPEL in een groter geheel </li></ul><ul><li>BPEL en op weg naar de elektronische overheid </li></ul>
  16. 16. <ul><li>Twee mogelijke invalhoeken </li></ul><ul><ul><li>Event Oriented </li></ul></ul><ul><ul><ul><li>Pi-Calculus (of Event Calculus) </li></ul></ul></ul><ul><ul><ul><ul><li>Voor het beschrijven en modelleren van parallel communicerende systemen </li></ul></ul></ul></ul><ul><ul><ul><li>BPEL, WS-CDL </li></ul></ul></ul><ul><ul><li>Activity Oriented </li></ul></ul><ul><ul><ul><li>Petri nets </li></ul></ul></ul><ul><ul><ul><ul><li>Voor het beschrijven en modelleren van eindige toestandsmachines </li></ul></ul></ul></ul><ul><ul><ul><li>WfMC </li></ul></ul></ul>Bedrijfsproces modellering
  17. 17. Choreografie versus Orkestratie <ul><li>Choreografie </li></ul><ul><ul><li>Richt zich op het totaal van 2-zijde dialogen tussen verschillende participanten in een samenwerkingsverband waarbij meer partijen betrokken zijn </li></ul></ul><ul><ul><li>Is onafhankelijk van een platform of programmeermodel </li></ul></ul><ul><ul><li>Binnen en buiten vertrouwelijke domeinen </li></ul></ul><ul><ul><li>Heeft geen centrale coördinator (het is wel te monitoren) </li></ul></ul><ul><ul><ul><li>Meest belovende standaard </li></ul></ul></ul><ul><ul><ul><ul><li>Web Services Choreography Description Language (WS-CDL) </li></ul></ul></ul></ul><ul><li>Orkestratie </li></ul><ul><ul><li>Richt zich op het gedrag van een enkele participant in een hub/spoke-model </li></ul></ul><ul><ul><li>Bevindt zich op een centrale coördinator in een gedistribueerd systeem </li></ul></ul><ul><ul><li>Dwingt lokaal de voortgang van processen af volgens een bepaald schema </li></ul></ul><ul><ul><ul><li>Meest belovende Standaard </li></ul></ul></ul><ul><ul><ul><ul><li>Business Process Execution Language (BPEL) </li></ul></ul></ul></ul>
  18. 18. Voorbeeld order Order verzoek Order acceptatie Order bevestiging Bedrijf “ A ” Bedrijf “ B ” Choreografie Choreografie Een eenvoudig voorbeeld : 2 participanten
  19. 19. Bedrijf B Proces Analyse Tool Bedrijf A Zend Order Ontvang Order Acceptatie Zend Order Bevestiging Vertaal Bedrijf A BPEL-workflow Genereer BPEL Template Genereer BPEL Template Ontvang Order Zend Order Acceptatie Ontvang Order Bevestiging Vertaal Vertaal Bedrijf B BPEL-workflow Twee BPEL workflow templates reflecteren een raamovereenkomst Order verzoek Order acceptatie Order bevestiging Choreografie Orkestratie Orkestratie Choreografie versus Orkestratie Vertaal Back office systemen Back office systemen
  20. 20. Agenda <ul><li>BPEL </li></ul><ul><ul><li>Positionering </li></ul></ul><ul><ul><li>Wat is het ? </li></ul></ul><ul><ul><li>Waarom ? </li></ul></ul><ul><li>BPEL </li></ul><ul><ul><li>Waar is het uit opgebouwd ? </li></ul></ul><ul><li>BPEL het in een groter geheel </li></ul><ul><li>BPEL en op weg naar de elektronische overheid </li></ul>
  21. 21. Kakofonie in overheidsland Actoren = Verzameling van interacties tussen type actoren Groepen actoren = BD UWV CWI IB Burgers Bedrijven Gemeenten Provincies
  22. 22. BD UWV CWI Burgers Bedrijven Gemeenten Provincies Klanten Overheid IB Toegangsvoorziening met Web Services Toegangs voorziening Klanten Toegangs voorziening Partners
  23. 23. <ul><li>Voorwaarden (1) </li></ul><ul><ul><li>Standaardisering </li></ul></ul><ul><ul><ul><li>Techniek </li></ul></ul></ul><ul><ul><ul><li>Semantiek </li></ul></ul></ul><ul><ul><ul><li>Authenticatie en autorisatie </li></ul></ul></ul><ul><ul><li>Verantwoordelijkheden </li></ul></ul><ul><ul><ul><li>Gegevensbeheer en het aanbieden van Web Services </li></ul></ul></ul><ul><ul><ul><li>Coördinatie van processen over partijen heen </li></ul></ul></ul><ul><ul><li>Prestatieafspraken </li></ul></ul><ul><ul><ul><li>Beschikbaarheid </li></ul></ul></ul><ul><ul><ul><li>Kwaliteit gegevens </li></ul></ul></ul><ul><ul><ul><li>Performance </li></ul></ul></ul><ul><ul><li>Ontwerpen van locale processen </li></ul></ul><ul><ul><ul><li>Van buiten naar binnen </li></ul></ul></ul>Een toegangsvoorziening met Web Services
  24. 24. Een toegangsvoorziening met Web Services <ul><li>Voorwaarden (2) </li></ul><ul><ul><li>Veel en intensieve afstemming tussen de betrokken partijen op verschillende niveaus </li></ul></ul>
  25. 25. <ul><li>Samenwerkingsverband UWV Belastingdienst (SUB) </li></ul><ul><ul><li>Polisadministratie bij UWV gaat functioneren als authentieke bron voor alle inkomstenverhoudingen </li></ul></ul><ul><ul><li>Een gecombineerde loonaangifte worden door werkgevers aangeboden aan de Belastingdienst, die vervolgens de relevante gegevens aan het UWV geleverd </li></ul></ul><ul><ul><ul><li>200 miljoen berichten per jaar </li></ul></ul></ul><ul><ul><li>Communicatie met werknemers wordt door het UWV verzorgd </li></ul></ul>Praktijkvoorbeeld
  26. 26. Bedrijven BD Burgers Nieuwe Polisadministratie Oude Basisregistraties (5x) Klant Contact Centrum, voorziening Externe Internet voorziening Nieuwe Materiewet systemen Sub koppelvlak Suwi koppelvlak Rinis koppelvlak Overheids Transactie Poort (OTP) UWV Praktijkvoorbeeld Oude Materiewet systemen = BPEL-coördinator
  27. 27. <<koppelvlakken>> <<organisatie>> InkijkFunctie [IF] <<organisatie>> Aanroep(parameters) Terugkeer(antwoord) Berichten [BG] - met Gegarandeerde aflevering <<rol>> Plaats bericht (bericht) <<rol>> <<rol>> <<rol>> {Technologie : SOAP/XML over Websphere MQ} {Technologie : SOAP/XML over HTTP} Leverancier Aanvrager Aanvraagverwerking Leverantieverwerking SUB : drie vormen van gegevensuitwisseling BestandsUitwisseling [BU] Aanvraag bestand(parameters) Terugkeer(correlatie_ID) Gereedmelding(correlatie_ID) OK Afhalen bestand(correlatie_ID) Bestand {via FTP} {Technologie : SOAP/XML over HTTP}
  28. 28. <<Netwerk>> <<Organisatie>> :RBD <<Organisatie>> :UWV <<HTTP>> {point-to-point Beveiligde verbinding} <<Websphere MQ>> <<FTP>> <ul><li>Verantwoordelijkheden: </li></ul><ul><li>Authenticatie en autorisatie van gebruikers </li></ul><ul><li>Logging van gebruik op gebruikersniveau </li></ul>SUB : Authenticatie en autorisatie <<applicatie>> <ul><li>Verantwoordelijkheden: </li></ul><ul><li>Authenticatie en autorisatie van organisaties </li></ul><ul><li>Logging van gebruik op organisatieniveau </li></ul><<applicatie>>
  29. 29. Ervaringen <ul><li>Experts met verschillende achtergronden hebben vaak sterk uiteenlopende beelden over de optimale oplossing </li></ul><ul><ul><li>Proces analisten </li></ul></ul><ul><ul><li>Workflow experts </li></ul></ul><ul><ul><li>Enterprise Application Integration experts </li></ul></ul><ul><li>Standaarden laten nog veel ruimte voor het maken van eigen keuzes </li></ul><ul><li>Nieuwe standaarden = nieuwe hulpmiddelen = verrassingen </li></ul><ul><li>Projecten zijn gefocust op koppelingen en kijken nauwelijks op orkestratie- en choreografieniveau </li></ul>
  30. 30. Ervaringen <ul><li>Afspraken over te gebruiken technieken zijn het eenvoudigste </li></ul><ul><li>De moeilijkste discussies hebben betrekking op: </li></ul><ul><ul><li>Onderlinge afstemming van projecten </li></ul></ul><ul><ul><li>Semantiek </li></ul></ul><ul><ul><li>Beveiliging </li></ul></ul><ul><ul><li>Archivering </li></ul></ul><ul><ul><li>Release management </li></ul></ul><ul><ul><li>Kwaliteit van de gegevens </li></ul></ul><ul><ul><li>.. </li></ul></ul>

×