Skip to main content

Business Processes and Business Logic

This topic describes the kinds of logic supported in business processes in interoperability productions.


Business processes are the middle part of any production. They accept requests from host classes inside the production —business services or business processes—and then either process the requests or relay them to other host classes inside the production for processing.

InterSystems recommends the following division of labor within a production: Use business services to receive input from outside of the production and simply forward it (as messages) into the production. Use business processes to handle any needed business logic. Use business operations to receive messages from within the production and simply generate output for destinations outside of the production. That is, centralize the business logic within the business processes.

Accordingly, InterSystems IRIS® provides extensive support for complex logic within business processes, and this logic can be defined by nontechnical users.

First, a business process can contain its own complex logic. It can also use the following reusable items:

  • Data transformations calculate and apply changes to message contents.

  • Business rules change the behavior of business processes at decision points or send messages to specific destinations based on message type, message contents, or where the message came from.

InterSystems IRIS provides tools that enable nontechnical users to define business processes, data transformations, and business rules. These users can view and edit the logic visually without programming or diagramming skills.

Note that there is overlap among the lower-level options available in business processes, data transformations, and business rules. For a comparison, see Comparison of Business Logic Tools. It is worthwhile to review these options before deciding how to organize your logic.

Types of Business Processes

InterSystems IRIS provides the following general types of business process:

A production can include any mix of these business processes.

The following shows a partial example of a BPL business process, as displayed in the BPL editor:

Business process in the BPL Editor that includes various actions and decision points

Data Transformations

A data transformation creates a new message that is a transformation of another message. You can invoke a data transformation from a business process, another data transformation, or a business rule.

When you transform a message, your data transformation swaps out the old message body object (the source) and exchanges it for a new one (the target). Some of the transformations that occur during this process can include:

  • Copying values from properties on the source to properties on the target.

  • Performing calculations using the values of properties on the source.

  • Copying the results of calculations to properties on the target.

  • Assigning literal values to properties on the target.

  • Ignoring any properties on the source that are not relevant to the target.

A data transformation is a class based on Ens.DataTransformOpens in a new tab or its subclass, Ens.DataTransformDTLOpens in a new tab.

  • If you use Ens.DataTransformDTLOpens in a new tab, the transformation is called a DTL transformation. To create these transformations, you use a graphical editor that is intended for use by nontechnical users. For details, see Developing DTL Transformations.

    The name of these transformations comes from DTL (Data Transformation Language), which is the XML-based language that InterSystems IRIS uses to represent their definitions.

  • If you use Ens.DataTransformOpens in a new tab, the transformation is a custom transformation. In this case, you must use a supported IDE. For information on defining these, see Developing Productions.

The following shows an example DTL transformation, as seen in the DTL editor:

DTL Editor section showing the mappings between a sample source message type and target message type

Business Rules

A business rule (also known as a business rule set) can return a value, transform data, or both. You can invoke a business rule from a business process or from another business rule.

A business rule is a class based on Ens.Rule.DefinitionOpens in a new tab. You define these in the Management Portal, which provides a visual editor for the benefit of nontechnical users. The following shows a partial example, as seen in this editor:

Business rule set that determines whether the send a message to a file operation

For details, see Developing Business Rules.

FeedbackOpens in a new tab