Skip to content
@vanillabp

VanillaBP

Business processing at its best taste

VanillaBP

What is VanillaBP?

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.

Motivation

Developing BPMN based business processing software is an excellent way to build maintainable code focused on business value:

  1. Processes can be defined by business people using a graphical representation (BPMN).
  2. 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.

Available Adapters

Vendors:

If you are not familiar with BPMN

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.

Popular repositories Loading

  1. spi-for-java spi-for-java Public

    An aspect orientated service provider interface (SPI) for workflow systems as a Java developer would expect it to be.

    Java 9

  2. business-cockpit business-cockpit Public

    A BPMS user interface for a microservice environment

    Java 4 3

  3. spring-boot-support spring-boot-support Public

    Provides features used by Spring Boot based VanillaBP implementations

    Java 2

  4. simple-vanillabp-demo simple-vanillabp-demo Public

    This demo was developed as support of the talk "Gain more freedom when migrating from Camunda 7 to 8"

    Java 1 1

  5. workflow-module-template workflow-module-template Public

    A template for a Spring Boot workflow module

    Java 1

  6. .github .github Public

    Github organization profile

Repositories

Showing 7 of 7 repositories
  • business-cockpit Public

    A BPMS user interface for a microservice environment

    vanillabp/business-cockpit’s past year of commit activity
    Java 4 Apache-2.0 3 4 2 Updated Oct 3, 2024
  • spring-boot-support Public

    Provides features used by Spring Boot based VanillaBP implementations

    vanillabp/spring-boot-support’s past year of commit activity
    Java 2 Apache-2.0 0 1 0 Updated Sep 11, 2024
  • spi-for-java Public

    An aspect orientated service provider interface (SPI) for workflow systems as a Java developer would expect it to be.

    vanillabp/spi-for-java’s past year of commit activity
    Java 9 Apache-2.0 0 1 0 Updated Aug 27, 2024
  • .github Public

    Github organization profile

    vanillabp/.github’s past year of commit activity
    0 0 0 0 Updated Aug 27, 2024
  • workflow-module-template Public

    A template for a Spring Boot workflow module

    vanillabp/workflow-module-template’s past year of commit activity
    Java 1 0 0 0 Updated Mar 8, 2024
  • simple-vanillabp-demo Public

    This demo was developed as support of the talk "Gain more freedom when migrating from Camunda 7 to 8"

    vanillabp/simple-vanillabp-demo’s past year of commit activity
    Java 1 Apache-2.0 1 0 0 Updated Feb 27, 2024
  • maven-release-parent Public

    A parent pom used for releasing VanillaBP Maven artifacts

    vanillabp/maven-release-parent’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Jan 16, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Java

Most used topics

Loading…