SOA Strategy and IoT (Internet of Things) – Part 2
We continue the previous post, returning to the analysis of the role that the key factors of an SOA strategy have in the Internet of Things.
In the Internet of Things, by definition, a few user events will be repeated in a multitude of use cases. Moreover, the use cases will also be repeated in the same sector, for all the different options that we will have at our disposal by the numerous manufacturers.
It will be inefficient to ignore this fact. The abstraction capability mentioned above, coupled with the objective of maximizing the reuse of events, and their associated messaging, will be key for the IoT to be deployed efficiently and under a certain order and government. If each manufacturer establishes its own “standard”, its own service catalog, without considering that an important set of such services could (and probably should) be identical to those of other suppliers, we will be creating a jungle that will become quickly unmanageable, very expensive to maintain, and difficult to evolve. And even worse: it will impact the user experience as soon as he/she decides to change one brand for another, one manufacturer for another.
– Loose coupling
In a world where Java is the predominant software technology, you should not worry too much about this factor. But as always, one thing is technology and another thing is how we use it. Today no one should develop software that depends on a particular manufacturer or a certain platform to operate. Likewise, no one should develop interoperability and interaction capabilities between devices that depend on those devices. It would be as if a car manufacturer launched a new model pulled by oxen.
However, no matter how much it hurts, in the world of software development bad practices abound. And one of its main consequences is the software dependency of its proprietary provider and technology.
But in the IoT you have to always think about the citizen, just as in an information ecosystem you has to think about the user. Are we going to penalize a citizen who is using a certain set of services and facilities in his home, with his connected devices, his car, and his office, simply because he decides to change his house, change his car, change his office, etc?.
In the Internet of Things, it is fundamental and mandatory to maintain a clear independence between the services made available to the citizen, and the services provided by each provider in response to the citizen’s needs. It is on the supplier side that there must be healthy competition for better response times, greater stability, more information, etc. But the user side can not have any impact when he/she wants to connect to another service, or change one by another, or change device, or provider, or any of the actors involved in the IoT.
We finally arrive at what is, without a doubt, the most important factor of all, without neglecting any of the aforementioned, of course. A governance model that guides the way in which IoT interaction capabilities are designed is absolutely critical for us to aspire to an ecosystem ecosystem, which is what should ideally be the IoT.
Don’t look like that. I am aware of how close I am to utopia. Simply ascertaining that service-oriented information ecosystems are a majority is asking too much at the present time, so I know well that what I say is very, very far.
But it is no less true. And surely for that very reason it is crucial that the international organizations of standardization take initiatives in this sense. And this is where I tell you that there is hope, we can think that those aspirations that sound so utopian may not be so much. I refer to the IEEE Standards Association, which as you can see here has a series of initiatives around the IoT for its value for the industry and the benefits it will bring to the general public. In particular I would highlight this project for the preparation of a draft standard for a reference architecture for the IoT. I leave the link in the links of interest section of the blog.
In their introduction, they list some of the problems that motivate the work of this group, such as the proliferation of functional islands with vertical approaches that often involve redundant work (does it sound?). They aim to reduce the fragmentation of industry and create a critical mass of diverse interest groups around the world. They are concerned about the reuse and vertical approach traditionally pursued by the industry.
They are developing a reference model, which defines the relationships between the different vertical sectors and the common elements of the architecture, as well as an abstraction model of the data. Here I understand that they should be promoting the transversal approach of information flows so that they favor the citizen, who moves between different sectors in a natural way in his day to day, and should not receive different levels of service when he changes from one sector to another. Look also at the abstraction model: it is necessary to encourage reuse and fight the redundant effort of development.
The scope of the project also includes a reference architecture for building basic blocks that can be integrated into multi-layer systems. Here we go down to a level of service design, at the contractual level, where a static model can establish the structure of those blocks, and a dynamic model can establish how they will dialogue with each other and with systems that aspire to use them.
The work of this organization is enormously interesting and important, which makes us hope that things are being done well, so that perhaps within … 20 years? … IoT is a reality as daily in our lives as mobile phone and internet access are today.