The principles of SOA in the real world, part two
In this entry we will continue with another example drawn from the real world in which some basic principles of an SOA strategy are clearly appreciated, and ultimately what SOA is.
As we have repeatedly commented on this blog, SOA has a lot of common sense, a lot of overwhelming logic. But as in many other disciplines, a certain evolution is needed over a given period of time for that common sense, that logic, to come out. Any evolution arises from trial and error, in an iterative way, in search of better solutions.
The history of the evolution of ICT is a series of advances in layers of abstraction, from physical and electronic media to purely conceptual layers. SOA represents the last evolutionary leap of ICT, and what you are going to read next is an analogy that as a matter of fact bears some relation to evolution …
Everything around us is a system. If we address this definition, a system is “a set of interacting or interdependent component parts forming a complex/intricate whole”.
That is, except for the elementary components, all that surrounds us is a system. A company is a system, of whatever type and regardless of which sector it belongs to. A city is a system, a house is a system, a car is a system, … everything.
We, the human beings, each of us, are a system. Let’s observe how we are designed, as the system we are, and we will do it on a scale that allows us to move comfortably.
We are made up of a set of organs, each specialized in a function. Our eyes receive the light and transmit the image of what we see. Our nose perceives odors and also inhales and exhales air. Our skin perceives tactile sensations, cold, heat, … Our heart pumps the bloodstream through veins and arteries. Our lungs receive air from the outside, and once oxygen is obtained through the bloodstream they expel the air to the outside. This could take us hours. Our stomach, pancreas, liver, kidneys, spleen, intestine, colon, bladder, etc., etc., etc.
Do not forget the subsystems that also make up our system: blood system, nervous system, digestive system, lymphatic system, immune system, etc.
And all those “sub-systems” and organs that make up our main system, how do they work? I mean … how do they relate to each other? Remember the definition we have seen before: “… interacting components…”. Okay, but how do they interact?
For example. Think of the eyes and mouth. Would you say that they are connected? Have you ever noticed as soon as you see a succulent dish at lunchtime, you have started to salivate? Does it not seem that eyes and mouth are interconnected? Maybe there is a nervous connection between the eyes and the mouth so that when the eyes identify an image of a food dish, they sends it directly to the mouth through nerve impulses that stimulate the salivary glands. Theoretically, it’s an option right?.
Or perhaps not, perhaps the eyes simply capture the image and send it, communicating it to the central nervous system. They say something like “this is what I see, what you do next, is up to you”. It is the central nervous system that, upon receiving this image, immediately triggers the nerve impulses necessary to stimulate the salivary glands of the mouth. As long as certain conditions are met, of course, certain rules: it is time to eat and that food is one of our favorites. If these rules are not met, nothing happens at all. If they receive the signal, the salivary glands do what they have to do, and secrete saliva. Why?: Neither they know nor care at all.
Another example. We are in the middle of summer, on a hot day. But luckily we are on the beach, we have the ocean in front of us with a gentle wave that tempts us. We see the sea, hear the waves, smell and feel the sea breeze. We receive a set of sensory stimuli by different organs. Eyes, ears, skin, nose … Are all organs linked to our locomotor system?. Do they order directly to our legs to take us to the shore?
Or perhaps each of these organs sends the information that corresponds to it to the central nervous system (the sound of the waves, the image of the waves, the touch of the soft and fresh breeze, the smell of the sea). The central nervous system is prepared to process that complex set of information, and determine what message or messages it should send to which system or systems. In this particular case, it would send the necessary signals to the locomotor system to approach the shore and surely give us a fantastic bath.
Moreover, look at another detail. Do you think our salivary glands are checking from time to time in our eyes, to see if what they are seeing will need to put themselves to salivation?. Not even counting on the participation of the central nervous system. Do they ask the central nervous system if they have to salivate or not? Or are they simply ready to do what they have to do, when they receive the signal from the central nervous system, not caring at all what caused that signal?.
Does our stomach request information from time to time to see if there is food in our mouth to segregate gastric juices and begin the digestive process?.
No, they’re not, right ?.
Think about it for a moment. What would happen if our body worked based on direct connections between organs and the different systems that make us? If the eyes to see our favorite succulent dish just before eating send directly to our salivary glands the order to segregate saliva.
This would have certain implications:
- our central nervous system would not know that we have seen that plate, it would be uncontrolled information; maybe our central nervous system would do more about it if it had that information (to reach out and pick something, for example).
- our eyes would need to have specific information related to that particular image and the salivary glands in particular, to be able to act this way directly, otherwise they would not be able to act.
Let us think for a moment if we extrapolate these implications to each and every one of our components, in each and every one of the circumstances that may affect them, in each and every event they can recognize. And if we imagine a relationship between our components based on the query – response pattern, we would be a real mess.
As a system, we would be an absolute disgrace. An overwhelming amount of information would be wasted. If one of our organs began to malfunction, the overall effect on the system would be chaotic.
Well, let’s think now of other types of systems: business organizations. And let’s move on the scale of their information systems, their systems map. And we are going to ask ourselves the same question as before: in what way do information systems interact with each other?
Maybe a few paragraphs higher you twisted the gesture with a slight smile of disbelief. “But what is this guy telling us? Has he gone mad?”
But now applying the above (about our body and how we are designed) to the way information systems are related in a company, the thing makes more sense, right?.
Of course, in our design the central nervous system is crucial. It is very interesting to read its definition with this analogy in mind. So a brain and a spinal cord, properly protected with a strong bone structure (logically, being a critical system for the whole set), and connected to the rest of the system components through a network of connections. And have you noticed? “The central nervous system is so named because it integrates information it receives from, and coordinates and influences the activity of all parts of the body”.
Doesn’t this remind you of something?
And it is there, in the central nervous system, where the information of each organ is received, and the pertinent signals are sent to the corresponding organs according to certain rules. Some rules are “infrastructure”, like reflex acts, and others are, say, “business”, depending on our tastes, knowledge, culture, ability, decisions, context, etc.
But everything is governed there.
Anyway. I suppose robotic engineers will have gone through this kind of analogy some years ago. I just hope they are applying what nature teaches us in front of our eyes.
Will they know what SOA is?
In the case of companies and organizations the thing is not so obvious, it is clear. But once analyzed, is it not clear evidence how wrong we have been integrating information systems in companies and public bodies ?.
For companies and organizations, an SOA strategy brings to the evolution of its systems map what the appearance of the central nervous system brought to the evolution of species.
I encourage you to use the comments below to comment on this entry, as in the rest.