obsah:
- v prosté angličtině
- Případová studie
organizace, které již používají middlewarové produkty enterprise application integration (EAI) pro automatizaci obchodních procesů nebo integraci různých starších prostředí, budou pravděpodobně již obeznámeni s konceptem orchestrace. V těchto systémech centrálně řízená sada logiky pracovního postupu usnadňuje interoperabilitu mezi dvěma nebo více různými aplikacemi. Běžnou implementací orchestrace je model hub-and-spoke, který umožňuje více externím účastníkům rozhraní s centrálním orchestračním motorem.
jedním z hnacích požadavků na vytvoření těchto řešení bylo přizpůsobit se slučování velkých obchodních procesů. S orchestrací lze propojit různé procesy, aniž byste museli přepracovávat řešení, která původně automatizovala procesy jednotlivě. Orchestrace překlenuje tuto mezeru zavedením nové logiky workflow. Použití orchestrace může dále výrazně snížit složitost prostředí řešení. Logika Workflow je abstrahována a snadněji udržována, než když je vložena do jednotlivých komponent řešení.
role orchestrace se rozšiřuje v prostředích orientovaných na služby. Pomocí rozšíření, která umožňují vyjádřit logiku obchodních procesů prostřednictvím služeb, může orchestrace reprezentovat a vyjadřovat obchodní logiku ve standardizovaném místě založeném na službách. Při vytváření řešení orientovaných na služby To poskytuje mimořádně atraktivní způsob bydlení a řízení logiky představující automatizovaný proces.
orchestrace dále využívá vnitřní interoperabilitu hledanou návrhy služeb poskytováním potenciálních cílových bodů integrace do procesů. Klíčovým aspektem toho, jak je orchestrace umístěna v SOA, je skutečnost, že samotné orchestrace existují jako služby. Proto, v návaznosti na orchestrační logiku standardizuje reprezentaci procesů v celé organizaci, při řešení cíle podnikové federace a podpoře orientace na služby.
obrázek 6.32. Orchestrace řídí téměř všechny aspekty složité činnosti.
primární průmyslovou specifikací, která standardizuje orchestraci, je jazyk ws-BPEL (Web services Business Process Execution Language). Tato kniha uznává ws-BPEL jako klíčové rozšíření druhé generace, a proto používá jeho koncepty a terminologii jako základ pro řadu diskusí týkajících se modelování obchodních procesů.
Poznámka
WS-BPEL je nejnovější název daný této specifikaci, který je také známý jako BPEL4WS a jen BPEL. Pro přehled primárních částí jazyka WS-BPEL a diskusi o tom, jak došlo ke změně názvu, viz kapitola 16.
v prosté angličtině
po úspěšném mytí několika aut společně se Chuck, Bob, Jim a já rozhodneme založit vlastní společnost. Formalizujeme kroky v našem procesu mytí automobilů, abychom zvládli různé typy automobilů s různými požadavky na čištění.
náš proces je proto ovlivněn následujícími novými požadavky:
- rozhodli jsme se najmout další pomoc ve špičce. To představuje až dva další členy, kteří se připojí k našemu týmu.
- protože pro tento podnik nemáme žádný rizikový kapitál, dohodneme se s místní čerpací stanicí. Výměnou za použití části jejich šarže pro náš provoz mytí aut, souhlasíme s tím, že pomůžeme s čerpáním plynu během jejich špičkových hodin.
náš jednoduchý proces mytí automobilů se nyní výrazně zkomplikoval. Tento proces již není stanoven v tom, že se může kdykoli změnit v důsledku různých podmínek a událostí.
- když dorazí naši další pracovníci, změní se rozdělení úkolů celého týmu.
- pokud pracovníci čerpací stanice potřebují další pomoc, jsme povinni vyslat jednoho nebo více členů našeho mycího týmu, aby jim pomohli.
tyto příklady se týkají předvídatelných podmínek, které se vyskytují denně. Náš provoz je dále ovlivněn některými omezeními:
- pokud náš peněžní tok klesne pod určitou částku, nemůžeme si dovolit pracovníky na částečný úvazek.
- pokud prší, veškerá práce je pozastavena (což také vede ke snížení peněžních toků).
tato omezení zavádějí podmínky, které jsou méně běžné, ale které musíme vždy vzít v úvahu. Abychom vyhověli těmto potenciálním situacím, přicházíme s plánem, který mapuje náš rozšířený proces a poskytuje alternativní procesy pro řešení běžných i neobvyklých podmínek.
tento plán je v podstatě workflow, který spojuje jednotlivé kroky s procesy a dílčími procesy rozdělenými podle rozhodovacích bodů. Tento propracovaný pracovní postup zahrnuje náš původní proces s procesem čerpací stanice a rozšířeným procesem vyplývajícím z příchodu našich pracovníků na částečný úvazek. Tento pracovní postup je v podstatě orchestrací, která řídí jednotlivé požadavky na proces a související zdroje, účastníky, události, obchodní pravidla a aktivity.
6.6.1. Obchodní protokoly a definice procesů
logika workflow, která zahrnuje orchestraci, se může skládat z mnoha obchodních pravidel, podmínek a událostí. Společně tyto části orchestrace vytvářejí obchodní protokol, který definuje, jak mohou účastníci spolupracovat, aby dosáhli dokončení obchodního úkolu. Podrobnosti logiky workflow zapouzdřené a vyjádřené orchestrací jsou obsaženy v definici procesu.
6.6.2. Procesní služby a partnerské služby
identifikované a popsané v definici procesu jsou přípustnými účastníky procesu. Za prvé, samotný proces je reprezentován jako služba, což má za následek procesní službu(která se stane dalším z našich servisních modelů, jak je znázorněno na obrázku 6.33).
obrázek 6.33. Procesní služba koordinující a odhalující funkčnost ze tří partnerských služeb.
ostatní služby, které mohou komunikovat s procesní službou, jsou identifikovány jako partnerské služby nebo partnerské odkazy. V závislosti na logice pracovního postupu může být procesní služba vyvolána externí partnerskou službou nebo může vyvolat jiné partnerské služby (obrázek 6.34).
obrázek 6.34. Procesní služba, po prvním vyvolání partnerskou službou, pak vyvolá jinou partnerskou službu.
6.6.3. Základní aktivity a strukturované aktivity
WS-BPEL rozděluje logiku workflow na řadu předdefinovaných primitivních činností. Základní činnosti (přijímat, vyvolávat, odpovídat, házet, čekat) představují základní workflow akce, které lze sestavit pomocí logiky dodávané strukturovanými činnostmi (sekvence, switch, while, flow, pick). Jak lze tyto činnosti použít k vyjádření skutečné logiky obchodních procesů, je prozkoumáno v kapitole 16.
6.6.4. Sekvence, toky a odkazy
základní a strukturované činnosti lze uspořádat tak, aby pořadí, ve kterém provádějí, bylo předdefinováno. Sekvence zarovná skupiny souvisejících činností do seznamu, který určuje pořadí sekvenčního provádění. Sekvence jsou zvláště užitečné, když je jedna část aplikační logiky závislá na výsledku jiné.
toky také obsahují skupiny souvisejících činností, ale zavádějí různé požadavky na provádění. Kousky aplikační logiky mohou být spuštěny souběžně v rámci toku, což znamená, že není nutně nutné, aby jedna sada činností počkala, než skončí další. Samotný tok však neskončí, dokud všechny zapouzdřené činnosti nedokončí zpracování. Tím je zajištěna forma synchronizace mezi aplikační logikou umístěnou v jednotlivých tocích.
odkazy se používají k vytvoření formální závislosti mezi činnostmi, které jsou součástí toků. Před úplným dokončením činnosti musí zajistit, aby byly nejprve splněny všechny požadavky stanovené v odchozích linkách. Podobně před zahájením jakékoli propojené činnosti musí být nejprve splněny požadavky obsažené v příchozích odkazech. Pravidla poskytovaná odkazy jsou také označována jako závislosti synchronizace.
6.6.5. Orchestrace a aktivity
jak jsme definovali dříve, aktivita je obecný termín, který lze použít na jakoukoli logickou jednotku práce dokončenou řešením orientovaným na služby. Rozsah jediné orchestrace lze tedy klasifikovat jako složitou a nejpravděpodobnější dlouhodobou činnost.
6.6.6. Orchestrace a koordinace
orchestrace, jak je reprezentováno WS-BPEL, může plně využít rámec pro správu kontextu ws-Coordination začleněním typu koordinace ws-BusinessActivity. Tato specifikace definuje koordinační protokoly určené k podpoře složitých, dlouhodobé činnosti.
6.6.7. Orchestrace a SOA
logika obchodních procesů je kořenem automatizačních řešení. Orchestrace poskytuje automatizační model, kde je procesní logika centralizovaná, ale stále rozšiřitelná a skládatelná (obrázek 6.35). Díky použití orchestrací se prostředí řešení orientovaná na služby stávají neodmyslitelně rozšiřitelnými a adaptivními. Samotné orchestrace obvykle vytvářejí společný bod integrace pro jiné aplikace, díky čemuž je implementovaná orchestrace klíčovým aktivátorem integrace.
obrázek 6.35. Orchestrace vztahující se k ostatním částem SOA.
tyto vlastnosti vedou ke zvýšené organizační agilitě, protože:
- logika workflow zapouzdřená orchestrací může být upravena nebo rozšířena na centrálním místě.
- centrální umístění orchestrace může výrazně usnadnit sloučení obchodních procesů abstrakcí lepidla, které spojuje odpovídající automatizační řešení dohromady.
- vytvořením potenciálně rozsáhlých integračních architektur orientovaných na služby může orchestrace na základní úrovni podpořit vývoj různorodě federovaného podniku.
orchestrace je klíčovou složkou pro dosažení stavu federace v rámci organizace, která obsahuje různé aplikace založené na různorodých výpočetních platformách. Pokroky v middlewaru umožňují, aby se orchestrační motory samy plně integrovaly do prostředí orientovaného na služby.
koncept orchestrace orientované na služby plně využívá všechny koncepty, o kterých jsme dosud diskutovali v této kapitole. Pro mnoho prostředí se orchestrace stávají srdcem SOA.
Případová studie
série kroků, které jsme zabalili do obchodní činnosti v předchozím příkladu případové studie, ukázala, jak TLS použil protokol ws-BusinessActivity k přidání správy kontextu a zpracování výjimek k dlouhodobé komplexní činnosti. Přestože rozsah obchodní činnosti může představovat obchodní proces, neposkytuje TLS standardní prostředky pro vyjádření základní logiky pracovního postupu. K tomu používá TLS orchestraci WS-BPEL (obrázek 6.36).
obrázek 6.36. Rozšířený proces podání objednávky TLS řízený orchestrací a zahrnující mnoho potenciálních partnerských organizací.
orchestrace zavádí komplexní procesní logiku, která zahrnuje obchodní činnost a rozšiřuje ji ještě dále, aby upravovala další scénáře interakce s více službami dodavatele. Například, když jeden dodavatel nemůže splnit objednávku, dalšímu dodavateli v řadě je zaslána stejná objednávka. Tento cyklus se opakuje, dokud jeden dodavatel nemůže dokončit objednávku v plném rozsahu (v rámci určitých cenových omezení) nebo dokud nebudou dotazováni všichni dodavatelé. V druhé situaci systém jednoduše vyhodnotí nejlepší nabídku na stole použitím vzorce, který bere v úvahu cenu, procento objednávky, která má být vyplněna,a podmínky backorder.
orchestrační logika řídí všechny aspekty procesu, včetně zapojení více partnerských služeb dodavatele, stejně jako obchodní činnost, která začíná při zpracování PO.
shrnutí klíčových bodů
- orchestrace vyjadřuje soubor logiky obchodních procesů, který je obvykle ve vlastnictví jedné organizace.
- orchestrace vytváří obchodní protokol, který formálně definuje definici obchodního procesu.
- logika workflow v rámci orchestrace je rozdělena do řady základních a strukturovaných činností, které lze uspořádat do sekvencí a toků.
- orchestrace byla nazývána „srdcem SOA“, protože vytváří prostředek centralizace a řízení velkého množství inter a intra-aplikační logiky prostřednictvím standardizovaného servisního modelu.