Today Alfresco launched a new open source project, Activiti Business Process Management Suite along with the Spring Source division of VMware, Signavio and Camunda. We are also very pleased that Tom Baeyens, project founder of JBPM and BPM expert, has joined Alfresco along with his fellow architect Joram Barrez. They bring a wealth of business process experience to a clean slate to build a next generation BPM system that will be licensed under the Apache 2.0 license. This combination can have profound implications for both the business process and content management spaces.
Activiti emerged from our desire to have an Apache-licensed BPM engine. Although we were quite happy with the jBPM engine, it's LGPL license was preventing us from OEM's Alfresco to larger software companies that were concerned about any open source license with the letter G in it. It's irrelevant that they shouldn't be concerned about it, we intended to take care of it. It's understandable that RedHat did not want to change its license, but our business needs dictated that we needed to find an alternative.
At the same time, Tom also felt that jBPM should be Apache licensed, but for different reasons. The OMG was making strong progress toward BPMN 2.0 as not just a modeling language, but adding execution semantics to create a language that could be used both for design and for execution. He felt that with the primary design vendors using this tool, the time was right for an Apache-licensed BPM engine. An Apache-license could take the BPM system to where BPM was needed, which was everywhere!
After a very short discussion, Tom and Joram joined Alfresco just a couple of months ago and they are already ready to put out their first alpha version of the Activiti BPM engine. They have both been working on this so long, they can create an engine from scratch in their sleep. However, the blank slate has allowed them to think about some of the issues that weren't even around when jBPM was created. For instance, how can you use NOSQL and eventual consistency to create an engine that can scale into the Cloud? What kind of role can scripting through JSR 223 play to enable the use of languages other than Java, such as Groovy, JRuby or JavaScript? How can you create open touch points to content management through CMIS and the OpenCMIS API in Apache Chemistry?
By answering these questions, Activiti is addressing the requirements of business process management for new applications. The Activiti engine as small as a few classes that are embedded in your application or as big as an internet and consumer scale engagement server. Applications that wouldn't have even considered a large scale, stand alone workflow server because of cost and complexity will now be able to freely embed a business process engine. However, new Cloud applications
In Activiti, we don't only have a BPM engine. There is a complete suite with the engine including a designer from Signavio, user tools and control consoles. Signavio had already been working with BPMN 2.0 and had an MIT license for their designer. Although they have working relationships with other ECM vendors, they are quite happy to work with the wider open source community. Their browser-based and AJAX approach to BPM design will make process design more accessible to non-developer business analysts. This approach and the future proofing and lock-in removal of the BPMN 2.0 standard may be one of the most revolutionary aspects of the Activiti project.
Activiti Process Modeler
Our intention is submit the Activiti engine to the Apache Foundation. We have another new employee, Nick Burch, who is the lead for Apache POI http://poi.apache.org/ and will help guide us through the Apache process. Nick has already been instrumental in moving the OpenCMIS project into Apache Chemistry. We shall provide support for Activiti when it is used in conjunction with the Alfresco engine, but do so in a style that is consistent with an Apache project. We also intend to continue support for jBPM for our Alfresco Enterprise customers as well as connections to other process engines, but Activiti will become the default BPM engine for Alfresco.
Activiti is available as Alpha now at the Activiti web site. Screenshots are also available. We are looking at General Availability at the end of the year. We are looking to incorporate Activiti into Alfresco in a release at the end of 2010.
We hope to see more people involved in Activiti. This is as much a good thing for our open source competitors as it is for us. With a common set of interfaces around CMIS and OpenCMIS, this will allow all of us, including those built upon PHP, to share common workflow capabilities and tools. Who couldn't be happy with that? :-)
There have already been a couple of interesting blogs from:
- Tom Baeyens, Alfresco Creates Activiti
- Matt Aslett, Alfresco’s new Activiti en route to Apache
- Sandy Kemsley, Open Source BPM with Alfresco’s Activiti