SOA and elusive semantic interoperability
In systems integration, semantic interoperability consists of making all systems involved in the processes interpret information in the same way. It is a complex goal, and the reasons for this complexity go far beyond what each particular organization can present. Let’s see why.
If we write in google “Level 7”, we get the nice amount of 54 million entries. The one corresponding to Wikipedia, offers different meanings for us to choose: we could refer to the Chernobyl nuclear accident, a group of hackers, a novel, a TV series, a movie, or a few songs.
And who wants to search Google “Level 7”? Good question. Surely few people. Keep reading and you will see why I have.
In the obsolete OSI model (another day we will write about this), the level of application corresponds to level 7. For those who grew up and entered the world of computing in the times when that model was valid, represented the highest layer of abstraction, under which the technical and technological details involved in the communication of information between applications were stacked in the lower layers.
At the end of the 80s, HL7 International was born with the objective of defining, publishing and maintaining a set of interoperability standards for the health sector. Its name comes from “Health Level 7” (level 7 for Health), inspired by the highest layer of the OSI model. The impact that this initiative has had and is having in the health sector is simply brutal. These standards are also constantly evolving and adapting to the new information exchange needs of public and private organizations in the health sector.
In short: it allows information systems participating in health ecosystems to use the same business language, a common business semantics in their messaging.
In an ideal world (of which we are very far away, of course), there should be a few sister organizations of HL7. There should be an EL7 for Education, an FL7 for Finance, a JL7 for Justice, an RL7 for Resources, etc., etc. All this in case we insist on following the nomenclature initiated by HL7 remembering that level 7 of the OSI model. Maybe it would be more correct today to use Level 8, or even Level 9 … it is debatable.
But what is not debatable is that systems integration and the exchange of information is one of the main challenges facing administrations and companies in all sectors. Therefore, the ICT industry urgently needs standardization organizations to address this issue in a universal way.
Semantic interoperability is a necessary (though not sufficient) condition for achieving information ecosystem efficiency, for drastically reducing errors and therefore maintenance costs, for enhancing interoperability capacities among different organizations and enterprises, and for improving Interoperability between different sectors within each industry.
In this way the workflows (business processes) transverse inside and outside the companies and organizations, can be understood and grow in a natural way, giving a better response to the real needs that arise from the daily use of their services by citizens. A use that requires less time, better quality, greater consistency and new services.
In this blog we have mentioned several times the importance of semantic interoperability in an SOA strategy. We want to establish a suitable regulatory framework, an effective Governance model, a published Services Catalog and orchestrating the flow of events and messaging among the different information systems involved in the business processes … But even if we had all this, if we don’t use standards that allow us to define an interoperable messaging semantically, we will have many headaches. The components of this ecosystem will not understand each other, because they will speak in different languages, even if they all deal with the same business.
It is true that in those sectors where there is no standard similar to HL7 in health, there is no choice but to define an ad-hoc standard to achieve that necessary semantic coherence in an efficient interoperability model. But if every organization or company that faces this need has to define “its own semantic model,” we’re not going in the right direction.
We need to go in the opposite direction of the myth of the Tower of Babel: standards must allow us to unify and homogenize the way information systems, and the information ecosystems themselves, exchange information with each other.
In each sector, a standard should be defined that establishes, by chapters (business areas), significant business events for its transversal processes. And for each event, the messaging schemes that allow to accompany those events with their associated data load.
In each scheme, which could be structured in segments, as HL7 does, each segment could correspond to a certain business entity with enough granularity to reappear in different events and chapters (for example, a client).
And for each segment, the standard must specify the data that can accompany it, indicating for each one its type, its optionality, its occurrences, etc.
And like any good standard, it should keep the specification at a level of abstraction that is complete, but does not invade the particularities of the organizations that will use it.
It will be the implementation of the standard, which will put concrete values and define the details that save any ambiguity that every standard must maintain, since it has to serve the generality of cases.
As long as we do not have these business standards, we will only be building larger silos.