Presentatie over BPEL
Upcoming SlideShare
Loading in...5
×
 

Presentatie over BPEL

on

  • 6,336 views

Presentatie over BPEL,

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

Statistics

Views

Total Views
6,336
Views on SlideShare
6,319
Embed Views
17

Actions

Likes
1
Downloads
66
Comments
0

1 Embed 17

http://www.slideshare.net 17

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Presentatie over BPEL Presentatie over BPEL Presentation Transcript

  • Business Process Execution language (BPEL) VOOR E-provincies en Provincie Brabant DOOR Ing. R.H.W. Claassens MIM
  • Agenda
    • BPEL
      • Positionering
      • Wat is het ?
      • Waarom ?
    • BPEL
      • Waar is het uit opgebouwd ?
    • BPEL in een groter geheel
    • BPEL en op weg naar de elektronische overheid
  • Positionering van BPEL
    • Een standaard die voorbouwt op Web Services (WS) standaarden en daarop een aanvulling biedt
    *) 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
  • Relevante WS-standaarden
    • Extensible Markup Language (XML)
      • Is een flexibel tekstformaat voor de opslag van data
      • Is een meta opmaak (markup) taal voor de beschrijving van gestructureerde data (gegevens)
    • Simple Object Access Protocol (SOAP)
      • Netwerk-, transport- en programmeertaal-onafhankelijk protocol
      • Biedt een service aanvrager de mogelijkheid om een aanroep te doen naar een service aanbieder
      • Het berichtformaat is XML
    • Web Service Description Language (WSDL)
      • Een grammatica voor het beschrijven van services over
        • Wat deze doet
        • Waar deze te vinden is
        • Hoe deze kan worden aangeroepen
      • Het berichtformaat is XML
    • Universal Discovery Description and Integration (UDDI)
      • Infrastructuur om services te publiceren
  • 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,..
  • Wat is BPEL ?
    • Een technische standaard
      • om interactie tussen applicaties en componenten te beschrijven en die tot een bedrijfsproces samen te voegen (composition)
    • Wanneer een proces in BPEL beschreven is, kan het worden ontkoppeld van de machine waar het proces uiteindelijk wordt uitgevoerd
      • Ontkoppeling van
        • Hulpmiddelen om te beschrijven
        • Run-time gebruik om het proces te executeren ( execution language )
  • 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
    • Beter te monitoren en te beheren
    • Aanpassingen zijn eenvoudiger een sneller door te voeren
    • Services blijven eenvoudiger en zijn daardoor eerder te hergebruiken
  • Agenda
    • BPEL
      • Positionering
      • Wat is het ?
      • Waarom ?
    • BPEL
      • Waar is het uit opgebouwd ?
    • BPEL in een groter geheel
    • BPEL en op weg naar de elektronische overheid
  • Bedrijfsproces Receive Assign Invoke Assign Invoke Assign Reply Vluchtreservering Hotelreservering <invoke partnerLink=“Vluchtreservering” portType=“VluchtreserveringPT” operation=“VerzoekVluchtReservering inputVariable=“VluchtreserveringVerzoek” outputVariable=Reserveringsinformatie”> BPEL code
    • Leesbaar en executeerbaar door machine
    • “ Leesbaar” door BPEL-expert
    BPEL bouwstenen
    • Begrijpelijk voor Businessanalisten
    Voorbeeld: Reserveren van een reis
  • BPEL kenmerken
    • Ondersteuning van
      • Parallelle uitvoering van activiteiten
      • Langlopende transacties
        • Seconde…….maanden
    • Geen (directe) ondersteuning van
      • Gedistribueerde ACID-transacties
      • “ Human”-workflow
  • 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
  • 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
  • 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
  • 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
  • Agenda
    • BPEL
      • Positionering
      • Wat is het ?
      • Waarom ?
    • BPEL
      • Waar is het uit opgebouwd ?
    • BPEL in een groter geheel
    • BPEL en op weg naar de elektronische overheid
    • Twee mogelijke invalhoeken
      • Event Oriented
        • Pi-Calculus (of Event Calculus)
          • Voor het beschrijven en modelleren van parallel communicerende systemen
        • BPEL, WS-CDL
      • Activity Oriented
        • Petri nets
          • Voor het beschrijven en modelleren van eindige toestandsmachines
        • WfMC
    Bedrijfsproces modellering
  • Choreografie versus Orkestratie
    • Choreografie
      • Richt zich op het totaal van 2-zijde dialogen tussen verschillende participanten in een samenwerkingsverband waarbij meer partijen betrokken zijn
      • Is onafhankelijk van een platform of programmeermodel
      • Binnen en buiten vertrouwelijke domeinen
      • Heeft geen centrale coördinator (het is wel te monitoren)
        • Meest belovende standaard
          • Web Services Choreography Description Language (WS-CDL)
    • Orkestratie
      • Richt zich op het gedrag van een enkele participant in een hub/spoke-model
      • Bevindt zich op een centrale coördinator in een gedistribueerd systeem
      • Dwingt lokaal de voortgang van processen af volgens een bepaald schema
        • Meest belovende Standaard
          • Business Process Execution Language (BPEL)
  • Voorbeeld order Order verzoek Order acceptatie Order bevestiging Bedrijf “ A ” Bedrijf “ B ” Choreografie Choreografie Een eenvoudig voorbeeld : 2 participanten
  • 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
  • Agenda
    • BPEL
      • Positionering
      • Wat is het ?
      • Waarom ?
    • BPEL
      • Waar is het uit opgebouwd ?
    • BPEL het in een groter geheel
    • BPEL en op weg naar de elektronische overheid
  • Kakofonie in overheidsland Actoren = Verzameling van interacties tussen type actoren Groepen actoren = BD UWV CWI IB Burgers Bedrijven Gemeenten Provincies
  • BD UWV CWI Burgers Bedrijven Gemeenten Provincies Klanten Overheid IB Toegangsvoorziening met Web Services Toegangs voorziening Klanten Toegangs voorziening Partners
    • Voorwaarden (1)
      • Standaardisering
        • Techniek
        • Semantiek
        • Authenticatie en autorisatie
      • Verantwoordelijkheden
        • Gegevensbeheer en het aanbieden van Web Services
        • Coördinatie van processen over partijen heen
      • Prestatieafspraken
        • Beschikbaarheid
        • Kwaliteit gegevens
        • Performance
      • Ontwerpen van locale processen
        • Van buiten naar binnen
    Een toegangsvoorziening met Web Services
  • Een toegangsvoorziening met Web Services
    • Voorwaarden (2)
      • Veel en intensieve afstemming tussen de betrokken partijen op verschillende niveaus
    • 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
    Praktijkvoorbeeld
  • 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
  • <<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}
  • <<Netwerk>> <<Organisatie>> :RBD <<Organisatie>> :UWV <<HTTP>> {point-to-point Beveiligde verbinding} <<Websphere MQ>> <<FTP>>
    • Verantwoordelijkheden:
    • Authenticatie en autorisatie van gebruikers
    • Logging van gebruik op gebruikersniveau
    SUB : Authenticatie en autorisatie <<applicatie>>
    • Verantwoordelijkheden:
    • Authenticatie en autorisatie van organisaties
    • Logging van gebruik op organisatieniveau
    <<applicatie>>
  • Ervaringen
    • Experts met verschillende achtergronden hebben vaak sterk uiteenlopende beelden over de optimale oplossing
      • Proces analisten
      • Workflow experts
      • Enterprise Application Integration experts
    • Standaarden laten nog veel ruimte voor het maken van eigen keuzes
    • Nieuwe standaarden = nieuwe hulpmiddelen = verrassingen
    • Projecten zijn gefocust op koppelingen en kijken nauwelijks op orkestratie- en choreografieniveau
  • Ervaringen
    • Afspraken over te gebruiken technieken zijn het eenvoudigste
    • De moeilijkste discussies hebben betrekking op:
      • Onderlinge afstemming van projecten
      • Semantiek
      • Beveiliging
      • Archivering
      • Release management
      • Kwaliteit van de gegevens
      • ..