Forums

FpML Discussion

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #1879
    andykey
    Spectator

    ORIGINAL QUESTION Imagine that your messaging system can deliver messages in a different order to that in which they were sent. Is it possible to operate the FpML protocol correctly over such a system? Q1: Does anyone actually operate FpML over an unordered transport? Q2: If so, how does the receiver reconstruct the order, or cope with this with compensatory actions? I don’t know the FpML protocol in any detail. But I do know protocols able to cope with unordered transports typically have sequence numbers (to spot gaps) or version numbers and complete copies of all the state in every message (so as to be able to pick the latest version, and not accidentally use a superceded one). Q3: Is it possible that the sender could send something like a lifecycle of messages something like [trade-start, update-trade, trade-completion] and if the receiver got [trade-start, trade-completion] it would act, and then if it got the update-trade it would have (potentially nasty) compensatory actions to take. UPDATED http://www.fpml.org/spec/fpml-4-4-12-rec-1/html/fpml-4-4-intro.html#s3.1.2.1 says “Messages may arrive in any order at the receiving messaging endpoints. However the message must be delivered before the maximum duration of time permitted. For each FpML document sent, sixty seconds is the maximum duration of time in within which all its preceding FpML documents must be sent.” So the receiver simply buffers for 60s. How this is supposed to be robust in the face of transient infrastructure failures and failover events I’m not sure. So Q1 and Q3 still stand. And I add Q4: Even if all predecessors of a message are there are waiting 60s, how is the order of the predecessors reconstructed? Could there be a business impact if this is inferred incorrectly? {{{ Andy

    #1881
    mgratacos
    Keymaster

    Hi Andy, Yes, there are people using FpML over an unordered transport. In version 5.0, a new element called sequenceNumber was introduced to solve the problem you are describing, which is still present in the 4.x versions. Kind Regards, Marc

    #1883
    andykey
    Spectator

    So if I read you right: It is not possible to operate FpML 4-x over an unordered transport. It is possible to operate FpML 5-x over an unordered transport, using sequenceNumber. {{{ Andy

    #1885
    mgratacos
    Keymaster

    Yes, that’s right.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.