With the release of Bonita BPM 7, the commercial open-source player has become part of a growing band of BPM technology vendors making a shift towards delivering broader business application development functionality. This is a natural consequence of the maturation of BPM technology and its increasingly tactical application. Bonitasoft has implemented a number of important capabilities in its Bonita BPM 7 release to support this direction, and more are to come.
The shift from processes to process applications
The marketplace for BPM technology is maturing fast, and as this happens we’re seeing that organisations considering BPM technology for the first time tend to do so in order to address particular tactical needs, rather than to build enterprise-wide business process management capability. In 2015 we see the majority of client interest in using BPM technology to help support customer-facing services and help ‘join the dots’ in delivering seamless customer experiences across multiple channels. In the context of digital transformation and customer experience improvement, the time it takes to get user-friendly functionality into production, and the speed with which functionality can be changed, are both critical.
To respond to these needs vendors are aggressively expanding the scope of their BPM technology platforms, to help customers deliver complete business process applications more quickly. With the newest release of its commercial BPM technology platform offering, Bonitasoft has joined this movement.
The majority of time and effort required to deliver complete business process applications is not taken up in the discovery or design of business process flows; it’s taken up in the development of user interfaces that work for the intended audience(s), and in the development of integration code to link business processes to external data sources and business software applications. These two activities can take up to 80% of the overall development time and effort used for a BPM project.
Two main directions: user interfaces and data
Bonitasoft now positions Bonita BPM 7 as a “BPM based application platform”. There are two key functional coverage areas that the company has focused on here: model-based specification of application user interfaces, and model-based specification of application data.
The user interface coverage in Bonita BPM 7 is significantly changed over previous versions. Now, rather than delivering user experiences in the context of a generic user task portal, you’re encouraged to deliver user interfaces for business processes within discrete web-based application user experiences that are built from collections of menu, page and form definitions. Application user experiences are role-based, so you can easily create applications that present personalised information and functionality to individuals with particular roles.
The data model specification functionality in Bonita BPM 7 is completely new, and at a high level is similar to what’s on offer from other vendors with BPM technology heritage making the move towards more general-purpose application platform provision. However there’s one key difference here: the modeling tool in Bonita BPM 7 makes it very easy indeed to specify complex datatypes without knowledge of how relational databases work. In brief, you can define atomic business objects (such as customer, address, product) and then compose those to create more sophisticated record definitions (for example, reusing addresses in customer objects and supplier objects; or composing invoice records from a single header and one or more invoice lines). What’s more, you can use data models as the starting point for form definition if you want, automatically creating a first-cut form definition from a business object definition, rather than defining forms specifically to act as user interfaces for workflow activities.
There are other BPM technology platforms that offer rich data modeling and user interface specification functionality, but there’s one further functional area of focus in Bonita BPM 7 that marks it out in comparison to its competition. The company has taken the principle of agility that’s been at the heart of its platform for many years and extended it: now, in the newest release, there are many aspects of a business process application that you can change without having to recompile or relaunch it.
Core to the expanded agility in Bonita BPM 7 is the platform’s implementation of the ‘contract’ concept, which is familiar to the software architect community. Contracts specify ‘agreements’ between software components, such that if one component changes how it works internally, it will continue to support the system as a whole as long as it continues to fulfil the contract. Bonita BPM 7 uses the contract concept with a highly component-based runtime system to create a very clean separation between the business process logic at the heart of your application and your application user interface definitions (and in fact many other relevant definitions, too). When you define forms with Bonita BPM 7 you define them in relation to contracts that are linked to work tasks, where contracts specify the data that each task relies on in order to be completed. In this way, it’s possible to change form definitions quite extensively, and republish them into your application without any disruption.
Separately to form changes, it’s also possible to change other aspects of how a process application is configured without having to disrupt operations: administrators with sufficient permissions can change the details of the people assigned to processes and tasks, deployment and other environmental parameters, the implementations of application connectors, and even scripts that implement certain automated tasks in your business processes.
Continuing to focus on developers
Bonitasoft’s platform has long made it possible for ‘casual developers’ to actively participate in the creation of business process applications, but the technology’s open-source core means that it’s enthusiastically embraced by organisations with technical software development teams that want or need to play significant roles in customising and extending the platform, too.
Bonitasoft continues to focus on making the platform appealing to software developers, providing a wealth of extensibility points in the platform and making it straightforward for developers to implement custom connectors and custom UI widgets. Further to this, the company plans to improve facilities for developers: focusing on improving version management, continuous integration and software testing (among other things). It also plans to introduce a number of enhancements to the manageability of the Bonita BPM 7 runtime – making it easier to perform backups and archive data, and run the platform in a virtualised environment, with the goal of making it straightforward to deploy Bonita BPM 7 on a private cloud platform.