orkestrering

Indholdsfortegnelse:

  • på almindeligt engelsk
  • casestudie

organisationer, der allerede har ansat enterprise application integration (EAI) mellemvareprodukter til at automatisere forretningsprocesser eller integrere forskellige ældre miljøer, vil sandsynligvis allerede være bekendt med begrebet orkestrering. I disse systemer letter et centralt styret sæt arbejdsgangslogik interoperabilitet mellem to eller flere forskellige applikationer. En fælles implementering af orkestrering er hub-and-spoke-modellen, der giver flere eksterne deltagere mulighed for at interface med en central orkestreringsmotor.

et af drivkravene bag oprettelsen af disse løsninger var at imødekomme sammenlægningen af store forretningsprocesser. Med orkestrering kan forskellige processer forbindes uden at skulle ombygge de løsninger, der oprindeligt automatiserede processerne individuelt. Orkestrering bygger bro over dette hul ved at introducere ny arbejdsgangslogik. Desuden kan brugen af orkestrering betydeligt reducere kompleksiteten af løsningsmiljøer. Arbejdsproceslogik abstraheres og vedligeholdes lettere, end når den integreres i individuelle løsningskomponenter.

orkestrationens rolle udvides i serviceorienterede miljøer. Gennem brug af udvidelser, der gør det muligt at udtrykke forretningsproceslogik via tjenester, orkestrering kan repræsentere og udtrykke forretningslogik i et standardiseret, servicebaseret sted. Når man bygger serviceorienterede løsninger, giver dette et ekstremt attraktivt middel til at huse og kontrollere logikken, der repræsenterer processen, der automatiseres.

orkestrering udnytter yderligere den iboende interoperabilitet, der søges af servicedesign, ved at tilvejebringe potentielle integrationsendepunkter i processer. Et centralt aspekt for, hvordan orkestrering er placeret inden for SOA, er det faktum, at orkestrationer selv eksisterer som tjenester. Derfor bygger man på orkestrationslogik standardiserer procesrepræsentation på tværs af en organisation, samtidig med at man tager fat på målet om virksomhedsforbund og fremmer serviceorientering.

figur 6.32. En orkestrering styrer næsten alle aspekter af en kompleks aktivitet.

en primær branchespecifikation, der standardiserer orkestrering, er Sprog for udførelse af forretningsprocesser (BPEL). Denne bog anerkender BPEL som en vigtig anden generations udvidelse og bruger derfor sine begreber og terminologi som grundlag for en række diskussioner vedrørende modellering af forretningsprocesser.

Bemærk

vs-BPEL er det seneste navn, der er givet til denne specifikation, som også er kendt som BPEL4V og bare BPEL. For en oversigt over de primære dele af vs-BPEL-sproget og en diskussion af, hvordan navneændringen skete, se Kapitel 16.

på almindeligt engelsk

efter at have vasket flere biler sammen, beslutter Chuck, Bob, Jim og jeg at starte vores eget firma. Vi formaliserer trinene i vores bilvaskeproces, så vi kan håndtere forskellige typer biler med forskellige rengøringskrav.

vores proces påvirkes derfor af følgende nye krav:

  • vi beslutter at ansætte ekstra hjælp i spidsbelastningstider. Dette introducerer op til to yderligere medlemmer, der slutter sig til vores team.
  • da vi ikke har nogen risikovillig kapital til denne virksomhed, indgår vi en aftale med en lokal Tankstation. Til gengæld for at bruge en del af deres parti til vores bilvaskoperation, vi er enige om at hjælpe med gaspumpningsopgaverne i deres spidsbelastningstider.

vores enkle bilvaskeproces er nu blevet betydeligt mere kompliceret. Processen er ikke længere fast, fordi den kan ændre sig til enhver tid som følge af forskellige forhold og begivenheder.

  • når vores ekstra medarbejdere ankommer, ændres opgavefordelingen for hele teamet.
  • når tankstationspersonale har brug for ekstra hjælp, er vi forpligtet til at sende et eller flere af vores bilvasketeammedlemmer til at hjælpe dem.

disse eksempler vedrører forudsigelige forhold, der forekommer dagligt. Vores operation er yderligere påvirket af nogle begrænsninger:

  • hvis vores pengestrøm falder under et bestemt beløb, har vi ikke råd til deltidsansatte.
  • hvis det regner, suspenderes alt arbejde (hvilket også fører til reduceret pengestrøm).

disse begrænsninger indfører betingelser, der er mindre almindelige, men som vi altid skal tage i betragtning. For at imødekomme disse potentielle situationer, vi kommer med en plan, der kortlægger vores udvidede proces og giver alternative processer til håndtering af både almindelige og usædvanlige forhold.

denne plan er i det væsentlige en arbejdsgang, der forbinder individuelle trin med processer og delprocesser opdelt efter beslutningspunkter. Denne udførlige arbejdsgang inkorporerer vores oprindelige proces med tankstationens proces og den udvidede proces som følge af ankomsten af vores deltidsansatte. Denne arbejdsgang er i det væsentlige en orkestrering, der styrer de individuelle proceskrav og relaterede ressourcer, deltagere, begivenheder, forretningsregler og aktiviteter.

6.6.1. Forretningsprotokoller og procesdefinition

arbejdsproceslogikken, der omfatter en orkestrering, kan bestå af adskillige forretningsregler, betingelser og begivenheder. Samlet set etablerer disse dele af en orkestrering en forretningsprotokol, der definerer, hvordan deltagerne kan interoperere for at opnå afslutningen af en forretningsopgave. Detaljerne i arbejdsproceslogikken indkapslet og udtrykt ved en orkestrering er indeholdt i en procesdefinition.

6.6.2. Process services og partner services

identificeret og beskrevet i en procesdefinition er de tilladte procesdeltagere. For det første er selve processen repræsenteret som en tjeneste, hvilket resulterer i en procestjeneste (som tilfældigvis er en anden af vores servicemodeller, som vist i figur 6.33).

figur 6.33. En procestjeneste, der koordinerer og udsætter funktionalitet fra tre partnertjenester.

andre tjenester, der har tilladelse til at interagere med procestjenesten, identificeres som partnertjenester eller partnerlink. Afhængigt af arbejdsproceslogikken kan procestjenesten påberåbes af en ekstern partnertjeneste, eller den kan påberåbe sig andre partnertjenester (figur 6.34).

figur 6.34. Procestjenesten, efter først at være blevet påberåbt af en partnertjeneste, påberåber sig derefter en anden partnertjeneste.

6.6.3. Grundlæggende aktiviteter og strukturerede aktiviteter

BPEL opdeler arbejdsproceslogikken i en række foruddefinerede primitive aktiviteter. Grundlæggende aktiviteter (Modtag, påberåbe sig, svar, kaste, vente) repræsenterer grundlæggende arbejdsgangshandlinger, som kan samles ved hjælp af logikken leveret af strukturerede aktiviteter (sekvens, skifte, mens, flyde, vælge). Hvordan disse aktiviteter kan bruges til at udtrykke den faktiske forretningsproceslogik undersøges i kapitel 16.

6.6.4. Sekvenser, strømme og links

grundlæggende og strukturerede aktiviteter kan organiseres, så den rækkefølge, de udføres i, er foruddefineret. En sekvens justerer grupper af relaterede aktiviteter til en liste, der bestemmer en sekventiel eksekveringsrækkefølge. Sekvenser er især nyttige, når et stykke applikationslogik er afhængig af resultatet af et andet.

strømme indeholder også grupper af relaterede aktiviteter, men de indfører forskellige eksekveringskrav. Stykker af applikationslogik kan udføres samtidigt inden for en strøm, hvilket betyder, at der ikke nødvendigvis er et krav om, at et sæt aktiviteter skal vente, før en anden er færdig. Selve strømmen slutter dog ikke, før alle indkapslede aktiviteter har afsluttet behandlingen. Dette sikrer en form for synkronisering blandt applikationslogik, der er bosiddende i individuelle strømme.

Links bruges til at etablere formelle afhængigheder mellem aktiviteter, der er en del af strømme. Før en aktivitet fuldt ud kan gennemføres, skal den sikre, at alle krav, der er fastlagt i udgående links, først er opfyldt. Tilsvarende, før en tilknyttet aktivitet kan begynde, krav indeholdt i eventuelle indgående links først skal være opfyldt. Regler leveret af links kaldes også synkroniseringsafhængigheder.

6.6.5. Orkestrationer og aktiviteter

som vi definerede tidligere, er en aktivitet et generisk udtryk, der kan anvendes på enhver logisk arbejdsenhed udført af en serviceorienteret løsning. Omfanget af en enkelt orkestrering kan derfor klassificeres som en kompleks og sandsynligvis langvarig aktivitet.

6.6.6. Orkestrering og koordinering

orkestrering, som repræsenteret af vs-BPEL, kan fuldt ud udnytte vs-Koordineringskontekststyringsrammen ved at inkorporere vs-BusinessActivity-koordineringstypen. Denne specifikation definerer koordineringsprotokoller designet til at understøtte komplekse, langvarige aktiviteter.

6.6.7. Orkestrering og SOA

forretningsproceslogik er roden til automatiseringsløsninger. Orkestrering giver en automatiseringsmodel, hvor proceslogik er centraliseret, men stadig udvidelig og komponerbar (figur 6.35). Gennem brug af orkestrationer bliver serviceorienterede løsningsmiljøer iboende udvidelige og adaptive. Orkestrationer i sig selv etablerer typisk et fælles integrationspunkt for andre applikationer, hvilket gør en implementeret orkestrering til en nøgleintegrationsaktivering.

figur 6.35. Orkestrering vedrørende andre dele af SOA.

disse kvaliteter fører til øget organisatorisk smidighed, fordi:

  • arbejdsproceslogikken indkapslet af en orkestrering kan ændres eller udvides på et centralt sted.
  • placering af en orkestrering centralt kan betydeligt lette sammensmeltningen af forretningsprocesser ved at abstrahere limen, der binder de tilsvarende automatiseringsløsninger sammen.
  • ved at etablere potentielt store serviceorienterede integrationsarkitekturer kan orkestrering på et grundlæggende niveau understøtte udviklingen af en mangfoldig fødereret virksomhed.

orkestrering er en nøgleingrediens for at opnå en føderationsstat inden for en organisation, der indeholder forskellige applikationer baseret på forskellige computerplatforme. Fremskridt inden for mellemvare gør det muligt for orkestreringsmotorer selv at blive fuldt integreret i serviceorienterede miljøer.

begrebet serviceorienteret orkestrering udnytter fuldt ud alle de begreber, vi hidtil har diskuteret i dette kapitel. I mange miljøer bliver orkestrationer hjertet i SOA.

casestudie

den række trin, vi indpakkede i en forretningsaktivitet i det foregående casestudieeksempel, viste, hvordan TLS brugte vs-BusinessActivity-protokollen til at tilføje kontekststyring og undtagelseshåndtering til en langvarig, kompleks aktivitet. Selvom omfanget af en forretningsaktivitet kan udgøre en forretningsproces, giver den ikke TLS et standardmiddel til at udtrykke den underliggende arbejdsgangslogik. Til det anvender TLS en VS-BPEL orkestrering (figur 6.36).

figur 6.36. Den udvidede TLS Indkøbsordre indsendelse proces forvaltes af en orkestrering og involverer en lang række potentielle partnerorganisationer.

orkestrering etablerer omfattende proceslogik, der omfatter forretningsaktiviteten og udvider den yderligere til at styre yderligere interaktionsscenarier med flere leverandørtjenester. For eksempel, når en kreditor ikke kan opfylde en ordre, sendes den næste kreditor på linje den samme indkøbsordre. Denne cyklus gentages, indtil en leverandør kan fuldføre ordren i sin helhed (inden for visse prisbegrænsninger), eller indtil alle leverandører er blevet forespurgt. I sidstnævnte situation vurderer systemet simpelthen den bedste aftale på bordet ved at anvende en formel, der tager højde for prisen, procentdelen af ordren, der skal udfyldes, og restordrevilkår.

orkestrationslogikken styrer alle aspekter af processen, herunder involvering af flere leverandørpartnerydelser samt den forretningsaktivitet, der starter, når en PO behandles.

oversigt over nøglepunkter

  • en orkestrering udtrykker en krop af forretningsproceslogik, der typisk ejes af en enkelt organisation.
  • en orkestrering opretter en forretningsprotokol, der formelt definerer en definition af forretningsprocesser.
  • arbejdsproceslogikken i en orkestrering er opdelt i en række grundlæggende og strukturerede aktiviteter, der kan organiseres i sekvenser og strømme.
  • orkestrering er blevet kaldt “SOA’ s hjerte”, da det etablerer et middel til at centralisere og kontrollere en hel del Inter-og intra-applikationslogik gennem en standardiseret servicemodel.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.