How Infinity Process Platform works

This section describes some of the key concepts of Infinity Process Platform (IPP) in the context of its use for integration purposes.

Data Structure Modeling

IPP allows you to model Structures Data Types to represent e.g.

Structured Data Type Definition
Figure: Structured Data Type Definition

Structured Data Types can be either

Structured Data Types can be defined manually or by importing XSD files.

IPP also has a pluggable mechanism for adding additional properties to all fields of a data structure, e.g. to control

Process Modeling

IPP allows you to create Process Models and execute these at runtime.

Process Models define graphically how Activities like

are executed - either sequentially or in parallel. In IPP process models are defined using the Business Process Modeling Notation (BPMN).

The control flow via BPMN allows to model sequential execution

Sequential Execution
Figure: Sequential Execution

decisions or parallel execution

Parallel Execution
Figure: Parallel Execution

Process modeling for integration purposes mainly deals with the invocation of services, e.g.

However, human intervention may also be used for cases where the straight-through processing via service orchestration fails, e.g. because of

Application Integration

IPP allows the definition of Services and Application building blocks to be invoked by Activities during the execution of a Process. IPP provides a set of standard technology connector e.g. for

An important role plays the integration with Apache Camel: arbitrary Camel routes can be invoked directly from within an IPP Process Model and this way ensure connectivity via simple XML configurations leveraging the Connectivity capabilities of Apache Camel.

Camel Application Type
Figure: Camel application type

Once Application building blocks are configured, these can be reused across different Process Models. Hence, sets of these Applications can be shipped as a library specific e.g. for a certain product connectivity needs to be provided for.

Data and Data Mappings

In addition to describing the control flow of performing Activities sequentially or in parallel, Process Models also define the Data being used during the execution of a Process as well as the Data Flow between Activities.

Data Transformations

The conversion of one or more source data structures into one or more target data structures can be modeled as a Message Transformation Application. Message Transformation Application can be reused like services wherever a specific transformation needs to be performed.

Message Transformations allow to define simple mappings between fields of the source data structures and fields of the target data structures but also to define more complex logic like format conversions. Complex mapping logic can be defined in JavaScript, whereby additional JavaScript and Java libraries can be predefined to be available for use in these scripts.

Message Transformation
Figure: Message Transformation

Process Interfaces

Sometimes, it is useful to view the execution of a complex process as the execution of a single, composite service to perform a business function. IPP allows you to expose Process Definitions as Process Interfaces with a well defined API with input and output parameters. Process Interfaces can be directly invoked as Web Services or REST Services with a corresponding parameter set.

Process Interface definition
Figure: Process Interface definition