Programmēšana

Pārvaldiet savus biznesa procesus, izmantojot JBoss jBPM

Uzņēmumi ir cītīgi meklējuši strukturētu pieeju biznesa darbību / darījumu projektēšanai un to izpildei, vēlams, izmantojot automatizētus procesus. Biznesa procesu vadība (BPM) un darbplūsmas pārvaldība piedāvā šīs problēmas risinājumu, izmantojot tādas koncepcijas kā darbības, uzdevumus un plūsmas.

Šis raksts iepazīstina ar BPM un apspriež paņēmienus un rīkus, kā palielināt uzņēmuma sistēmas ar BPM un darbplūsmas pārvaldību, izmantojot JBoss jBPM.

Termiņš biznesa procesu vadība parasti attiecas uz darbību kopumu, ko uzņēmumi var izmantot, lai automatizētu un optimizētu biznesa procesus tādā veidā, kas pielāgojams dinamiski mainīgajai videi. Šīs darbības parasti meklē palīdzību no programmatūras inženierijas un rīkiem; tāpēc terminu BPM bieži lieto tieši, lai apzīmētu inženiertehnikas un rīkus.

BPM ir trīs atšķirīgas prakses:

  1. Procesa dizains: Uzdevums izstrādāt esošos un jaunos procesus
  2. Procesa izpilde: Saistītu notikumu automatizētas secības izpilde, kas saistīta ar programmatūras procesiem un / vai cilvēku darbībām
  3. Procesa uzraudzība: Atsevišķu procesu stāvokļa ievērošana un revīzija, lai varētu reģistrēt, ziņot un optimizēt šo procesu statistiku un veiktspēju

BPM cenšas ļaut programmatūras inženieriem dalīties ar tādiem pašiem jēdzieniem un ietvariem kā biznesa analītiķi; līdz ar to programmatūras pārdevēji ir mēģinājuši izveidot rīkus, kas uzņēmumiem ļaus uztvert, noformēt un optimizēt biznesa procesus, izmantojot grafiskās modelēšanas rīkus, domēna valodām raksturīgas valodas un patentētas lietojumprogrammas.

JBoss jBPM 3.0 nodrošina iespēju izstrādāt jaunus automatizētus biznesa procesus un darbplūsmas ar nozares standarta orķestrēšanu, izmantojot biznesa procesu izpildes valodu (BPEL), elastīgu un iespraužamu API, vietējo procesu definēšanas valodu un grafiskās modelēšanas rīku.

JBoss jBPM ir Java API, rīku un definīcijas valodas atvērtā pirmkoda (LGPL licence) ietvars, kas var darboties kā tīmekļa lietojumprogramma vai atsevišķa Java lietojumprogramma. JBoss jBPM darbojas kā starpnieks starp biznesa analītiķiem un izstrādātājiem, dodot viņiem kopēju procesa definēšanas valodu, kas tiek dēvēta par jPDL.

JBoss jBPM arhitektūras pārskats

JBoss jBPM definē procesa definīcijas failos, kas rakstīti, izmantojot JBoss procesa definīcijas valodu. jPDL ir grafiski orientēta programmēšanas (GOP) valoda, kuras pamatā ir mezglu, pāreju un darbību modelis. Šajā modelī mezgli ir komandas, kas tiek izpildītas tā, kā tās rodas procesa definīcijas plūsmas laikā. Pārejas vada procesa definīcijas izpildes plūsmu, un darbības veic noteiktu loģiku, kad notiek mezgls vai pārejas notikums.

Programmā jBPM procesu definīcijas tiek iepakotas kā procesu arhīvi. Procesu arhīvs tiek nodots izpildei jPDL procesa motoram. JPDL procesa dzinējs šķērso procesa grafiku, izpilda noteiktas darbības, uztur procesa stāvokli un reģistrē visus procesa notikumus.

JBoss jBPM ir iekapsulēts šādos komponentos:

  • Procesa dzinējs: Šis komponents izpilda noteiktas procesa darbības, uztur procesa stāvokli un reģistrē visus procesa notikumus, izmantojot šādus deleģēto komponentus:
    • Pieprasījumu apstrādātājs
    • Valsts vadītājs
    • Baļķu pārvaldnieks
    • Definīcijas iekrāvējs
    • Izpildes pakalpojums
  • Procesa monitors: Šis modulis izseko, pārbauda un ziņo par procesu stāvokli to izpildes laikā
  • Procesa valoda: Procesa definīcijas valoda (jPDL) ir balstīta uz GOP
  • Mijiedarbības pakalpojumi: Šie pakalpojumi atmasko mantotās lietojumprogrammas kā funkcijas vai datus, kas jāizmanto procesa izpildē

Attiecības starp šiem komponentiem ir parādītas 1. attēlā.

Kā parādīts 1. attēlā, jBPM procesa definīcijas, kas satur darbību apstrādātājus, ielādē un izpilda jBPM procesa dzinējs. Kad procesa motors procesa definīcijā sastop mezglu, kuram ir saistīta darbība, tiek izsaukti visi saistītie darbību apstrādātāji. Darbību apstrādātāji ir Java koda gadījumi, kas, izpildot, mijiedarbojas ar ārējām sistēmām.

Šis ir vienkārša darbību apstrādātāja piemērs:

importēt org.jbpm.graph.def. *; importēt org.jbpm.graph.exe. *;

publiskā klase MyActionHandler īsteno ActionHandler {public void execute (ExecutionContextecutionContext) {System.out.println ("MyActionHandler ir izpildījis:" + izpildes konteksts); }}

Procesu arhīva PDL faila nosaukums ir process-definition.xml. Šajā failā ir formāls procesu apraksts. Faila process-definition.xml piemērs ir ilustrēts šajā piemērā:

Procesa definīcija balstās uz virzītu grafiku. Grafiku veido mezgli, pārejas, viens sākuma stāvoklis un viens beigu stāvoklis. Katra mezgla tips nosaka mezgla izpildlaika uzvedību. Kamēr tiek izpildīta procesa definīcija, spēlē šādas entītijas:

  • Procesa instance: Procesa instance ir viena procesa definīcijas izpilde.
  • Žetons: Marķieris ir viens izpildes ceļš. Marķieris ir izpildlaika koncepcija, kas uztur rādītāju uz mezglu diagrammā. Kad tiek izveidots procesa gadījums, galvenajam izpildes ceļam tiek izveidots marķieris. Šo marķieri sauc par procesa instances saknes marķieri un tas atrodas procesa definīcijas sākuma stāvoklī.
  • Signāls: Signāls uzdod marķierim turpināt grafika izpildi, pārejot no mezgla.
  • Mezgls: Mezgli ir atbildīgi par grafika izpildes turpināšanu. Kad marķieris ienāk mezglā, mezgls izpilda. Mezgls, kas neveicina izpildi, tiek uzskatīts par stāvokli.
  • Darbība: Darbības ir Java koda gadījumi, kas izpildīti, kad notikumi notiek procesa izpildē. Galvenie notikumu veidi ir "ievadīšana mezglā", "atstāšana mezglā" un "pāreja".

Procesa definīcijas var viegli izveidot, izmantojot jBPM grafiskās modelēšanas dizaineru. Dizainers pašlaik ir instalēts kā Eclipse spraudnis. 2. attēlā parādīts grafiskā modelēšanas dizainera ekrāna paraugs.

Grafisko dizainu var izmantot, lai izveidotu procesa definīcijas, notikumiem pievienotu darbību apstrādātājus, rediģētu definīciju avotu, izveidotu procesu arhīvus, pārbaudītu procesu definīcijas utt.

JBoss jBPM ieviešana

JBoss jBPM glabā procesa definīcijas datu bāzē. Tādēļ procesa izvietošana JBoss jBPM ietver procesa definīcijas.xml parsēšanu un glabāšanu JBoss jBPM datu bāzē. To var izdarīt:

  • Izmantojot par Skudru uzdevums, kas piegādāts kopā ar JBoss jBPM, lai izveidotu procesu arhīvu.
  • Izvietošanas utilītas izmantošana. Šī lietderība arī izveido procesu arhīvu un izvieto procesu arhīvu jBPM datu bāzē. Izvietošanas utilīta kā atribūtu ņem failu jBPM.properties. Šis fails norāda konfigurācijas opcijas, ieskaitot datu bāzi, kurā paredzēts izvietot procesa arhīvu.
  • Programmatiski parsējot un saglabājot process-definition.xml datu glabātavā.

JBoss jBPM palaišana, izmantojot dažus vienkāršus soļus

JBoss jBPM darbojas kā orķestrēšanas dzinējs, kas atrodas uzņēmuma lietojumprogrammu vidū, ļaujot integrēt un koordinēt dažādas lietojumprogrammas.

Šajā rakstā es izmantoju izvietošanas paraugu, kas piegādāts kopā ar jBPM, lai apspriestu, kā jBPM un jPDL tiek izmantoti, lai izveidotu un modificētu vienkāršu ar tīmekli iespējotu pasūtījumu apstrādes sistēmu.

Lejupielādē JBoss jBPM

JBoss jBPM starta komplektā ir viss nepieciešamais, lai izpildītu JBoss jBPM, izņemot JDK. JBoss jBPM sākuma komplektā esošajam JBoss lietojumprogrammu serverim nepieciešama J2SE 1.4 vai jaunāka versija.

Kad esat lejupielādējis starta komplektu, izpakojiet to izvēlētajā direktorijā. Kad esat noņēmis starta komplektu, jums būs direktoriju struktūra, kas līdzīga šim:

  • Jbpm-starters-kit-3.1
    • jbpm: satur JBoss jBPM produkta pirmkodu
    • jbpm-bpel: satur informāciju par JBoss jBPM BPEL paplašinājumu
    • jbpm-db: satur konfigurācijas paraugus, lai savienotu JBoss jBPM ar citām datu bāzēm
    • jbpm-designer: satur Eclipse spraudni JBoss jBPM vizuālā procesa noformētājam
    • jbpm-server: satur JBoss lietojumprogrammu serveri kopā ar JBoss jBPM motoru un paraugprocesu

Izpildiet JBoss jBPM dzinēju

Lai sāktu JBoss lietojumprogrammu serveri ar izvietotu jBPM, dodieties uz direktoriju jbpm-server un izpildiet tur atrodamo startēšanas skriptu. Komandu logam vajadzētu parādīties kopā ar jBPM konsoles logu, līdzīgi kā 3. attēlā.

Tagad atveriet pārlūkprogrammas logu un dodieties uz // vietējais saimnieks: 8080 / jbpm. Jums tiks parādīta JBoss jBPM tīmekļa lietojumprogrammas pieteikšanās lapa, kas parādīta 4. attēlā.

Piesakieties kā cepumu briesmonis un atlasiet saiti Izveidot jaunu tīmekļa pārdošanas pasūtījumu. Tādējādi tiks izveidots jauns iepriekš izveidotā "Web sale" procesa gadījums, kas parādīts 5. attēlā.

Faktiskais definīcijas fails processdefinition.xml atrodas vietnē websale.par un ir parādīts šādā sarakstā: