EMA C++ RDM Usage Guide : 2 Domain Model Overview : 2.2 Domain Models Vs User-Defined Models : 2.2.3 Domain Message Model Creation
 
2.2.3 Domain Message Model Creation
This document discusses Domain Models capable of flowing through the Enterprise Message API. Enterprise Message API users can leverage the Open Message Model to create their own Domain Message Models in addition to those described in this document. When defining a Domain Message Model, consider the following questions / points:
Is a new Domain Message Model really needed, or can you express the data in terms of an existing Domain Model?
The Domain Message Model should be well-defined. Following the design templates used in this document is a good approach. The structure, properties, use cases, and limitations of the Domain Message Model should be specified.
While the Open Message Model provides building blocks that can structure data in many ways, the semantics of said data must abide by the rules of the Open Message Model. For example, custom Domain Message Models should follow the request, refresh, status, and update semantics implicitly defined by those messages. If more flexible messaging is desired within a custom Domain Message Model, it can be accomplished through the use of a generic message, which allows for more free-form bidirectional messaging after a stream is established.
DomainType values less than 128 are reserved for Domain Models. The DomainType of a custom Domain Message Model must be between 128 and 255.
You might want to work with LSEG to define a published Domain Model, rather than use a custom Domain Message Model. This ensures the most seamless interoperability with future Domain Models and other LSEG products.