En guide til jBPM med Java

1. Introduksjon

I denne opplæringen vil vi diskutere Business Process Management (BPM) -systemet og implementeringen av det i Java som jBPM-system.

2. System for styring av forretningsprosesser

Vi kan definere forretningsprosessledelse som et av de feltene hvis omfang strekker seg utover utvikling til alle aspekter av et selskap.

BPM gir synlighet mot selskapets funksjonelle prosesser. Dette lar oss finne en optimal flyt, avbildet av et flytdiagram, ved å bruke iterativ forbedring. Den forbedrede flyten øker fortjenesten og reduserer kostnadene.

BPM definerer sine egne mål, livssyklus, praksis og et felles språk mellom alle deltakerne, dvs. forretningsprosesser.

3. Den jBPM System

jBPM er implementeringen av et BPM-system i Java. Det lar oss lage en forretningsprosessflyt, utføre den og overvåke livssyklusen. Kjernen i jBPM er en arbeidsflytmotor, skrevet i Java, som gir oss et verktøy for å lage og utføre en prosessflyt ved hjelp av de nyeste Business Process Modelling Notation (BPMN) 2.0-spesifikasjonene.

jBPM fokuserer hovedsakelig på den kjørbare forretningsprosessen. Disse prosessene har nok detaljer slik at de kan utføres på arbeidsflytmotoren.

Her er et grafisk flytskjemaeksempel på kjøringsrekkefølgen til vår BPMN-prosessmodell for å hjelpe oss med å forstå:

  1. Vi begynner å utføre strømmen ved hjelp av den opprinnelige konteksten, betegnet med den grønne startnoden
  2. Først vil oppgave 1 utføre
  3. Når oppgave 1 er fullført, fortsetter vi med oppgave 2
  4. Utførelsen stopper når den møter den røde endenoden

4. IDE Plugins for jBPM Prosjekt

La oss se hvordan du installerer plugins for å lage et jBPM-prosjekt og en BPMN 2.0-prosess i Eclipse og IntelliJ IDEA.

4.1. Formørkelses plugin

Vi må installere et plugin for å lage jBPM-prosjekter. La oss følge trinnene nedenfor:

  1. I Hjelp delen, klikker du på Installer ny programvare
  2. Legg til Drools og jBPM-oppdateringssiden
  3. Godta vilkårene for lisensavtalen og fullfør installasjonen av plugin
  4. Start formørkelsen på nytt

Når Eclipse starter på nytt, må vi gå til Windows -> Innstillinger -> Drools -> Drools Flow Nodes:

Etter å ha valgt alle alternativene, kan vi klikke på "Apply and Close". Nå er vi klare til å lage vår første jBPM-prosjekt.

4.2. IntelliJ IDEA-plugin

IntelliJ IDEA har jBPM-plugin installert som standard, men det er bare til stede i alternativet Ultimate og ikke Community.

Vi trenger bare å aktivere det ved å klikke Konfigurer -> Innstillinger -> Plugins -> Installert -> JBoss jBPM:

For øyeblikket er det ingen BPMN 2.0-prosessdesigner for denne IDE, selv om vi kan importere * .bpmn filer fra andre designere og kjør dem.

5. Hello World Eksempel

La oss skitne hendene når vi lager et enkelt Hello World-prosjekt.

5.1. Lage en jBPM Prosjekt

For å lage et nytt jBPM-prosjekt i Eclipse, går vi til Fil -> Ny -> Annet -> jBPM Project (Maven). Etter å ha oppgitt navnet på prosjektet vårt, kan vi komme i mål. Eclipse vil gjøre alt det harde arbeidet for oss og vil laste ned de nødvendige Maven-avhengighetene for å lage et eksempel på jBPM-prosjekt for oss.

For å lage det samme i IntelliJ IDEA, kan vi gå til Fil -> Ny -> Prosjekt -> JBoss Drools. IDE vil laste ned alle nødvendige avhengigheter og plassere dem i lib mappen til prosjektet.

5.2. Lag Hello World Process Model

La oss lage en liten BPM-prosessmodell som skriver ut "Hello World" i konsollen.

For dette må vi opprette en ny BPMN-fil under src / main / resources:

Filendelsen er .bpmn og det åpnes i BPMN-designeren:

Det venstre panelet til designeren viser noder vi valgte tidligere mens du konfigurerte Eclipse-plugin. Vi skal bruke disse nodene for å lage vår prosessmodell. Midtpanelet er arbeidsområdet, der vi oppretter prosessmodellene. Høyre side er egenskaperfanen, hvor vi kan angi egenskapene til en prosess eller node.

I dette Hei Verden modell, bruker vi:

  • Start hendelse - kreves for å starte prosessforekomsten
  • Skriptoppgave - aktiverer Java-kodestykker
  • End Event - kreves for å avslutte prosessforekomsten

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

5.3. Deklarere og opprette kunnskapsbasen (kbase)

Alle BPMN-filene er lastet inn kbase som prosesser. Vi må bestå den respektive prosessen ID-er til jBPM-motoren for å utføre dem.

Vi lager kmodule.xml under ressurser / META-INF med vår kbase og BPMN filpakkedeklarasjon:

Når erklæringen er ferdig, kan vi bruke KieContainer å laste inn kbase:

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

5.4. Opprett jBPM Runtime Manager

Vi bruker JBPMHjelper til stede i org.jbpm.test pakke for å bygge et eksempel på kjøretidsmiljø.

Vi krever to ting for å skape miljøet: for det første en datakilde for å lage EntityManagerFactoryog for det andre vår kbase.

JBPMHjelper har metoder for å starte en H2-server i minnet og angi datakilden. Ved å bruke det samme kan vi lage EntityManagerFactory:

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

Når vi har gjort alt klart, kan vi lage vårt RuntimeEnvironment:

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

Bruker RuntimeEnvironment, kan vi opprette jBPM runtime manager:

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

5.5. Utfør prosessforekomst

Til slutt bruker vi RuntimeManager å få RuntimeEngine:

RuntimeEngine engine = manager.getRuntimeEngine (initialContext);

Ved hjelp av RuntimeEngine, vi lager en kunnskapsøkt og starter prosessen:

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

Prosessen starter og skrives ut Hei Verdenpå IDE-konsollen.

6. Konklusjon

I denne artikkelen introduserte vi BPM-systemet ved hjelp av Java-implementeringen - jBPM.

Dette var en rask guide for å starte et jBPM-prosjekt. Eksemplet vist her bruker den minimale prosessen for å gi en kort forståelse av å utføre en prosess, og kan bli funnet på GitHub.

For å utføre prosessen, trenger vi bare å kjøre hovedmetoden i WorkflowProcessMain klasse.