Developing DTL Transformations
Introduction to DTL Tools
[Back] [Next]
Go to:

This chapter introduces the tools that Ensemble provides to enable you to develop and test DTL transformations. It contains the following topics:

A data transformation creates a new message that is a transformation of another message. It is common for a production to use data transformations, to adjust outgoing messages to the requirements of the target systems.
A DTL transformation is a transformation that you create and edit the transformation visually in the DTL editor, available in either the Management Portal or Studio. The DTL editor is meant for use by nontechnical users. The term DTL represents Data Transformation Language, which is the XML-based language that Ensemble uses internally to represent the definition of a transformation that you create in this editor.
You can invoke a data transformation from a business process, another data transformation, or a business rule. Note that there is overlap among the options available in business processes, data transformations, and business rules. For a comparison, see Comparison of Business Logic Tools in Developing Ensemble Productions.
Introduction to the Data Transformation Builder Page
The [Ensemble] > [Data Transformation Builder] page enables you to create, edit, and compile DTL transformations.
To access this page in the Management Portal, click Ensemble, click Build, click Data Transformations, and then click Go.
When you display this page, it shows the last transformation you opened in this namespace, if any. This page has the following areas:
If you open a DTL transformation class in Studio, Studio displays a similar version of this page. You can view and edit the XML definition of the Data Transformation by selecting View other code from the Studio Data Transformation Builder page.
Introduction to the DTL Diagram
The following shows the DTL diagram for the sample DTL class Demo.ZenService.Dtl.OperationToResponseReport, which is in the ENSDEMO namespace:
Note the following points:
The following shows another example (not included in ENSDEMO):
In this case, the source and target classes are more complex. Note the following additional points:
The following shows the DTL diagram for another sample, Demo.HL7.MsgRouter.ORMLastNameTransform, which is also in the ENSDEMO namespace. In this case, the source and target messages are virtual documents (which are discussed in Ensemble Virtual Documents).
Notice that all the properties displayed are either collection properties (shown with parentheses at the ends of their names) or contain sub-properties. It is common for virtual documents to be complex as shown in this example. Also note that in the column header, below each class name, there is an additional label. These labels indicate the DocType of the source and target messages. For information on DocType, see Ensemble Virtual Documents.
Controlling the Display
You can control the display of the Data Transformation Builder page in multiple ways:
Introduction to the Data Transformation List Page
The [Ensemble] > [Data Transformation List] page lists the data transformation classes defined in the current namespace. To access this page, click Ensemble, List, Data Transformations and then click Go.
This page lists two kinds of transformations:
To use this page, select a transformation class and then click one of the following commands in the ribbon bar:
You can also export and import these classes as you do any other class in Ensemble. You can use the [Home] > [Globals] page of the Management Portal or use the Export and Import commands on the Tools menu in Studio.
Other Tools
You can also invoke a data transformation programmatically, which can be useful for testing purposes. For details, see the chapter Testing Data Transformations.”
Also, because data transformations are classes, you can edit them and work with them in the same way that you do any other class. For example, you can edit them in Studio, although the Ensemble documentation does not discuss this in any detail.
Using Data Transformations
You can invoke a data transformation from the following parts of a production:
This section applies to both DTL transformations and custom transformations.