BPM Release Version 3.0.
Release date: 26th June 2016
The purpose of this section is to outline the new features of BPM version 3.0.
New application server
- Migrated from Virgo to Wildfly 8.2 (JBoss).
- Faster to start.
- Easier to configure.
- Zip file delivery.
- As well as the installer we ship a zip that can be unpacked and run from a batch file (useful for ModelBank deployments).
- We have removed the dependency on SQL Server and moved to embedded H2.
- Each Engine requires its own database so this reduces installation and maintenance costs.
- Each Engine’s database is transient – restarting the process cleans down the database.
- This provides some fall-back resiliency against database corruption.
We introduced the concept of an Engine:
- Jobs have been conceptually split into Job Configurations and Job Engines.
- A Job Configuration contains variables such as ‘pickup folder’.
- A Job Engine is a program (war file) that performs an Execution based on a Configuration.
- This enables multiple Job Configurations to run at the same time.
- Job Engines can now be deployed onto separate servers (within Wildfly 8.2). This is a strategy for increasing performance by scaling across machines.
- Previously Jobs were all deployed onto a single server and limited to run sequentially.
- A Job Configuration can run on any available Job Engine (of the same type/version).
- This introduces fault tolerance into the solution.
- Job Engines implement a standardized API. This reduces reliance on Spring Batch and lays the groundwork for multi-threaded scalable Engines written in any language on any operating system.
- The standard installer can be used to create a Wildfly deployment/service for the Engines.
As well as splitting out the jobs, we introduced a REST API between the UI and the backend which contains all the business logic. This means that any action or information accessible through the website can be accessed programmatically. The new REST API allows you to develop your own tools and integrations.
There is living documentation built into the server which describes the available functionality and allows you to invoke actions by filling in forms and submitting them. You can see the BPM REST API by running BPM and navigating to http://localhost:8180/server/.
The first tool we have created to use the REST API is a configuration migration tool – aka ‘Import / Export’. It currently has limited logic and will not handle making changes to an existing system, but it works well for dumping and loading the entire configuration of a system.
- User help text has been reviewed to be more useful.
- User help text has been made more accessible by creating a sidebar to show information related to the focused element.
- More information is now visible through the frontend for failed Executions.
We have put a significant effort into quality assurance processes and documentation and will further improve on this for the next release.