spis treści:
- in Plain English
- Case Study
organizacje, które już korzystały z oprogramowania pośredniczącego enterprise application integration (EAI) do automatyzacji procesów biznesowych lub integracji różnych starszych środowisk, prawdopodobnie będą już zaznajomione z koncepcją orkiestracji. W tych systemach centralnie sterowany zestaw logiki przepływu pracy ułatwia interoperacyjność między dwoma lub więcej różnymi aplikacjami. Powszechną implementacją orkiestracji jest model hub-and-spoke, który umożliwia wielu zewnętrznym uczestnikom interfejs z Centralnym Silnikiem orkiestracji.
jednym z głównych wymogów przy tworzeniu tych rozwiązań było przystosowanie się do łączenia dużych procesów biznesowych. Dzięki orkiestracji można łączyć różne procesy bez konieczności przebudowy rozwiązań, które pierwotnie zautomatyzowały procesy indywidualnie. Orkiestracja wypełnia tę lukę, wprowadzając nową logikę przepływu pracy. Ponadto zastosowanie orkiestracji może znacznie zmniejszyć złożoność środowisk rozwiązań. Logika przepływu pracy jest abstrakcyjna i łatwiejsza w utrzymaniu niż w przypadku osadzenia w poszczególnych komponentach rozwiązania.
rola orkiestracji rozszerza się w środowiskach zorientowanych na usługi. Dzięki zastosowaniu rozszerzeń, które pozwalają na wyrażanie logiki procesów biznesowych za pomocą usług, orkiestracja może reprezentować i wyrażać logikę biznesową w standaryzowanym miejscu opartym na usługach. Budując rozwiązania zorientowane na usługi, zapewnia to niezwykle atrakcyjny sposób przechowywania i kontrolowania logiki reprezentującej zautomatyzowany proces.
orkiestracja dodatkowo wykorzystuje wewnętrzną interoperacyjność poszukiwaną przez projekty usług, zapewniając potencjalne punkty końcowe integracji z procesami. Kluczowym aspektem umiejscowienia orkiestracji w SOA jest fakt, że orkiestracje same w sobie istnieją jako usługi. W związku z tym, opierając się na logice orkiestracji, standaryzuje reprezentację procesów w całej organizacji, jednocześnie realizując cel Federacji przedsiębiorstw i promując orientację na usługi.
rysunek 6.32. Orkiestracja kontroluje prawie każdy aspekt złożonego działania.
podstawową specyfikacją branżową standaryzującą orkiestrację jest Web services Business process Execution Language (ws-BPEL). Niniejsza książka uznaje WS-BPEL za kluczowe rozszerzenie drugiej generacji i dlatego wykorzystuje jego pojęcia i terminologię jako podstawę do wielu dyskusji dotyczących modelowania procesów biznesowych.
Uwaga
WS-BPEL jest najnowszą nazwą nadaną tej specyfikacji, która jest również znana jako BPEL4WS i po prostu BPEL. Przegląd podstawowych części języka WS-BPEL i omówienie sposobu, w jaki doszło do zmiany nazwy, znajduje się w rozdziale 16.
po prostym angielskim
po pomyślnym umyciu kilku samochodów razem, Chuck, Bob, Jim i ja decydujemy się założyć własną firmę. Formalizujemy etapy naszego procesu mycia samochodów, dzięki czemu możemy obsługiwać różne typy samochodów o różnych wymaganiach związanych z czyszczeniem.
na nasz proces mają więc wpływ następujące nowe wymagania:
- decydujemy się zatrudnić dodatkową pomoc w godzinach szczytu. Wprowadza to maksymalnie dwóch dodatkowych członków, którzy dołączają do naszego zespołu.
- ponieważ nie mamy kapitału podwyższonego ryzyka dla tego biznesu, zawrzemy umowę z lokalną stacją benzynową. W zamian za wykorzystanie części ich partii do naszej operacji mycia samochodów, zgadzamy się pomóc w pompowaniu gazu w godzinach szczytu.
nasz prosty proces mycia samochodów stał się teraz znacznie bardziej skomplikowany. Proces nie jest już stały, ponieważ może się zmieniać w dowolnym momencie w wyniku różnych warunków i zdarzeń.
- kiedy przybywają nasi dodatkowi pracownicy, przydział zadań dla całego zespołu zostaje zmieniony.
- gdy personel stacji benzynowej potrzebuje dodatkowej pomocy, jesteśmy zobowiązani wysłać jednego lub więcej członków naszego zespołu mycia samochodów, aby im pomóc.
te przykłady odnoszą się do przewidywalnych warunków, które występują na co dzień. Nasza działalność jest dodatkowo dotknięta pewnymi ograniczeniami:
- jeśli nasze przepływy pieniężne spadną poniżej pewnej kwoty, nie będziemy mogli pozwolić sobie na pracowników w niepełnym wymiarze godzin.
- jeśli pada deszcz, wszystkie prace są zawieszone (co również prowadzi do zmniejszenia przepływu środków pieniężnych).
te ograniczenia wprowadzają warunki, które są mniej powszechne, ale które zawsze musimy wziąć pod uwagę. Aby sprostać tym potencjalnym sytuacjom, opracowujemy plan, który mapuje nasz Rozszerzony proces i zapewnia alternatywne procesy radzenia sobie zarówno z powszechnymi, jak i rzadkimi warunkami.
ten plan jest zasadniczo przepływem pracy, który łączy poszczególne kroki z procesami i podprocesami podzielonymi przez punkty decyzyjne. Ten skomplikowany przepływ pracy łączy nasz oryginalny proces z procesem stacji benzynowej i rozszerzonym procesem wynikającym z przybycia naszych pracowników w niepełnym wymiarze godzin. Ten przepływ pracy jest zasadniczo orkiestracją, która zarządza indywidualnymi wymaganiami procesu i powiązanymi zasobami, uczestnikami, wydarzeniami, regułami biznesowymi i działaniami.
6.6.1. Protokoły biznesowe i definicja procesów
logika przepływu pracy, która obejmuje orkiestrację, może składać się z wielu reguł biznesowych, warunków i zdarzeń. Łącznie te części orkiestracji ustanawiają protokół biznesowy, który określa, w jaki sposób uczestnicy mogą współpracować, aby osiągnąć ukończenie zadania biznesowego. Szczegóły logiki przepływu pracy zamknięte i wyrażone przez orkiestrację są zawarte w definicji procesu.
6.6.2. Usługi procesowe i usługi partnerskie
zidentyfikowani i opisani w definicji procesu są dopuszczalnymi uczestnikami procesu. Po pierwsze, sam proces jest reprezentowany jako usługa, w wyniku czego powstaje usługa procesowa (która zdarza się być innym z naszych modeli usług, jak pokazano na rysunku 6.33).
rysunek 6.33. Usługa procesowa koordynująca i eksponująca funkcjonalność trzech usług partnerskich.
inne usługi, które mogą wchodzić w interakcje z usługą procesową, są identyfikowane jako usługi partnerskie lub linki partnerskie. W zależności od logiki przepływu pracy usługa procesowa może być wywoływana przez zewnętrzną usługę partnera lub może wywoływać inne usługi partnera (rysunek 6.34).
Rysunek 6.34. Usługa procesowa, po pierwszym wywołaniu przez usługę partnera, wywołuje inną usługę partnera.
6.6.3. Podstawowe działania i działania ustrukturyzowane
ws-BPEL rozkłada logikę przepływu pracy na szereg predefiniowanych prymitywnych działań. Podstawowe działania (odbieranie, wywoływanie, odpowiadanie, rzucanie, oczekiwanie) reprezentują podstawowe działania przepływu pracy, które mogą być zmontowane za pomocą logiki dostarczanej przez działania ustrukturyzowane (Sekwencja, przełącznik, while, przepływ, pick). Sposób wykorzystania tych działań do wyrażenia rzeczywistej logiki procesów biznesowych omówiono w rozdziale 16.
6.6.4. Sekwencje, przepływy i łącza
podstawowe i ustrukturyzowane działania mogą być zorganizowane w taki sposób, że kolejność ich wykonywania jest predefiniowana. Sekwencja wyrównuje grupy powiązanych działań do listy, która określa sekwencyjne zlecenie wykonania. Sekwencje są szczególnie przydatne, gdy jedna część logiki aplikacji jest zależna od wyniku innej.
przepływy zawierają również grupy powiązanych działań, ale wprowadzają różne wymagania wykonawcze. Elementy logiki aplikacji mogą być wykonywane jednocześnie w ramach przepływu, co oznacza, że nie musi być konieczne, aby jeden zestaw czynności czekał, zanim skończy się inny. Jednak sam przepływ nie kończy się, dopóki wszystkie zamknięte czynności nie zakończą przetwarzania. Zapewnia to formę synchronizacji pomiędzy logiką aplikacji znajdującą się w poszczególnych przepływach.
linki są używane do ustanawiania formalnych zależności między działaniami, które są częścią przepływów. Zanim czynność zostanie w pełni ukończona, musi najpierw zapewnić spełnienie wszelkich wymagań ustanowionych w łączach wychodzących. Podobnie, zanim rozpocznie się jakakolwiek powiązana aktywność, najpierw muszą zostać spełnione wymagania zawarte w linkach przychodzących. Reguły dostarczane przez łącza są również określane jako zależności synchronizacji.
6.6.5. Orkiestracje i działania
jak zdefiniowaliśmy wcześniej, działanie jest ogólnym terminem, który można zastosować do dowolnej logicznej jednostki pracy wykonywanej przez rozwiązanie zorientowane na usługi. Zakres pojedynczej orkiestracji można zatem sklasyfikować jako złożoną i najprawdopodobniej długotrwałą działalność.
6.6.6. Orkiestracja i koordynacja
orkiestracja, reprezentowana przez WS-BPEL, może w pełni wykorzystywać ramy zarządzania kontekstem ws-Coordination poprzez włączenie typu koordynacji ws-BusinessActivity. Niniejsza specyfikacja określa protokoły koordynacji zaprojektowane w celu wspierania złożonych, długotrwałych działań.
6.6.7. Orchestration i SOA
logika procesów biznesowych jest podstawą rozwiązań automatyzacji. Orkiestracja zapewnia model automatyzacji, w którym logika procesu jest scentralizowana, ale nadal rozszerzalna i składalna (rysunek 6.35). Dzięki zastosowaniu orkiestracji środowiska rozwiązań zorientowane na usługi stają się z natury rozszerzalne i adaptacyjne. Same orkiestracje zazwyczaj ustanawiają wspólny punkt integracji dla innych aplikacji, co sprawia, że zaimplementowana orkiestracja jest kluczowym czynnikiem umożliwiającym integrację.
rysunek 6.35. Orkiestracja odnosząca się do innych części SOA.
te cechy prowadzą do zwiększenia sprawności organizacyjnej, ponieważ:
- logikę przepływu pracy zamkniętą za pomocą orkiestracji można modyfikować lub rozszerzać w centralnej lokalizacji.
- Pozycjonowanie Centralne orkiestracja może znacznie ułatwić łączenie procesów biznesowych poprzez abstrakcję kleju, który łączy odpowiednie rozwiązania automatyzacji.
- ustanawiając potencjalnie wielkoskalowe architektury integracji zorientowane na usługi, orkiestracja, na podstawowym poziomie, może wspierać ewolucję różnorodnie sfederowanego przedsiębiorstwa.
orkiestracja jest kluczowym składnikiem osiągnięcia stanu Federacji w organizacji, która zawiera różne aplikacje oparte na różnych platformach obliczeniowych. Postęp w oprogramowaniu pośredniczącym umożliwia pełną integrację samych silników orkiestracyjnych w środowiskach zorientowanych na usługi.
koncepcja orkiestracji zorientowanej na usługi w pełni wykorzystuje wszystkie koncepcje, które omówiliśmy do tej pory w tym rozdziale. Dla wielu środowisk orkiestracje stają się sercem SOA.
Case Study
seria kroków, które opisaliśmy w poprzednim przykładzie case study, pokazała, w jaki sposób firma TLS wykorzystała protokół ws-BusinessActivity, aby dodać zarządzanie kontekstowe i obsługę wyjątków do długotrwałej i złożonej działalności. Chociaż zakres działalności gospodarczej może stanowić proces biznesowy, nie zapewnia TLS standardowego sposobu wyrażania podstawowej logiki przepływu pracy. W tym celu TLS wykorzystuje orkiestrację WS-BPEL (rysunek 6.36).
rysunek 6.36. Rozszerzony proces składania zamówień TLS zarządzany przez koordynację i angażujący wiele potencjalnych organizacji partnerskich.
orkiestracja ustanawia kompleksową logikę procesów, która obejmuje działalność biznesową i rozszerza ją jeszcze bardziej, aby regulować dodatkowe scenariusze interakcji z wieloma usługami dostawców. Na przykład, gdy jeden sprzedawca nie może zrealizować zamówienia, następny sprzedawca w kolejce wysyła to samo zamówienie zakupu. Cykl ten powtarza się do momentu, aż jeden z dostawców będzie mógł zrealizować zamówienie w całości (w ramach określonych ograniczeń cenowych) lub do momentu, gdy wszyscy dostawcy zostaną zapytani. W tej ostatniej sytuacji system po prostu ocenia najlepszą ofertę na stole, stosując formułę, która uwzględnia cenę, procent zamówienia do wypełnienia i warunki zamówienia oczekującego.
logika orkiestracji zarządza wszystkimi aspektami procesu, w tym zaangażowaniem wielu usług partnerów dostawców, a także działalnością biznesową, która rozpoczyna się podczas przetwarzania zamówienia.
podsumowanie kluczowych punktów
- orkiestracja wyraża ciało logiki procesów biznesowych, który jest zazwyczaj własnością jednej organizacji.
- orkiestracja ustanawia protokół biznesowy, który formalnie definiuje definicję procesu biznesowego.
- logika przepływu pracy w orkiestracji jest podzielona na szereg podstawowych i ustrukturyzowanych działań, które można uporządkować w sekwencje i przepływy.
- orkiestracja została nazwana „sercem SOA”, ponieważ ustanawia środki centralizacji i kontrolowania dużej ilości logiki między i wewnątrz aplikacji poprzez standaryzowany model usług.