Procesy gotowe do drogi

BEA Systems - WebLogic Server Integration Edition

BEA oferuje funkcjonalność środowiska uruchomieniowego BPEL4WS w ramach BEA WebLogic Platform 8.1, a dokładniej - podsystemu WebLogic Integration. Dostępne są dwie wersje funkcjonalności BPEL - podstawowa - BEA WebLogic Server Process Edition oraz pełna - BEA WebLogic Server Integration Edition.

Pierwsza z nich to oferta dla tych, którzy chcą "na spokojnie" zapoznać się z funkcjonalnością BPEL4WS lub też dla tych, których potrzeby w dziedzinie integracji nie są wygórowane. Nie ma tu brokera komunikatów, brak wsparcia dla zaawansowanej integracji procesów z mechanizmami workflow, w tym dla transakcji długookresowych z udziałem ludzi. Nie ma też wielu użytecznych dodatków, np. generatorów komunikatów w różnych formatach czy zaawansowanych narzędzi zarządczych.

Wersja pełna jest znacznie bogatsza funkcjonalnie od podstawowej. Oprócz brokera komunikatów obsługującego komunikację w trybie publikowania i subskrypcji oferuje ona integrację z funkcjami workflow serwera WebLogic (np. listy zadań). Można w niej też znaleźć narzędzia do samodzielnego tworzenia interfejsów integracyjnych, do konfiguracji i tuningu środowiska, konsole do zarządzania komunikacją ze środowiskami zewnętrznymi i wiele innych.

Obie powyższe wersje WebLogic Platform zawierają serwer aplikacyjny w wersji Premium, a więc funkcje klastrowania, buforowania danych itp.

Definiowanie procesów biznesowych, które mają być uruchamiane w środowisku WebLogic Integration odbywa się w ramach pakietu narzędzi BEA WebLogic Workshop. Programista nie tworzy jednak w środowisku Workshop proceduralnego kodu BPEL4WS, lecz - zgodnie z opracowaną przez BEA Systems metodyką Java Process Definition (JPD) - pisze "zwykły", obiektowy kod Java. Gdy kod jest gotowy, za pomocą specjalnego narzędzia (BEA BPEL Export Utility) jest eksportowany do BPEL4WS 1.1. Dopiero kod wynikowy może być edytowany przy użyciu narzędzi tekstowych lub wizualnych zgodnych z BPEL4WS 1.1.

Dla programistów Java zaczynających przygodę z BPEL podejście BEA to zapewne logiczna droga zdobywania doświadczenia, na dłuższą metę procesy biznesowe powinny być jednak oddane we władanie przedstawicielom biznesu, którzy kodować w Javie nie zamierzają. BEA będzie więc musiała stworzyć narzędzie dla osób bez doświadczenia programistycznego lub zintegrować swoją platformę z narzędziami innych firm. Na razie BEA Systems przygotowuje się do wprowadzenia na rynek WebLogic Platform 9. Pośród wielu nowości związanych z dostępnością i wydajnością przyniesie ona jeszcze większą integrację środowiska aplikacyjnego z BPEL4WS.

SAP - SAP XI/ccBPM

Procesy gotowe do drogi

Architektura rozwiązania SAP ccBPM

Implementację BPEL4WS 1.1 SAP zawarł w środowisku ccBPM (Cross-Componet Business Process Management), które przynależy do platformy komunikacyjnej SAP XI (Exchange Infrastructure) 3.0, ta zaś jest częścią platformy integracyjnej SAP NetWeaver. Na ccBPM składa się kilka elementów funkcjonalnych.

Process Editor to graficzny edytor procesów połączony z edytorem kodu BPEL4WS. Standardowy edytor procesów ccBPM można rozbudować o dostarczane przez IDS Sheer narzędzie do modelowania procesów ARIS. Kolejnym elementem SAP ccBPM jest Integration Repository - repozytorium definicji procesów i interfejsów abstrakcyjnych. Pojęcie interfejsów abstrakcyjnych wiąże się z wprowadzoną przez SAP na potrzeby modelowania pośrednią warstwą abstrakcji - tzw. Business Scenarios. Pozwalają one definiować zgrubne ścieżki przebiegu procesów ze wskazaniem kanałów komunikacyjnych i systemów biorących udział w procesach, bez szczegółowego definiowania poszczególnych etapów. Scenariusze upraszczają wstępne etapy projektowania, są bowiem zgodne z naturalnym sposobem myślenia o problemach biznesowych: od ogółu do szczegółu.

To także ułatwienie dla analityka, którego zadaniem jest projektowanie i utrzymanie wielu procesów korzystających z tych samych zasobów aplikacyjnych i/lub bazodanowych, ale np. w różny sposób. Przykładowo, można zdefiniować scenariusz mówiący, że za zakupy przekraczające pewną kwotę klientowi należy się pewna liczba punktów w ramach programu lojalnościowego. Poszczególne procesy będą tworzone z uwzględnieniem specyfiki klientów - inaczej będzie wyglądać proces sprawdzania i dodawania punktów w przypadku klienta indywidualnego, a inaczej w przypadku klienta korporacyjnego. Scenariusze ułatwiają także zarządzanie procesami, w sensie kategoryzacji - gdy liczba zdefiniowanych procesów zaczyna być duża.

Integration Directory to mechanizm konfiguracyjno-kontrolny środowiska integracyjnego SAP XI, a więc także ccBPM. Tu składowane są informacje referencyjne, m.in. wersje definicji procesów, atrybuty (np. aktywny, nieaktywny). W katalogu tym przechowywane są listy interfejsów i protokołów, z których mogą korzystać, zasady routingu komunikatów w ramach poszczególnych procesów, w tym np. priorytety przetwarzania w kolejkach komunikatów itp.

Zdefiniowane i aktywowane procesy są uruchamiane w środowisku Integration Server, a dokładniej wewnątrz interpretera BPEL4WS - Business Process Engine. Jego rola polega nie tylko na wykonywaniu instrukcji zawartych w kodzie BPEL, ale także przechowywaniu stanu procesów w toku, łącznie z zapisem na dysku stanów procesów długookresowych, np. takich, w których udział biorą ludzie. Poprzez dedykowane mechanizmy Business Process Engine obsługuje ponadto pojawiające się wyjątki i błędy oraz zbiera metadane i statystyki na potrzeby narzędzi monitorujących i raportujących.

Jedną z bardziej obiecujących koncepcji SAP w kontekście BPEL4WS są miniaplikacje xApps oparte na architekturze SAP Composite Applications Framework. Taka aplikacja może wywoływać nie tylko poszczególne aplikacje podstawowe, ale także całe procesy biznesowe zdefiniowane w ramach SAP ccBPM.

Koncepcja aplikacji zarządzających procesami, czy nawet ich grupami, wydaje się na dłuższą metę nieuchronna - integracja systemów back-end znajduje dzięki nim przełożenie na poprawę spójności informacji w ramach przedsiębiorstwa, co jest jednym z podstawowych celów integracji aplikacji. xApps działają wyłącznie na platformie NetWeaver i komunikują się z pozostałymi elementami środowiska przez kanały komunikacji udostępniane w ramach NetWeaver.

BPEL4WS dla wszystkich

Oprócz komercyjnych środowisk BPEL4WS, na rynku pojawią się wkrótce rozwiązania open source. W ciągu kilku tygodni z witryny konsorcjum Object Web (tego samego, które koordynuje prace nad serwerem aplikacji JOnAS i rozwiązaniem klastrowym CJDBC) będzie można pobrać kod źródłowy serwera BPEL rozwijanego dotychczas przez holenderską firmę Emaxx. Kod źródłowy swojego serwera BPEL oraz kilku uzupełniających go komponentów integracyjnych udostępniła ostatnio także amerykańska firma Orbeon. Podobnie zrobiła firma Active-BPEL, która wykorzystała kod liencjonowany od firmy Active Endpoints.

A gdzie Microsoft?

Wszystkie opisywane tu motory BPEL4WS są w ten czy inny sposób powiązane z technologią Java. Bardzo zaawansowanym, aczkolwiek dzałającym tylko w środowisku .Net, jest BizTalk Server 2004 Microsoftu. Platformie tej, ze względu na ograniczone miejsce, ale także z uwagi na wyjątkową funkcjonalność integracyjną, poświęcimy odrębny artykuł w jednym z najbliższych numerów CW.


TOP 200