BizAgi Studio czesc 1 Definiowanie procesu w notacji BPMN
Projektowanie systemu workflow przy użyciu narzÄ™dzia BizAgi Studio część 1 Definiowanie procesu w notacji BPMN Instytut Systemów Informatycznych, WydziaÅ‚ Cybernetyki, Wojskowa Akademia Techniczna PaweÅ‚ Mieteo, JarosÅ‚aw Koszela Spis treÅ›ci Wprowadzenie ........................................................................................................................................ 2 Definiowanie procesu przy użyciu notacji BPMN .................................................................................... 3 Wprowadzenie BizAgi Studio jest Å›rodowiskiem, które przeksztaÅ‚ca procesy zamodelowane w notacji BPMN do aplikacji bez koniecznoÅ›ci programowania. BizAgi oferuje zestaw nazrzÄ™dzi do graficznego projektowania procesu, tworzenia modelu danych oraz definiowania reguÅ‚ biznesowych. Poniższy diagram przedstawia kolejne kroki skÅ‚adajÄ…ce siÄ™ na cykl tworzenia aplikacji: Rysunek 1. Cykl tworzenia aplikacji Definiowanie procesu przy użyciu notacji BPMN Aby rozpoczÄ…d projektowanie procesu należy uruchomid narzÄ™dzie BizAgi Studio i nastÄ™pnie utworzyd nowy projekt. Rysunek 2. Tworzenie nowego projektu (krok 1) Na pierwszym ekranie należy wybrad opcjÄ™ New. Rysunek 3. Tworzenie nowego projektu (krok 2) Kolejnym krokiem jest nadanie nazwy projektu, w naszym przypadku bÄ™dzie to TutorialBizAgi. Rysunek 4. Tworzenie nowego projektu (krok 3) Ostatnim etapem tworzenia projektu jest automatyczne skonfigurowanie projektu przez narzÄ™dzie, oraz utworzenie bazy danych, w której bÄ™dzie zapisywany stan naszego projektu. BizAgi Studio utworzy bazÄ™ danych o nazwie TutorialBizAgi. Po utworzeniu projektu, zostanie otwarte główne okno narzÄ™dzia: Rysunek 5. Główne okno narzÄ™dzia BiaAgi Studio TworzÄ…c aplikacje przy użyciu BizAgi Studio, rozpoczynamy pracÄ™ od zdefiniowania procesu. W tym celu wybieramy opcjÄ™ New Process. Rysunek 6. Tworzenie nowego procesu W pole Proces Name wpisujemy nazwÄ™ procesu. W naszym przypadku bÄ™dzie to SkÅ‚adanie wniosku o poprawÄ™ egzaminu . Rysunek 7. BizAgi Process Modeler Tworzenie procesu odbywa siÄ™ w zintegrowanym narzÄ™dziu o nazwie BizAgi Process Modeler . Po lewej stronie okna mamy paletÄ™, w której znajdujÄ… siÄ™ elementy, z których budujemy Proces. ·ð Flow (PrzepÅ‚yw) o Task (zadanie) Element ten symbolizuje pracÄ™ wykonywanÄ… w procesie. o Start Event (zdarzenie poczÄ…tkowe) Inicjuje/okreÅ›la poczÄ…tek przepÅ‚ywu procesu. o Intermediate Event (zdarzenie poÅ›rednie) Jest to element znajdujÄ…cy siÄ™ wewnÄ…trz procesu, który okreÅ›la punkt oczekiwanie na jakieÅ› zdarzenie. Element ten nie rozpoczyna i nie kooczy procesu. o End Event (zdarzenie koocowe) Element ten wskazuje miejsce zakooczenia procesu. o Gateway (brama logiczna) Jest to element decyzyjny, który steruje przepÅ‚ywem, uaktywniajÄ…c odpowiednie Å›cieżki w zależnoÅ›ci od reguÅ‚ biznesowych. Bramy mogÄ… rozdzielad lub Å‚Ä…czyd przepÅ‚ywy. ·ð Artifacts (Artefakty) - elementy graficzne nie bÄ™dÄ…ce elementem przepÅ‚ywu. o Group (grupa) element grupujÄ…cy inne elementy diagramu. Stosowany w celu zwiÄ™kszenia przejrzystoÅ›ci procesu. o Annotation (adnotacja) Jest to element tekstowy pozwalajÄ…cy opisad diagram. o Data Object (dane) Element pozwalajÄ…cy opisad dokumenty i inne obiektu wykorzystywane podczas procesu. ·ð Swimlines (Miejsca realizacji procesu/tory pÅ‚ywackie) o Line (tor) Tory sÅ‚użą do podziaÅ‚u procesu w sposób horyzontalny. Zazwyczaj reprezentujÄ… osobÄ™, rolÄ™ lub system, do którego należy wykonanie zadao znajdujÄ…cych siÄ™ wewnÄ…trz. o Milestone (kamienie milowe) Elementy te sÅ‚użą do podziaÅ‚u procesu na logiczne części, reprezentujÄ…ce etapy systemu. ·ð Connectors (PoÅ‚Ä…czenia) o Sequence Flow (Sekwencja przepÅ‚ywu) Element ten okreÅ›la kolejnoÅ›d wykonywania siÄ™ odpowiednich aktywnoÅ›ci wewnÄ…trz procesu. o Association (Asocjacja) PoÅ‚Ä…czenie to Å‚Ä…czy ze sobÄ… artefakty i obiekty przepÅ‚ywu. W modelowanym procesie wyodrÄ™bnimy cztery role: student, dziekanat, dziekan i ksiÄ™gowoÅ›d. W zwiÄ…zku z tym z wczeÅ›niej opisanej palety na nasz diagram przenosimy czterokrotnie ikonkÄ™ Line i jÄ… upuszczamy. Każdy tor nazywamy zgodnie z rolami. Czynimy to przez dwuklik na nazwie lub na klikniÄ™ciu na nazwÄ™ i wpisaniu nowej nazwy w okienku Element Properties na dole głównego okna. Druga metod umożliwia wpisanie polskich znaków. W analogiczny sposób zmieniamy nazwÄ™ każdemu innemu elementowi na diagramie. Rysunek 8. Zdefiniowanie torów Kolejnym krokiem jest wyodrÄ™bnienie etapów procesu, tak zwanych kamieni milowych. Do tego celu użyjemy elementu Milestone . Trzy krotnie przeciÄ…gamy go na diagram procesu i odpowiednio ustawiamy nazwy: przyjmowanie wniosku, dokonanie wpÅ‚aty, odbiór dokumentów. Rysunek 9. Zdefiniowanie torów i kamieni milowych Proces bÄ™dzie inicjowany przez studenta, a wiÄ™c element Start event umieszczamy w torze studenta w pierwszym etapie. Jego pierwszym zadaniem bÄ™dzie zÅ‚ożenie wniosku, w zwiÄ…zku z tym obok elementu startowego umieszczamy Task i nazywamy go odpowiednio. Oba elementy Å‚Ä…czymy elementem Sequence Flow , również przeciÄ…gniÄ™tym z lewego panelu. Rysunek 10. RozpoczÄ™cie procesu System daje inny sposób dodawania nowych elementów do procesu. A mianowicie chcÄ…c dodad kolejny element do przepÅ‚ywu, poÅ‚Ä…czony elementem Sequence Flow należy kliknÄ…d na obiekt, z którego ma wychodzid strzaÅ‚ka. W tym momencie pojawiÄ… siÄ™ elementy, które mogÄ… byd nastÄ™pnymi w procesie. Należy chwycid odpowiedni i umieÅ›cid go w dowolnym miejscu. Rysunek 11. Element "Start event" w trybie tworzenia nastÄ™pnego elementu Rysunek 12. Element "Task" w trybie tworzenia nastÄ™pnego elementu Jak widad drugi sposób jest znacznie szybszy i wygodniejszy. Pierwszy etap procesu wyglÄ…da nastÄ™pujÄ…co: Rysunek 13. Przyjmowanie wniosku - pierwszy etap procesu Powyższy proces możemy opisad sÅ‚ownie w nastÄ™pujÄ…cy sposób: 1. Student skÅ‚ada wniosek o poprawÄ™ egzaminu 2. Dziekanat poobiera dane o studencie z serwisu zewnÄ™trznego 3. Dziekanat decyduje czy wniosek jest prawidÅ‚owo zÅ‚ożony i czy student speÅ‚ni warunki formalne a. JeÅ›li student definitywnie nie speÅ‚nia warunków formalnych to wniosek zostaje odrzucony oraz wygenerowany zostaje sygnaÅ‚(powstaje inicjatywa) o skreÅ›lenie go z listy studentów. Koniec procesu. b. JeÅ›li wniosek wymaga dodatkowych czynnoÅ›ci ze strony studenta to należy go o tym poinformowad (przejÅ›cie do punktu 4.) c. Wniosek poprawny formalnie, wiÄ™c zostaje przyjÄ™ty i przekazany do dziekana(przejÅ›cie do punktu 5.) 4. Student dokonuje wymaganych czynnoÅ›ci (przejÅ›cie do punktu 3.) 5. Dziekan ostatecznie rozpatruje wniosek. a. Dziekan odrzuca wniosek, co kooczy proces oraz wygeneruje sygnaÅ‚(powstaje inicjatywa) o skreÅ›lenie danej osoby z listy studentów. b. Dziekan przyjmuje wniosek(PrzejÅ›cie do punktu 6.) 6. Dziekanat wysyÅ‚a informacje do studenta, że jego wniosek zostaÅ‚ przyjÄ™ty. PorównujÄ…c oba opisy tego samego procesu Å‚atwo dostrzec, że reprezentacja graficzna jest Å‚atwiejsza w zrozumieniu. A sama notacja jest na tyle intuicyjna, że osoba niemajÄ…ca doÅ›wiadczenia jest w stanie zrozumied sens procesu. Rysunek 14. Nadawanie typu zadaniu Rysunek 15. Service Task Zadaniu Pobieranie informacji o studencie nadaliÅ›my typ Service Task , co oznacza, że zadanie to bÄ™dzie korzystaÅ‚o z serwisu zewnÄ™trznego. NarzÄ™dzie umożliwia nam transformacje zadania do jednego z powyżej zaprezentowanych typów. Robi siÄ™ to przez menu kontekstowe, a wiÄ™c należy kliknÄ…d na dany element, wcisnÄ…d prawy przycisk myszy a nastÄ™pnie wybrad odpowiedniÄ… opcjÄ™. Rysunek 16. PÄ™tla wykorzystujÄ…ca bramÄ™ logicznÄ… Zgodnie z zastosowaniem element w ksztaÅ‚cie rombu użyliÅ›my do stworzenia pÄ™tli. Brama logiczna sÅ‚uży do sterowania przepÅ‚ywem. W powyższym przypadku, w zależnoÅ›ci od akcji podjÄ™tej na zadaniu Przyjmowanie wniosku do rozpatrzenia , proces może obrad jeden z trzech przewidzianych wariantów. W przypadku Odrzucenia warunkowego przechodzimy do kroku Dokonanie wymaganych czynnoÅ›ci i ponownie wracamy do przyjmowania wniosku. Rysunek 17. Send Task Kolejnym przykÅ‚adem użycia zadania okreÅ›lonego typu jest task WysÅ‚anie wiadomoÅ›ci o przyjÄ™ciu wniosku , któremu nadaliÅ›my typ Send Task . Opcja ta zostaÅ‚a ustawiona po przez menu kontekstowe, w analogiczny sposób jak w przypadku Service Task . Rysunek 18. Nadawanie typu dla zdarzenia koocowego Rysunek 19. End Event - Signal W pierwszym etapie naszego przykÅ‚adu możliwe jest zakooczenie caÅ‚ego procesu. Koniec procesu oznaczony jest po przez czerwonÄ… obrÄ™cz. End Event również może przyjmowad jeden z kilku typów. Nasze zdarzenie koocowe otagowaliÅ›my typem Signal . Oznacza to, że w trakcie zakooczenie zostanie wygenerowany sygnaÅ‚, który np. może zostad wykorzystany do automatycznego uruchomienia innego procesu. Rysunek 20. Dokonanie wpÅ‚aty - Drugi etap procesu Kolejnym etapem w naszym procesie jest Dokonanie wpÅ‚aty . System oczekuje na wpÅ‚atÄ™ 5 dni, jeÅ›li w tym czasie nie zostanie odnotowane wpÅ‚yniÄ™cie pieniÄ™dzy to proces zostanie zakooczony. W przypadku, jeÅ›li ksiÄ™gowa odnotuje wpÅ‚yniÄ™cie pieniÄ™dzy na konto rozpocznie siÄ™ podproces ksiÄ™gowania wpÅ‚aty. Rysunek 21. Wykorzystanie Event Based Gateway oraz zdarzeo Intermediate Event Rysunek 22. Nadawanie typu bramce logicznej Rysunek 23. Bramka logiczna typu "Event Base Gateway" JeÅ›li chcemy, aby proces obraÅ‚ różny przebieg w zależnoÅ›ci od zdarzenia, które zajdzie najwczeÅ›niej, należy użyd bramki logicznej i ustawid jej typ Event Based Gateway . NastÄ™pnie trzeba dodad zdarzenia poÅ›rednie. System wybierze jednÄ… ze Å›cieżek, a mianowicie tÄ™, na której pierwszej zajdzie zdarzenie. Rysunek 24. Nadawanie typu zdarzeniu poÅ›redniemu Rysunek 25. Zdarzenie poÅ›rednie typu "Timer" Rysunek 26. WÅ‚aÅ›ciwoÅ›ci zdarzenia poÅ›redniego typu "Timer" Aby zdarzenie odpaliÅ‚o siÄ™ po piÄ™ciu dniach należy wejÅ›d we wÅ‚aÅ›ciwoÅ›ci obiektu i w parametrze Duration ustawid odpowiedniÄ… wartoÅ›d. Kolejnym korkiem w naszym procesie jest podproces ZaksiÄ™gowanie wpÅ‚aty . Aby go utworzyd należy najpierw zapisad aktualny proces oraz przejÅ›d do głównego okna w narzÄ™dziu BizAgi Studio, gdzie bÄ™dziemy mogli dodad nowy proces, który nastÄ™pnie podepniemy jako podproces. Rysunek 27. Dodanie nowego procesu - ZaksiÄ™gowanie wpÅ‚aty Analogicznie jak to robiliÅ›my w na poczÄ…tku należy dodad nowy proces. Nazwijmy go ZaksiÄ™gowanie wpÅ‚aty . Po utworzeniu procesu opuÅ›dmy go i powródmy do głównego procesu. Proces ksiÄ™gowania wpÅ‚aty zamodelujemy na koocu. Rysunek 28. Główne okno BizAgi Studio - zmienianie kontekstu procesu W celu powrócenia do głównego procesu należy zmienid kontekst pracy narzÄ™dzia. W tym celu w prawnym górnym rogu okna należy z listy rozwijanej wybrad odpowiedni proces. NastÄ™pnie trzeba kliknÄ…d opcjÄ™ Edit Process . Rysunek 29. Stworzenie podprocesu Rysunek 30. Podproces W celu wykorzystanie uprzednio stworzonego procesu w głównym procesie należy dodad Task a, nadad mu odpowiedniÄ… nazwÄ™ oraz z menu kontekstowego wybrad opcjÄ™ Transfer to subprocess . Operacja ta uruchomi kreator za pomocÄ…, którego bÄ™dziemy mogli skonfigurowad odpowiednio podproces. Rysunek 31. Podproces - wybieranie typu Do wyboru mamy cztery rodzaje procesów: ·ð Embedded Podproces wbudowany jest aktywnoÅ›ciÄ…, która zwiera inne aktywnoÅ›ci. Pracuje on na danych głównego procesu. Nie istnieje możliwoÅ›d wykorzystanie tego podprocesu w innym miejscu w tym procesie ani żadnym innym. ·ð Resuable Podproces wielokrotnego użytku jest aktywnoÅ›ciÄ…, która wywoÅ‚uje inny proces. Istnieje możliwoÅ›d przekazania danych z głównego procesu do podprocesu oraz w drugÄ… stronÄ™. ·ð Multiple Wielokrotny podproces umożliwia wywoÅ‚anie go wielokrotnie. IloÅ›d wywoÅ‚ao zdefiniowana jest przez okreÅ›lona liczbÄ™ lub przez licznoÅ›d kolekcji danych. Kolejne wywoÅ‚ania mogÄ… dziaÅ‚ad w trybie równolegÅ‚ym lub sekwencyjny. ·ð Transactional Transakcyjny podproces daje nam mechanizm potwierdzajÄ…cy, że dana partia aktywnoÅ›ci wykonaÅ‚a siÄ™ w caÅ‚oÅ›ci poprawnie lub caÅ‚a zostaÅ‚a wycofana. W naszym przypadku użyjemy opcji Resuable . Rysunek 32. Podproces - procesu Kolejnym krokiem jest wybranie procesu, który bÄ™dzie uruchamiany w ramach tej aktywnoÅ›ci. Wybieramy uprzednio stworzony proces ZaksiÄ™gowanie wpÅ‚aty . Rysunek 33. Wybranie trybu pracy podprocesu Do dyspozycji mamy dwa tryby: ·ð Integrated tryb ten oznacza, że dany podproces musi siÄ™ zakooczyd zanim główny proces przejdzie do nastÄ™pnego kroku. ·ð StandAlone opcja ta pozwala w procesie głównym kontynuowad przebieg, bez znaczenia na jakim etapie jest pod proces. W naszym przypadku wybieramy tryb StandAlone, co oznacza, że dziekanat może wydad karty poprawkowe studentowi nie czekajÄ…c na zakooczenie procesu ksiÄ™gowania wpÅ‚aty. Rysunek 34. Odbiór dokumentów - Trzeci etap procesu Ostatnim etapem caÅ‚ego procesu jest Odbiór dokumentów . Dziekanat równolegle przygotowuje karty poprawkowe oraz wprowadza odpowiednie dane do systemu E-dziekanat. Po zakooczeniu obu tych kroków, może wydad dokumenty studentowi. Rysunek 35. Przebieg równolegÅ‚y W celu uruchomienia wielu równolegÅ‚ych wÄ…tków w przebiegu procesu należy użyd bramki logicznej typu Parallell Gateway . Aby sprowadzid rozdzielone wÄ…tki ponownie do jednego przebiegu, również trzeba użyd tej samej bramki. Bramka ta bÄ™dzie oczekiwad, do póki nie spÅ‚ynÄ… do niej wszystkie doprowadzone wÄ…tki. Rysunek 36. Widok caÅ‚ego procesu W celu manipulowania wielkoÅ›ciÄ… diagramu należy wcisnÄ…d przycisk Ctrl oraz użyd scrolla w myszce.