An orchestration implementing a business process typically receives some documents and sends others. Part of the information in the received documents is often transferred to the sent documents, perhaps transformed in some way. For example, an order fulfillment process might receive an order for some number of items, and then send back an acknowledgment indicating that the order was sent. Information from the order, such as the name and address of the purchaser, might be copied from fields in the received order to fields in the order acknowledgment. You can use BizTalk Mapper to define a transformation—a map—from one document to the other.
You create a map by expressing a graphical correlation between two XML schemas that defines a relationship between elements in those schemas. The Worldwide Web Consortium (W3C) has defined the Extensible Stylesheet Language Transformation (XSLT) as a standard way to express these kinds of transformations between XML schemas, and maps in BizTalk Server 2004 are implemented as XSLT transformations.
The transformation defined in a map can be simple, such as copying a name and address from one document to another. You can express a direct data copy by using a link, which is shown in BizTalk Mapper as a line connecting the appropriate elements in the source schema with their counterparts in the destination schema. You can also specify more complex transformations by using functoids. A functoid is a chunk of executable code that can define arbitrarily complex mappings between XML schemas. BizTalk Mapper represents a functoid as a box on the line connecting the elements being transformed. Because some of those transformations are fairly common, BizTalk Server 2004 includes a number of built-in functoids. These are grouped into categories.
The following shows a partial list of the functoids in BizTalk Server:
- Mathematical functoids. Perform operations such as adding, multiplying, and dividing the values of fields in the source document and storing the result in a field in the target document.
- Conversion functoids. Convert a numeric value to its ASCII equivalent and vice-versa.
- Logical functoids. Determine whether an element or attribute should be created in the target document based on a logical comparison between specified values in the source document.
- Cumulative functoids. Compute averages, sums, or other values from various fields in the source document, and then store the result in a single field in the target document.
- Database functoids. Access information stored in a database.
You can also create custom functoids directly in XSLT or by using .NET languages like C# and Visual Basic .NET. Functoids can also be combined in sequences, cascading the output of one into the input of another.
It is essential to be able to define the XML schema of a document and to map information across documents with different schemas. BizTalk Editor and BizTalk Mapper address these two functions. In addition, you must specify the business process that will use the schemas and invoke the maps. This process is described in Defining Business Processes: Orchestration Designer.
See Also
Creating Maps Using BizTalk Mapper
Workflow for Using Orchestrations
Developing Orchestrations
Orchestrations (BizTalk Server Samples Folder)
To download updated BizTalk Server 2004 Help from www.microsoft.com, go to
http://go.microsoft.com/fwlink/?linkid=20616.
Copyright © 2004 Microsoft Corporation.
All rights reserved.