In my mind, the topic of your paper is closely related to the
questions I've been asking about "how do you name an MSH" or "how do
you name a party". I think there has been some confusion about what
we mean by a "party": is "ABC Co" is a party, or is "Order Management
MSH" a party? Marty seemed to be suggesting the latter, to which I
replied that then a "partyId" would not be an identifier of a "party".
It looks to me like you're assuming:
-- ABC Co. is one "party". Order Management MSH is not a "party".
-- A "party" is identified by a "partyId" (i.e. each partyId denotes
one specific "party".
-- There is one CPA, between the "parties", so there isn't a separate
CPA for the different paths shown in your figure 1-1.
In your paper, you suggest using the Service and Action fields in
order to figure out how to route the message. It seems to me that
there is a tacit assumption behind this suggestion, which I think
needs to be made explicit. It assumes that you never have two
distinct MSH's within one "party" that both implement the same
Service/Action.
Is this really a safe assumption? If a "party" might be a large
corporation, the corporation could have many divisions, each of which
provides the service "Purchasing" with the action "Submit PO".
It seems to me that Service & Action are an assertion about *what* to
do, not *who* is doing it. For routing, we want to use "who-like"
information.