Modelowanie procesów biznesowych, przepływu pracy oraz reguł biznesowych na przykładzie Drools i jBPM lub Activiti
LICZBA DNI: 5 (40h)
KOD KURSU: BPMR
O szkoleniu
DLA KOGO?
Szkolenie adresowane jest do programistów Java oraz analityków pragnących zapoznać się filozofią tworzenia systemów opartych o procesy i reguły biznesowe z wykorzystaniem technologii Drools i jBPM lub Activiti
WYMAGANIA
Szkolenie może być wyprofilowane zarówno dla programistów, jak i analityków
Od programistów wymagana jest umiejętność programowania w Java
Dla obu grup wskazana jest znajomość platformy Java Enterprise Edition (odpowiednio na poziomie programistycznym i ogólnym)
Cele szkolenia
Poznanie podstawowych zasad analizy i modelowania procesów biznesowych
Poznanie istniejących notacji i standardów
Nabycie umiejętności modelowania procesów z użyciem notacji BPMN2
Nabycie umiejętności tworzenia wykonywalnych procesów biznesowych z użyciem technologii jBPM/Activiti
Nabycie umiejętności modelowania reguł biznesowych (przy pomocy języka reguł, tabel decyzyjnych, przepływów etc.)
Poznanie sposobów integracji rozwiązania jBPM/Activiti i Drools z innymi komponentami aplikacji enterprise
Poznanie zagadnienia zarządzania i testowania reguł i procesów
Program
Wprowadzenie do modelowania reguł biznesowych
- Co to jest silnik reguł?
- Co to jest reguła?
Przegląd silników reguł
Silnik JBoss Rules (Drools)
- Przegląd modułów Drools
- Expert
- Solver
- Fusion
- Guvnor
- jBPM/Flow
Drools Expert
- Forward vs. backward chaining
- Algorytm RETE
- Typy Java i Deklarowane
- Język Drools
- Kolejność wykonywania reguł
- Agenda
- Konflikty
Narzędzia do modelowania reguł
Modelowanie reguł przy pomocy
- Języka eksperckiego (Domain Specific Language)
- Reguł dynamicznych
- Arkuszy XLS/tabel decyzyjnych
- Plików XML
- Przepływu reguł
Uruchamianie reguł przy pomocy
- Drools API
- JSR94 API
Przechowywanie i zarządzanie regułami
- Cele
- Przechowywanie w pliku
- Zagadnienia wersjonowania i wprowadzania zmian
- Własny system zarządzania: Przechowywanie w bazie danych/JCR
- System zarządzania reguł z JBoss (Guvnor)
- Przesłanki do użycia
- Instalacja i konfiguracja
- Przegląd funkcjonalności
- Architektura
- Wady i zalety
Testowanie reguł biznesowych
- Przy pomocy JUnit
- Przy pomocy Fit for Rules
Zagadnienia wydajności
Complex Event Processing na przykładzie Drools Fusion
- Idea CEP
- Zdarzenia a Fakty - podobieństwa i różnice
- Rodzaje zegarów
- Rodzaje przetwarzania
- Wnioskowanie w oparciu o czas
- Operatory
- Okno przesuwne
Zagadnienia deploymentu i integracji
- Omówienie schematów integracji
- JPA/Hibernate jako repozytorium faktów
- Integracja z silnikiem procesów biznesowych JBoss jBPM
- Wystawienie funkcjonalności reguł poprzez serwer REST
- Integracja z aplikacją Java Enterprise Edition
- Integracja z SEAM Framework
- Integracja ze Spring Framework
- Integracja z Camel (na życzenie)*Moduł jBPM/Activiti*
Wprowadzenie do modelowania i uruchamiania procesów biznesowych
- Koncepcja BPM
- Role w tworzeniu i zarządzaniu procesami
- Odkrywanie procesów biznesowych
- Analiza i projektowanie procesów biznesowych (as is/to be)
- systemy IT oparte o uruchamialne procesy
- Wady i zalety podejścia
- BPM a komunikacja w procesie wytwórczym
- Cykl życia procesu biznesowego
- Proces w obliczu zmian
Przegląd silników BPM
Przegląd standardów związanych z silnikami workflow, reguł i architekturą usługową i określenie ich wzajemnych relacji
- BPMN2
- XPDL
- jPDL
- BPEL
Modelowanie procesów biznesowych w notacji BPMN2
- Podstawowe informacje
- Rola, znaczenie i zastosowanie BPMN2
- Poziomy zgodności
- Procesy wykonywalne i niewykonywalne
- BPMN a BPEL
- Składowe modelu BPMN
- Procesy publiczne i prywatne
- Choreografie
- Kolaboracje
- Konwersacje
- Podstawowe składowe procesu w BPMN
- Aktywności
- Przepływy sterowania
- Przepływy komunikatów
- Dane w procesie
- Bramy
- Zdarzenia
- Podprocesy
- Role i odpowiedzialność
- Aktywności - hierarchia i wspólne cechy
- Zadania
- Użytkownika
- Ręczne
- Skryptowe
- Serwisowe
- Reguły biznesowej
- Wysłania/Odebrania
- Dane i komunikaty w procesie
- Typy danych
- Dane jako aspekt biznesowy i techniczny
- Nośniki danych
- Modelowanie przepływu danych
- Mapowanie danych na parametry aktywności
- Bramy
- Rozdzielające i scalające
- Oparte na danych i na zdarzeniach
- Bramy złożone
- Rozdzielanie bez użycia bram
- Podprocesy
- Zagnieżdżony
- Reużywalny (aktywność typu wołanie)
- Zdarzeniowy
- Transakcyjny
- Markery podprocesów
- Ad hoc
- Pętla
- Wieloinstancyjność
- Kompensacja
- Zdarzenia
- Zdarzenia początkowe/środkowe i końcowe
- Zdarzenia rzucające i łapiące
- Zdarzenia jako element przepływu i zdarzenia przyłączane
- Zdarzenia przerywające i nieprzerywające
- Typy zdarzeń i ich zastosowanie
- Procesy a sytuacje wyjątkowe
- Błąd
- Eskalacja
- Przeterminowanie
- Anulowanie i kompensacja transakcji
- Role i odpowiedzialność
- Zasoby, wykonawcy, potencjalni właściciele
- Baseny i tory
- Modelowanie złożonych przypadków - workflow patterns
Tworzenie wykonywalnych procesów biznesowych w BPMN2
Uruchamianie procesów BPMN2 w silniku jBPM/Activiti
- Instalacja i konfiguracja silnika
- Omówienie składowych
- Omówienie narzędzi do edycji procesów min
- Activiti Web Modeler
- jBPM Designer
- Omówienie konfiguracji w tym
- Trwałości
- Transakcji
- API
- Ładowanie i uruchamianie procesów
- Zdarzenia techniczne/nasłuchiwanie cyklu życia procesu
- Process Virtual Machine (wariant Activiti)
- Dane
- Bramy
- Oparte na kodzie
- Oparte na regułach
- Zdarzeniowe (wariant jBPM)
- Warunki domyślne i priorytety
- Obsługa zadań
- Definicja Handlerów/istniejące handlery (wariant jBPM)
- Definicja Listenerów (wariant Activiti)
- Zadania użytkownika
- API jBPM (wariant jBPM)
- WS-HumanTask
- Podłączenie jBPM do silnika zadań
- API Activiti (łączenie, dodawanie, usuwanie zadań, ...) (wariant Activiti)
- Przypisywanie wykonawców
- Swimlane
- Zadania profilowane
- Wbudowane węzły w silniku jBPM/Activiti (np. Java Task, WebService Task, Mule Task, Email Task)
- Tworzenie własnych typów aktywności
- Procesy a reguły biznesowe
- Zadania regułowe
- Dostęp do zmiennych procesowych z poziomu reguł
- Zdarzenia oparte na regułach
- Bramy oparte na regułach
- Modelowanie złożonych decyzji w postaci przepływu reguł
- Przydzielanie wykonawców zadań
- Podprocesy
- Zdarzenia
- Obsługa sytuacji wyjątkowych
Zarządzanie procesami
- jBPM Guvnor/Cycle
- Zagadnienia wersjonowania
Konsola procesów jBPM Console/Activiti Explorer
- Możliwości i ograniczenia
- Instalacja i konfiguracja
- Formularze
- Historia
- REST API
- Inne serwisy udostępniane przez silnik
Monitorowanie procesów: jBPM BAM/Activiti Probe
Testowanie procesów
Zagadnienia deploymentu i integracji
- Silnik BPM a trwałość (hibernate/JPA)
- Wystawienie funkcjonalności BPM jako usługi Webservice REST
- Architektura aplikacji opartych na BPM
- BPM-centric
- Application-centric
- Integracja z aplikacją Java Enterprise Edition
- Integracje
- CDI
- Spring
- Mule (wariant Activiti)
- Alfresco (wariant Activiti)
