Introducing Ensemble
Business Processes and Business Logic
[Back] [Next]
Go to:

This chapter describes the kinds of logic supported in business processes. It includes the following sections:

Business processes are the middle part of any production. They accept requests from host classes with inside the production — business services or business processes — and then either process the requests or relay them to other host classes inside Ensemble 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, Ensemble 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:
Ensemble 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 in Developing Ensemble Productions. It is worthwhile to review these options before deciding how to organize your logic.
Types of Business Processes
Ensemble 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:
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:
A data transformation is a class based on Ens.DataTransform or its subclass, Ens.DataTransformDTL.
The following shows an example DTL transformation, as seen in the DTL editor:
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.Definition. 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:
For details, see Developing Business Rules.