[last update: 2015-02-12]
Always follow the KISS principle in names. It doesn't make sense to standardize names only for sake of standardization. It is easy to create a complicated convention, it is hard to create a simple convention. We get complexity for free. These conventions do not limit you in naming the most of the shapes. Only several shape names are defined and they are defined in the minimalistic way. As a result, we can read and write the orchestrations without much ceremony.
There is a big difference between names inside orchestration and names of other BizTalk artifacts. Many BizTalk artifacts work in a global namespace hence they required complex hierarchical names. Names inside orchestration are mostly limited to the project namespace, hence hierarchical names can be thrown away, the complex naming conventions can be replaced by simple rules. Moreover, name consistency rules should not be forced too hard.
<Message> =: msg_ + <MessageLogicalName> <Variable> =: var_ + <Word> <CorrelationSet> =: cor_ + <Word> <OrchestrationParameter> =: par_ + <Word> <RoleLink> =: roleLink_ + <Word> <PortIdentifier> =: <prefix>_<Name> where <prefix> is S or R or SR or RS for Communication pattern: Send, Receive, Send-Receive (Solicit-Response), Receive-Send (Request- Response)
<PortType> =: <Multi-partMessageType> =: <CorrelationType> =: <RoleLinkType> =: <LogicalName>_type
<Receive> =: <Send> =: <Constuct> =: <MessageLogicalName> <Transform> =: <Assignment> =: from <MessageLogicalName>
Note: When an exception is thrown from a shape, the error description includes a name of the shape. When we use MessageType as a name of shapes, several shapes can get the same name. So, if we want to differentiate shape names for debugging we could use numbers or single letters in the end of names. Example: “OrderAck 2”.
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.