Hlavní navigace

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

Jiří Sviták

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.

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?

28. 4. 2014 16:26

pasmen (neregistrovaný)

Podnikový proces je (jedna z možných definic) po částech uspořádaná množina činností, které přeměňují vstupy na výstupy za užití zdrojů. Model je jen zjednodušený obraz reality - procesu - který zdůrazňuje v daném kontextu jeho důležité atributy, zatímco ostatní ignoruje. Existuje tedy mnoho modelů konkrétního procesu - v závislosti na kontextu a účelu, pro který je model tvořen. Směrnice (dejme tomu, ať použiji něco z textu článku) případně schéma procesu vytvořené např. pomocí BPMN není ani mo…

28. 4. 2014 12:46

Karel (neregistrovaný)

Business Process Maping je velmi rozsáhlý pojem. Je to jako "kreslicí program". Máme GIMP a Inkscape. Oba jsou to kreslicí programy, ale vlastně každý dělá něco úplně jiného.

Podobně je to s BPMN2 a podobnými. Je to velice úzce zaměřený nástroj, který neumí skoro nic z oblastni mapování business procesů, ale tu malou specifickou věc umí výborně. Pokud potřebujete popsat obsluhu nějaké události, klidně velmi komplexní, tak tenhle nástroj je na to ideální. Na cokoliv jiného už drhne a jakmile se …

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

120na80.cz: Jmelí je více léčivé než jedovaté

Jmelí je více léčivé než jedovaté

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR