What's new in Alfresco Activiti 1.5
Every organisation has workflows and business processes. Traditionally they were paper based or built on creaky systems that were created from necessity, rather than user experience.
Alfresco made efforts to create a BPM (business process management) and workflow engine for their ECM (Enterprise Content Management) system to ensure processes were sleek, efficient and overall, usable. Proving to be a popular feature amongst its many users, it quickly spawned off into a stand-alone project, Activiti.
Built on open source, its principles were clear, a lightweight, scalable, simple to set up and use, but also powerful enough for very advanced instances, the Activiti product has grown from strength to strength, and a leading solution in the BPM market.
On the advent of their 1.5 release, due at the end of August, we thought it was a great time to catch up with Paul Holmes-Higgin, Co-Founder of Alfresco and General Manager for the Alfresco Activiti product, on what we can expect in this release, looking to the future, and how it’s being used out in the real world.
Could You Give Us A Brief Overview Of Activiti?
Activiti is an open source project that Alfresco started because we needed a BPM engine to power the workflow in our ECM product. A few years ago we were getting a lot of interest around Activiti on its own, so we made the decision that we would add Alfresco Activiti as a new product to the Alfresco suite, and focus on building out a full set of abilities around a core BPM engine. The BPM engine allows you to model very complex, rich business processes using standard BPMN notation and then execute them in a very scalable way.
We Hear That A New Version Of Activiti 1.5 Will Be Released Shortly, What Can We Expect To See From This Release?
The key feature for this release is data modelling, and some extensions to the current capabilities, with much richer orchestration of the ECM product working with content in an Alfresco One repository.
There are some changes around work groups and queues and having extra management capabilities of those, and there's a few different things around administration, being able to deploy process applications from development, to test, through staging, and finally into production.
For complex multi tenant use cases we have multi schema support, so if you have something like a multi tenant version of Alfresco Activiti running, if you're providing services within a bank for example, you need to have very clear, non logical separation of data which this will enable.
We have a lot of enhancements around analytics, so you can do Business Activity Monitoring, and there’s also a bunch of things to make it easier to reuse components, such as processes, forms and decision tables.
You Mentioned Data Modelling, And Decision Making, Can You Elaborate On What Those Features Enable?
Decision tables came out in the last release. They look like spreadsheet representations of business rules. You can use any of the information you have gathered so far within the process, put it through a decision table and evaluate it with rules and come to new conclusions or set new values that you can use later on. It’s a way of doing smarter analysis or use of data that you collect within a process.
Data models allow you to map an external data source, such as a relational database, and start using it as a source for data, without having to do so much work in writing your own interfaces. What it enables you to do is describe how an entity in Activiti should be represented, maybe a customer, a patient, client, or an employee and then what fields of information you want to use within your processes. You can then map that on to the relational database tables and columns. Once you have defined your data models, you can then start using that information within all your different processes.
We expect to see customers building applications that are used to access and update data and information in a range of sources all orchestrated by Activiti.
In 1.5 we provide a generic API, so if you have a custom data source that meets our API, you can introduce that data source into the data modelling. We will be adding other data models in the future releases, such as a rest data source, or it could potentially be something like LDAP as a data source, or even a content repository, so it could be useful to map some files and folder structures within Alfresco One repository, and use it as a reference data source, consistently throughout multiple different processes.
What Does The Roadmap Currently Look Like For Activiti? What Looks Clear For The Future?
The big next step for us is around the engine. In community we have got the version 6 engine that is in beta, it is a major step forward for the core Activiti process technology. We will be working on it as a community release first, getting some feedback from the community, then introducing it into the enterprise product. This will be released as version 2.0 of Alfresco Activiti.
It will also enable us to use non relational data stores, like NoSQL databases with a lot more dynamic management of process instances, i.e. being able to have ad hoc processes and tasks that spawn off other processes. The next release after 2.0 will start to make use of some of those dynamic capabilities. In the meantime there are some additional things that have come from customers that are a priority so we are planning a 1.6 release as well with a small set of functional enhancements.
Could You Tell Us What You Think Makes Activiti Different From Some Of The Other BPM Tools Out There?
The thing that Alfresco Activiti has always differentiated itself on is its size and its performance. It's a very small, compact process engine, so you can use it in a number of different ways. You can embed it in an application and use it very effectively, or it can be used to scale up horizontally to very high degrees of throughput and process performance, so in terms of raw performance, that's one thing that differentiates it.
One of the other things from the feedback I often get from customers who have chosen Activiti, is the interfaces. They find it much easier to get up and running with Activiti, their initial proof of concept or final solution is built much more quickly. It’s a very powerful combination when you have that low resource usage, high performance, high throughput, high scalability and very easy to plug and play into your existing environments.
Are There Any Particular Use Cases In How Activiti Is Being Used That Stick Out For You?
There is one that does stick out for me and it's for a variety of reasons, and that's the Liverpool Women's Hospital. It's something which is being used for real people with real challenges as it's used in an emergency ward. From that perspective it's nice to see our software being used to benefit people in the general public. That's very rewarding.
The interesting thing about this project was when the business analyst started working with the clinicians and the nurses to try and capture the existing paper based processes, the business analyst was mapping it all out in Activiti with the clinicians and nurses watching over their shoulder.
It got to the point where they could see how straight forward it was to use, the nurses then were getting involved in designing the processes. A number of things that came out from that: one was that they were able to describe the processes as they actually saw it, so they were capturing what was really happening, not someone's idealisation of it; the second was that as they were involved in the definition of it, they were fully engaged, they felt like they were part of the change in the hospital processes, so when this rolled out, this was the nurse's process, they had built this, and that kind of engagement is really important for a successful BPM project.
We See That It's Becoming A Popular Choice For Government Customers, Do You Know Why This Is The Case?
I think government and some organisations are drawn by the fact it is open source. One of the important things with open source is it gives you confidence that it's going to be around in a way that you can do something with it in ten or twenty years, and for government, that longevity is a critical factor. It also gives people the opportunity to discover and evaluate it themselves and come to conclusions without having to deal with the sales methods of a proprietary company. I think it comes down to the ease of use, that it's very easy to get up and running and that it scales to meet customers needs.