This article is a work in progress. It contains principles and patterns that I have learned over the years for developing pragmatic, extensible, interoperable data formats.
Interoperability (n) -
The ability of independent systems to exchange and make use of information.
The mechanics of interoperable systems take place in all layers of a system including both hardware (physical and network) and software (transport and application). For this article, we will focus on data interoperability using the following definition;
Data Interoperability (n) -
The ability of independent applications to exchange and make use of information.
- Industries driving interoperability best practices include health care, emergency management, finance, and more recently IoT.
- Formats in common use XML and JSON
- Standards, standards, standards
- Domain Separation
- Transport Agnosticism or "That's a wrap!"
- Namespace-Key-Value Statements
- Interrogatives or "What?"
- Digest / Summary
- Payload / Content
- Extensions or "In Defense of Namespaces"
The Bigger Picture
- Governance or "I am not a committee!"