En guide til jBPM med Java

1. Introduktion

I denne vejledning diskuterer vi Business Process Management (BPM) -systemet og dets implementering i Java som jBPM-system.

2. Business Process Management System

Vi kan definere Business Process Management som et af de områder, hvis omfang strækker sig ud over udvikling til alle aspekter af en virksomhed.

BPM giver synlighed over for virksomhedens funktionelle processer. Dette giver os mulighed for at finde et optimalt flow, afbildet af et flowdiagram, ved hjælp af iterativ forbedring. Den forbedrede strøm øger overskuddet og reducerer omkostningerne.

BPM definerer sine egne mål, livscyklus, praksis og et fælles sprog mellem alle dets deltagere, dvs. forretningsprocesser.

3. Den jBPM System

jBPM er implementeringen af ​​et BPM-system i Java. Det giver os mulighed for at skabe et forretningsprocesflow, udføre det og overvåge dets livscyklus. Kernen i jBPM er en workflow-motor, skrevet i Java, der giver os et værktøj til at oprette og udføre en procesflow ved hjælp af de nyeste Business Process Modelling Notation (BPMN) 2.0 specifikationer.

jBPM fokuserer primært på den eksekverbare forretningsproces. Disse processer har tilstrækkelige detaljer, så de kan udføres på workflowmotoren.

Her er et grafisk rutediagrameksempel på udførelsesordren på vores BPMN-procesmodel for at hjælpe med vores forståelse:

  1. Vi begynder at udføre strømmen ved hjælp af den oprindelige kontekst, betegnet med den grønne startknude
  2. Først udføres Opgave 1
  3. Efter afslutningen af ​​opgave 1 fortsætter vi med opgave 2
  4. Udførelsen stopper, når den støder på den røde ende-knude

4. IDE Plugins til jBPM Projekt

Lad os se, hvordan du installerer plugins til at oprette et jBPM-projekt og en BPMN 2.0-proces i Eclipse og IntelliJ IDEA.

4.1. Eclipse-plugin

Vi bliver nødt til at installere et plugin for at oprette jBPM-projekter. Lad os følge nedenstående trin:

  1. I Hjælp sektion, klik på Installer ny software
  2. Tilføj Drools og jBPM-opdateringswebstedet
  3. Accepter betingelserne i licensaftalen, og fuldfør installationen af ​​plugin
  4. Genstart formørkelse

Når Eclipse genstartes, skal vi gå til Windows -> Indstillinger -> Drools -> Drools Flow Nodes:

Efter at have valgt alle indstillingerne kan vi klikke på "Anvend og luk". Nu er vi klar til at skabe vores første jBPM-projekt.

4.2. IntelliJ IDEA-plugin

IntelliJ IDEA har jBPM-plugin installeret som standard, men det er kun til stede i Ultimate og ikke Community-indstillingen.

Vi skal bare aktivere det ved at klikke Konfigurer -> Indstillinger -> Plugins -> Installeret -> JBoss jBPM:

I øjeblikket er der ingen BPMN 2.0-procesdesigner til denne IDE, selvom vi kan importere * .bpmn filer fra enhver anden designer og køre dem.

5. Hej verdenseksempel

Lad os få vores hænder beskidte med at skabe et simpelt Hello World-projekt.

5.1. Lave en jBPM Projekt

For at oprette et nyt jBPM-projekt i Eclipse går vi til File -> New -> Other -> jBPM Project (Maven). Efter at have givet navnet på vores projekt kan vi komme til mål. Eclipse vil gøre alt det hårde arbejde for os og vil downloade de krævede Maven-afhængigheder for at oprette et eksempel på et jBPM-projekt for os.

For at oprette det samme i IntelliJ IDEA kan vi gå til Fil -> Ny -> Projekt -> JBoss Drools. IDE vil downloade alle de krævede afhængigheder og placere dem i lib projektmappe.

5.2. Opret Hello World Process Model

Lad os oprette en lille BPM-procesmodel, der udskriver "Hello World" i konsollen.

Til dette er vi nødt til at oprette en ny BPMN-fil under src / main / ressourcer:

Filudvidelsen er .bpmn og det åbner i BPMN-designeren:

Det venstre panel af designeren viser de noder, vi valgte tidligere, mens du konfigurerede Eclipse-plugin. Vi skal bruge disse noder til at oprette vores procesmodel. Midtpanelet er arbejdsområdet, hvor vi opretter procesmodeller. Højre side er egenskabsfanen, hvor vi kan indstille egenskaberne for en proces eller node.

Heri Hej Verden model, bruger vi:

  • Start begivenhed - kræves for at starte procesforekomsten
  • Script Task - aktiverer Java-uddrag
  • Afslut begivenhed - kræves for at afslutte procesforekomsten

Som tidligere nævnt har IntelliJ IDEA ikke en BPMN-designer, men vi kan importere .bpmn filer designet i Eclipse eller en webdesigner.

5.3. Erklær og opret vidensbasen (kbase)

Alle BPMN-filer indlæses kbase som processer. Vi er nødt til at bestå den respektive proces id'er til jBPM-motoren for at udføre dem.

Vi opretter kmodule.xml under ressourcer / META-INF med vores kbase og BPMN-pakkeerklæring:

Når erklæringen er færdig, kan vi bruge KieContainer at indlæse kbase:

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

5.4. Opret jBPM Runtime Manager

Vi bruger JBPMHjælper til stede i org.jbpm.test pakke til at oprette et eksempel på runtime-miljø.

Vi kræver to ting for at skabe miljøet: For det første en datakilde til at oprette EntityManagerFactoryog for det andet vores kbase.

JBPMHjælper har metoder til at starte en H2-server i hukommelsen og indstille datakilden. Ved hjælp af det samme kan vi oprette EntityManagerFactory:

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

Når vi har fået alt klar, kan vi oprette vores RuntimeEnvironment:

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

Bruger RuntimeEnvironment, kan vi oprette vores jBPM runtime manager:

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

5.5. Udfør procesforekomst

Endelig bruger vi RuntimeManager at få RuntimeEngine:

RuntimeEngine engine = manager.getRuntimeEngine (initialContext);

Ved brug af Runtime Engine, vi opretter en vidensession og starter processen:

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

Processen starter og udskrives Hej Verdenpå IDE-konsollen.

6. Konklusion

I denne artikel introducerede vi BPM-systemet ved hjælp af dets Java-implementering - jBPM.

Dette var en hurtig guide til at starte et jBPM-projekt. Eksemplet vist her bruger den minimale proces for at give en kort forståelse af udførelsen af ​​en proces og kan findes på GitHub.

For at udføre processen skal vi blot køre hovedmetoden i WorkflowProcessMain klasse.