Imported from previous forum
he EMEA/Americas Global Technical Committee reviewed the Application Sequencing and Recovery Proposal. The specification now enters into a 15 day public comment period in which public review and feedback is encouraged. Once the Public Comment period closes, the Global Technical Committee will meet to review public comments before final approval.
Please post feedback, comments, and questions as replies to this discussion thread.
A link to the Application Sequencing and Recovery Proposal (MS Word format) can be found at
The Public Comment Period closes on November 23rd, 2007
[ original email was from Rikard Hedberg - rikard.hedberg@omxgroup.com ]
Comments:
-
Chapter 4.7 mentions ApplFeedID (1180) - but the field is proposedly renamed to ApplID (1180) according to revision notes and Message tables. Renaming of existing fields rarely occur, is it considered OK as the field is introduced in another post-5.0 extension pack?
-
The third paragraph of 4.7 mentions “Session level should be exempt from using these fields …”. Assume the text should read “Session level messages should be…” (i.e. add “messages” to sentence).
-
The last paragraph of chapter 4.7 has a bullet point of “2. Request to see the AppLastSeqNum sent from an application”. This raises the question of support for “heartbeats” at the application level and if there is a need for an “end-of-file” indication per application. Relevant especially in cases where multiple feeds from a a set of publishers are consolidated into a single one. Repeating queries to verify that no new last message is missed seems a doubtful design metaphor.
-
Chapter 6 in the bullet list mentions “ApplFeedID (1180)”, should be “ApplID (1180)” if the field is renamed
-
I still think the use of “Appl” is confusing as ApplVerID (1128) and other session level fields including “Appl” refers to an entirely different concept than the “Appl” used in this proposal. (I know, I don’t have a better proposal)
-
The rules of the fields in the Standard Header are not complete. ApplSeqNo, ApplLastSeqNo and ApplResendFlag e.g. are reasonably all conditionaly required on the ApplID being specified.
-
I do think Field enumerations should be specified in the message tables, they should be in the Data Dictionaryy only unless there are specific limitations related to when a field is used in a particular message.
-
The Logon message does not seem to include any changes, remove message from document.
-
ApplID (1180) does not have a field comment in the Data Dictionary section. Maybe there is one in the extension pack introducing the field - if not add one.
Regards
Rikard
Rikard,
Thank you for your comments.
We intentionally avoided the concept of an application sequence heartbeat in order to avoid recreating session-like semantics. The Application Message Request allows the last application sequence number to be requested in essense providing the status of the application. The session level heartbeat continues to serve the purpose of letting the parties know that the session is still alive. If initial implementations show a need a heartbeat can be added in a subsequent extension.
“Appl” is the standard FIX abbreviation for Application. You are correct that the fields using this prefix have very distinct functions. Perhaps ApplVerID should be renamed VerApplID.
The ApplSeq fields state “Used only if application sequencing is in effect”. This sounds like a conditional requirement to me. However, I have added a condition remark as you suggest
I think that when introducing a new message with new fields it is helpful to specify the enumerations at the message level.
Your other suggested formatting changes have been taken into account. A new version will be posted shortly.
Matt Simpson
Comments:
Chapter 4.7 mentions ApplFeedID (1180) - but the field is proposedly
renamed to ApplID (1180) according to revision notes and Message
tables. Renaming of existing fields rarely occur, is it considered OK
as the field is introduced in another post-5.0 extension pack?The third paragraph of 4.7 mentions “Session level should be exempt
from using these fields …”. Assume the text should read “Session level
messages should be…” (i.e. add “messages” to sentence).The last paragraph of chapter 4.7 has a bullet point of “2.
Request to see the AppLastSeqNum sent from an application”. This
raises the question of support for “heartbeats” at the application
level and if there is a need for an “end-of-file” indication per
application. Relevant especially in cases where multiple feeds
from a a set of publishers are consolidated into a single one.
Repeating queries to verify that no new last message is missed
seems a doubtful design metaphor.Chapter 6 in the bullet list mentions “ApplFeedID (1180)”, should be
“ApplID (1180)” if the field is renamedI still think the use of “Appl” is confusing as ApplVerID (1128) and
other session level fields including “Appl” refers to an entirely
different concept than the “Appl” used in this proposal. (I know, I
don’t have a better proposal)The rules of the fields in the Standard Header are not complete.
ApplSeqNo, ApplLastSeqNo and ApplResendFlag e.g. are reasonably all
conditionaly required on the ApplID being specified.I do think Field enumerations should be specified in the message
tables, they should be in the Data Dictionaryy only unless there
are specific limitations related to when a field is used in a
particular message.The Logon message does not seem to include any changes, remove
message from document.ApplID (1180) does not have a field comment in the Data Dictionary
section. Maybe there is one in the extension pack introducing the
field - if not add one.Regards
Rikard
[ original email was from Henrik Hedlund - henrik.hedlund@omxgroup.com ]
Matt,
Would you consider at least adding a field that flags the last message for a certain ApplID? That would be helpful in reducing the amount of polling which may occur when a certain “feed” goes quiet. It would also help in a business case I’m currently working on where there is a need to group certain reference data or market data messages into a “batch”. Reception of the last message in that batch would trigger actions at the recipient. Application Sequencing would fit well if only I had a end-of-batch flag.
Regards,
Henrik Hedlund
Rikard,
Thank you for your comments.
We intentionally avoided the concept of an application sequence
heartbeat in order to avoid recreating session-like semantics. The
Application Message Request allows the last application sequence number
to be requested in essense providing the status of the application. The
session level heartbeat continues to serve the purpose of letting the
parties know that the session is still alive. If initial implementations
show a need a heartbeat can be added in a subsequent extension.“Appl” is the standard FIX abbreviation for Application. You are correct
that the fields using this prefix have very distinct functions. Perhaps
ApplVerID should be renamed VerApplID.The ApplSeq fields state “Used only if application sequencing is in
effect”. This sounds like a conditional requirement to me. However, I
have added a condition remark as you suggestI think that when introducing a new message with new fields it is
helpful to specify the enumerations at the message level.Your other suggested formatting changes have been taken into account. A
new version will be posted shortly.Matt Simpson
Comments:
Chapter 4.7 mentions ApplFeedID (1180) - but the field is
proposedly renamed to ApplID (1180) according to revision notes and
Message tables. Renaming of existing fields rarely occur, is it
considered OK as the field is introduced in another post-5.0
extension pack?The third paragraph of 4.7 mentions “Session level should be exempt
from using these fields …”. Assume the text should read “Session
level messages should be…” (i.e. add “messages” to sentence).The last paragraph of chapter 4.7 has a bullet point of “2. Request
to see the AppLastSeqNum sent from an application”. This raises the
question of support for “heartbeats” at the application level and
if there is a need for an “end-of-file” indication per application.
Relevant especially in cases where multiple feeds from a a set of
publishers are consolidated into a single one. Repeating queries to
verify that no new last message is missed seems a doubtful design
metaphor.Chapter 6 in the bullet list mentions “ApplFeedID (1180)”, should
be “ApplID (1180)” if the field is renamedI still think the use of “Appl” is confusing as ApplVerID (1128)
and other session level fields including “Appl” refers to an
entirely different concept than the “Appl” used in this proposal.
(I know, I don’t have a better proposal)The rules of the fields in the Standard Header are not complete.
ApplSeqNo, ApplLastSeqNo and ApplResendFlag e.g. are reasonably all
conditionaly required on the ApplID being specified.I do think Field enumerations should be specified in the message
tables, they should be in the Data Dictionaryy only unless there
are specific limitations related to when a field is used in a
particular message.The Logon message does not seem to include any changes, remove
message from document.ApplID (1180) does not have a field comment in the Data Dictionary
section. Maybe there is one in the extension pack introducing the
field - if not add one.Regards
Rikard