30
Business Process Business Process Execution language Execution language (BPEL) (BPEL) VOOR VOOR E-provincies en Provincie E-provincies en Provincie Brabant Brabant DOOR DOOR Ing. R.H.W. Claassens MIM Ing. R.H.W. Claassens MIM

Presentatie over BPEL

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Presentatie over BPEL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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– ....