Řízení podnikových procesů pomocí open source

Jiří Sviták 28. 4. 2014

Podnikové procesy jsou jedním z posledních trendů ve vývoji informačních systémů. Tento seriál vás uvede do této problematiky a představí vám možnosti podnikových procesů na open source produktu Red Hat JBoss BPM Suite, jenž vychází z open-source JBoss projektů jBPM, Drools, Dashbuilder a OptaPlanner.

Pro koho je tento seriál určen? V první řadě pro všechny vývojáře informačních systémů nebo Java Enterprise Edition (EE) vývojáře. Minimem je znalost Javy Standard Edition (SE). Doporučenou znalostí je však znalost Javy EE ve verzi 6. Zkušenosti s verzovacím systémem Git, nástrojem Maven a podnikovými procesy jsou výhodou. Seriál si neklade za cíl podrobně zachytit všechny detaily, ale popsat vybrané případy použití.

V prvním díle se zaměříme na důvody, které vedly ke vzniku elektronických modelů podnikových procesů. Dále bude velmi stručně popsán v současné době nejrozšířenější standard Business Process Model and Notation (BPMN) 2 pro jejich modelování. Včetně toho, jak může vypadat implementace tohoto standardu. V dalších dílech budou následovat detailnější informace o Red Hat JBoss BPM Suite a také popis ukázkové webové aplikace využívající projektu jBPM jako workflow engine. Seriál si neklade za cíl probrat dopodrobna všechny BPMN2 konstrukce, ale v ukázkách budou předvedeny jen některé, ty častěji používané.

K čemu jsou podnikové procesy dobré?

Podnikové procesy jsou jedním z posledních trendů v oblasti vývoje informačních systémů. Abych vám nejprve co nejlépe přiblížil, proč se používají, zkuste si představit následující situaci. Fiktivní firma NakupujteÜberCoolVěciLevně.cz má informační systém pro evidenci svého zboží pro zákazníky. Její činnost je obchodnická, vývoj tohoto systému si zaplatila u externí firmy, která jí zajišťuje podporu. Zjistili, že současný systém dodávání zboží je neefektivní a bude pro ně výhodnější zboží nerozvážet sami, ale najmout si pro tuto činnost externího dopravce.

Současný systém však byl naprogramován pro jiné účely. Musí tedy nyní změnit desítky různých formulářů, které v systému existují a které používají zaměstnanci. Dodavatel jejich systému je schopen tyto změny nasadit až za několik měsíců a bude chtít za předělávky hodně peněz. Firma přesto chce změny provést, zároveň ale začíná přemýšlet, jak příště podobné situace lépe zvládnout.


Autor: Randall Munroe, podle licence: CC BY-NC 2.5

Výhody

Zpátky k podnikovým procesům. Existuje více definic, např. podle D. Hollingsworta: „Podnikový proces je sada jedné nebo více propojených procedur nebo činností, jež společně uskutečňují cíle nebo naplňují politiku firmy. Obvykle se tak děje v kontextu organizační struktury definující funkční úlohy a vztahy.“ Model je pak zjednodušením daného procesu, který se zaměřuje jen na vybrané vlastnosti. Cílem modelů podnikových procesů je firemní postupy popsat a to například diagramem nebo textovou reprezentací. Převedením modelů do elektronické formy lze dosáhnout automatizace řízení a zvýšení efektivity organizace, která takové modely nasadí. Mezi jejich hlavní výhody patří:

viditelnost organizaci je umožněno lépe vidět, jak vnitřně funguje, a následně tak například odhalit místa, kde se nestíhají vyřizovat požadavky
flexibilita manažeři a obchodní analytici mohou sami upravovat veškerá firemní aktiva včetně procesů, pravidel nebo firemní politiky; mohou tak rychle a efektivně reagovat na rychle se měnící trh
konzistence manuální zásah do procesů a rozhodování může mít za následek neblahé následky a zvýšené náklady, podnikové procesy zajistí konzistentní chování systému i v kritických situacích

Samozřejmě vždy záleží na konkrétním řešeném problému. Například pro jednoduché aplikace nemusí být jejich nasazení potřebné.

Pro tyto modely existují standardy. V současné době je nejrozšířenějším standardem již zmíněný BPMN ve verzi 2. Existuje více komerčních i open source implementací tohoto standardu.

Ukázkový podnikový process v notaci BPMN2. Process začíná vždy jednou startovní událostí (start event) a končí alespoň jednou koncovou událostí (end event). Proces na obrázku také obsahuje uživatelské úlohy pro interakci s člověkem (human tasks) a úlohu zasílající email. Orientované hrany grafu určují směr toku v procesu. Pro dělení (a případné spojení) toku slouží brány (gateways).

Ukázkový podnikový process v notaci BPMN2. Process začíná vždy jednou startovní událostí (start event) a končí alespoň jednou koncovou událostí (end event). Proces na obrázku také obsahuje uživatelské úlohy pro interakci s člověkem (human tasks) a úlohu zasílající email. Orientované hrany grafu určují směr toku v procesu. Pro dělení (a případné spojení) toku slouží brány (gateways).

Řešení

Nyní si ukážeme, jak může taková implementace vypadat a čeho lze s její pomocí dosáhnout. Pro ukázku použijeme open source produkt Red Hat JBoss BPM Suite 6, který lze po registraci stáhnout zdarma. Co všechno nabízí?

Asset Repository repozitář pro aktiva (procesy, pravidla, …) založený na gitu
BPMN2 Process Designer webový nástroj pro návrh BPMN2 procesů
Data Modeler umožňuje definici datového modelu jako Java tříd
Form Modeler pro vytváření uživatelských formulářů (freemarker template)
Artifact Repository úložiště hotových balíků pro samotný engine založené na Mavenu
Execution Server běhové prostředí pro procesy
Business Activity Monitoring (BAM) nástroj pro vizualizaci statistik
Business Central je webová aplikace, která je součástí BPM Suite.

Business Central je webová aplikace, která je součástí BPM Suite.

Business Central

Na obrázku 3 vidíme Business Central, která se skládá z již výše uvedeného výčtu komponent. Menu v horní liště odpovídá jednotlivým fázím životního cyklu podnikového procesu. Ve fázi Authoring je možné spravovat organizační jednotky, ve kterých lze vytvářet a klonovat git repozitáře. V těchto repozitářích lze vytvářet nové projekty, které mají balíčky a samotná tzv. aktiva, která zahrnují procesy, pravidla, datové modely, formuláře a další. Projekty se pak sestavují a distribuují jako běžné .jar soubory. Pro tuto distribuci .jar souborů se používá Maven repozitář. Ve fázi Deploy pak lze otestovaný projekt nasadit pro běhové prostředí Business Central. Existuje několik strategií a možností, jak projekty nasadit, tyto možnosti však nyní nebudeme do detailu rozebírat, dostaneme se k tomu později.

Process Management fáze je ta, kde je možné procesy spustit, typicky je jejich spuštění spojeno s vyplněním vstupního formuláře. Lze zde také sledovat stav běžících i dokončených procesních instancí, včetně jejich vnitřního stavu a proměnných. Procesy při svém běhu často vyžadují interakci s lidmi, k tomu slouží položka Tasks. Uživateli je pomocí jednotně vypadajícího formuláře předána nějaká vstupní informace a chce se po něm vyplnit jeho vstup, aby proces mohl pokračovat dál. Část Dashboards obsahuje široce konfigurovatelné grafy a tabulky a poskytuje tak manažerům cenné statistiky typu počet spuštěných procesních instancí, počty dokončených uživatelských úloh a mnoho dalších. Statistiky si lze libovolně přizpůsobit.

Aplikace počítá s různými rolemi uživatelů, u každé se předpokládají jiné vstupní znalosti:

administrátor může spravovat všechno (tedy repozitáře, projekty, správu aktiv, management procesů a monitoring)
vývojář totéž co administrátor kromě správy repozitářů
analytik totéž co vývojář kromě správy projektů
aktér (business user) může jen spouštět procesy a pracovat na úkolech
manažer může pouze sledovat statistiky a tzv. klíčové ukazatele výkonnosti (key performance indicators – KPI)

Cílem je tedy minimalizovat nutnost zapojení technických odborníků, nýbrž je kladen důraz na to, aby většinu operací zvládli udělat netechničtí experti zaměření pouze na svoji oblast (například finanční analytici, manažeři, lékaři, úředníci, atd.). Business Central jako webovou aplikaci běžící v Java EE kontejneru lze tedy použít pro kompletní životní cyklus nasazení podnikových procesů a to od jejich návrhu, balíčkování, provoz až po monitorování a analýzu. Samotný firemní informační systém tak může být výrazně zjednodušen a jeho logiku lze delegovat do Business Central, se kterou může komunikovat pomocí REST (REpresentational State Transfer) a JMS (Java Message Service) rozhraní. Tato rozhraní pak je možné i zapojit do sběrnice pro služby a využít tak výhod architektury orientované na služby (service oriented architecture – SOA). Business central lze také clusterovat pro zajištění vysoké úrovně dostupnosti a škálovatelnosti.

widgety

BPMN2 Modeler. Procesy lze navrhovat také v Jboss Developer Studiu nebo prostředí Eclipse, není nutné používat Business Central.

BPMN2 Modeler. Procesy lze navrhovat také v Jboss Developer Studiu nebo prostředí Eclipse, není nutné používat Business Central.

Další způsoby použití

Procesy však lze vyvíjet i jinak než v dodané webové aplikaci Business Central, například pro Eclipse existuje zásuvný modul – BPMN2 Modeler a v něm lze taktéž navrhovat BPMN2 procesy. Samotný engine pro podnikové procesy pak lze zabudovat i do uživatelské Java aplikace a používat jej tak pouze jako workflow knihovnu. Je tedy možné použít vlastní vzhled pro formuláře a využít jen podmnožinu nabízených vlastností a funkčnosti. Vývojář může ve své aplikaci využít nejen poskytnuté Java API, nýbrž může také využít díky dostupnosti zdrojových kodů jednotlivé komponenty a služby, ze kterých je sestavena samotná Business Central. Jednotlivé komponenty jsou open source a mají své vlastní repozitáře na Githubu.

V dalším díle se již dostaneme k ukázkám zdrojových kódů.

  1. xkcd: goto
    xkcd.com/292/
  2. Red Hat JBoss BPM Suite
    www.jboss.org/products/bpmsuite
  3. BPMN 2.0
    www.omg.org/spec/BPMN/2.0/
Našli jste v článku chybu?
Vitalia.cz: Tohle všechno se dá usušit

Tohle všechno se dá usušit

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Podnikatel.cz: I vám můžou vykrást značku. Braňte se

I vám můžou vykrást značku. Braňte se

120na80.cz: Galerie: Čínští policisté testují českou minerálku

Galerie: Čínští policisté testují českou minerálku

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

DigiZone.cz: Regionální tele­vize CZ vysílá "Mapu úspěchu"

Regionální tele­vize CZ vysílá "Mapu úspěchu"

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Lupa.cz: Adblock Plus začal prodávat reklamy

Adblock Plus začal prodávat reklamy

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

Měšec.cz: „Ukradli“ jsme peníze z bezkontaktních karet

„Ukradli“ jsme peníze z bezkontaktních karet

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Root.cz: Hořící telefon Samsung Note 7 zapálil auto

Hořící telefon Samsung Note 7 zapálil auto

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Vitalia.cz: Nová vakcína proti chřipce se aplikuje nosem

Nová vakcína proti chřipce se aplikuje nosem

DigiZone.cz: Budoucnost TV vysílání ve Visegrádu

Budoucnost TV vysílání ve Visegrádu