Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader definition takes into account social, political, and organizational factors that impact system-to-system performance. Types of interoperability include syntactic interoperability, where two systems can communicate with each other, and cross-domain interoperability, where multiple organizations work together and exchange information.
Types
If two or more systems use common data formats and communication protocols, then they are capable of communicating with each other, and they exhibit syntactic interoperability. XML and SQL are examples of common data formats and protocols. Low-level data formats also contribute to syntactic interoperability, ensuring that alphabetical characters are stored in the same ASCII or a Unicode format in all the communicating systems. Beyond the ability of two or more computer systems to exchange information, semantic interoperability is the ability to automatically interpret the information exchanged meaningfully and accurately in order to produce useful results as defined by the end users of both systems. To achieve semantic interoperability, both sides must refer to a common information exchange reference model. The content of the information exchange requests are unambiguously defined: what is sent is the same as what is understood. Cross-domain interoperability involves multiple social, organizational, political, legal entities working together for a common interest or information exchange.
Essential properties of an interoperability standard An interoperability standard must observe these properties:
Closed feature set (no extensions or subsetting): The specification must be normative and bounded. The standard must state that a compliant implementation supports the entirety of the base standard and nothing else. The standard must not allow vendor-specific extensions. The standard may define allowable subsets, but must exclude vendor-specific or vendor-defined subsetting. Later versions of a standard need not be 100% backward compatible, but deviations are precisely specified. Deterministic Output: The standard must define explicit and invariant requirements around input-to-output mappings. The standard must permit no “implementation defined” behaviors. The standard may permit implementations to set limits on maximum size, capacity, etc., but must require uniform, conforming behaviors within those limits. The standard document uses the word "shall" essentially exclusively, and "may" or "should" in only rare cases (for example, error handling that must be delegated to an external system). For standards governing real-time processes, Exhaustive Error Handling: Rather than leaving errors to "implementation-defined" logic, the standard must mandate exact error codes, state transitions, and fallback behaviors to maintain system stability. Platform & Vendor Neutrality: The definitions must remain divorced from specific internal system architectures, programming languages, or operating environments. Reference implementation: while it is not essential to specify a reference implementation, that is common. The standard may provide for resolution of ambiguities or omissions to ensure uniform implementation. The standard may include a test suite for conformance testing.
Interoperability and open standards Interoperability implies exchanges between a range of products, or similar products from several different vendors, or even between past and future revisions of the same product. Interoperability may be developed post-facto, as a special measure between two products, while excluding the rest, by using open standards. When a vendor is forced to adapt its system to a dominant system that is not based on open standards, it is compatibility, not interoperability.
Open standards
Open standards rely on a broadly consultative and inclusive group, including representatives from vendors, academics and others holding a stake in the development, that discusses and debates the technical and economic merits, demerits and feasibility of a proposed common protocol. After the doubts and reservations of all members are addressed, the resulting common document is endorsed as a common standard. This document may be subsequently released to the public, and henceforth becomes an open standard. It is usually published and is available freely or at a nominal cost to any and all comers, with no further encumbrances. Various vendors and individuals (even those who were not part of the original group) can use the standards document to make products that implement the common protocol defined in the standard and are thus interoperable by design, with no specific liability or advantage for customers for choosing one product over another on the basis of standardized features. The vendors' products compete on the quality of their implementation, user interface, ease of use, performance, price, and a host of other factors, while keeping the customer's data intact and transferable even if they choose to switch to another competing product for business reasons. However, while "open" is a necessary condition for an interoperabilty standard, it is not a sufficient condition. For example, the standard-setting processes for the Fortran, C, and C++ languages are open, with a broadly-inclusive consultative group. But the resulting standards are not interoperability standards.
Post facto interoperability
… excerpt ends here. Continue reading the full article.




