presentatie over bpel
Post on 25-May-2015
4.214 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
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
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
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))
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
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
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
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
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
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
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
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
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
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
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)
18
Voorbeeld order
Order verzoek
Order acceptatie
Order bevestiging
Bedrijf
“A”Bedrijf “B”
Choreografie
ChoreografieChoreografieEen eenvoudig voorbeeld : 2 participantenEen eenvoudig voorbeeld : 2 participanten
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
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
21
BDUWV
CWI IB
Burgers
Bedrijven Gemeenten
Provincies
Kakofonie in overheidslandKakofonie in overheidsland
Actoren = Verzameling van interacties tussen type actoren
Groepen actoren =
22
BD
UWV
CWIBurgers
Bedrijven Gemeenten
Provincies
Klanten Overheid
IB
Toegangsvoorziening met Web ServicesToegangsvoorziening met Web ServicesToegangs
voorzieningKlanten Toegangs
voorzieningPartners
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
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
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
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
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}
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>>
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
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– ....
top related