How should I represent "transactional" or "messaging" attributes, such as addressing/routing, message identifiers, timestamps, etc.? Should I represent those within the IEPD, or rely on messaging protocols like web services?
There is no single right approach to this issue; the schema designer should ensure conformance to local business and architectural requirements. The following may assist in determining the fit of each approach to requirements.
NIEM 1.0 and GJXDM 3.0.3 contain components that implement many of what could be considered "transactional" or "messaging" attributes. These attributes appear in NIEM 1.0 in the DocumentType type in the universal and common namespaces and the MetadataType type in the structures namespace. In GJXDM 3.0.3, the attributes appear in DocumentType and in the attributes of SuperType. The schema designer should assess the fitness of exchange requirements (represented in the domain model for the exchange) to these NIEM or GJXDM components.
It is important to consider whether the "transactional" or "messaging" requirements are addressed by the standards or technology being used to transport the message between systems. In many cases, such as addressing, the message transport infrastructure will rely on attributes' being represented according to a standard (such as WS-Addressing). Similarly, reliable messaging mechanisms will often assign message identifiers and timestamps (or will rely on their being represented according to a standard in order to function properly.) The schema designer should be aware of these issues when choosing where (and whether) to represent these attributes in an IEPD.
In addition, as a general principle, it is a good idea to satisfy requirements by leveraging standard XML vocabularies rather than inventing new structures. Even if there is no component in NIEM that meets a requirement, there may be other standards that do contain appropriate components.