Migrating from Licensed BPM Suites to Open Source BPM Solutions
By Satish Gupta • 10/7/2023
Many times, we encounter requirements where customers want to transition from licensed BPM products like IBM BPM, Appian, or Pega to open-source BPM products or cost-effective options like JBPM, Activiti, Camunda, or Flowable. In this blog post, I aim to discuss an effective approach to handle such migrations.Licensed BPM products offer comprehensive functionality, often encompassing features beyond BPM, which may not align with BPM domain requirements. The BPM domain primarily deals with workflow processes, typically represented as BPMN models. Workflow processes should not include elements from other domains, such as using time-based undercover agents to schedule database reports. A better solution for non-BPM domain functions like report scheduling would be to use cron jobs in Linux or task schedulers in Windows. In BPM projects, system-of-record data storage should be minimal, yet many licensed products tend to accumulate historical data, including sensitive information.Here is a proposed solution for migrating from licensed to open-source BPM products:
1. Scope Analysis:
Begin by thoroughly analyzing the project that needs migration. Clearly distinguish between BPM and non-BPM domain elements. For instance, basic CRUD operations fall outside the BPM domain scope.
2. BPMN and DMN Examination:
Focus on reviewing BPMN or DMN models used in the project. The majority of your migration effort should revolve around these models.
3. Handling Process Dependencies:
Assess the dependencies of your BPMN models. Determine if they require calling REST services, posting data to integrated systems, or performing file operations.
4. Start Simple:
Consider starting with a relatively straightforward project that has minimal dependencies on integrated systems. This will build confidence in the migration process before tackling more complex implementations.
5. Integrated Systems Considerations:
Exercise caution when dealing with integrated systems. Implement them in a loosely coupled manner. Ensure scalability, as increasing the load may necessitate spinning up additional BPM instances. Failing to scale integrated systems could lead to system failures.
These ideas can significantly benefit your migration process. I welcome your feedback and suggestions, especially if you have experience with such migrations. Your insights and recommendations can contribute to the success of migration projects in this domain. Thank you for reading.