jBPM: Een Gids voor Bedrijfsprocesbeheer

Tegenwoordig hebben bedrijven een georganiseerde techniek nodig om hun transacties of acties te ontwerpen die ze kunnen omzetten door ze uit te voeren via geautomatiseerde oplossingen. De volledige naam van JBPM is Java Business Process Management en het is een product van JBoss. JBPM is een open-source en lichtgewicht tool. Het stelt ons in staat om bedrijfsprocessen gedurende hun levenscyclus te genereren, uit te voeren, te implementeren en te controleren. Het overbrugt de kloof tussen ontwikkelaars en business analisten.

Een Bedrijfsproces is een groep activiteiten die stappen in een bepaalde volgorde gebruikt om bedrijfsdoelstellingen te realiseren. We vertegenwoordigen de volgorde van bedrijfsdoelen in een stroomdiagram. Deze processen verbeteren de flexibiliteit en zichtbaarheid van onze bedrijfslogica aanzienlijk.

JBPM heeft een erfgoed procesontwerper en de nieuwste procesontwerper om diagrammen van bedrijfsprocessen te maken. De nieuwste procesontwerper bevat een verbeterde lay-out, een verzameling functies en wordt continu ontwikkeld. Over het algemeen gebruiken bedrijfsbeperkingen en regels globale variabelen. JBPM concentreert zich op de 2.0-beschrijving, zoals een taal voor procesdefinities.

De Eclipse-editor fungeert als een plug-in voor de Eclipse IDE en stelt ons in staat om onze bedrijfsprocessen in de ontwikkelomgeving te integreren. De JBPM API heeft een groep van top-level services. Deze services helpen ons bij het integreren van de technieken voor bedrijfsprocesbeheer in onze applicaties. Deze services bieden een verzameling modules.

Diagram van de architectuur van jBPM met kerncomponenten zoals de Core Engine, Human Task Service en Process Designer.

Kerncomponenten van jBPM

De volledige naam van BPMN is Business Process Model and Notation. Het is gebaseerd op de Object Management Group (OMG) Specificatie. BPMN bevat verschillende knooppunten die met elkaar zijn verbonden via sequentie-stromen.

Core Engine

De Core Engine is het centrum van het project en stelt ons in staat om een bedrijfsproces comfortabel te implementeren. De Core-Engine API produceert een API die nodig is om het proces uit te voeren en te laden. De knowledge base fungeert als opslag voor alle geschikte procesdefinities. Het bevat processen, functies, type modellen en regels. Knowledge Base verwijst naar de sessie.

Human Task Service

De Human Task Service is een essentieel onderdeel van BPM.

Process Designer (jBPM Process Modeler)

De Process Designer stelt zakelijke gebruikers in staat om het bedrijfsproces te simuleren en te ontwerpen in webontwikkeling. Het stelt niet-technische gebruikers in staat om de datamodellen die we gebruiken in de bedrijfsprocessen te maken, te bewerken en te bekijken. Het stelt ons in staat om verschillende soorten bedrijfsregels te definiëren voor de integratie van de bedrijfsprocessen. Het stelt ons in staat om de formulieren te genereren of te maken die geassocieerd zijn met onze bedrijfsprocessen of tijdens het uitvoeren van de taak. We noemen de procesontwerper ook wel de jBPM Process Modeler.

Voorbeeld van een procesontwerp in de jBPM Process Modeler, met verschillende knooppunten zoals Start Event, Rule Task en End Event.

Basis Knooppunten in BPMN

Hieronder worden de belangrijkste knooppunten binnen BPMN beschreven:

  1. Startknooppunt: Dit is het beginpunt van het bedrijfsproces. Elk bedrijfsproces heeft slechts één startknooppunt.
  2. Eindknooppunt: Dit is het eindpunt van het proces. Een bedrijfsproces kan meerdere eindpunten hebben.
  3. Rule Task: Creëert een groep regels die evaluatie vereisen in het bedrijfsproces. Elke regeltaak bevat één uitgaande en één inkomende verbinding.
  4. Samenvoegknooppunt (Merge Node): Dit voegt meerdere paden samen tot één. We kunnen meerdere inkomende verbindingen hebben en slechts één uitgaande verbinding. ID: Dit is de identificatie van het knooppunt.
  5. Splitsknooppunt (Split Node): Dit genereert een nieuw pad in het bedrijfsproces. Het heeft meerdere uitgaande verbindingen en slechts één inkomende verbinding. ID: Dit is de identificatie van het bedrijfsprocesknooppunt.
  6. Herbruikbaar Subproces: Roept een ander proces aan. Dit is nuttig bij het samenstellen van kleine processen tot een groter proces. Dit grote proces zal een organiserend proces zijn.
  7. Fout Gebeurtenis (Error Event): Geeft een fouttoestand van het proces aan. Fout Gebeurtenis bevat geen uitgaande verbindingen.
  8. Bericht Gebeurtenis (Message Event): Wordt geactiveerd wanneer we een vooraf gedefinieerd type gebeurtenis uitzenden.
  9. Subproces: Helpt ons bij het creëren van een subproces binnen een hoofdproces. Het kan een individuele scope hebben.

Stappen voor het Creëren van een jBPM Project

Het creëren van een nieuw jBPM-project, met name in een IDE zoals Eclipse, volgt een gestructureerde aanpak:

Installatie van de Plug-in

Om jBPM-projecten te creëren, hebben we een plug-in nodig. Na het selecteren van alle opties, kunnen we op "Apply and Close" klikken. De java.lang.Compiler is verwijderd in JDK 21.

Project Creatie in Eclipse

Om een nieuw jBPM-project in Eclipse te creëren, gaan we naar File -> New -> Other -> jBPM Project (Maven). Na het opgeven van de naam van ons project kunnen we op "Finish" klikken.

Project Creatie in IntelliJ IDEA

Om hetzelfde te doen in IntelliJ IDEA, gaan we naar File -> New -> Project -> JBoss Drools.

Screenshot van de jBPM Project wizard in Eclipse.

Het Ontwerppaneel

Het linkerpaneel van de ontwerper toont de knooppunten die we eerder hebben geselecteerd bij het instellen van de Eclipse-plug-in. We gaan deze knooppunten gebruiken om ons procesmodel te creëren. Het middelste paneel is de werkruimte, waar we de procesmodellen zullen creëren.

Alle BPMN-bestanden worden in de kbase geladen als processen. JBPMHelper heeft methoden om een in-memory H2-server te starten en de data source in te stellen.

De Evolutie van Business Process Management (BPM)

Omdat er veel definities zijn en er meerdere manieren zijn om dit te doen, kan bedrijfsprocesmodellering (BPM) een beetje verwarrend zijn, vooral voor een beginner. Maar als je dieper gaat, zul je beseffen dat er niet veel verschil is in de meeste benaderingen. Deze business process modeling tutorial helpt u meer te weten te komen over de verschillende definities, functies en de geschiedenis achter BPM.

BPM is een methode om de efficiëntie en de kwaliteit van de organisatie te verbeteren. BPM is in de afgelopen twee tot drie decennia snel ontstaan en heeft eerdere praktijken van organisatorische efficiëntie, zoals de Time and Motion Study (TMS) of Total Quality Management (TQM), vervangen. BPM kan worden beschouwd als een kwaliteitsmanagementhulpmiddel vanwege zijn technische aard, de nadruk op het proces en de analytische benaderingen en verantwoordelijkheden die voortvloeien uit de verbetering van de kwaliteit in de markt.

BPM is meestal een schema dat een opeenvolging van activiteiten weergeeft. Business Process Modelling wordt tot op zekere hoogte ook bepaald door de verschillende geautomatiseerde tools of software die wordt gebruikt bij de toepassing van de methoden. Het volgen van de hiërarchie wordt vooral gebruikt in de procesmodellering voor grote ondernemingen.

Historische Ontwikkelingen in BPM

De oorsprong van BPM gaat eeuwen terug. In de oudheid gebeurde de productie in de huisnijverheid door één persoon die een item maakte van het begin tot het einde.

  • 1776: “Divisie van arbeid” - Adam Smith betoogde dat het opsplitsen van het productieproces en het creëren van eigenaardige taken het proces eenvoudig en snel zou versnellen. Hij liet zien dat als de verschillende stadia van de productie door verschillende mensen in een keten van activiteiten zouden worden uitgevoerd, het resultaat veel efficiënter zou zijn.
  • Vroege jaren 1900: “Tijd en Beweging” - Frederik Winslow Taylor voegde zijn “tijdstudie” samen met “bewegingsstudie” van Frank & L. Gilbreth, wat resulteerde in nieuwe wetenschappelijke managementmethoden (1911) en de beruchte “tijd en beweging” studies. Deze studies documenteerden en analyseerden de werkprocessen met als doel de tijd die nodig is en het aantal acties dat nodig is voor elk proces te verminderen, waardoor zowel de productiviteit als de efficiëntie van de werknemers wordt verbeterd.
  • Begin tot medio 1900: “de enige beste manier” - Frank Gilbreth ontwikkelde de eerste methode voor het documenteren van de processtroom. Hij presenteerde zijn paper ‘Process charts - First Steps to Finding the One Best Way’ aan de American Society for Mechanical Engineers (ASME) in 1921.
  • 1930: Ontgoocheling van de assemblagelijn - In het eerste decennium van de 20e eeuw was ‘tijd en beweging’ een bekend begrip. In 1936 was de ontgoocheling echter al ingetreden, zoals blijkt uit Charlie Chaplins film Modern Times, die de massaproductie en de assemblagelijn satireerde.
  • Mid jaren 1970: Werkstroom - Het onderzoek en de ontwikkeling van kantoorautomatisering bloeide op tussen 1975 en 1985. Gespecialiseerde workflowtechnologieën en de term ‘workflow’ zijn in het leven geroepen.
  • 1980: Het kwaliteits tijdperk - Kwaliteit of Totaal Kwaliteitsbeheer (TQM) was de modieuze management- en bedrijfsproces theorie, verdedigd door Deming en Juran. Gebaseerd op de Japanse filosofie van Kaizen of continue verbetering, zijn de belangrijkste aspecten van TQM nu mainstream geworden.
  • Vroege jaren 1990: Business Process Re-engineering (BPR) - Michael Hammer en James Champy ontwikkelden het concept in hun boek ‘Re-engineering the Corporation: Een Manifest voor Bedrijfsrevolutie’. Zij stelden dat het proces revolutionair, snel en drastisch moest zijn. Tegen het einde van de jaren negentig raakte BPR als organisatiebrede aanpak uit de gratie, omdat het vaak geassocieerd werd met ontslagen. De beste principes van BPR bestaan nog steeds in BPM, op een minder ingrijpende schaal.
Tijdlijn die de belangrijkste mijlpalen in de geschiedenis van Business Process Management weergeeft.

Implementatie en Toepassing van BPM

Met de geleerde lessen kan en werkt Business Process Modeling, maar het moet met de nodige voorzichtigheid worden behandeld. De sleutel ligt in de uitvoering. Voor een personeelsbestand dat verdrinkt in administratie, veel ervan herhaald of opnieuw ingevoerd in meerdere databases, kan BPM een geweldige oplossing zijn.

BPM is effectief zoals elke andere methode kan zijn. In de verkeerde handen kan het een organisatie en haar mensen verstikken en hinderen. Bij het implementeren van Business Process Modeling zijn er veel technieken die door de jaren heen zijn beproefd.

Het codevoorbeeld dat dit artikel ondersteunt, is beschikbaar op GitHub.

Doorbraken in BPM-onderzoek (2000-2017)

Gedurende de jaren 2000 tot 2017 werden belangrijke doorbraken gepubliceerd als BPM Center Reports. Deze rapporten behandelen diverse aspecten van procesmining, modelering en analyse.

Enkele voorbeelden van onderwerpen uit deze periode zijn:

  • Semi-Supervised Log Pattern Detection and Exploration Using Event Concurrence and Contextual Information
  • Discovering High-level BPMN Process Models from Event Data
  • Business Process Deviance Mining: Review and Evaluation
  • Scalable Process Discovery and Conformance Checking
  • From Low-Level Events to Activities - A Pattern-based Approach
  • Decision Mining Revisited - Discovering Overlapping Rules
  • Complete and Interpretable Conformance Checking of Business Processes
  • Filtering out Infrequent Behavior from Process Event Logs
  • Business Process Performance Mining with Staged Process Flows
  • Minimizing Overprocessing Waste in Business Processes via Predictive Activity Ordering
  • Exploring Students’ Learning Behaviour in MOOCs using Process Mining Techniques
  • Uncovering Learning Patterns in a MOOC through Conformance Alignments
  • Discovering Interacting Artifacts from ERP Systems
  • BPMNDiffViz: A Tool for BPMN Models Comparison
  • Process Query Language: Design, implementation and evaluation
  • A Structural Model Comparison for finding the Best Performing Models in a Collection
  • Filter Techniques for Region-Based Process Discovery
  • Scientific Workflows for Process Mining: Building Blocks, Scenarios, and Implementation
  • Relational XES: Data Management for Process Mining
  • Process Mining Using BPMN: Relating Event Logs and Process Models
  • Declarative Process Mining in Healthcare
  • Extracting Event Data from Databases to Unleash Process Mining
  • XES - Standard Definition
  • A General Framework for Correlating Business Process Characteristics
  • Balanced Multi-Perspective Checking of Process Conformance
  • Decomposing Conformance Checking on Petri Nets with Data
  • Discovering Block-Structured Process Models from Incomplete Event Logs
  • A Recommendation System for Predicting Risks across Multiple Business Process Instances
  • Detecting Approximate Clones in Business Process Models
  • Fast Detection of Exact Clones in Repositories of Business Process Models
  • A Meta-model for Operational Support
  • Estimating Completeness of Event Logs
  • Thresholds for Error Probability Measures of Business Process Models
  • Understanding User Differences in Open Source Workflow Management System Usage Intentions
  • Managing Large Collections of Business Process Models - Current Techniques and Challenges
  • Creating Sound and Reversible Configurable Processes Models using CoSeNets
  • Replaying History on Process Models for Conformance Checking and Performance Analysis
  • Decomposing Process Mining Problems Using Passages
  • Analysis of Patient Treatment Procedures: The BPI Challenge Case Study
  • Comparing Business Processes to Determine the Feasibility of Configurable Models: A Case Study
  • Process Mining and Visual Analytics: Breathing Life into Business Process Models
  • Do My Constraints Constrain Enough? - Patterns for Strengthening Constraints in Declarative Compliance Models
  • History-Aware, Real-Time Risk Detection in Business Processes
  • Towards an Evaluation Framework for Process Mining Systems
  • Managing Process Model Complexity via Abstract Syntax Modifications
  • Cost-Based Conformance Checking using the A* Algorithm
  • How to Guarantee Compliance between Workflows and Product Lifecycles?
  • Fragment-based Version Management for Repositories of Business Process Models
  • Checking Behavioral Conformance of Artifacts
  • Automated Error Correction in Business Process Models
  • Discovering Characteristics of Stochastic Collections of Process Models
  • Time Patterns in Workflow Management Systems
  • Pattern-Based Evaluation of Scientific Workflow Management Systems
  • Managing Process Model Complexity via Concrete Syntax Modifications
  • Ensuring Correctness During Process Configuration via Partner Synthesis
  • Inter-Workflow Support
  • On Global Completeness of Event Logs
  • Process Discovery: Capturing the Invisible
  • Auditing 2.0: Using Process Mining to Support Tomorrow’s Auditor
  • Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis
  • A Behavioral Similarity Measure between Labeled Petri Nets Based on Principal Transition Sequences
  • Supervisory Control Service: A Control Approach Supporting Flexible Processes
  • On the Usefulness of Subprocesses in Business Process Models
  • Challenges in Business Process Mining
  • Workflow Support for Product Recall Coordination
  • APROMORE: An Advanced Process Model Repos...

tags: #jbpm #welke #speen