# US 8,571,914 B2 · Executing a business process by a standard business process engine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,571,914 B2
- Document ID: US8571914B2
- Status: Granted
- Kind: B2
- Application number: 13/554,358
- Filed: 2012-07-20
- Published: 2012-11-15
- Granted: 2013-10-29
- Earliest claimed: 2011-04-12
- Assignees: International Business Machines Corporation
- Applicants: Gerd Breiter; Matthias Kloppmann; Thomas Spatzier
- Inventors: Gerd Breiter; Matthias Kloppmann; Thomas Spatzier
- Web page: https://patentgrep.com/patent/US8571914B2

## CPC

- G06Q 10/06316: {Sequencing of tasks or work}
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/0633: Workflow analysis
- G06F 8/20: Software design
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Executing a business process can include providing a context data object including a payload data structure for storing a payload data and automatically splitting an annotated context data object into one or more utility data objects. Responsive to creating a second utility data object, a pre-processing task can be injected into the business process, the pre-processing task using a copy of a first mapping to read data from the predefined data structure instance and to store the read data as payload data in the payload data structure of the first utility data object. Responsive to creating a third utility object, a post-processing task can be injected into the business process. The post-processing task can use a copy of the second mapping to write the payload data of the first utility data object to elements of a predefined data structure instance.

## Claims

### Claim 1

A method of executing a business process by a standard business process engine, the method comprising:
providing a context data object annotated with mapping information, the context data object including a payload data structure for storing a payload data;
automatically splitting said annotated context data object using a processor into one or more utility data objects, each utility data object conforming to a standard data object definition, the one or more utility data objects including:
a first utility data object comprising the payload data structure;
a second utility data object when the context data object is annotated with a first mapping, wherein said second utility data object comprises a copy of the first mapping; and
a third utility data object when the context data object is annotated with a second mapping, wherein said third utility data object comprises a copy of the second mapping;
responsive to creating the second utility data object, injecting into a business process a pre-processing task, the pre-processing task using the copy of the first mapping to read data from the predefined data structure instance and to store the read data as payload data in the payload data structure of the first utility data object; and
responsive to creating the third utility object, injecting into the business process a post-processing task, the post-processing task using the copy of the second mapping to write the payload data of the first utility data object to elements of a predefined data structure instance.

### Claim 2 (depends on 1)

The method of claim 1, wherein the payload data conforms to a standard data object definition for being processable by the standard business process engine; and
wherein the standard data object definition does not comprise a specification of the predefined data structure.

### Claim 3 (depends on 1)

The method of claim 1, wherein said context data object is annotated with the first mapping and the second mapping;
wherein the first mapping connects elements of the predefined data structure to elements of said payload data structure;
wherein the second mapping connects elements of said payload data structure to elements of said predefined data structure; and
wherein the annotated context data object does not conform to the standard data object definition.

### Claim 4 (depends on 1)

The method of claim 1, wherein the predefined data structure instance is an instance of a schema.

### Claim 5 (depends on 1)

The method of claim 1, wherein the predefined data structure instance acts as I/O interface of a service and wherein the predefined data structure is an instance of a schema, said schema being processable by the service.

### Claim 6 (depends on 1)

The method of claim 1, wherein the payload data structure is an XML data structure and wherein the standard data object definition is an XML schema.

### Claim 7 (depends on 1)

The method of claim 1, wherein the standard business process engine is a program operable to interpret and execute only business processes having been defined in BPMN and/or BPEL.

### Claim 8 (depends on 1)

The method of claim 1, further comprising deploying a business process definition to a runtime environment within which the business process is executed, the business process definition being a document comprising one or more task specifications, each task specification specifying a task to be executed by the standard business process engine when executing the business process, wherein the injection of the pre-processing task and/or the post-processing task is executed during the deployment of the business process definition.

### Claim 9 (depends on 8)

The method of claim 8, wherein injecting a pre-processing or a post-processing task into the business process respectively comprises inserting an additional task specification into the business process definition.

### Claim 10 (depends on 8)

The method of claim 8, wherein the runtime-environment comprises a process rewriting module, wherein the splitting of the annotated context data object and the injection of the pre-processing task or the post-processing task is executed by the process rewriting module, and wherein the process rewriting module is implemented as a separate module which is interoperable with the standard business process engine and which can be reversibly installed as a component of the runtime environment.

### Claim 11 (depends on 8)

The method of claim 8, wherein the pre-processing task or the post-processing task are created automatically by the process rewriting module during the deployment of the business process definition into the runtime environment by analyzing the business process definition.

### Claim 12 (depends on 8)

The method of claim 8, wherein the runtime environment is a service container.

### Claim 13 (depends on 8)

The method of claim 8, wherein the business process comprises a plurality of first tasks, the computer-implemented method further comprising steps to be executed by the process rewriting module, said steps comprising:
automatically determining at least one of the plurality of first tasks having assigned the context data object;
using the at least one determined first task as the original task for processing the payload data; and
creating the pre-processing task or the post-processing task in dependence on the presence of the first or second mapping in the assigned context data object.

### Claim 14 (depends on 8)

The method of claim 8, wherein the runtime environment comprises a mapping processor module for exchanging the payload data between said runtime environment and the standard business process engine during execution time of the business process and wherein the mapping processor module reads the payload data from the predefined data structure by:
analyzing the copy of the first mapping;
reading the payload data from the predefined data structure instance; and
writing the read payload data into the payload data structure of the first utility data object according to said analyzed copy of the first mapping.

### Claim 15 (depends on 14)

The method of claim 14, wherein the mapping processor module writes payload data of the payload data structure to the predefined data structure by:
analyzing the copy of the second mapping;
reading the payload data from the payload data structure of the first utility data object; and
writing the read payload data into the predefined data structure instance according to the said analyzed copy of the second mapping.
