The functional design of an interface is a crucial element in the overall design of an interface. The basic elements (messages, fields, values) are straightforward when using a standard such as FIX but there are a lot of choices to be made to define the exact subset to be supported. In the case of interfaces, “all fields are created equal” is not a true statement. Some fields are special as they are key to drive the semantics of a message, e.g. whether an entity is added, modified or deleted. Presence of certain fields can be conditional based on the presence of values of other fields.
Messages can flow in both directions of an interface and may represent requests, responses or are unsolicited by one party to the other. The same type of message has to follow a different layout depending on the use case or asset class, requiring to choose between a single message with many optional fields and multiple messages with very few optional fields.
Im summary, the static parts of an interface (messages, fields, values) need to be combined with its dynamic characteristics (scenarios, workflows, conditional requirements). FIXdom provides an in-depth expertise of FIX Orchestra, a meta-data standard to capture machine-readable interface specifications (aka Rules of Engagement). See also interface documentation services.