Imported from previous forum
Hi all,
the specs are not very strict in the area of FIX routing. There are some 4 x 3 tags:
[OnBehalfOf|Sender|Target|DeliverTo][CompID|SubID|LocationID]
but no definition how routing beyound 3rd party routing would work.
According to some thread about four party routing answered by Scott Atwell, the usage of the above IDs may be subject to interpretation.
Let’s use this notation:
“(” OnBehalfOfIDs “)” SenderIDs “->” TargetIDs “(” DeliverToID “)”
where
*IDs := *CompID [ “.” *SubID [ “.” *LocationID ] ] ]
Example:
(A.x)B…l1->C(D.y.l2)
Basically, I see two different ways to route messages:
-
hop-to-hop routing
hop1: A->X©
hop2: (A)X->CHere the IDs are shifted left.
I cannot see how to progress beyound hop2 without supplying
extra information. -
inter-net analogy
hop1: A->X©
hop2: (A)X->Y©
hop3: (A)Y->Z©
hop4: (A)Z->CHere the end-to-end address (A) and © stay the same.
Instead of A->… or …->C we could write (A)A->… or
…->C©
As in the internet protocol, the (A) and © are the source
and target addresses, while the X, Y, Z are the local addresses
(e.g. MAC addresses in the case of the ethernet).
For every hop, we need fixed routing tables saying:route to C via X
route to C via Y
etc.
IMHO, variant 2 is more flexible and easier to understand because it is based on the well-understood internet routing.
In addition, we could extend it further with analogies to dynamic routing, metrics, NAT etc.
What do you think? Is this kind of interpretation supported by the current FIX specs? Does it sound feasible?
Any comments are very appreciated.
Regards, Jörg