Data Flow Definition

On the second page of the XLANG schedule diagram, called Data, there is not much going on if the Business Process page is still empty. In fact, the Data page fills up only if you add and implement ports to the business process.You can access the Data page by clicking on the Data tab at the bottom of the BizTalk Orchestration Designer window.You are not able to make any changes to the data entities on this page, except for the Constants. If you want to make changes, you need to modify the port properties.The Data page must be used to define the flow of data from one message to one or more other messages. This data flow information is needed to correctly populate messages during the execution of the business process flow. As mentioned earlier, the flowchart itself does not carry any data, so if you want an action to send out data, you have to "tell" BizTalk where to get if from.This is where the Data page comes into play; from here, you can draw arrows indicating the source of a message.When you look at a data page of an existing drawing (Figure 7.11), you see a number of Communication shapes that represent ports and the message the data page will exchange. In Figure 7.11, you see that the document that is received over port POReq is used as input ("populates") for the ports SendDenial, SendApproval, and WriteToFile.The compiler will report an error if you want to send a message that has no origin. However, if you remove the arrows and recompile the drawing, you will receive no error message, because the compiler does not check component parameters. Always draw population arrows and double-check them so that you will not be surprised by runtime errors. The same is true for the parameter WriteToFile_In.FileName.The only reason that the tutorial runs is that the scripting component assigns a default value to FileName.

The relevance of the population connections is checked during compilation, based on the flowchart. A connection is relevant if the source exists prior to the moment the message is populated. If this is not the case, an error message will occur.The compilation will only check to see if the message is populated, it does not check to see if the content or message types correspond. All in all, you need to pay a lot of attention to the data flow, not only based on the way you populate messages, but also on the way you integrate it with the Messaging Services.

We detail the different Communication shapes on the Data page in the section "Flowchart, Communication, and Implementation Shapes."

Figure 7.11 A BizTalk Data Flow Definition, Buyer2 *

Figure 7.11 A BizTalk Data Flow Definition, Buyer2 *

Was this article helpful?

0 0

Post a comment