The choreography diagram provides various ways to model the flow of data in the system.
Message formats on flows – [Analysis language and ebXML language only] to define an exchange format for large amounts of data that transit between processes. Message formats can be useful for web services, and are usually defined by a DTD or an XSD (see Message Formats (BPM)).
In the following example, the Order to Ship flow is associated with the USPS Packet message format to specify the format of the data exchanged between the Process Order process and the Ship US Postal Ground process:
Data on flows – [Analysis language and DFD language only] to model data (see Data (BPM)) without specifying its format. Data can be associated with objects defined in a PDM, OOM, or CDM (see Exchanging data with other PowerDesigner models).
In the following example, the Order to Ship flow conveys the Account ID and Customer ID data from the Process Order process to the Ship US Postal Ground process:
Data CRUD – [Analysis, DFD, and ebXML languages only] to specify the actions (create, read, update and delete) a process can perform on data (see Working with Data and Resource CRUD Matrices).
In the following example, the Data CRUD Matrix shows that the Create Order process Reads and updates the Customer ID data, the Check Customer Account process creates the Account ID data, and so on:
Input/output messages on processes – [orchestration languages only] to specify data exchange between partners (see Example: Using the Execute operation implementation type). No data is specified on flows between processes when modeling with orchestration languages.
In the following example, the ProcessOrderRequest process is implemented by a ReceiveOrder operation, which receives an "Ininformation" message from a partner and replies with an "Outinformation" message: