Fast and Furious Migration of Content to SAP Signavio using API & scripting
bpExperts GmbH
The Business Integrator - Business Transformation is a capability, not a project!
Introduction
In the world of Business Process Management (BPM), efficiently setting up a process repository is often considered a daunting task. Whether an enterprise seeking to optimize operations or a small business aiming for streamlined workflows, the initial setup of your process repository is critical for long-term success. Most companies won’t be starting from zero. They will either be migrating from an existing (or several) BPM tools, or there will be a collection of process related documents, such as training material, IT documentation, test cases etc. The objective of setting up a fresh process repository is to tidy up, standardize and streamline the new process architecture to the specific use case, such as the HANA migration. One of the key technologies that can simplify this journey is an effective API .
Since SAP acquired Signavio at a time when many companies are engaged in their HANA migration, SAP Signavio has become a dominant BPM tool for companies following a process-driven approach as recommended by SAP.
SAP Signavio offers an API that promises to ease the initial setup process while offering a wide range of customization and integration options. This blog will explore the capabilities of SAP Signavio's API, focusing specifically on how it aids in the initial setup of a process repository.
Why APIs are crucial in migrating BPM content
Signavio has two principal functionalities
These are important, simple, and powerful tools to migrate content. However, the following challenges can result in a lot of manual work:
Typically, during a migration, you will encounter these challenges and here SAP Signavio’s API (and some clever scripting) will help avoiding a lot of error-prone work.
5 step migration approach
Define your process architecture and metamodel
Optional, but essential for HANA projects, the following dictionary items are recommended:
Configure the dictionary items to represent all relations between each other. This is key for reporting and managing the repository. The more meaningful relations are addressed, the more value a repository has.
Examples of API usage The examples we are presenting are based on our best practice process repository Business Flows. The scripts were written with node.js.
SAP Signavio REST APIs offers the following basic operations:
领英推荐
In order to achieve the above-mentioned operations, only the mass upload of BPMNs and sorting them into target folders is possible without having to manipulate the JSON or the BPMN files.
Case: Linking dictionary items to BPMN diagrams and assigning BPMN models to collapsed proceses
In this case we have a dictionary item representing a process (or an activity) already uploaded. The source BPMN diagram has several activities included, which need to be linked to the dictionary item.
The above figure shows a typical ‘raw’ BPMN model without the Signavio specific link to a dictionary item or an assignment to a sub-process. The link to the dictionary item is vital for managing multiple occurrences of processes within your repository. The assignment to a BPMN (collapsed) process is necessary to establish a clear process architecture over levels and enable a drill-down navigation in the Collaboration Hub.
The following figure shows the expected result in Signavio:
To achieve this in the raw BPMN file, the script would need to parse each BPMN and collect the name of the activities. The exact tag however can vary depending on the source system. In the case of a BPMN exported from ARIS XML the tag is‘<semantic:task name=’, in case of a camunda BPMN the tag is ‘<bpmn:task id="xxx" name="‘.
However, as soon as you have imported the BPMN into Signavio all key information of the BPMN is provided via the REST API in a standardized JSON format. This can easily be manipulated to achieve the above-mentioned goal.
The following diagram shows you the structure provided by the API. You can now add an ID-link to the “glossaryLinks”: {“name”:[]} entry, you link the object to a dictionary item with all its attributes.
By changing the “entry”: of an “activitytype”: “Sub-Process”, you can link the subprocess to the corresponding model.
Of course, before you set the values, you first have to identify and map all dictionary items and process models including their corresponding IDs. In our case this was accomplished based on the “name”: object, process model and dictionary item all have the same name.
The API can also be used to normalize other characteristics of your imported models. For example the diagram below is an example, where we have changed the font size and backgroud color of all “CollapsedSubprocess”.
Summary
If you are setting up a Process Repository in Signavio SAP and have a lot of models to be imported in a complex Process Architecture and you want to make use of the key features of SAP Signavio, such as dictionary items and linked subprocesses, using the API will greatly speed up the process and on the long term help you maintain the quality of your content.
In case you want to learn more or require specific help in setting up your process repository. This is what we do.
We care, We act, We deliver!