Freigeben über


Hierarchical naming convention for messaging artifacts

Abstract: the use of a hierarchical naming convention allow to group messaging artifacts in a tree-like structure.

note on conventions
I’ve seen many different naming conventions for BizTalk, and I must admit that I haven’t found any suitable for me, especially on messaging ports. Some conventions rely on functional rules, some on technical rules. They add readability but, in my opinion, they do not solve the problem of having lots of different elements in the same plain list without any order or structure.
Here are some links of these conventions:

Scott Colestock

Scott Woodgate

MSDN Article

 

using a prefixes to keep related ports together
One rule that I’ve always followed is the <BizApp> prefix, so the ports corresponding to the same application are all together in the BizTalk Explorer port list. In the case of one-to-one binding, it’s also useful a <OrchName> prefix. While these solutions add a simple level of grouping, it’s not the "panacea".

Brand New Hierarchical naming convention
During a re-reading session of Hophe’s Enterprise Integration Patterns (some king of bible for me:-), I’ve found a nice idea, about using a path-similar naming convention for messaging channels and artifacts. The naming convention used in the book if something like MyCorp/Prod/OrderProcessing/NewOrders

I’ve been thinking in a useful pattern for naming BizTalk messaging ports using slashes, and I’ve decided to use this:

<BTSAppName_or_System>/<PortType>/<Partner_or_AppName>/<Operation>[/<(Request_or_Response) or (MessageType)>]

example:
So, in my current project (called for some  reason CRS), I’m integrating two operations (Search and Booking ) with two external partners. One operation use fire-and-forget style, and the other is an async request/response.

Send ports
CRS/SendPorts/PartnerOne/Search
CRS/SendPorts/PartnerTwo/Search
CRS/SendPorts/PartnerTwo/Booking/Request

Receive ports and locations
CRS/ReceivePorts/PartnerTwo/Booking/Response
CRS/ReceiveLocations/PartnerTwo/Booking/Response
 

Here is the BizTalk Explorer screenshot:

Hierarchical Naming Convention Screenshot