Fast and Furious Migration of Content to SAP Signavio using API & scripting

Fast and Furious Migration of Content to SAP Signavio using API & scripting

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

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

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

  1. Define your folder structure for managing your models according to your architecture
  2. Define your top-level entry models and hierarchies (process levels)
  3. 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 toCross-reference dictionary itemsLink BPMN activities to dictionary items and assign collapsed processes to related BPMN modelsBeautify/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.

Raw BPMN of an End-to-end Scenario

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:

Result of mapping BPMN activities to dictionary items 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!


要查看或添加评论,请登录

bpExperts GmbH的更多文章

社区洞察

其他会员也浏览了