inhoudsopgave::
- in gewoon Engels
- Case Study
organisaties die al enterprise application integration (EAI) middleware-producten hebben gebruikt om bedrijfsprocessen te automatiseren of om verschillende oudere omgevingen te integreren, zullen waarschijnlijk al bekend zijn met het concept orkestratie. In deze systemen, een centraal gecontroleerde set van workflow logica vergemakkelijkt de interoperabiliteit tussen twee of meer verschillende toepassingen. Een gemeenschappelijke implementatie van orkestratie is het hub-and-spoke model dat meerdere externe deelnemers in staat stelt om te communiceren met een centrale orkestratie engine.
een van de drijvende krachten achter de ontwikkeling van deze oplossingen was de integratie van grote bedrijfsprocessen. Met orkestratie kunnen verschillende processen worden verbonden zonder dat de oplossingen die de processen oorspronkelijk individueel hebben geautomatiseerd, opnieuw moeten worden ontwikkeld. Orkestratie overbrugt deze kloof door nieuwe workflow logica te introduceren. Verder kan het gebruik van orkestratie de complexiteit van oplossingsomgevingen aanzienlijk verminderen. Workflow logica wordt geabstraheerd en gemakkelijker onderhouden dan wanneer ingebed in individuele oplossing componenten.
de rol van orkestratie breidt zich uit in dienstengerichte omgevingen. Door het gebruik van extensies waarmee bedrijfsproceslogica via services kan worden uitgedrukt, kan orkestratie bedrijfslogica vertegenwoordigen en uitdrukken in een gestandaardiseerde, op diensten gebaseerde locatie. Bij het bouwen van servicegerichte oplossingen biedt dit een uiterst aantrekkelijke manier om de logica van het geautomatiseerde proces te huisvesten en te controleren.
orkestratie maakt verder gebruik van de intrinsieke interoperabiliteit die door dienstenontwerpen wordt nagestreefd door potentiële integratie-eindpunten in processen te bieden. Een belangrijk aspect van de positie van orkestratie binnen SOA is het feit dat orkestraties zelf bestaan als diensten. Daarom, voortbouwend op orkestratie logica standaardiseert proces vertegenwoordiging in een organisatie, terwijl het aanpakken van het doel van enterprise Federatie en het bevorderen van service-oriëntatie.
figuur 6.32. Een orkestratie bestuurt bijna elk facet van een complexe activiteit.
een primaire industrie specificatie die orkestratie standaardiseert is de Web services Business Process Execution Language (WS-BPEL). Dit boek erkent WS-BPEL als een belangrijke tweede generatie extensie en gebruikt daarom haar concepten en terminologie als de basis voor een aantal discussies met betrekking tot business process modeling.
Note
WS-BPEL is de meest recente naam die aan deze specificatie wordt gegeven, die ook bekend staat als BPEL4WS en gewoon BPEL. Voor een overzicht van de primaire delen van de WS-BPEL taal en een bespreking van hoe de naamswijziging tot stand kwam, zie hoofdstuk 16.
in gewoon Engels
na het succesvol wassen van verschillende auto ‘ s samen, besluiten Chuck, Bob, Jim en ik om ons eigen bedrijf te starten. We formaliseren de stappen in ons autowasproces, zodat we verschillende soorten auto ‘ s met verschillende reinigingseisen kunnen behandelen.
ons proces wordt daarom beïnvloed door de volgende nieuwe vereisten:
- we besluiten om extra hulp in te huren tijdens de spitsuren. Dit introduceert maximaal twee extra leden die zich bij ons team aansluiten.
- omdat we geen durfkapitaal hebben voor dit bedrijf, maken we een afspraak met een lokaal benzinestation. In ruil voor het gebruik van een deel van hun kavel voor onze auto wassen operatie, komen we overeen om te helpen met de gas pompen taken tijdens hun piekuren.
ons eenvoudige autowasproces is nu aanzienlijk ingewikkelder geworden. Het proces is niet langer gefixeerd in die zin dat het op een bepaald moment kan veranderen als gevolg van verschillende omstandigheden en gebeurtenissen.
- wanneer onze extra werknemers arriveren, wordt de taakverdeling van het hele team gewijzigd.
- wanneer benzinestationpersoneel extra hulp nodig heeft, zijn wij verplicht een of meer van onze autowasteamleden te sturen om hen te helpen.
deze voorbeelden hebben betrekking op voorspelbare omstandigheden die zich dagelijks voordoen. Onze werking wordt verder beïnvloed door een aantal beperkingen:
- als onze cashflow onder een bepaald bedrag daalt, kunnen we ons geen deeltijdwerkers veroorloven.
- als het regent, wordt alle werkzaamheden opgeschort (wat ook leidt tot een verminderde cashflow).
deze beperkingen introduceren voorwaarden die minder vaak voorkomen, maar waarmee we altijd rekening moeten houden. Om tegemoet te komen aan deze potentiële situaties, komen we met een plan dat ons uitgebreide proces in kaart brengt en alternatieve processen biedt voor het omgaan met zowel gemeenschappelijke als ongewone omstandigheden.
dit plan is in wezen een workflow die individuele stappen samenvoegt met processen en subprocessen verdeeld door beslissingspunten. Deze uitgebreide workflow omvat ons oorspronkelijke proces met het proces van het tankstation en het uitgebreide proces dat voortvloeit uit de komst van onze part-time werknemers. Deze workflow is in wezen een orkestratie die de individuele procesvereisten en gerelateerde bronnen, deelnemers, evenementen, bedrijfsregels en activiteiten beheert.
6.6.1. Bedrijfsprotocollen en procesdefinitie
de workflowlogica die een orkestratie omvat, kan bestaan uit tal van bedrijfsregels, Voorwaarden en gebeurtenissen. Gezamenlijk stellen deze delen van een orkestratie een business protocol op dat bepaalt hoe deelnemers kunnen samenwerken om de voltooiing van een zakelijke taak te bereiken. De details van de workflow logica ingekapseld en uitgedrukt door een orkestratie zijn opgenomen in een proces definitie.
6.6.2. Procesdiensten en partnerdiensten
binnen een procesdefinitie zijn de toegestane procesdeelnemers. Ten eerste wordt het proces zelf weergegeven als een service, wat resulteert in een process service (die toevallig een andere van onze service modellen, zoals weergegeven in Figuur 6.33).
figuur 6.33. Een procesdienst die functionaliteit van drie partnerdiensten coördineert en blootlegt.
andere diensten die met de procesdienst mogen communiceren, worden geïdentificeerd als partnerdiensten of partnerlinks. Afhankelijk van de workflowlogica kan de process service worden aangeroepen door een externe partner service, of andere partner services worden aangeroepen (figuur 6.34).
Figuur 6.34. De process service, Na eerst te worden ingeroepen door een partner service, dan roept een andere partner service.
6.6.3. Basisactiviteiten en gestructureerde activiteiten
WS-BPEL splitst de workflowlogica op in een reeks vooraf gedefinieerde primitieve activiteiten. Basisactiviteiten (ontvangen, aanroepen, antwoorden, gooien, wachten) vertegenwoordigen fundamentele workflow acties die kunnen worden geassembleerd met behulp van de logica geleverd door gestructureerde activiteiten (sequence, switch, while, flow, pick). Hoe deze activiteiten kunnen worden gebruikt om werkelijke business process logica uit te drukken wordt onderzocht in hoofdstuk 16.
6.6.4. Sequenties, stromen en koppelingen
basis-en gestructureerde activiteiten kunnen zo worden georganiseerd dat de volgorde waarin zij worden uitgevoerd vooraf is gedefinieerd. Een reeks brengt groepen van gerelateerde activiteiten uit in een lijst die een volgorde van uitvoering bepaalt. Sequenties zijn vooral nuttig wanneer een stuk van de toepassing logica afhankelijk is van de uitkomst van een ander.
stromen bevatten ook groepen van verwante activiteiten, maar zij voeren verschillende uitvoeringsvereisten in. Stukjes applicatielogica kunnen gelijktijdig worden uitgevoerd binnen een stroom, wat betekent dat er niet noodzakelijkerwijs een vereiste is voor een reeks activiteiten om te wachten voordat een andere afwerking heeft. De stroom zelf eindigt echter pas als alle ingekapselde activiteiten de verwerking hebben voltooid. Dit zorgt voor een vorm van synchronisatie tussen applicatielogica die zich in individuele stromen bevindt.
koppelingen worden gebruikt om formele afhankelijkheden vast te stellen tussen activiteiten die deel uitmaken van stromen. Voordat een activiteit volledig kan worden voltooid, moet zij ervoor zorgen dat eerst wordt voldaan aan de eisen die in uitgaande verbindingen zijn vastgesteld. Evenzo moet, voordat een gekoppelde activiteit kan beginnen, eerst worden voldaan aan de vereisten die zijn opgenomen in inkomende links. Regels die door koppelingen worden verstrekt, worden ook synchronisatieafhankelijkheden genoemd.
6.6.5. Orkestraties en activiteiten
zoals we eerder hebben gedefinieerd, is een activiteit een algemene term die kan worden toegepast op elke logische eenheid van werk die wordt voltooid door een service-georiënteerde oplossing. De omvang van een enkele orkestratie kan daarom worden geclassificeerd als een complexe, en hoogstwaarschijnlijk langlopende activiteit.
6.6.6. Orkestratie en coördinatie
orkestratie, zoals vertegenwoordigd door WS-BPEL, kan volledig gebruik maken van het ws-Coordination context management framework door het opnemen van het type WS-Business Activity coordination. Deze specificatie definieert coördinatieprotocollen die ontworpen zijn om complexe, langlopende activiteiten te ondersteunen.
6.6.7. Orkestratie en SOA
Bedrijfsproceslogica ligt aan de basis van automatiseringsoplossingen. Orkestratie biedt een automatiseringsmodel waarbij de proceslogica gecentraliseerd is, maar toch uitbreidbaar en composeerbaar (figuur 6.35). Door het gebruik van orkestraties worden servicegerichte oplossingsomgevingen inherent uitbreidbaar en adaptief. Orkestraties zelf vormen meestal een gemeenschappelijk punt van integratie voor andere toepassingen, waardoor een geà mplementeerde orkestratie een belangrijke integratie enabler.
figuur 6.35. Orkestratie met betrekking tot andere delen van SOA.
deze kwaliteiten leiden tot een grotere organisatorische flexibiliteit omdat:
- de workflow logica ingekapseld door een orkestratie kan worden gewijzigd of uitgebreid op een centrale locatie.Het centraal plaatsen van een orkestratie kan het samenvoegen van bedrijfsprocessen aanzienlijk vergemakkelijken door de lijm te abstraheren die de bijbehorende automatiseringsoplossingen met elkaar verbindt.
- door het opzetten van potentieel grootschalige dienstengerichte integratiearchitecturen kan orkestratie, op een fundamenteel niveau, de ontwikkeling van een divers Gefedereerde onderneming ondersteunen.
orkestratie is een belangrijk ingrediënt voor het bereiken van een staat van Federatie binnen een organisatie die verschillende toepassingen bevat die gebaseerd zijn op uiteenlopende computerplatforms. Dankzij de vooruitgang in middleware kunnen orkestratie-engines zelf volledig geïntegreerd worden in servicegerichte omgevingen.
het concept van dienstgerichte orkestratie maakt volledig gebruik van alle concepten die we tot nu toe in dit hoofdstuk hebben besproken. Voor veel omgevingen worden orkestraties het hart van SOA.
casestudy
de reeks stappen die we in het vorige casestudyvoorbeeld in een bedrijfsactiviteit hebben verwerkt, toonde aan hoe TLS het ws-BusinessActivity-protocol gebruikte om contextbeheer en exceptionafhandeling toe te voegen aan een langdurige, complexe activiteit. Hoewel de reikwijdte van een bedrijfsactiviteit een bedrijfsproces kan vormen, biedt het TLS geen standaardmiddel om de onderliggende workflowlogica uit te drukken. Daarvoor maakt TLS gebruik van een ws-BPEL-orkestratie (figuur 6.36).
figuur 6.36. Het uitgebreide indieningsproces van TLS-inkooporders wordt beheerd door een orkestratie en waarbij tal van potentiële partnerorganisaties betrokken zijn.
de orkestratie creëert een uitgebreide proceslogica die de bedrijfsactiviteit omvat en breidt deze nog verder uit om aanvullende interactiescenario ‘ s met meerdere leveranciersdiensten te regelen. Wanneer bijvoorbeeld één leverancier een bestelling niet kan uitvoeren, wordt de volgende leverancier in de rij dezelfde inkooporder gestuurd. Deze cyclus wordt herhaald totdat één leverancier de bestelling in zijn geheel kan voltooien (binnen bepaalde prijsbeperkingen) of totdat alle leveranciers zijn opgevraagd. In de laatste situatie, het systeem beoordeelt gewoon de beste deal op tafel door het toepassen van een formule die rekening houdt met de prijs, percentage van de bestelling te vullen, en backorder voorwaarden.
de orkestratielogica beheert alle aspecten van het proces, inclusief de betrokkenheid van meerdere leverancierspartnerdiensten, evenals de bedrijfsactiviteit die begint wanneer een PO wordt verwerkt.
samenvatting van de belangrijkste punten
- een orkestratie drukt een lichaam van business process logica die meestal eigendom is van een enkele organisatie.
- een orkestratie stelt een bedrijfsprotocol vast dat formeel een definitie van een bedrijfsproces definieert.
- de workflowlogica binnen een orkestratie wordt onderverdeeld in een reeks basis-en gestructureerde activiteiten die kunnen worden georganiseerd in sequenties en stromen.Orkestratie wordt het “hart van SOA” genoemd, omdat het een middel vormt om een groot deel van de inter-en intra-applicatielogica te centraliseren en te controleren door middel van een gestandaardiseerd servicemodel.