presentatie over bpel
DESCRIPTION
Presentatie over BPEL, Bijeenkomst Elektronische Documentenbeheer, 15 september 2005, Provincie Noord-Brabant.TRANSCRIPT
![Page 1: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/1.jpg)
Business ProcessBusiness ProcessExecution languageExecution language
(BPEL)(BPEL)
VOORVOORE-provincies en Provincie BrabantE-provincies en Provincie Brabant
DOORDOORIng. R.H.W. Claassens MIMIng. R.H.W. Claassens MIM
![Page 2: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/2.jpg)
2
AgendaAgenda• BPELBPEL
– PositioneringPositionering– Wat is het ?Wat is het ?– Waarom ?Waarom ?
• BPELBPEL– Waar is het uit opgebouwd ?Waar is het uit opgebouwd ?
• BPEL in een groter geheelBPEL in een groter geheel
• BPEL en op weg naar de elektronische overheidBPEL en op weg naar de elektronische overheid
![Page 3: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/3.jpg)
3
BPEL (4WS)
WSDL, WS-policy, UDDI, WS-Inspection
Security Reliable Transactions
Soap, logical messaging
XML, encoding
Other protocols Other services
Composition
Description
QualityOf Service
*)
Interaction
Positionering van BPELPositionering van BPEL• Een standaard die voorbouwt op Web Services (WS) Een standaard die voorbouwt op Web Services (WS)
standaarden en daarop een aanvulling biedtstandaarden en daarop een aanvulling biedt
*) Deze verzameling van standaarden is nog volop in ontwikkeling
![Page 4: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/4.jpg)
4
Relevante WS-standaardenRelevante WS-standaarden• Extensible Markup Language (XML) Extensible Markup Language (XML)
– Is een flexibel tekstformaat voor de opslag van dataIs een flexibel tekstformaat voor de opslag van data– Is een meta opmaak (markup) taal voor de beschrijving van Is een meta opmaak (markup) taal voor de beschrijving van
gestructureerde data (gegevens)gestructureerde data (gegevens)
• Simple Object Access Protocol (SOAP)Simple Object Access Protocol (SOAP)– Netwerk-, transport- en programmeertaal-onafhankelijk protocol Netwerk-, transport- en programmeertaal-onafhankelijk protocol – Biedt een service aanvrager de mogelijkheid om een aanroep te doen naar Biedt een service aanvrager de mogelijkheid om een aanroep te doen naar
een service aanbieder een service aanbieder – Het berichtformaat is XMLHet berichtformaat is XML
• Web Service Description Language (WSDL)Web Service Description Language (WSDL)– Een grammatica voor het beschrijven van services overEen grammatica voor het beschrijven van services over
• Wat deze doet Wat deze doet • Waar deze te vinden is Waar deze te vinden is • Hoe deze kan worden aangeroepenHoe deze kan worden aangeroepen
– Het berichtformaat is XMLHet berichtformaat is XML
• Universal Discovery Description and Integration (UDDI) Universal Discovery Description and Integration (UDDI) – Infrastructuur om services te publicerenInfrastructuur om services te publiceren
![Page 5: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/5.jpg)
5
SGMLEDI
XML
DCE RPCOMG Corba
SOAP
Native workflow BPEL
A) Gevestigd B) Ontwrichtend
Goedkoper, gemakkelijker in gebruik,..
Performance
Gevestigdetechnologie
Ontwrichtendetechnologie
A
B
C bovengrens
D ondergrens
Tijd
Efficiënter, betere performance, complexer,..
Positionering van Web Services en BPELPositionering van Web Services en BPEL
![Page 6: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/6.jpg)
6
Wat is BPEL ?Wat is BPEL ?
• Een technische standaardEen technische standaard– om interactie tussen applicaties en componenten om interactie tussen applicaties en componenten
te beschrijven en die tot een bedrijfsproces te beschrijven en die tot een bedrijfsproces samen te voegen (composition)samen te voegen (composition)
• Wanneer een proces in BPEL beschreven is, kan het Wanneer een proces in BPEL beschreven is, kan het worden ontkoppeld van de machine waar het proces worden ontkoppeld van de machine waar het proces uiteindelijk wordt uitgevoerduiteindelijk wordt uitgevoerd– Ontkoppeling vanOntkoppeling van
• Hulpmiddelen om te beschrijvenHulpmiddelen om te beschrijven• Run-time gebruik om het proces te executeren Run-time gebruik om het proces te executeren
((execution languageexecution language))
![Page 7: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/7.jpg)
7
Bedrijfsproces
Waarom BPEL ?Waarom BPEL ?
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 uitdagingEen antwoord op de choreografie uitdaging
•Beter te monitoren en te beheren•Aanpassingen zijn eenvoudiger een sneller door te voeren
•Services blijven eenvoudiger en zijn daardoor eerder te hergebruiken
![Page 8: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/8.jpg)
8
AgendaAgenda• BPELBPEL
– PositioneringPositionering– Wat is het ?Wat is het ?– Waarom ?Waarom ?
• BPELBPEL– Waar is het uit opgebouwd ?Waar is het uit opgebouwd ?
• BPEL in een groter geheelBPEL in een groter geheel
• BPEL en op weg naar de elektronische overheidBPEL en op weg naar de elektronische overheid
![Page 9: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/9.jpg)
9
Receive
Assign
Invoke
Assign
Invoke
Assign
Reply
Bedrijfsproces Bedrijfsproces
Vluchtreservering
Hotelreservering
<invoke partnerLink=“Vluchtreservering”portType=“VluchtreserveringPT”operation=“VerzoekVluchtReserveringinputVariable=“VluchtreserveringVerzoek”outputVariable=Reserveringsinformatie”>
BPEL code•Leesbaar en executeerbaar door machine
•“Leesbaar” door BPEL-expert
BPEL bouwstenen•Begrijpelijk voor Businessanalisten
Voorbeeld:Voorbeeld:Reserveren van een reisReserveren van een reis
![Page 10: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/10.jpg)
10
BPEL kenmerkenBPEL kenmerken
• Ondersteuning vanOndersteuning van– Parallelle uitvoering van activiteitenParallelle uitvoering van activiteiten– Langlopende transactiesLanglopende transacties
• Seconde…….maandenSeconde…….maanden
• Geen (directe) ondersteuning vanGeen (directe) ondersteuning van– Gedistribueerde ACID-transactiesGedistribueerde ACID-transacties– ““Human”-workflowHuman”-workflow
![Page 11: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/11.jpg)
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 bouwstenenBPEL bouwstenen
![Page 12: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/12.jpg)
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
ScopeDefinieert een groep van activiteiten met hun eigen variabelen, fout afhandelaar en compensatie afhandelaar
BPEL bouwstenenBPEL bouwstenen
![Page 13: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/13.jpg)
13
BPEL globale structuurBPEL globale structuur
Partner Links
Variables
CorrelationSets
FaultHandlers
EventHandlers
CompensationHandlers
Receive ReplyActivity
ProcessPartijen 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 vancompenserende acties
![Page 14: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/14.jpg)
14
Compensatie-actiesCompensatie-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
![Page 15: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/15.jpg)
15
AgendaAgenda
• BPELBPEL– PositioneringPositionering– Wat is het ?Wat is het ?– Waarom ?Waarom ?
• BPELBPEL– Waar is het uit opgebouwd ?Waar is het uit opgebouwd ?
• BPEL in een groter geheelBPEL in een groter geheel
• BPEL en op weg naar de elektronische overheidBPEL en op weg naar de elektronische overheid
![Page 16: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/16.jpg)
16
• Twee mogelijke invalhoekenTwee mogelijke invalhoeken
– Event OrientedEvent Oriented• Pi-Calculus (of Event Calculus)Pi-Calculus (of Event Calculus)
– Voor het beschrijven en modelleren van parallel Voor het beschrijven en modelleren van parallel communicerende systemencommunicerende systemen
• BPEL, WS-CDLBPEL, WS-CDL
– Activity OrientedActivity Oriented• Petri netsPetri nets
– Voor het beschrijven en modelleren van eindige Voor het beschrijven en modelleren van eindige toestandsmachinestoestandsmachines
• WfMCWfMC
Bedrijfsproces modelleringBedrijfsproces modellering
![Page 17: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/17.jpg)
17
Choreografie versus OrkestratieChoreografie versus Orkestratie• ChoreografieChoreografie
– Richt zich op het totaal van 2-zijde dialogen tussen verschillende Richt zich op het totaal van 2-zijde dialogen tussen verschillende participanten in een samenwerkingsverband waarbij meer partijen participanten in een samenwerkingsverband waarbij meer partijen betrokken zijnbetrokken zijn
– Is onafhankelijk van een platform of programmeermodelIs onafhankelijk van een platform of programmeermodel– Binnen en buiten vertrouwelijke domeinenBinnen en buiten vertrouwelijke domeinen– Heeft geen centrale coördinator (het is wel te monitoren)Heeft geen centrale coördinator (het is wel te monitoren)
• Meest belovende standaardMeest belovende standaard– Web Services Choreography Description Language (WS-CDL)Web Services Choreography Description Language (WS-CDL)
• OrkestratieOrkestratie– Richt zich op het gedrag van een enkele participant in een Richt zich op het gedrag van een enkele participant in een
hub/spoke-modelhub/spoke-model– Bevindt zich op een centrale coördinator in een gedistribueerd Bevindt zich op een centrale coördinator in een gedistribueerd
systeemsysteem– Dwingt lokaal de voortgang van processen af volgens een bepaald Dwingt lokaal de voortgang van processen af volgens een bepaald
schemaschema• Meest belovende StandaardMeest belovende Standaard
– Business Process Execution Language (BPEL)Business Process Execution Language (BPEL)
![Page 18: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/18.jpg)
18
Voorbeeld order
Order verzoek
Order acceptatie
Order bevestiging
Bedrijf
“A”Bedrijf “B”
Choreografie
ChoreografieChoreografieEen eenvoudig voorbeeld : 2 participantenEen eenvoudig voorbeeld : 2 participanten
![Page 19: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/19.jpg)
19
BedrijfB
Proces Analyse Tool
BedrijfA
Zend Order
Ontvang OrderAcceptatie
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
ChoreografieOrkestratie Orkestratie
Choreografie versus OrkestratieChoreografie versus Orkestratie
Vertaal
Bac
k o
ffic
e s
yst
eme
n
Bac
k o
ffic
e s
yst
eme
n
![Page 20: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/20.jpg)
20
AgendaAgenda• BPELBPEL
– PositioneringPositionering– Wat is het ?Wat is het ?– Waarom ?Waarom ?
• BPELBPEL– Waar is het uit opgebouwd ?Waar is het uit opgebouwd ?
• BPEL het in een groter geheelBPEL het in een groter geheel
• BPEL en op weg naar de elektronische overheidBPEL en op weg naar de elektronische overheid
![Page 21: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/21.jpg)
21
BDUWV
CWI IB
Burgers
Bedrijven Gemeenten
Provincies
Kakofonie in overheidslandKakofonie in overheidsland
Actoren = Verzameling van interacties tussen type actoren
Groepen actoren =
![Page 22: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/22.jpg)
22
BD
UWV
CWIBurgers
Bedrijven Gemeenten
Provincies
Klanten Overheid
IB
Toegangsvoorziening met Web ServicesToegangsvoorziening met Web ServicesToegangs
voorzieningKlanten Toegangs
voorzieningPartners
![Page 23: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/23.jpg)
23
• Voorwaarden (1)Voorwaarden (1)– StandaardiseringStandaardisering
• TechniekTechniek• SemantiekSemantiek• Authenticatie en autorisatieAuthenticatie en autorisatie
– VerantwoordelijkhedenVerantwoordelijkheden• Gegevensbeheer en het aanbieden van Web ServicesGegevensbeheer en het aanbieden van Web Services• Coördinatie van processen over partijen heenCoördinatie van processen over partijen heen
– PrestatieafsprakenPrestatieafspraken• BeschikbaarheidBeschikbaarheid• Kwaliteit gegevensKwaliteit gegevens• PerformancePerformance
– Ontwerpen van locale processenOntwerpen van locale processen• Van buiten naar binnenVan buiten naar binnen
Een toegangsvoorziening met Web ServicesEen toegangsvoorziening met Web Services
![Page 24: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/24.jpg)
24
Een toegangsvoorziening met Web ServicesEen toegangsvoorziening met Web Services
• Voorwaarden (2)Voorwaarden (2)– Veel en intensieve afstemming tussen de Veel en intensieve afstemming tussen de
betrokken partijen op verschillende niveausbetrokken partijen op verschillende niveaus
![Page 25: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/25.jpg)
25
• Samenwerkingsverband UWV Belastingdienst (SUB)
– Polisadministratie bij UWV gaat functioneren als authentieke bron voor alle inkomstenverhoudingen
– Een gecombineerde loonaangifte worden door werkgevers aangeboden aan de Belastingdienst, die vervolgens de relevante gegevens aan het UWV geleverd
• 200 miljoen berichten per jaar
– Communicatie met werknemers wordt door het UWV verzorgd
PraktijkvoorbeeldPraktijkvoorbeeld
![Page 26: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/26.jpg)
26
Bedrijven BD
Burgers
NieuwePolisadministratie
OudeBasisregistraties
(5x)
Klant ContactCentrum,
voorziening
ExterneInternet
voorziening
NieuweMateriewetsystemen
Subkoppelvlak
Suwikoppelvlak
Riniskoppelvlak
Overheids Transactie Poort (OTP)
UWV
PraktijkvoorbeeldPraktijkvoorbeeld
OudeMateriewetsystemen
= BPEL-coördinator
![Page 27: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/27.jpg)
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 gegevensuitwisselingSUB : 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}
![Page 28: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/28.jpg)
28
<<Netwerk>><<Organisatie>>:RBD
<<Organisatie>>:UWV
<<HTTP>>
{point-to-pointBeveiligde verbinding}
<<Websphere MQ>>
<<FTP>>
Verantwoordelijkheden:
• Authenticatie en autorisatie van gebruikers
• Logging van gebruik op gebruikersniveau
SUB : Authenticatie en autorisatieSUB : Authenticatie en autorisatie
<<applicatie>>
Verantwoordelijkheden:
• Authenticatie en autorisatie van organisaties
• Logging van gebruik op organisatieniveau
<<applicatie>>
![Page 29: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/29.jpg)
29
ErvaringenErvaringen
• Experts met verschillende achtergronden hebben Experts met verschillende achtergronden hebben vaak sterk uiteenlopende beelden over de optimale vaak sterk uiteenlopende beelden over de optimale oplossingoplossing– Proces analistenProces analisten– Workflow expertsWorkflow experts– Enterprise Application Integration expertsEnterprise Application Integration experts
• Standaarden laten nog veel ruimte voor het maken Standaarden laten nog veel ruimte voor het maken van eigen keuzesvan eigen keuzes
• Nieuwe standaarden = nieuwe hulpmiddelen = Nieuwe standaarden = nieuwe hulpmiddelen = verrassingen verrassingen
• Projecten zijn gefocust op koppelingen en kijken Projecten zijn gefocust op koppelingen en kijken nauwelijks op orkestratie- en choreografieniveau nauwelijks op orkestratie- en choreografieniveau
![Page 30: Presentatie over BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022062418/556297afd8b42abb398b4da6/html5/thumbnails/30.jpg)
30
ErvaringenErvaringen
• Afspraken over te gebruiken technieken zijn het Afspraken over te gebruiken technieken zijn het eenvoudigsteeenvoudigste
• De moeilijkste discussies hebben betrekking op:De moeilijkste discussies hebben betrekking op:– Onderlinge afstemming van projectenOnderlinge afstemming van projecten– SemantiekSemantiek– BeveiligingBeveiliging– ArchiveringArchivering– Release managementRelease management– Kwaliteit van de gegevensKwaliteit van de gegevens– ....