Programovanie

Spravujte svoje obchodné procesy pomocou JBoss jBPM

Podniky usilovne hľadali štruktúrovaný prístup k navrhovaniu obchodných akcií / transakcií a ich realizácii prednostne pomocou automatizovaných procesov. Správa podnikových procesov (BPM) a správa pracovných tokov ponúkajú riešenie tohto problému pomocou konceptov, ako sú akcie, úlohy a toky.

Tento článok predstavuje BPM a rozoberá techniky a nástroje na posilnenie podnikových systémov pomocou BPM a riadenia pracovných tokov pomocou JBoss jBPM.

Termín riadenie obchodných procesov sa zvyčajne vzťahuje na súbor aktivít, ktoré môžu podniky využívať na automatizáciu a optimalizáciu obchodných procesov spôsobom, ktorý sa dá prispôsobiť dynamicky sa meniacim prostrediam. Tieto činnosti zvyčajne vyhľadávajú pomoc od softvérového inžinierstva a nástrojov; preto sa termín BPM často používa priamo na označenie technických techník a nástrojov.

BPM je zakomponovaný do troch odlišných postupov:

  1. Návrh procesu: Úloha navrhovania existujúcich a nových procesov
  2. Vykonanie procesu: Vykonanie automatizovaného sledu súvisiacich udalostí zahŕňajúcich softvérové ​​procesy a / alebo ľudské činnosti
  3. Monitorovanie procesu: Dodržiavanie a auditovanie stavu jednotlivých procesov tak, aby bolo možné zaznamenávať, vykazovať a optimalizovať štatistiku a výkonnosť týchto procesov.

BPM sa snaží umožniť softvérovým inžinierom zdieľať rovnaké koncepty a rámce ako obchodní analytici; v dôsledku toho sa dodávatelia softvéru pokúsili vytvoriť nástroje, ktoré podnikom umožnia zachytiť, navrhnúť a optimalizovať podnikové procesy pomocou nástrojov grafického modelovania, jazykov špecifických pre doménu a vlastných aplikácií.

JBoss jBPM 3.0 poskytuje schopnosť vyvíjať nové automatizované obchodné procesy a pracovné toky s orchestráciou podľa priemyselného štandardu pomocou jazyka Business Process Execution Language (BPEL), flexibilného a pripojiteľného rozhrania API, natívneho jazyka na definíciu procesu a nástroja na grafické modelovanie.

JBoss jBPM je open source (licencia LGPL) rámec Java API, nástrojov a definičného jazyka, ktorý môže fungovať ako webová aplikácia alebo samostatná Java aplikácia. JBoss jBPM slúži ako sprostredkovateľ medzi obchodnými analytikmi a vývojármi tým, že im poskytuje spoločný jazyk definície procesov označovaný ako jPDL.

Prehľad architektúry JBoss jBPM

JBoss jBPM definuje definície procesov v súboroch zapísaných pomocou jazyka definície procesov JBoss. jPDL je graficky orientovaný programovací jazyk (GOP) založený na modeli uzlov, prechodov a akcií. V tomto modeli sú uzly príkazy vykonávané tak, ako sa vyskytujú počas procesu definície procesu. Prechody usmerňujú tok vykonávania definície procesu a akcie vykonávajú špecifickú logiku, keď dôjde k uzlu alebo udalosti prechodu.

V jBPM sú definície procesov zabalené ako archívy procesov. Archív procesov sa odovzdá na vykonanie procesnému stroju jPDL. Procesný modul jPDL prechádza procesným grafom, vykonáva definované akcie, udržuje stav procesu a zaznamenáva všetky udalosti procesu.

JBoss jBPM je zapuzdrený do nasledujúcich komponentov:

  • Procesný motor: Táto súčasť vykonáva definované akcie procesu, udržuje stav procesu a zaznamenáva všetky udalosti procesu prostredníctvom nasledujúcich delegovaných komponentov:
    • Vybavovač žiadostí
    • Štátny manažér
    • Správca denníka
    • Zavádzač definícií
    • Popravná služba
  • Monitor procesu: Tento modul sleduje, audituje a hlási stav procesov pri ich vykonávaní
  • Procesný jazyk: Jazyk definície procesov (jPDL) je založený na GOP
  • Interakčné služby: Tieto služby vystavujú staršie aplikácie ako funkcie alebo údaje, ktoré sa majú použiť pri vykonávaní procesov

Vzťahy medzi týmito komponentmi sú znázornené na obrázku 1.

Ako je znázornené na obrázku 1, definície procesu jBPM obsahujúce obslužné rutiny akcií sa načítajú a vykonávajú procesným motorom jBPM. Keď sa procesorový modul stretne s uzlom v definícii procesu, ktorý má priradenú akciu, vyvolajú sa všetky súvisiace obslužné programy akcií. Obslužné rutiny akcií sú inštancie kódu Java, ktoré pri spustení interagujú s externými systémami.

Nasleduje príklad jednoduchej obsluhy akcií:

import org.jbpm.graph.def. *; importovať org.jbpm.graph.exe. *;

verejná trieda MyActionHandler implementuje ActionHandler {public void execute (ExecutionContext executionContext) {System.out.println ("MyActionHandler vykonal:" + executionContext); }}

Súbor PDL v archíve procesu sa volá process-definition.xml. Tento súbor obsahuje formálny popis procesov. Príklad súboru process-definition.xml je ilustrovaný v nasledujúcom príklade:

Definícia procesu je založená na riadenom grafe. Graf sa skladá z uzlov, prechodov, jedného počiatočného stavu a jedného koncového stavu. Typ každého uzla definuje runtime správanie uzla. Počas vykonávania definície procesu prichádzajú do úvahy nasledujúce entity:

  • Inštancia procesu: Inštancia procesu je jedno vykonanie definície procesu.
  • Token: Token je jedna cesta vykonania. Token je koncept runtime, ktorý udržuje ukazovateľ na uzol v grafe. Keď sa vytvorí inštancia procesu, vytvorí sa token pre hlavnú cestu vykonania. Tento token sa nazýva koreňový token inštancie procesu a je umiestnený v počiatočnom stave definície procesu.
  • Signál: Signál dá tokenu pokyn, aby pokračoval vo vykonávaní grafu prechodom z uzla.
  • Uzol: Uzly sú zodpovedné za pokračovanie vo vykonávaní grafu. Keď token vstúpi do uzla, uzol sa vykoná. Uzol, ktorý nerozšíri vykonávanie, sa považuje za stav.
  • Akcia: Akcie sú inštancie kódu Java, ktoré sa vykonajú, keď nastanú udalosti pri vykonávaní procesu. Primárne typy udalostí sú „vstup do uzla“, „opustenie uzla“ a „prechod“.

Definície procesov možno ľahko vytvoriť pomocou návrhára grafického modelovania jBPM. Návrhár je momentálne nainštalovaný ako doplnok Eclipse. Obrázok 2 zobrazuje vzorovú obrazovku od návrhára grafického modelovania.

Grafického dizajnéra je možné použiť na vytváranie definícií procesov, pripájanie obslužných rutín akcií k udalostiam, úpravu zdroja definícií, vytváranie archívov procesov, testovanie definícií procesov atď.

Nasadzuje sa JBoss jBPM

JBoss jBPM ukladá definície procesov do databázy. Preto nasadenie procesu do JBoss jBPM zahŕňa analýzu súboru process-definition.xml a jeho uloženie do databázy JBoss jBPM. To je možné vykonať pomocou:

  • Pomocou ods Úloha Ant dodávaná s JBoss jBPM na vytvorenie archívu procesov.
  • Pomocou nástroja deploypar. Tento obslužný program tiež vytvára archív procesov a umiestňuje archív procesov do databázy jBPM. Obslužný program deploypar berie ako atribút súbor jBPM.properties. Tento súbor špecifikuje možnosti konfigurácie vrátane databázy, do ktorej sa má nasadiť archív procesu.
  • Programová analýza a uloženie súboru process-definition.xml do údajového skladu.

Beh JBoss jBPM niekoľkými jednoduchými krokmi

JBoss jBPM funguje ako orchestračný nástroj, ktorý sa nachádza uprostred podnikových aplikácií a umožňuje integráciu a koordináciu medzi rôznymi aplikáciami.

V tomto článku používam ukážkové nasadenie dodávané s programom jBPM na diskusiu o tom, ako sa protokoly jBPM a jPDL používajú na vytvorenie a úpravu jednoduchého systému na spracovanie objednávok s podporou webu.

Sťahuje sa JBoss jBPM

Štartovacia súprava JBoss jBPM obsahuje všetko potrebné na vykonanie JBoss jBPM, s výnimkou JDK. Aplikačný server JBoss v štartovacej súprave JBoss jBPM vyžaduje J2SE 1.4 alebo novšiu verziu.

Po stiahnutí štartovacej súpravy ju rozbaľte do adresára podľa vášho výberu. Po rozbalení štartovacej súpravy budete mať štruktúru adresárov podobnú nasledujúcej:

  • Jbpm-starters-kit-3.1
    • jbpm: Obsahuje zdrojový kód produktu JBoss jBPM
    • jbpm-bpel: Obsahuje informácie o rozšírení BPEL pre JBoss jBPM
    • jbpm-db: Obsahuje vzorové konfigurácie pre pripojenie JBoss jBPM k iným databázam
    • jbpm-designer: Obsahuje doplnok Eclipse pre JBoss jBPM Visual Process Designer
    • jbpm-server: Obsahuje aplikačný server JBoss spolu s motorom JBoss jBPM a vzorovým procesom

Spustite modul JBoss jBPM

Ak chcete spustiť aplikačný server JBoss s nasadeným jBPM, prejdite do adresára jbpm-server a vykonajte tam uvedený štartovací skript. S oknom konzoly jBPM by sa malo otvoriť príkazové okno, podobne ako na obrázku 3.

Teraz vyvolajte okno prehľadávača a choďte na // localhost: 8080 / jbpm. Zobrazí sa vám prihlasovacia stránka pre vzorovú webovú aplikáciu pre JBoss jBPM, ktorá je zobrazená na obrázku 4.

Prihlásiť sa ako cookie monštrum a vyberte odkaz Vytvoriť novú objednávku predaja na webe. Týmto sa vytvorí nová inštancia vopred pripraveného procesu „Webový predaj“, ktorý je znázornený na obrázku 5.

Aktuálny definičný súbor processdefinition.xml sa nachádza v súbore websale.par a je znázornený v nasledujúcom zozname:

$config[zx-auto] not found$config[zx-overlay] not found