This document provides an overview of jBPM and how to build a custom jBPM connector for MuleSoft. jBPM is an open-source BPM suite that allows modeling, executing, and monitoring business processes. The connector development process includes setting up a project, writing connector code, testing, and packaging. The jBPM connector was developed using the Devkit plugin and utilizes annotations like @Connector, @Connect, @Configurable, and @Processor to integrate with the jBPM engine and enable process invocation and management through Mule flows. Connector tests are also written to validate success and failure scenarios.
2. Brief Description About jBPM
What is jBPM?
• jBPM is a flexible Business Process Management (BPM)
Suite.
It is light-weight, fully open-source (distributed under
Apache license) and written in Java.
It allows you to model, execute, and monitor business
processes throughout their life cycle.
3. It Allows You To..
To model your business goals by describing the steps that
need to be executed to achieve those goals, and the order
of those goals are depicted using a flow chart
jBPM focuses on executable business processes, which are
business processes that contain enough detail so they can
actually be executed on a BPM engine.
jBPM comes with a full-featured BAM tooling which allows
non-technical users to visually compose business
dashboards.
5. Business Process
Business processes need to be supported throughout their
entire life cycle
1. Authoring
2. Deployment
3. Process management
4. Task lists
5. Dashboards
6. Reporting.
To Perform the above task JBPM allows to invoke Remote API
calls to process JBPM Engine as a service
6. jBPM Engine
• The core jBPM engine is the heart of the project.
• It's a light-weight workflow engine that executes your
business processes.
• It can be embedded as part of your application or deploy it
as a service
7. Explanation About the Connector
• First of all, you need to download the jBPM engine on to the
local to manage the business process assuming JDK and
Ant are already installed
• After installation- Basic over view of the jBPM workbench
kie - Demo
9. Anypoint Connector In Mule
Anypoint Connectors enables easy integration of MuleSoft
applications with third-party APIs
Advantages of custom connectors
• Could be reused at all integration points to that system
• Hides integration complexity
• Could connect to any API or protocol
A typical custom connector development life-cycle
follows below procedure:
• Setting up a Connector Project
• Writing Connector Code
• Writing Connector Tests
• Documenting a Connector Project
• Packaging a Connector
10. How we build jBPM Connector
Developed the plugin using Devkit plugin
Create a Anypoint connector project
A default connector class will be generated after which the below
annotations need to be configured (JBPMConnector.java)
1. @Connector — For defining the connector details like name schema
version
2. @Connect — For providing the authentication using username and
password
3. @Configurable –To define the properties that are required to connect to
the Connector
4. @ValidateConnection — To check the connection status
5. @Disconnect –For closing the connection
6. @Processor – Actual operation is being defined here
7. @RestCall –In case of connecting to rest implemented services using the
attributes uri,method
• Writing Connector Tests
11. Use Custom Connector
1. Create a new project
2. Drag and drop the connector component in your project
Demo of the connector with mule integration project
12. Munit and Basic Test
• Mock the jBPM Connector and evaluate the
success and failure scenarios
• Unit Testing is carried out by the testers