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:
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:
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.