Thoughts on Architecture of Data Standards
The general purpose of data standards is to define semantics, structure and content rules of data in a data format for exchange between heterogenous systems. The result are defined Data-Documents (D) which confirm to a standard (often also called messages, but message already intertwines concept of content of a document and communication scenario).
It is very important to be clear about the business purpose for which D is designed. E.g. Billing, Ordering etc. of course much more well defined than here.
Additionally considerations which aspects of data lifecycle to consider:
Die Art und weise, wie auf die daten bezug genommen wird
- data aquisition (here the the difference of starting to aquire billing data and finsihing the bill, may have severe impacts on design especially if pre-final versions have to be stored in D or even be exchangeable)
- data manipulation
- reporting
- data analysis
- archiving
e.g. should a billing data standard consider the acquisition (not at all time all data is available)? Will the data be manipulated ? In which way ?
Standard in action
Single Purpose Communication scenarios
Making clear which kind of communication scenarios a standard gets used informs general design principles.
D contains data for a single purpose.
sender (s) -D-> receiver (r)
Important
- is the sender restricted to only send what is allowed and specified by a standard_
- or can a sender add additional data elements to D?
- Does the receiver has to accept/understand each single data element or is he allowed to focus on a subset of D?
- Is receiver allowed to reject D under certain conditions?
The latter maybe called the bi-directional receiver rejects scenario. This will have some implications later.
Multi Purpose
Imposing scenarios
if sender and receiver have a bilateral agreement to develop and use a certain standard for their communication then
i = s = r
if only a little portion of all senders and receivers come to such agreement then it is not a standard as such. If almost all agree then this scenario is often implied when talk
Otherwise
i
/ \
s-> r
eu
i
/ \
ni1 ni2
/ \
s -> r
ni = national imposer