Programavimas

Tvarkykite savo verslo procesus naudodami „JBoss jBPM“

Įmonės kruopščiai ieškojo struktūrizuoto požiūrio kuriant verslo veiksmus / operacijas ir jas vykdant, pageidautina naudojant automatizuotus procesus. Verslo procesų valdymas (BPM) ir darbo eigos valdymas siūlo šios problemos sprendimą naudojant tokias sąvokas kaip veiksmai, užduotys ir srautai.

Šiame straipsnyje supažindinama su BPM ir aptariami metodai ir įrankiai, leidžiantys įmonėms suteikti daugiau galimybių naudotis BPM ir valdyti darbo eigą naudojant „JBoss jBPM“.

Terminas verslo procesų valdymas paprastai nurodo veiklos rūšių rinkinį, kurį įmonės gali naudoti automatizuodamos ir optimizuodamos verslo procesus tokiu būdu, kuris pritaikomas dinamiškai besikeičiančiai aplinkai. Šios veiklos metu dažniausiai ieškoma programinės įrangos inžinerijos ir įrankių; todėl terminas BPM dažnai vartojamas tiesiogiai nurodant inžinerijos metodus ir įrankius.

BPM įkūnijamos trys skirtingos praktikos:

  1. Proceso dizainas: Esamų ir naujų procesų projektavimo užduotis
  2. Proceso vykdymas: Susijusių įvykių, susijusių su programinės įrangos procesais ir (arba) žmogaus veikla, automatizuotos sekos vykdymas
  3. Procesų stebėjimas: Atskirų procesų būklės stebėjimas ir auditas, kad būtų galima registruoti, pranešti ir optimizuoti šių procesų statistiką ir rezultatus

BPM siekia leisti programinės įrangos inžinieriams naudotis tomis pačiomis koncepcijomis ir sistemomis, kaip ir verslo analitikai; todėl programinės įrangos tiekėjai bandė sukurti įrankius, kurie leis įmonėms užfiksuoti, suprojektuoti ir optimizuoti verslo procesus pasitelkiant grafinio modeliavimo įrankius, konkrečioms sritims skirtas kalbas ir patentuotas programas.

„JBoss jBPM 3.0“ suteikia galimybę kurti naujus automatizuotus verslo procesus ir darbo eigą su standartiniu orkestravimu, naudojant verslo procesų vykdymo kalbą (BPEL), lanksčią ir prijungiamą API, gimtąją proceso apibrėžimo kalbą ir grafinio modeliavimo įrankį.

„JBoss jBPM“ yra „Java“ API, įrankių ir apibrėžimo kalbos atviro kodo (LGPL licencijos) sistema, galinti veikti kaip žiniatinklio programa arba atskira „Java“ programa. JBoss jBPM veikia kaip tarpininkas tarp verslo analitikų ir kūrėjų, suteikdamas jiems bendrą proceso apibrėžimo kalbą, vadinamą jPDL.

„JBoss jBPM“ architektūros apžvalga

„JBoss“ jBPM apibrėžia proceso apibrėžimus failuose, parašytuose naudojant „JBoss“ proceso apibrėžimo kalbą. jPDL yra grafiškai orientuota programavimo (GOP) kalba, paremta mazgų, perėjimų ir veiksmų modeliu. Šiame modelyje mazgai yra komandos, vykdomos, kai su jomis susiduriama proceso apibrėžimo sraute. Perėjimai nukreipia proceso apibrėžimo vykdymo srautą, o veiksmai vykdo specifinę logiką įvykus mazgui ar perėjimo įvykiui.

„JBPM“ proceso apibrėžimai yra supakuoti kaip proceso archyvai. Procesų archyvas perduodamas vykdyti jPDL proceso varikliui. JPDL proceso variklis pereina proceso grafiką, vykdo apibrėžtus veiksmus, palaiko proceso būseną ir registruoja visus proceso įvykius.

„JBoss jBPM“ yra susidedantis iš šių komponentų:

  • Proceso variklis: Šis komponentas vykdo apibrėžtus proceso veiksmus, palaiko proceso būseną ir registruoja visus proceso įvykius per šiuos deleguotus komponentus:
    • Užklausų tvarkytojas
    • Valstybės vadovas
    • Rąstų tvarkytojas
    • Apibrėžimo krautuvas
    • Vykdymo paslauga
  • Proceso monitorius: Šis modulis stebi, tikrina ir praneša apie procesų būseną juos vykdant
  • Proceso kalba: Proceso apibrėžimo kalba (jPDL) remiasi GOP
  • Sąveikos paslaugos: Šios paslaugos atskleidžia senas programas kaip funkcijas ar duomenis, kurie bus naudojami vykdant procesą

Santykiai tarp šių komponentų pavaizduoti 1 paveiksle.

Kaip parodyta 1 paveiksle, jBPM proceso apibrėžimus, kuriuose yra veiksmų tvarkytuvai, įkelia ir vykdo jBPM proceso variklis. Kai proceso variklis proceso apibrėžime aptinka mazgą, su kuriuo yra susijęs veiksmas, iškviečiami visi susiję veiksmų tvarkytuvai. Veiksmų apdorotojai yra „Java“ kodo egzemplioriai, kurie vykdant sąveikauja su išorinėmis sistemomis.

Toliau pateikiamas paprasto veiksmo tvarkytojo pavyzdys:

importuoti org.jbpm.graph.def. *; importuoti org.jbpm.graph.exe. *;

viešoji klasė „MyActionHandler“ įgyvendina „ActionHandler“ {public void execute (ExecutionContext executContext) {System.out.println ("MyActionHandler įvykdė:" + vykdymo kontekstas); }}

Procesų archyve esantis PDL failas pavadintas „process-definition.xml“. Šiame faile yra oficialus procesų aprašymas. Failo „process-definition.xml“ pavyzdys iliustruojamas šiame pavyzdyje:

Proceso apibrėžimas pagrįstas nukreiptu grafiku. Grafiką sudaro mazgai, perėjimai, viena pradinė būsena ir viena pabaigos būsena. Kiekvieno mazgo tipas apibrėžia mazgo vykdymo laiką. Vykdant proceso apibrėžimą, žaidžiami šie objektai:

  • Proceso egzempliorius: Proceso egzempliorius yra vienas proceso apibrėžimo vykdymas.
  • Žetonas: Žetonas yra vienas vykdymo kelias. Žetonas yra vykdymo laiko samprata, išlaikanti rodyklę į mazgą diagramoje. Kai sukuriamas proceso egzempliorius, pagrindiniam vykdymo keliui sukuriamas prieigos raktas. Šis prieigos raktas vadinamas proceso egzemplioriaus pagrindiniu žetonu ir yra išdėstytas proceso apibrėžimo pradinėje būsenoje.
  • Signalas: Signalas nurodo žetoną tęsti grafiko vykdymą pereinant iš mazgo.
  • Mazgas: Mazgai yra atsakingi už grafiko vykdymo tęsimą. Kai raktas įeina į mazgą, mazgas vykdo. Mazgas, neskleidžiantis vykdymo, laikomas būsena.
  • Veiksmas: Veiksmai yra „Java“ kodo egzemplioriai, vykdomi įvykstant procesui. Pagrindiniai įvykių tipai yra „įėjimas į mazgą“, „palikti mazgą“ ir „perėjimas“.

Proceso apibrėžimus galima lengvai sukurti naudojant „jBPM“ grafinio modeliavimo dizainerį. Šiuo metu dizaineris yra įdiegtas kaip „Eclipse“ papildinys. 2 paveiksle pavaizduotas grafinio modeliavimo dizainerio ekrano pavyzdys.

Grafinis dizaineris gali būti naudojamas kuriant proceso apibrėžimus, prie įvykių pridedant veiksmų tvarkytuvus, redaguojant apibrėžimo šaltinį, kuriant proceso archyvus, bandant proceso apibrėžimus ir pan.

JBoss jBPM diegimas

„JBoss jBPM“ saugo proceso apibrėžimus duomenų bazėje. Todėl diegiant procesą į „JBoss jBPM“ reikia išanalizuoti „process-definition.xml“ ir išsaugoti jį „JBoss jBPM“ duomenų bazėje. Tai gali padaryti:

  • Naudojant par Skruzdėlių užduotis, pateikta kartu su „JBoss jBPM“, norint sukurti proceso archyvą.
  • Naudojant „disppar“ įrankį. Šis įrankis taip pat sukuria procesų archyvą ir pristato procesų archyvą į jBPM duomenų bazę. „Installationpar“ įrankis atributu laiko failą jBPM.properties. Šiame faile nurodomos konfigūracijos parinktys, įskaitant duomenų bazę, į kurią bus dislokuotas proceso archyvas.
  • Programiškai išanalizuoti ir išsaugoti „process-definition.xml“ duomenų saugykloje.

„JBoss jBPM“ paleidimas paprastais žingsniais

„JBoss jBPM“ veikia kaip orkestravimo variklis, kuris yra įmonėje esančių programų viduryje, leidžiantis integruoti ir koordinuoti įvairias programas.

Šiame straipsnyje aš naudoju pavyzdinį diegimą, pateiktą kartu su „jBPM“, norėdamas aptarti, kaip „jBPM“ ir „jPDL“ naudojami kuriant ir modifikuojant paprastą žiniatinkliu pagrįstą užsakymų apdorojimo sistemą.

Atsisiunčiama „JBoss jBPM“

„JBoss jBPM“ pradiniame rinkinyje yra viskas, ko reikia „JBoss jBPM“ vykdyti, išskyrus JDK. „JBoss jBPM“ pradiniame rinkinyje esančiam „JBoss Application Server“ reikalinga J2SE 1.4 arba naujesnė versija.

Atsisiuntę pradinį rinkinį, išpakuokite jį į pasirinktą katalogą. Išpakavę starterio rinkinį, turėsite katalogo struktūrą, panašią į šią:

  • „Jbpm-starters-kit-3.1“
    • jbpm: yra „JBoss jBPM“ produkto šaltinio kodas
    • jbpm-bpel: yra informacijos apie „JBoss jBPM“ BPEL plėtinį
    • jbpm-db: Pateikiamos pavyzdinės konfigūracijos, skirtos „JBoss jBPM“ prijungti prie kitų duomenų bazių
    • „jbpm-designer“: Yra „Eclipse“ papildinys, skirtas „JBoss jBPM Visual Process Designer“.
    • jbpm-server: JBoss Application Server yra kartu su JBoss jBPM varikliu ir pavyzdiniu procesu

Paleiskite „JBoss jBPM“ variklį

Norėdami paleisti „JBoss“ programų serverį su įdiegtu „jBPM“, eikite į „jbpm-server“ katalogą ir vykdykite ten rastą paleisties scenarijų. Komandos langas turėtų pasirodyti su „jBPM“ konsolės langu, panašiu į 3 paveikslą.

Dabar iškvieskite naršyklės langą ir eikite į // localhost: 8080 / jbpm. Jums bus pateiktas pavyzdinės „JBoss jBPM“ žiniatinklio programos prisijungimo puslapis, parodytas 4 paveiksle.

Prisijunkite kaip sausainių monstras ir pasirinkite nuorodą Sukurti naują internetinį pardavimo užsakymą. Tai sukurs naują iš anksto sukurto „Internetinio pardavimo“ proceso egzempliorių, pavaizduotą 5 paveiksle.

Tikrasis apibrėžimo failas „processdefinition.xml“ yra tinklalapyje websale.par ir parodytas šiame sąraše:

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