Platforma IST-BPM - Podejście Procesowe
JBoss Enterprise Middleware
Skuteczna realizacja podejścia procesowego, a więc usprawnianie, optymalizowanie, a także zapewnienie odpowiedniego informatycznego wsparcia dla procesów biznesowych każdej organizacji, jest jednym z ważniejszych wyzwań wynikających z zastosowania teorii zarządzania w praktyce biznesowej. Celem jest osiągnięcie wymiernych korzyści, które wynikają z usprawnienia procesów, ograniczenia kosztów, zwiększenia efektywności biznesowej, a także zapewnienia pełnej transparentności i kontroli zachodzących w organizacji procesów. Platforma IST-BPM zapewnia osiągnięcie tych celów, zapewniając jednocześnie wyższy poziom dojrzałości procesowej organizacji.
Odpowiednio zidentyfikowane i zaprojektowane procesy, a także ich efektywne wsparcie w systemie informatycznym, stanowią o lepszym, bardziej konkurencyjnym działaniu każdej organizacji. Efekty biznesowe, które wynikają z zastosowania procesowego podejścia, są zawsze znaczące. Napisano wiele książek i opracowań, w których przedstawiono przewagę orientacji procesowej nad funkcyjną. Szczegóły zależą od biznesowego obszaru oraz specyfiki danej organizacji. Kluczowym założeniem wykorzystania Platformy IST-BPM jest pełne odniesienie do wymagań funkcjonalnych, które zostają szczegółowo określone na etapie biznesowej analizy.

Platforma IST-BPM jest oparta o najnowsze zdobycze otwartych technologii Java, które są dynamicznie rozwijane przez miedzynarodową społeczność. Niezwykle istotna jest uniwersalność platformy oraz kompleksowośc wykorzystanych narzędzi. Maksymalizacja efektu końcowego, zwiazanego z jej zastosowaniem, wynika także z wykonania fazy analizy w metodyce zwinnej (tzw. Agile). Analiza jest kluczowa, gdyż dostarcza niezbędnych informacji, dzieki którym podejście procesowe może być najskuteczniej zrealizowane.
Firma IST jest posiadaczem statusu Red Hat Advanced Business Partner oraz dostarcza technologię JBoss do firm działających na naszym polskim rynku. Dzięki zasosowaniu technologii JBoss we własnym produkcie, firma wykorzystuje rzeczywiste standardy obowiązujące w świecie IT. Dla klientów dodatkowym atutem jest ograniczenie wstępnych kosztów wynikających zwykle z konieczności zakupu licencji narzędzi programistycznych oraz systemowych wykorzystywanych później na etapie wdrożenia. Otwartość kodów źródłowych sprawia, że użytkownicy Platformy IST-BPM nie są uzależnieni od jednego dostawcy.
Dlaczego IST-BPM?
-
Wartość biznesowa – Rozwiązanie docelowe, budowane przy wykorzystaniu Platformy IST-BPM jest zawsze dostosowane do rzeczywistych, istotnych potrzeb biznesowych, szczegółowo określanych na etapie analizy. Osiągana jest maksymalizacja efektu końcowego przy jednoczesnej redukcji kosztów;
-
Redukcja kosztów – Użytkownicy nie ponoszą kosztów licencji narzędzi informatycznych oraz systemowych, które są wykorzystywane na etapie wdrożenia;
-
Brak uzależnienia od jednego dostawcy – Wytworzone kody systemu są przekazywane odbiorcy. Użytkownik ma pełne prawo do dysponowania nimi według własnego uznania. Może on zlecać przyszłe prace rozwojowe dowolnemu podmiotowi, który posiada odpowiednie kompetencje lub wykonywać je we własnym zakresie;
-
Dostęp do kodu źródłowego – Z definicji użytkownik ma dostęp do kodu źródłowego otwartych technologii, które zostały wykorzystane jako fundament rozwiązania;
-
Bezpieczeństwo inwestycji – Międzynarodowa społeczność wyznacza drogi rozwoju dla nowoczesnych technologii Java. Użytkownik nabywa pełne prawa do całkowicie transparentnego rozwiązania, które może być łatwo dostosowywane do zmieniających się przyszłych potrzeb.
Zwinne modelowanie procesów
Procesem biznesowym nazywamy zbiór działań wewnątrz organizacji, których celem jest dostarczenie jej otoczeniu określonej wartości. Przebieg procesu ma charakter dynamiczny, jego realizacja jest często rozciągnięta w czasie i angażuje różne zasoby dostępne w organizacji, do których należą ludzie, materiały, kapitał, a także informatyczne systemy.
W celu maksymalizacji biznesowego efektu projekt rozpoczyna analiza kontekstu organizacyjnego oraz identyfikacja zachodzących w organizacji procesów. Spośród nich wybierane są procesy kluczowe ze względu na tworzoną wartość biznesową lub te, o których z góry wiadomo, że wymagają usprawnienia i optymalizacji. Są one modelowane przy wykorzystywaniu zwinnej metodyki opartej o notację UML.
Zwinne modelowanie (ang. AM - Agile Modeling) to oparta na praktyce efektywna metodyka skutecznego modelowania oraz tworzenia dokumentacji w krótkich iteracjach. Szczegółowe informacje dotyczące tego zagadnienia znajdują się na stronach: http://www.ivarjacobson.com oraz http://www.agilemodeling.com.
Podstawowy cel modelowania to określenie biznesowych wymagań w oparciu o zrozumiały i uproszczony opis dziedziny problemu. Modelowanie dostarcza wiedzy o strukturze i sposobie działania organizacji, istniejących problemach w aktualnych procesach oraz możliwości dokonania w nich ewentualnych usprawnień.
W ramach analizy dokonywana jest seria rozmów (wywiadów) z przedstawicielami klienta i właścicielami procesów biznesowych. Dokonywana jest analiza dostępnych dokumentów oraz systemów powiązanych z procesami. Budowane są modele procesów wraz z modelami przepływu danych. Wyniki analizy zawarte są w dokumentacji analitycznej powstałej na tym etapie projektu. W jej skład wchodzi model przepływu informacji udokumentowany w notacji UML, model architektury „as-is” (z uwzględnieniem istniejących systemów), oraz model rekomendowanej architektury „to-be”.
Określone na etapie analizy biznesowe cele i uwarunkowania są podstawą do ewentualnego przygotowania wizji realizacji wybranych procesów w systemie IST-BPM.
System IST-BPM
Platformą IST-BPM nazywamy metodykę realizacji projektów, w ramach których istnieje możliwość budowy dedykowanego informatycznego rozwiązania. Jądrem tego rozwiązania jest system IST-BPM zawierający uniwersalną, wspólną funkcjonalność wykorzystywaną w projektach. U podstaw jego stworzenia (informatycznej warstwy opisywanej platformy) leżało usprawnienie budowy procesowych rozwiązań z wykorzystaniem otwartych i nowoczesnych technologii Java.
Jedną z zalet systemu IST-BPM jest modułowość całej struktury, pozwalająca na łatwe skalowanie oraz rozszerzanie rozwiązania. System, a także jego wszystkie składowe posiadają udokumentowane interfejsy, opisaną strukturę danych. Istnieje literatura opisująca wykorzystane technologie i biblioteki. Wszystko to w połączeniu z możliwością nabycia praw do wytworzonego w trakcie projektu kodu oprogramowania sprawia, iż rozwiązanie może być utrzymywane, wspierane oraz rozwijane zarówno przez klienta jak również każdą firmę zewnętrzną, która posiada odpowiednie kompetencje.
W trakcie budowy systemu IST-BPM istotnym czynnikiem było partnerstwo z organizacją JBoss/Red Hat, która udostępnia rozwijane pod swoim nadzorem technologie w modelu Open Source. Obecnie partnerstwo to umożliwia dostarczanie profesjonalnego wsparcia dla użytkowników w postaci dedykowanych subskrypcji. Szczegóły funkcjonowania modelu Open Source w organizacji JBoss znajdują się na stronie http://www.jboss.com.
Podstawową platformą technologiczną wykorzystywaną w systemie jest JBoss SOA Platform. Dzięki temu projekty mogą być realizowane zgodnie z architekturą SOA, w której integracja istniejącej w rozproszonych systemach funkcjonalności odbywa się z wykorzystaniem centralnej szyny integracyjnej ESB (Enterprise Service Bus).

Produkty JBoss
Silnik reguł biznesowych BRMS (Business Rules Management System) JBoss Rules wspiera zarządzanie regułami biznesowymi, których zastosowanie w biznesie organizacji określa odrębna dziedzina wiedzy. „Reguły mają zastosowanie ponad i pomiędzy procesami i procedurami. Powinny stanowić jeden spójny organizm, stosowany konsekwentnie w odpowiednich obszarach aktywności biznesowej.” (na podstawie Manifestu Reguł Biznesowych).
Jako repozytorium dokumentów wykorzystywanych w procesach i zintegrowanych z procesowym rozwiązaniem wykorzystywany jest system Alfresco. Repozytorium to może być jednakże obsługiwane przez inny zewnętrzny system. Istnieje możliwość jego integracji z systemem IST-BPM także poprzez interfejs zgodny z normą JSR-170.
Informacje, które zostają zebrane podczas działania procesów w organizacji, mogą być następnie poddawane analizie. Jej wynik może posłużyć do określenia koniecznych zmian w celu usprawnienia procesów. Analizę tę wspiera system JasperReports, który jest standardowo wykorzystywany we wdrożeniach dla uzyskania aktualnej informacji zarządczej.
System jest w pełni przygotowany na zmianę lokalizacji i dostosowanie do wymogów danego kraju. Dodanie nowego języka wykonywane jest zgodnie ze standardami udostępnionymi przez JBoss SOA Platform. Dodatkowo wszystkie teksty oraz komunikaty mogą być dopasowane do profilu danej organizacji.
Architektura systemu i środowisko techniczne
System IST-BPM został stworzony w oparciu o nowoczesne rozwiązania środowiska JAVA/JEE. Jądro systemu oraz wszystkie implementowane serwisy są zgodne ze standardami wprowadzonymi przez dostawców wykorzystywanych technologii.

Technologie wykorzystywane w projekcie
Do realizacji systemu zostały wybrane następujące technologie, które zostały wykorzystane w architekturze MVC (Model-View-Controler):
-
JavaServer Faces – technologia warstwy widoku, którą wspiera w systemie IST-BPM biblioteka RichFaces zapewniając możliwości wykorzystania technologii AJAX w efektywny sposób. Wykorzystany system szablonów, zgodnie z zaleceniami producenta Richfaces to Facelets;
-
Enterprise JavaBeans 3 – technologia Java wykorzystywana do zaimplementowania warstwy logiki. Wybrana implementacja firmy JBoss w warstwie dostępu do bazy danych wykorzystuje framework Hibernate uniezależniający rozwiązanie od wykorzystywanej bazy danych;
-
jBPM (JBoss Business Process Management) – wirtualna maszyna procesowa – silnik kontrolujący przepływ procesów opisanych w języku jPDL, BPEL oraz Seam Pageflow;
-
Seam - mechanizm wiążący poszczególne warstwy: widoku (JSF), modelu oraz kontrolerów (EJB3);
-
JBoss Application Server – środowisko uruchomieniowe, serwer aplikacji firmy JBoss;
-
JBossRules – silnik reguł biznesowych (dawniej nazywany Drools);
-
JBoss ESB – centralna szyna integracyjna;
-
Alfresco – system klasy ECM (Enterprise Content Management) wykorzystywany do przechowywania i zarządzania dokumentami, zgodny z normą JSR-170;
-
JasperReports – silnik generowania raportów, oparty o środowisko Java.
Środowiskiem deweloperskim wykorzystywanym w projektach jest JBoss Developer Studio, oparte o środowisko programistyczne Eclipse.
Architektura wewnętrzna systemu IST-BPM
Użycie oraz powiązania pomiędzy poszczególnych technologiami wykorzystywanymi w systemie IST-BPM zobrazowane zostało na poniższym schemacie:

System IST-BPM, dla lepszej wydajności oraz możliwości integracyjnych, korzysta z zaimplementowanych zewnętrznych serwisów uruchomionych na tym samym serwerze aplikacji.
W trakcie budowy systemu IST-BPM część komponentów dostarczanych w platformie JBoss została funkcjonalnie rozszerzona w stosunku do standardu. Zmiany te wynikały z potrzeby zapewnienia kompleksowości platformy IST-BPM, w szczególności zapewnienia ciągłości przepływu procesów oraz możliwości elastycznego wprowadzania ich modyfikacji.
Środowisko uruchomieniowe
Do uruchomienia systemu IST-BPM wymagane są:
- Serwer aplikacji obsługujący rozwiązania oparte na technologii JAVA;
- Baza danych SQL.
System IST-BPM jest dedykowany dla serwerowych rozwiązań dostarczanych przez JBoss, chociaż istnieje możliwość wykorzystania innych środowisk (Weblogic, Tomcat, Websphere). Rozwiązanie bazodanowe musi być wspierane przez środowisko JBoss Hibernate (wymaganie to jest spełnione przez większość obecnie używanych systemów baz danych).
Na poniższym rysunku wyszczególniono zewnętrzne elementy przedstawione wcześniej na schemacie szczegółowym.

W domyślnej konfiguracji systemu IST-BPM komponentami wymaganymi są:
-
Repozytorium dokumentów – standardowo system wykorzystuje repozytorium Alfresco;
-
Baza danych – dowolna baza danych obsługiwana przez Hibernate.
Komponenty opcjonalne:
-
Serwis usług dostępowych – LDAP bezpośrednio współpracuje z systemem IST-BPM, (istnieje możliwość integracji z innym serwisem dostępowym wybranym przez klienta).
W systemie IST-BPM został zaimplementowany moduł zarządzania dostępem. Wykorzystanie zewnętrznego serwisu usług dostępowych jest wobec tego opcjonalne.
-
Inne komponenty zgodne z procesowymi wymaganiami organizacji – integracja z zewnętrznymi systemami.
System został zoptymalizowany (warstwa prezentacji oraz dostępu do danych) pod względem szybkości działania, jak również w celu sprawnej i efektywnej integracji z innymi systemami w organizacji. Modułowość systemu zapewnia możliwość jego łatwej rozbudowy o dodatkowe funkcjonalności realizowane zgodnie z zapotrzebowaniem.
Funkcje systemu IST-BPM wspierające przebieg procesów
Zadania w procesie, lista oraz podgląd
Dla procesów, w których wymagana jest aktywność ludzka, każdemu użytkownikowi, po zalogowaniu do systemu, wyświetlana jest lista przydzielonych mu aktualnie zadań, w których uczestniczy.
Każdy element listy zadań ma unikalny w skali procesu wyznacznik, przypisanie do procesu i jego etapu, priorytet oraz temat. Każde zadanie może mieć także ustalony termin wykonania oraz status. Każdy typ procesu może mieć dowolnie zdefiniowany widok listy zadań, w którym mogą występować dane biznesowe z nim związane.
Do monitorowania przepływu procesów, ich statusów, a także śledzenia procesów uruchamianych przez poszczególnych użytkowników, służy lista podglądu pozwalająca na przeglądanie procesów w trybie tylko do odczytu bez możliwości wpływu na ich dalszy przebieg.
Historia i postęp procesów
Poza standardową obsługą przebiegu procesu czyli przydzielaniem zadań, zapewnieniem transakcji oraz przepływu danych, system zapewnia automatyczne generowanie historii. Rejestrowane są wszelkie aktywności zachodzące w procesach, takie jak przejścia z etapu na etap, zakończenie zadania itp. Dzięki modułowej budowie systemu możliwa jest elastyczna konfiguracja zakresu rejestrowania zachodzących w nim zdarzeń.
Ważną funkcją systemu jest schemat procesu wraz z graficzną reprezentacją jego stanu, dostępny na każdym z etapów. Aktualnie realizowany etap oraz wykonane przejścia są na schemacie wyróżnione.

Wersje procesu
Wersjonowanie procesów jest realizowane w systemie poprzez wersjonowanie ich przebiegu, formularzy oraz struktur danych biznesowych. Pozwala to na funkcjonowanie kilku wersji tego samego procesu w tym samym czasie. Umożliwia to łatwe dostosowywanie systemu do zmieniających się wymagań. Procesy rozpoczęte w danej wersji procesu zostaną zakończone zgodnie z regułami, które obowiązywały w dniu ich rozpoczęcia.
Delegacja uprawnień
W celu zapewnienia płynności działania procesów system obsługuje delegacje uprawnień. Każdy użytkownik może innym użytkownikom delegować swoje uprawnienia do wybranego procesu (wybranego etapu bądź wszystkich etapów) na czas swojej nieobecności. Odmiennym zastosowaniem mechanizmu jest stałe wyznaczenie zastępcy lub zastępców (np. asystentki) do wykonywania określonych czynności. Delegacja jest określana w czasie, przydzielana do konkretnych procesów i etapów, oraz posiada możliwość parametryzowania powiadomień w czasie jej trwania.
Powiadomienia
System IST-BPM posiada funkcjonalność pozwalającą na obsługę powiadomień. Mechanizm ten odpowiedzialny jest za automatyczne wysyłanie wiadomości do użytkowników w dowolnie definiowanych sytuacjach. Użytkownik może określić o jakich priorytetach chce otrzymywać powiadomienia oraz przy których procesach czy też etapach. Przykładowo otrzyma on informację w momencie gdy zostanie przypisane do niego nowe zadanie oraz gdy zadanie, które powinien wykonać w określonym czasie, jest wciąż nie zrealizowane. System powiadamia Administratorów o wszelkich zdarzeniach mających miejsce w systemie, takich jak zaistniałe problemy czy też zmiana roli.
Domyślne rozwiązanie wysyłania powiadomień pocztą elektroniczną opiera się o integrację poprzez JavaMail z dowolnym serwerem SMTP oraz o szablony wiadomości elektronicznych. Szablon definiuje wygląd takiej wiadomości oraz pozwala na parametryzowanie jej treści.
Dodatkowo system przypomina użytkownikom o ważnych zadaniach zmieniając sposób ich prezentacji na liście zadań.
Harmonogram i kalendarz biznesowy
Zdefiniowany w systemie IST-BPM harmonogram zadań określa kolejność, moment rozpoczęcia i czas trwania zadania. Każde takie zadanie jest przypisane do konkretnego procesu, jego etapu lub uruchamiane cyklicznie w zadanym interwale czasowym.
Kalendarz biznesowy służy do określenia godzin pracy każdego dnia tygodnia, łącznie z dniami wolnymi od pracy. Podane w tym miejscu wartości mogą być później wykorzystywane w ustalaniu zadań z harmonogramu, np. wyślij przypomnienie o przydzieleniu zadania po dwóch dniach roboczych z uwzględnieniem dni wolnych od pracy.
Struktura systemu IST-BPM
Poniżej przedstawiona została struktura systemu IST-BPM. Odnosi się ona do realizowanych funkcji.

Wykorzystanie szyny JBoss ESB
Złożone potrzeby integracyjne występujące w realizowanych procesach obsługiwane są w systemie IST-BPM przez wykorzystanie szyny JBossESB (JBoss Enterprise Service Bus).
Szyna ESB jest strukturą informatyczną udostępniającą architekturę tworzenia aplikacji (głównie integracji) opartą o przesył wiadomości (message) między węzłami szyny. Jest to struktura wywoływana zdarzeniami (event-driven), która udostępnia wiele przydatnych w integracji funkcji.
System IST-BPM wykorzystuje szynę JBossESB do komunikacji z zaimplementowanymi serwisami. Szyna ta może być także wykorzystywana do integracji realizowanego przy pomocy platformy IST-BPM procesu z zewnętrznymi systemami istniejącymi w organizacji.
Zawarte w szynie JBossESB mechanizmy i narzędzia pozwalają bardzo łatwo, a zarazem precyzyjnie opisywać skomplikowane, rozproszone procesy, realizowane za pośrednictwem wielu różnorodnych aplikacji i komponentów. Możliwa jest komunikacja za pośrednictwem standardowych interfejsów informatycznych, tj. e-mail, HTTP/FTP, Webservice, SQL, JMS (Java Messaging System) i inne.

Systemy informatyczne definiują różnorodne standardy przechowywania informacji. Szyna JBossESB umożliwia łatwe transformowanie wiadomości pomiędzy różnymi formatami. Wbudowane mechanizmy sprawiają, że odbywa się to w sposób wydajny.
Sterowanie przepływem wiadomości pomiędzy serwisami może odbywać się zarówno statycznie jak również dynamicznie. Szyna w zależności od zawartości wiadomości może podejmować decyzję do jakich serwisów ją skierować.
Szyna JBossESB umożliwia komunikację zwrotną za pomocą mechanizmu zawiadomień, który umożliwia wysłanie potwierdzenia otrzymania wiadomości przez adresata.
Zabezpieczenie dostępu do serwisów w szynie JBossESB jest w pełni konfigurowalne. Domyślne zabezpieczenie to JAAS - Java Authentication and Authorization Service.
Szyna JBossESB udostępnia wiele sposobów dostępu do serwisów oraz różnych typów akcji wykonywanych na transportowanych wiadomościach.
Podstawowy sposób komunikacji wykorzystywany w szynie ESB został przedstawiony na poniższym rysunku, który w szczególności wyróżnia dwa typy serwisów: JBossESB-aware oraz JBossESB unaware (więcej informacji na stronie http://www.jboss.org/jbossesb).

Szczególne użycie szyny integrujące system IST-BPM z wykorzystywanymi serwisami obrazuje poniższy schemat. Komponenty łączące się z systemem mogą bezpośrednio komunikować się przez szynę ESB.

Szyna JBossESB uprościła architekturę systemu IST-BPM oraz sprawiła, że integracja z wewnętrznymi oraz zewnętrznymi komponentami stała się prostsza i bardziej wydajna.
Zobacz informacje na temat JBoss Enterprise Middleware.


