BPM platforms manage your company’s most critical business information. We can take care of your migration project using consolidated best practices needed to keep everything consistent.
We support you in creating a deterministic migration path of your Activiti instance, whether you are migrating from Activiti Community edition or you are migrating from Alfresco Process Services.
There are some critical requirements to know before starting the migration project and we are continuing to invest in creating new tools to make this process easier.
Why migrate to Alfresco Process Services?
We know that there are plenty of installations based on Activiti Community editions, and for many of those there are huge risks when it comes to stability and security.
Activiti Engine is included in the each distribution bundle listed below, with the following set of dependencies and web applications:
- Activiti 5 includes Activiti Explorer and the Activiti Rest applications.
- Activiti 6 includes Activiti App, Activiti Rest, and Activiti Admin applications.
- Activiti 7 distribution doesn’t include any applications bundle. The engine is included in:
- Activiti Cloud Community distribution: It can’t be used for the enterprise yet due to the lack of many components
- Alfresco Process Services: This is the Enterprise edition currently fixed and supported by Alfresco including Activiti App (with Activiti Rest embedded) and Activiti Admin (with an additional Elasticsearch dedicated to the Analytics feature).
We suggest you migrate your current Activiti Community instances to the Enterprise edition due to the following critical constraints:
- Activiti Community and Activiti Cloud Community are not supported by Hyland / Alfresco or any other vendor developing products on top of it. As a result, you could be exposed to any risk related to a memory leak or other technical issues. You can only receive potential support from members of the Open Source community, with no SLA guaranteed.
- The JDK used to compile Activiti Community 5 and 6 is not supported.
- Activiti Community 5 was compiled with JDK 1.5 in 2011. It has not been supported by the community since November 2009 or by Oracle since April 2015.
- Activiti Community 6 was compiled with JDK 1.7 in 2017. It has not been supported by the community since April 2015 or by Oracle since July 2022.
- You may have security issues due to the old dependencies mentioned above, and trying to set a newer version can make the Activiti Java API unstable.
- You can’t update to the latest version of a specific library due to the old method signatures included in the mentioned libraries.
- Migration addresses the lack of Enterprise features, such as: clustering, monitoring, authentication, security (ACL) and reusable components
We typically suggest investing some time to get useful information related to the current status of your project. The typical scenario for migrating your Process Services, based on the Activiti engine, can be summarized as follows:
- Migrating from Activiti Community to APS
- Migrating from APS 1.x to APS 2.x
Some critical tasks to define before approaching the migration include:
- Identifying the current status of the application tier (i.e., Activiti is embedded or standalone)
- Identifying any additional data sources to migrate
- Identifying all the extensions implemented
- Porting of the source code on the target APS version
Considering the different ways the Activiti Community engine may be implemented, there are plenty of possibilities to evaluate when you are migrating to the Enterprise edition. Below are the common scenarios:
- Current use of the Activiti engine
- Activiti embedded in a Java application (e.g. Activiti Engine embedded within Alfresco Content Services)
- Activiti standalone with its own web applications
- Activiti 5 has activiti-explorer and activiti-rest
- Activiti 6 has activiti-app, activiti-rest, and activiti-admin
Some of critical information to collect includes:
- Identifying which third-party libraries are used in your extensions (e.g., external middleware, additional Java services, service tasks, listeners, or jobs)
- Determining how security is currently implemented because in APS we have a new security model
- Evaluating how the user forms are managed (e.g., Activiti Form properties or plain process / task variables)
Validating your migration with Zia’s Migration Tools
If a test suite exists, it will be possible to integrate with Zia’s APS SDK. Otherwise, we could take care of designing and implementing your brand new test suite to cover:
- All the critical branches of your workflows.
- Any integration with external systems or datasources.
- Bootstrapping all the needed data and configurations.
Covering process logic and source code with tests will help to validate the migration against the target system. It will also be very useful when making necessary changes to your process definitions. This will increase the overall readability and quality of your BPM project.
Comparing Activiti Community with APS
Compared to the Activiti Community, APS has many new features and capabilities built on top of Activiti 7. Below are some key examples.
- Brand new lightweight Activiti core: Removed the Process Virtual Machine classes representing the intermediate engine runtime
- A new concept of application as the main container for processes in the user profile
- New security model introducing ACLs for components, such as processes, forms, applications, stencils, data models, etc.
- Extended user interface with two different process editors: BPMN Editor and Step Editor
- New Activiti Java Services for managing authorities, attachments, renditions, authentication, and reporting
- New REST API based on Open API standard
- New analytics service based on Elasticsearch
- The support of new authentication mechanisms, including Basic, OAuth2, SAML, and external authentication
- New elements added in the BPMN Editors, including REST Task, Document Generation Task, content repository actions, etc.
- Reusable and versioned components, including tenants, email templates, document templates, endpoints, data models, stencils, forms, and decision tables
- Four new tables that split the job table in the database
Zia and Alfresco Services
As an Alfresco Strategic Partner, we cannot work on projects exclusively based on Community editions. However, we can support you when you decide to migrate from the Community to Enterprise edition with the following services:
- Training courses: on the job training and mentoring
- Project design and implementation
- Installation and configuration
- Upgrades, migrations, and steering plans
- Solution support and maintenance service
In addition to our services, the following is also included in your subscription with Alfresco:
- Enterprise grade support
- Hot Fix and Service Pack program
- Defect escalation and prioritization process
- Controlled release program
Zia’s Migration Tools
Our tools will help you implement the migration project in a deterministic manner, giving you a predictable way to bring all your workflows and extensions to production.
Zia’s Migration Tools allows you to prepare, design, and put into production a stable release of your APS instances. These are covered by unit and integration tests guarantee a consistent migration path.
We created and provide Enterprise support for all the following Zia’s Migration Tools:
- Activiti SDK: Build your Activiti JARs, WARs, and containers with a Maven SDK
- APS SDK: Build your APS JARs, WARs, and containers with a Maven SDK
- APS Fluent API: Write your client integrations and integration tests with a Fluent API for APS
- APS CLI: Interact and bootstrap your data in APS using a standard CLI
Check out our other blog, where you can learn more about Zia’s Alfresco Process Services SDK 2.x awarded as Best Project at Alfresco Hackathon 2022. Also, we provide support and extended versions of these tools for any requirement needed for your Activiti migration project. Contact us today to learn more about how we can support your business initiatives.