Learn how to migrate your process flows from Pega to Camunda quickly and easily with this guide, which walks you through how to use our free migration tool.
If you need to migrate away from Pega you can quickly run into a challenge—process flows in Pega don’t conform to any open standard, despite their BPMN-like appearance. This can make any migration a tedious process of manual recreation.
If you’re migrating to Camunda, the Camunda Consulting team has created a set of freely available tools for migrating process flows. The tools for migrating Pega process flows can be found here. We’ve split the tools into the original converter for Camunda Platform 7, which we released a few years ago, and a newly added converter for Camunda Platform 8. While the BPMN XML for both are the same, there are slight schema differences that distinguish the models for each.
You’ll quickly notice both are Maven projects which can be opened in just about any integrated development environment. Eclipse and Intellij are two of the more popular IDEs, but first you’ll need to clone or download the migration tools repository here.
Note: If you don’t already have an active account, you can can sign up to try Camunda Platform 8 for free and follow along.
Converting Pega XML to BPMN
For this tutorial we’ll use Eclipse as our IDE. Take the following steps to migrate Pega XML to BPMN:
- Once you’ve cloned or downloaded the Git repository, copy the contents of the Pega converter tool repository into a fresh workspace. If, for example, your Git repository is located at /Users/you/Documents/GitHub you’ll find the Pega converter at Users/you/Documents/GitHub/migrate-to-camunda-tools/Pega/create.
- Copy the entire folder to the workspace of your choice.
- Start Eclipse and select the workspace you just copied the contents into.
- Once Eclipse has started, navigate to File > Import > Maven > Existing Maven Projects.
- Click Next.
- In the dialog box that appears, click Browse and navigate to the folder you just copied into your workspace. Your screen should look something like this (see below).
- Click Finish.
The project will be imported into your workspace. You may want to update any Java compiler differences between the provided code and your environment, but it should work as is.
Create a Run configuration to run the converter in Eclipse
Take the following steps to now create a Run configuration and run the converter in Eclipse:
- Right click on the root project folder and select Run As > Run Configurations…
- In the dialog box that appears, double click on Java Application to create a new configuration. The project name should already be filled out in the dialog box. You can give this configuration a new name if you want.
- Select a main class. Click on the Search button and click – BPMNGenFromPega – org.camunda.bpmn.generator > OK. Your screen should look something like this:
Add input and output arguments to Run configuration
Now, you’ll need to provide two arguments: the XML export from Pega and the name of the converted file. Enter the path and file names in the Program arguments section of the Arguments tab enclosed by quotation marks, just in case. There is a provided sample Pega XML file to get you started. To use this sample, enter the following for the input and output files:
Your screen should look something like this:
Click Run. A console window should open and you should see the following in the console:
Diagram ./src/main/resources/SamplePegaProcess.xml converted from Pega and can be found at ./src/main/resources/ConvertedProcessFrom Pega.bpmn
You may need to refresh Project Explorer to see the generated BPMN file. The resources folder contains a PNG file (samplePegaProcessDiagram.png) of the original process in Pega:
Using Camunda Modeler, open ConvertedProcessFromPega.bpmn:
Creating a jar file
If you’d like to create a jar file of the utility, you have two options:
- Right click on the pom.xml file and select Run As > Maven install.
- Right click on the root folder, select Show in Local Terminal, and issue the following Maven command: mvn clean package install.
In either case (or using your own preferred method) you should get a jar file in your /target folder. Copy that jar wherever you’d like and issue the following command in a terminal:
java -jar yourGeneratedJarFile.jar “your input file” “your output file”