Red Hat’s JBoss BPM Suite is about much more than just the jBPM project. The company is working to attract interest from a community that’s more diverse than its heritage Java developer audience, and this shows in recent additions to the suite. Competition for the attention (and budgets) of business audiences looking for work co-ordination platforms is fierce, though, and Red Hat’s going to face challenges.
The JBoss BPM Suite: more than you might think
In the BPM technology marketplace, the JBoss brand is principally associated with the jBPM open-source workflow technology project – the project that initially kickstarted the burgeoning open-source BPM technology movement in 2003. However today the JBoss BPM Suite combines the technologies managed by the jBPM project with technologies from a number of other Red Hat-managed open-source projects: Drools, Drools Fusion and OptaPlanner (among others). On top of that, a number of technologies acquired from BPM technology specialist Polymita in 2012 are now playing front-and-centre roles in the suite. The result is a BPM technology platform that covers all the core bases well, additionally including capabilities particularly suited to scenarios where event-based decisioning and business process execution are important.
Sustained focus required if Red Hat is to deliver on promises now being made
Over recent product releases and subsequent to the acquisition of technology from Polymita, Red Hat has placed more and more emphasis on features and capabilities that are designed to appeal more to business analysts and casual developers than to its professional Java developer heritage audience. This in itself is an entirely sensible strategy, but to continue to compete well in a broader marketplace Red Hat is going to have to focus its efforts in a sustained way to improve tool integration, make the suite as a whole easier to work with, and create more business-friendly educational and promotional materials. Given that the JBoss teams working on the constituent elements of the BPM Suite together form just one small group in a much larger enterprise middleware business, success here is not guaranteed.
Open source software and BPM: a considerable heritage
Open source software projects have played major shaping roles in a great many infrastructure and application software markets, and the BPM technology platform market has not escaped this influence.
The value of open-source models to BPM technology adopters is just the same as it is for adopters of other kinds of software technology. That is to say, primarily:
- Alignment of investment to return. As a user of an open-source BPM technology, you can download the software, install it, experiment with it, deploy projects that use it, and get production value from it – and only pay for commercial support services as and when you want to or need to.
- Openness and extensibility. As a user of an open-source BPM technology, you have ultimate flexibility in how you work with the software. If you want to embed it in another project, rewrite parts of it, develop your own extensions or plugins – you can.
For these reasons, open-source BPM technology implementations have historically been primarily interesting to two groups that can look very different from each other: very skilled software development teams (often resident in organisations like banks with large in-house software development budgets) wanting to create customised technology implementations; and organisations in emerging markets lacking the kinds of budgets that would enable them to afford licenses for mainstream commercial BPM technology products.
The efforts of one key player, Tom Baeyens, runs through most of the story of open-source BPM technologies in the market today. Baeyens was the instigator of the jBPM project that first tackled the BPM technology domain with an open-source workflow engine; Baeyens then started another project, Activiti, at Alfresco – and then, when Baeyens moved again (to kick off a project to build a cloud-based lightweight workflow automation tool called Effektif) Camunda forked the Activiti project to create its own commercial distribution of the software.
Red Hat’s JBoss BPM Suite – built on mature foundations
At the time of writing, Red Hat is the principal contributor to maintaining the jBPM project, thanks to its 2006 acquisition of open-source software provider JBoss. However the commercially-offered JBoss BPM Suite is about much more than the jBPM project.
The technologies that underpin Red Hat’s JBoss BPM Suite today combine the assets of the jBPM project with the assets of the Drools open-source business rules technology project, the Drools Fusion event processing technology project, and the OptaPlanner optimisation technology project (all also maintained by Red Hat), and technology acquired from BPM technology specialist Polymita in 2012.
The result is currently on release 6.3, and combines the ability to define and execute three core concepts using model-driven application definition and execution capabilities: workflow models, business rule models, and event models.
The JBoss BPM Suite includes the following main tools and runtime components (as shown in overview in the figure below):
- A suite of web-based graphical tools called Business Central that cover most application design bases, as well as providing a web-based application administration console, a dashboard-building tool and a simple task list user interface, and a process simulation tool. Business Central provides graphical tools for specifying business process models (using BPMN 2.0 notation), business rules (using Drools’ own Guided Rules notation or decision tables), task forms and process data models. The models you create and change through Business Central are by default managed using embedded Git repository technology, enabling multi-user design and development, version control and configuration management.
- An Eclipse plugin providing a set of tools aimed at Java developers, for more technical business rule definition, BPMN model creation within Eclipse, a local runtime engine for testing process models and rules, process debugging, and so on.
- A lightweight, Java-based workflow engine that supports the execution of flows specified using BPMN 2.0. The engine can run standalone, or it can be embedded in another Java application. The engine comes with out-of-the-box plugins that you can use to support distributed transactions (implementing the JTA standard), and human tasks (with a default implementation of the WS-HumanTask standard).
- A dedicated business rules engine, again with the ability to run standalone or be embedded.
Source: Red Hat
The JBoss BPM Suite has a number of notable features and capabilities:
- Process validation and simulation. In Business Central’s Process Modeler tool, it’s straightforward to validate models you create for conformance to the BPMN 2.0 syntax and semantics; and it’s also straightforward to configure simulation parameters for your processes, if you want to go down that road. There’s currently no support for multi-process simulation, but all the core bases are covered.
- Data modelling. There’s a graphical tool in Business Central that enables you to define data objects that are referenceable by process instances and business rules at runtime, and you can define not only simple types, but also complex/compound object types. You can also import Java classes you’ve defined manually and use those to define data object types in your applications.
- Form generation. Using the Business Central tools, you can design task and process forms from scratch – but you can also generate first-cut forms from data object definitions if you’ve first created those using the Data Modeler or created Java classes to represent your process data.
- Work assignment and workflow patterns. Tasks can be assigned to individuals or groups, and there’s support for task delegation and escalation; with a little work you can implement integration with external directories (eg LDAP) to synchronise definitions. It’s also possible, with a little work, to take an existing flow pattern (perhaps a generic ‘manager review’ flow, for example) and create a reusable workflow pattern that any designer can reuse from the standard Process Modeler palette.
- Functional testing. Support for the hugely popular JUnit Java unit-testing framework is provided, and creating and running functional unit tests on your business process models and associated tasks is pretty straightforward.
- Dashboarding. The BPM Suite’s Dashboard Builder (available both within Business Central, and as a standalone tool) is able to connect to multiple external data sources, as well as the JBoss BPM Suite runtime engine, and provide reports and charts that combine data from multiple sources. Dashboards can comprise multiple pages, with each page hosting multiple graphs and reports and secured with role-based access control.
Placing Red Hat in the BPM technology market
Today, in the BPM technology space Red Hat positions itself competitively against the largest, most established enterprise platform vendors – IBM, Oracle, Pegasystems and FICO (the latter specifically in relation to business rules management). A significant part of Red Hat’s proposition is that, like IBM and Oracle, Red Hat’s larger offering ‘covers the whole middleware stack’ – with business process management and business rules management technologies forming just one part of the larger story. In relation to Pegasystems and FICO, Red Hat’s message is primarily about cost, standards-compliance and flexibility.
Certainly, it’s possible to get started with the Red Hat JBoss BPM Suite for free, and then get started with an annual commitment in the region of $50-60k. This hugely undercuts the price of the enterprise-level offerings from IBM, Oracle and the like – but it’s also worth noting that these large commercial players have for some time offered free trials and low-cost entry-level packages.
As an open-source player appealing to companies looking to advocate for open-source software specifically in the BPM space Red Hat principally competes against Alfresco (which has continued to develop Activiti), Camunda (which has continued to develop its own fork of the Activiti codebase) and Bonitasoft (which developed its own open-source BPM technology foundation completely independently of the other projects listed here).
All core bases covered, primarily for Java developers
Thanks to its developer-friendliness and support for open standard Java technologies and frameworks, the jBPM project has long been popular with experienced Java development teams looking to embed workflow technologies in larger custom applications; the platform’s success in financial services settings and software product development scenarios is a testament to this. Well over half of the organisations using the Red Hat JBoss BPM Suite develop their own custom user interfaces for process applications, for example.
Three features of the suite in particular stand out in service of Java development teams wanting to work intimately with the core technologies (rather than using them as a ‘black box’):
- The embeddability of the workflow and business rules runtime engines.
- Support for functional testing of process application elements.
- The extensiveness of the APIs on offer. Both Java and REST APIs are provided, and using the Java API it’s possible to not only control how business processes execute; it’s also possible to programmatically create and change process models and business rules, and even create and manage projects – meaning that with some work, teams can create their own custom domain-specific design tools on top of the core technology.
Red Hat’s competitive landscape is becoming more challenging
A significant element of Red Hat’s strategy in the BPM space revolves around including more capabilities that are tuned to the interests of businesspeople (rather than specifically of interest to developers). Here, the company’s building on a set of existing business analyst-friendly features – that are mostly delivered through the Business Central web-based toolset, and originally procured from the acquisition of Polymita’s BPM technology.
This presents a challenge to Red Hat, because as the company includes more capabilities in the JBoss BPM Suite not specifically of interest to developers, it risks being out-flanked by Camunda – which specifically and exclusively targets developers with a stripped-down toolset and lean platform. At the same time, for the moment at least, Red Hat’s broader toolset lacks seamlessness: there’s more work to do in order to integrate technologies that come from the different Red Hat-managed open source projects with technologies acquired from Polymita if Red Hat is going to be able to convince business teams that it can really serve them well.
Addressing this is vital for Red Hat as it competes with an increasingly BPM-focused Alfresco. Alfresco plays the ‘hybrid’ card (dual developer and business analyst focuses) too. Alfresco has an ‘open core’ offering, and it has the benefit of a suite that’s built by one team from the ground up.
Red Hat is currently exploring the following priorities to develop the JBoss BPM Suite:
- Support for the OMG’s Decision Model and Notation (DMN) standard within the business rule definition tool and the rules execution engine – both decision table and decision requirements diagram (DRD) elements.
- More sophisticated multi-platform approach for delivering out-of-the-box application user interfaces (leveraging Red Hat’s Mobile Application Platform, formerly known as FeedHenry mobile application platform).
- Increased support for cloud-based application deployment and delivery through a full PaaS model (rather than the current ‘bring your own license’ model available on Red Hat OpenShift-compliant cloud platforms).
- Support for exploratory work scenarios in ‘case management’ style process applications, where workflows and work assignments are dynamically selected, composed and executed at runtime, often driven by business rules and policies operating over structured and unstructured case data.
- Introduction of new industry-specific business process and rule templates and application accelerators.
Pulling all this together, it’s clear that Red Hat is looking to continue to match features and capabilities from its key competitors (specifically regarding mobile application delivery and support for case management-style applications) while continuing to make its platform and tools more relevant and interesting to non-developer audiences.