DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Implementing the Planning Pattern With Java Enterprise and LangChain4j
  • Building AI-Powered Java Applications With Jakarta EE and LangChain4j
  • AI Agents in Java: Architecting Intelligent Health Data Systems
  • Building an Image Classification Pipeline With Apache Camel and Deep Java Library (DJL)

Trending

  • Spring AI Advisors: Chat Memory, Token Tracking, and Message Logging
  • How to Parse Large XML Files in PHP Without Running Out of Memory
  • Persistent Memory for AI Agents Using LangChain's Deep Agents
  • Amazon Quick: AWS's Agentic Workspace, Explained for Engineers
  1. DZone
  2. Data Engineering
  3. AI/ML
  4. jBPM as AI Orchestration Platform

jBPM as AI Orchestration Platform

Zero "agentic AI". Zero "cloud native". Zero other hype. Just an approach to achieving an efficient AI-centric automation using 100% free open-source components.

By 
Sergey Lukyanchikov user avatar
Sergey Lukyanchikov
·
Aug. 06, 25 · Review
Likes (3)
Comment
Save
Tweet
Share
1.9K Views

Join the DZone community and get the full member experience.

Join For Free

Disclaimer: The views expressed in this document reflect the author's subjective perspective on the current and potential capabilities of jBPM.

This text presents jBPM as a platform for orchestrating external AI-centric environments, such as Python, used for designing and running AI solutions. We will provide an overview of jBPM’s most relevant functionalities for AI orchestration and walk you through a practical example that demonstrates its effectiveness as an AI orchestration platform:

Stroke Prediction solution deployed in jBPM is run by the users of OpenEMR

Figure 1. Stroke Prediction solution deployed in jBPM is run by the users of OpenEMR


In Brief: About jBPM

jBPM (Java Business Process Management) is an open-source integration platform with a workflow engine at its core. Although the jBPM project defines itself as a BPM (Business Process Management) or workflow engine, toolkit, or suite, we argue that describing it as an integration platform is more precise.

The features that support this characterization include:

  • Exposing business logic implemented in jBPM for external access – e.g., via REST API:

A REST API call to jBPM resulting in a response (ID: 976) with status 201 (“success”)

Figure 2. A REST API call to jBPM resulting in a response (ID: 976) with status 201 (“success”)


  • Providing an engine for business process automation:

Figure 3. Web-based workflow editor, part of jBPM’s business process automation engine.


  • Embedding components for interaction with external providers – e.g., with Python:

jBPM’s project-level dependency configurator displaying a dependency record for the Jep extension

Figure 4. jBPM’s project-level dependency configurator displaying a dependency record for the Jep extension


These capabilities enable jBPM to interact with external systems, make automation decisions, and manage callouts to external providers efficiently.

How jBPM Orchestrates Python

jBPM’s Python integration can be implemented in various ways. Our current approach utilizes Jep (Java Embedded Python), a Java extension that allows interaction with Python interpreters. When combined with jBPM’s business process automation (e.g., script task activity), this enables a solid, foundational level of Python orchestration:

A script task executing Python code wrapped in Java via Jep within a jBPM business process

Figure 5. A script task executing Python code wrapped in Java via Jep within a jBPM business process


Although Jep enables Python integration, it has usability barrier that may require workarounds during initial implementation.

A Practical Example: Stroke Prediction

A comprehensive illustrative example of jBPM orchestrating Python is our solution for training AI models and estimating stroke risk in a set of patients. In a hospital or clinical setting, physicians use an EMR (Electronic Medical Record) system like open-source OpenEMR (or any other software allowing customization of user screens). Stroke prediction requests may originate from various sections of the EMR, typically within a patient’s file:

A standard patient file screen in jBPM with a Health AI Solution Catalog

Figure 6. A standard patient file screen in jBPM with a Health AI Solution Catalog


The physician selects the Stroke Prediction AI solution and submits a prediction request to jBPM, where the AI logic is deployed:

The patient file screen displaying stroke risk prediction results

Figure 7. The patient file screen displaying stroke risk prediction results


jBPM processes the request, orchestrating the AI logic and Python computations, and returns the estimated stroke risk to OpenEMR:

Figure 8 Process instance logging screen in jBPM displaying a prediction request (ID: 977) from a physicianProcess instance logging screen in jBPM displaying a prediction request (ID: 977) from a physician
Figure 8. Process instance logging screen in jBPM displaying a prediction request (ID: 977) from a physician


The stroke risk is initially calculated in jBPM before being returned to OpenEMR for the physician:

The process instance record (ID: 977) in jBPM displays the computed stroke risk to be returned to OpenEMR

Figure 9. The process instance record (ID: 977) in jBPM displays the computed stroke risk to be returned to OpenEMR


This prediction workflow, when visualized end-to-end, appears as follows:

Figure 10. End-to-end flow of stroke prediction across OpenEMR and jBPM

Figure 10. End-to-end flow of stroke prediction across OpenEMR and jBPM


Meanwhile, an analyst monitoring the AI models’ performance can retrain and publish updated models:

Figure 11. Custom Health AI screen in OpenEMR for training AI models via jBPM

Figure 11. Custom Health AI screen in OpenEMR for training AI models via jBPM


Similar to the physician’s workflow, the analyst selects the AI solution and submits a train/validate/ test request to jBPM:

Figure 12. Custom Health AI screen displaying outcomes of train/validate/test requests

Figure 12. Custom Health AI screen displaying outcomes of train/validate/test requests


jBPM logs and executes the training process:

Process instance logging screen in jBPM displaying a train/validate/test request (ID: 978) from an analyst

Figure 13. Process instance logging screen in jBPM displaying a train/validate/test request (ID: 978) from an analyst


Results are computed and returned to OpenEMR:

Process instance record in jBPM displaying computed accuracy metrics to be returned to OpenEMR

Figure 14. Process instance record in jBPM displaying computed accuracy metrics to be returned to OpenEMR


Load testing confirms that jBPM efficiently handles simultaneous user requests for both prediction and model training without bottlenecks or data leaks:

 OpenEMR screens displaying stroke prediction and model training results from load testing

Figure 15. OpenEMR screens displaying stroke prediction and model training results from load testing


What Makes jBPM an AI Orchestration Platform?

Given its ability to orchestrate AI workflows, one may ask: Does jBPM have sufficient surrounding functionality to be considered a full-fledged AI orchestration platform?

Let’s examine the ecosystem around jBPM. Its “nearest neighbor” is likely Eclipse, the preferred IDE (Integrated Development Environment) for jBPM, particularly due to plugins like Eclipse BPMN2 Modeler:

A jBPM business process edited in Eclipse (offline)

Figure 16. A jBPM business process edited in Eclipse (offline)


Eclipse enhances jBPM by enabling offline development. The aforementioned plugins allow developers to perform most tasks locally that jBPM’s web-based client supports. Moreover, as a highly extensible modular IDE, Eclipse provides tools to meet virtually any requirement faced by development teams.

Another key “neighbor” is PostgreSQL, one of several database engines that can be configured to support jBPM’s underlying data structures:

Internal jBPM tables deployed in PostrgreSQL

Figure 17. Internal jBPM tables deployed in PostrgreSQL


PostgreSQL’s ability to store jBPM’s technical data unlocks vast opportunities for data mining and optimizing AI solutions deployed within jBPM.

In this context, it is logical to mention another key “neighbor” – BIRT (Business Intelligence Reporting Tool) – BIRT is one of open-source BI engines capable of extracting, transforming, and reporting on both technical and business data managed by jBPM:

BIRT maintaining reporting structures and visualizing jBPM data

Figure 18. BIRT maintaining reporting structures and visualizing jBPM data


Together, Eclipse, PostgreSQL, and BIRT, along with jBPM’s core capabilities, form a robust AI orchestration platform that facilitates AI model deployment, execution, and optimization.

For more: C-NLTX/Open-Source

AI JBPM Java (programming language)

Opinions expressed by DZone contributors are their own.

Related

  • Implementing the Planning Pattern With Java Enterprise and LangChain4j
  • Building AI-Powered Java Applications With Jakarta EE and LangChain4j
  • AI Agents in Java: Architecting Intelligent Health Data Systems
  • Building an Image Classification Pipeline With Apache Camel and Deep Java Library (DJL)

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook