msg_ + <ShortMessageType>
var_ + <Name>
cor_ + <Name>
par_ + < Name>
roleLink_ + <Name>
Note: These objects are special BizTalk objects. They are used in
different language context and sometime they use different language syntax. Prefixes
help to differentiate the objects in the XLang expressions.
<prefix> + <Name>
The Port objects are the only objects which can
be seen outside orchestration. We see them while bind orchestration with Ports,
not the orchestration Ports but Ports created in the BizTalk Administration
Console. Sometimes the orchestration Ports are named as Logical Ports and the
Ports as the Physical Ports. Here
are some considerations about this ambiguity with Port names.
Send-receive prefixes help while Orchestration is
binding with Ports. Ports with different Communication pattern are using different
Example: S_ OrderAck.
<ArtifactName> + “_type”
We can see orchestration types in the Orchestration View window in Types. They
are: Port, Multi-part Message, Correlation and Role Link Types. We can use one
suffix the “_type” for all different types because different types are
seen only in the different lists and never mixed. For instance, we can never
see the port types together with message types.
Controversial: Suffixes for types work better than
prefixes, because types are mostly used in the drop-down lists not in the XLang
Shapes are too small to display long names (only
12-18 characters are visible).
We have to hover a mouse over a shape or click
shape to show Properties window to “understand” this shape, to
understand what message it is processed.
Shapes have names, but names are not the “variable
names”, not identifiers. They are descriptions (excluding the Port shapes names,
which have not Name parameter but Identifier and Description parameters). Shape
names are used only for description not as XLang variable identifiers. Shape
names can be long and can include any symbols as spaces, dots, etc.
Icons of shapes give us the useful information.
Do not repeat the “icon information” by words. For example, we can a name a
Construction shape as “Construct OrderAck” or as “OrderAck”. Last variant give
us more clear and short definition because we have the Construction icon +
Shape names are used mainly in Orchestration
Editor (excluding the Port shapes names). We don’t need the “well-sorted” names,
so we don’t need to use prefixes, because the main purpose of the prefixes is
creating well-sorted lists.
Group shape is a scalable shape. Nesting other
shapes to a Group shape can make a long description visible. Group shape will
display as much text as you want. Group shapes add a lot of documentation value
to the orchestration.
Rules for shapes
Whenever it is possible use the short
MessageType as a shape name.
Do not repeat the type of shape icon by word.
Feel free to use spaces and any other symbols inside
the shape names.
Feel free to repeat the shape names.
Note: Purpose of the
orchestration and the most of the shapes is in processing the messages. We can
unambiguously describe the messages by the message type. A message type gives
us the main information about a message. That is why in the most cases using
the message type as the shape name gives us the main information about message
flow, about whole orchestration processing.
Example: Send shape with name “OrderAck” means “send OrcherAck
Controversial: When exception is thrown from a shape,
the error description includes a name of the shape. When we use MessageType as
a name of shapes, many 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”