Pimp your Product with Activiti!
Activiti GA will be released this week, and there are already a lot of people who start using it. One very interesting “market segment” are in fact software vendors themselves: Companies who develop standard software for CRM, ECM or even ERP purposes, who want to add workflow functionality to their solutions. Actually, the whole Activiti project was started by Alfresco, because they wanted to integrate it as a process engine in their ECM-product.
We think that Activiti is the best choice, if you want to “pimp your product” for BPM. And these are the reasons:
- It’s not just Open Source, it’s Apache: From a business point of view, Activiti is the best choice because it is published under the very liberal Apache license. This means you are not only allowed to use it “for free”, but you can even integrate it in your closed source and therefore commercial product. You cannot do that with the majority of open source licenses out there.
- It’s not a black box, but an open framework: From a technical point of view, a closed source (“commercial”) BPMS is like a black box: It somehow works, but you have no idea why and what can be done if it does not. You rely on the support of the vendor. One could argue that this is exactly why you buy a commercial product, because you get the vendor support and someone to grill if the product causes any trouble. But you do not need a commercial product for that: This is why there are companies like us who provide suppport for Activiti 😉 But the very important thing is, that Activiti is no black box, but a framework that does *exactly* what you expect it to, because you know how it works and how to integrate it in your application – it’s all Java, in the end!
- You can use it loosely coupled – if you *want* to: Of course you can integrate Activiti with your application using web services. But you don’t have to! If your application is written in Java, you should considerate a leaner combination without any overhead, just call the process engine from your application directly by a method call, if you need it, and call your implemented business logic directly from the process engine as well. Define abstraction layers if appropriate, but *only then*! This is a really simple yet powerful approach, and it can boost your productivity while still keeping your architecture clean and flexible. You can even use the process engine in your IDE, unit testing – environment and so on, it will become a perfectly integrated part of your software development infrastructure. You just do not get that with a closed source product.
- Don’t reinvent the wheel: On the other hand, integrating Activiti is way smarter then developing a process engine yourself. This would be like developing your own database or persistence layer, it’s just useless. Activiti is based on loads of experience from BPM-gurus like Tom Baeyens and companies like Alfresco, SpringSource and us. Why should you ponder about questions that are already answered? You should rather concentrate on the questions that reflect the individual core competences of your company, the unique selling points of your software product. The process engine is certainly not part of that.
- Profit from innovation: Activiti is not “yet another oss process engine”, it’s different. It introduces a completely new understanding of how to solve BPM projects, as you can see in Activiti Cycle, and integrates really cool components like the browser-based Activiti Modeler provided by Signavio. I think the main reason for this difference is that Activiti is not a project by one single vendor, but a joint effort by many companies with rather smart people – sorry for showing-off, but it’s just what I really believe! People who really love BPM and who are eager to improve the way we improve processes – not just people who get paid by business suits who want to ride on some BPM hype wave. Have a look at the team, and you will see what I mean. At the same time there are people driving Activiti, who are not software developers, but experienced business process consultants, like myself. Therefore, Activiti is not only the product of “IT people”, but “business people” as well, who are not less passionate about BPM than their IT fellows. The difference is however that also we “business people” do not believe in the “IT follows Business”-ideology, but understand that the key to success is a respectful collaboration between Business and IT, and not the domination of “those who sign the cheques”. Activiti is the result of this understanding.
OK, these are the main reasons why I think Activiti is the perfect choice if you want to “pimp your product for BPM”. And to back up this opinion, I can even cite a customer of ours who has already started that integration. It is a Germany company: vps ID Systems has been a leading European supplier of professional IT solutions for identity management since 1992.
The workshop confirmed us in our decision to integrate a workflow system in our existing system instead of implementing our integrated processes ourselves. During the workshop we gained an excellent insight in BPMN 2.0 and especially in Activiti. We were encouraged that with Activiti we would gain a highly-productive framework, which will be, with the support by camunda, integrated without bigger problems. The workshop absolutely fulfilled our expectations. (Tobias Hilka, Vice President Application Software Development, vps ID Systeme GmbH)
But anyway, whether you will become an excited camunda-customer, or not: Activiti will be released in a couple of days, it’s new and it’s better, and I am very proud of being part of it 🙂