VanillaBP is an independent API for business processing engines kept simple, plain and without frills.
Checkout the SPI for Java to see how VanillaBP looks like.
Quick-links: Available adapters, Blueprints
Developing BPMN based business processing software is an excellent way to build maintainable code focused on business value:
- Processes can be defined by business people using a graphical representation (BPMN).
- There is no need to code the underlying workflows as a BPMN engine is used to run the BPMN process.
Unfortunately, there is no standardized API for BPMN engines. Each BPMN engine, also called Business Processing Management System (BPMS) or workflow system, has its own API. Using a workflow system requires that a developer knows the API and also understands its paradigms. In addition, moving to other technology stacks/APIs requires re-implementation of at least parts of the business logic.
To solve these problems, we decided to introduce VanillaBP.
Business process engine vendors can provide implementations called adapters that hide the details of the specific workflow system's API. This allows the developer to focus on the business aspects rather than the technical details. Vendors, on the other hand, can focus on the unique features of their engine, such as available runtime environments, storage adapters, or scalability.
Vendors:
- Camunda
:
- Version 7 adapter (about Camunda Platform 7)
- Version 8 adapter (about Camunda Platform 8)
There are blueprints available for building projects using VanillaBP. Choose the best matching blueprint according to your project attributes:
- Standalone:
Type: A (micro-)service responsible for one workflow modulehaving a custom user interface for operating user tasks and workflows (not part of the blueprint).
Available for: Spring Boot, Jakarta-EE, Quarkus - Standalone leveraging Business Cockpit:
Type: A (micro-)service responsible for one workflow moduleintegrating into the VanillaBP Business Cockpit
for operating user tasks and workflows.
Available for: Sprint Boot, Jakarta-EE, Quarkus - Workflow Module:
Type: An independent workflow moduleto be hosted next to other workflow modules in one (micro-)service. Available for: Sprint Boot, Jakarta-EE, Quarkus
- Host for workflow modules:
Type: A (micro-)service acting as a runtime environment hosting independent workflow modules. Typically used to bundle workflow modules of the same scope (e.g. same department, same business unit).
Available for: Sprint Boot, Jakarta-EE, Quarkus - Workflow Module leveraging Business Cockpit:
Type: An independent workflow moduleto be hosted next to other workflow modules in one (micro-)service integrating into the VanillaBP Business Cockpit
for operating user tasks and workflows.
Available for: Sprint Boot, Jakarta-EE, Quarkus - Host for workflow modules leveraging Business Cockpit:
Type: A (micro-)service acting as a runtime environment hosting independent workflow modulesintegrating into the VanillaBP Business Cockpit
for operating user tasks and workflows. Typically used to bundle workflow modules of the same scope (e.g. same department, same business unit).
Available for: Sprint Boot, Jakarta-EE, Quarkus
BPMN is a graphical representation for specifying business processes in XML also including semantic information. A BPMN engine runs those processes and acts as a state engine. This helps to dramatically reduce the amount of code since only "tasks" need to be implemented and the flow is handled by the engine.
BPMN was developed by the Object Management Group (OMG). Meanwhile BPMN is an ISO standard.
To build your own models try Camunda's modeler.