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
Import / export of BPMNs
Import / export of dictionary items
These are important, simple, and powerful tools to migrate content. However, the following challenges can result in a lot of manual work:
Mass BPMN import and sorting into a specific folder structure
Linking dictionary items to BPMN activities
Assigning BPMN models to collapsed processes in BPMNs
Cross-referencing multiple dictionary items during upload
Beautifying BPMN models from various sources after import
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
All elements of your repository meant for consistent re-use across models should be defined as dictionary items, at a minimum, the metamodel should include
E2E domains
E2E scenarios
Process groups
Business processes
Business roles
IT applications
Optional, but essential for HANA projects, the following dictionary items are recommended:
Business rules
Key requirements
Risk/Chances
GAPS/Change impacts
SAP Transactions/Fiori Apps
Configure all dictionary items according to your metamodel
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.
Define your folder structure for managing your models according to your architecture
Define your top-level entry models and hierarchies (process levels)
Define and configure model types and conventions for each level
Prepare and import your migration content in lists as dictionary items
Prepare and import your (BPMN) models
Run API-scripts to
Cross-reference dictionary items
Link BPMN activities to dictionary items and assign collapsed processes to related BPMN models
Beautify/standardize BPMN format
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:
Traversing the repository tree
Creating, renaming, deleting and moving a folder
Getting a diagram revision as JSON representation (also: get diagram attributes)
Getting a diagram revision as BPMN 2.0 XML / SVG / PNG representation
Creating, renaming, deleting, moving and copying a diagram
Updating a diagram by adding a new revision as JSON representation
Full-text search for keywords in the repository
Approving a diagram revision for publishing in the process portal POST
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!