Vodič za jBPM s Javom

1. Uvod

U ovom uputstvu razgovarat ćemo o sustavu upravljanja poslovnim procesima (BPM) i njegovoj implementaciji u Javi kao jBPM sustavu.

2. Sustav upravljanja poslovnim procesima

Upravljanje poslovnim procesima možemo definirati kao jedno od područja čiji se opseg širi izvan razvoja na sve aspekte tvrtke.

BPM osigurava vidljivost funkcionalnih procesa tvrtke. To nam omogućuje pronalaženje optimalnog protoka prikazanog dijagramom toka pomoću iterativnog poboljšanja. Poboljšani protok povećava dobit i smanjuje troškove.

BPM definira vlastite ciljeve, životni ciklus, prakse i zajednički jezik svih svojih sudionika, tj. Poslovne procese.

3. The jBPM Sustav

jBPM je implementacija BPM sustava na Javi. Omogućuje nam stvaranje tijeka poslovnog procesa, njegovo izvršavanje i praćenje njegovog životnog ciklusa. Jezgra jBPM-a je mehanizam tijeka rada, napisan na Javi, koji nam pruža alat za stvaranje i izvršavanje toka procesa koristeći najnovije specifikacije za modeliranje poslovnih procesa (BPMN) 2.0.

jBPM se uglavnom fokusira na izvršni poslovni proces. Ti procesi imaju dovoljno detalja da se mogu izvršiti na mehanizmu tijeka rada.

Evo grafičkog primjera dijagrama toka naloga za izvršavanje našeg BPMN modela procesa koji nam pomaže u razumijevanju:

  1. Počinjemo izvršavati tok koristeći početni kontekst, označen zelenim startnim čvorom
  2. Prvo će se izvršiti 1. zadatak
  3. Po završetku 1. zadatka nastavit ćemo s 2. zadatkom
  4. Izvršenje se zaustavlja nailaskom na crveni krajnji čvor

4. IDE Dodaci za jBPM Projekt

Pogledajmo kako instalirati dodatke za stvaranje jBPM projekta i BPMN 2.0 procesa u Eclipseu i IntelliJ IDEA.

4.1. Dodatak za pomrčinu

Trebat ćemo instalirati dodatak za stvaranje jBPM projekata. Slijedimo korake u nastavku:

  1. U Pomozite odjeljak, kliknite na Instalirajte novi softver
  2. Dodajte mjesto za ažuriranje Drools i jBPM
  3. Prihvatite uvjete ugovora o licenci i dovršite instalaciju dodatka
  4. Ponovno pokrenite Eclipse

Nakon što se Eclipse ponovno pokrene, morat ćemo otići na Windows -> Postavke -> Drools -> Drools Flow Čvorovi:

Nakon odabira svih opcija, možemo kliknuti na "Primijeni i zatvori". Sada smo spremni stvoriti svoj prvi jBPM projekt.

4.2. Dodatak IntelliJ IDEA

IntelliJ IDEA ima zadani dodatak jBPM, ali on je prisutan samo u opciji Ultimate, a ne i u zajednici.

Samo ga trebamo omogućiti klikom Konfiguracija -> Postavke -> Dodaci -> Instalirano -> JBoss jBPM:

Trenutno ne postoji BPMN 2.0 dizajner procesa za ovaj IDE, iako možemo uvesti * .bpmn datoteke bilo kojeg drugog dizajnera i pokrenite ih.

5. Primjer Hello World

Uprljajmo ruke u stvaranju jednostavnog projekta Hello World.

5.1. Stvoriti jBPM Projekt

Da bismo stvorili novi jBPM projekt u Eclipseu, idemo na Datoteka -> Novo -> Ostalo -> jBPM projekt (Maven). Nakon davanja imena našeg projekta možemo postići završetak. Eclipse će obaviti sav naporan posao za nas i preuzet će potrebne Mavenove ovisnosti da bi nam stvorio uzorak jBPM projekta.

Da bismo stvorili isti u IntelliJ IDEA, možemo otići na Datoteka -> Novo -> Projekt -> JBoss Drools. IDE će preuzeti sve potrebne ovisnosti i smjestiti ih u lib mapa projekta.

5.2. Stvorite model procesa Hello World

Stvorimo mali model BPM procesa koji u konzolu ispisuje "Hello World".

Za to moramo stvoriti novu BPMN datoteku pod src / glavni / resursi:

Ekstenzija datoteke je .bpmn i otvara se u BPMN dizajneru:

Lijeva ploča dizajnera navodi čvorove koje smo ranije odabrali prilikom postavljanja dodatka Eclipse. Koristit ćemo ove čvorove za stvaranje našeg modela procesa. Srednja ploča je radni prostor, u kojem ćemo stvoriti modele procesa. Desna strana je kartica svojstava, na kojoj možemo postaviti svojstva procesa ili čvora.

U ovome Pozdrav svijete model, koristit ćemo:

  • Start Event - potreban za pokretanje instance procesa
  • Zadatak skripte - omogućuje Java isječke
  • Krajnji događaj - potreban za završetak instance procesa

Kao što je ranije spomenuto, IntelliJ IDEA nema BPMN dizajnera, ali možemo uvesti .bpmn datoteke dizajnirane u Eclipseu ili web dizajneru.

5.3. Izjava i stvaranje baze znanja (kbase)

Učitane su sve BPMN datoteke kbase kao procesi. Moramo proći odgovarajući postupak id na jBPM engine kako bi ih izvršio.

Stvorit ćemo kmodule.xml ispod resursi / META-INF s našim kbase i deklaracija BPMN datoteke:

Nakon što je izjava gotova, možemo koristiti KieContainer učitati kbase:

KieServices kService = KieServices.Factory.get (); KieContainer kContainer = kService.getKieClasspathContainer (); KieBase kbase = kContainer.getKieBase (kbaseId);

5.4. Stvorite jBPM Runtime Manager

Koristit ćemo JBPMHelper prisutan u org.jbpm.test paket za izgradnju uzorka runtime okruženja.

Za stvaranje okruženja potrebne su nam dvije stvari: prvo, izvor podataka za stvaranje EntityManagerFactory, i drugo, naše kbase.

JBPMHelper ima metode za pokretanje H2 poslužitelja u memoriji i postavljanje izvora podataka. Koristeći isti, možemo stvoriti EntityManagerFactory:

JBPMHelper.startH2Server (); JBPMHelper.setupDataSource (); EntityManagerFactory emf = Persistence.createEntityManagerFactory (persistenceUnit);

Kad sve pripremimo, možemo stvoriti svoje RuntimeEnvironment:

RuntimeEnvironmentBuilder runtimeEnvironmentBuilder = RuntimeEnvironmentBuilder.Factory.get (). NewDefaultBuilder (); RuntimeEnvironment runtimeEnvironment = runtimeEnvironmentBuilder. entityManagerFactory (emf) .knowledgeBase (kbase) .get ();

Koristiti RuntimeEnvironment, možemo stvoriti našeg jBPM runtime manager:

RuntimeManager runtimeManager = RuntimeManagerFactory.Factory.get () .newSingletonRuntimeManager (runtimeEnvironment);

5.5. Izvršite instancu procesa

Napokon ćemo upotrijebiti RuntimeManager da biste dobili RuntimeEngine:

RuntimeEngine engine = manager.getRuntimeEngine (InitiContext);

Koristeći RuntimeEngine, stvorit ćemo sesiju znanja i započeti postupak:

KieSession ksession = engine.getKieSession (); ksession.startProcess (processId);

Postupak će započeti i ispisati se Pozdrav svijetena IDE konzoli.

6. Zaključak

U ovom smo članku predstavili BPM sustav, koristeći njegovu Java implementaciju - jBPM.

Ovo je bio kratki vodič za pokretanje jBPM projekta. Ovdje demonstrirani primjer koristi minimalni postupak kako bi dao kratko razumijevanje izvršavanja procesa i može se naći na GitHubu.

Da bismo izvršili postupak, jednostavno moramo pokrenuti glavnu metodu u WorkflowProcessMain razred.