Interoperation

Interoperation is the setup of components (e.g. applications, hardware, systems, etc.) and methods such that the components combine and work together as one system.

Interoperating Systems.

If systems are interoperating, they are working together as a coordinated and functioning whole.

Interoperation is the setup of components and methods to make two or more systems work together as a combined system; allowing them to share information and to use the information as it is exchanged to accomplish goals and tasks.

Interoperation in our everyday lives.

When I really need to charge my phone (I forget…quite often, really), I grab my cable and I plug it in. One end of the cable connects to the phone, and the other end to the power source. After a bit of time, the phone is charged.

 Figure 1. Straightforward, everyday integration
Figure 1. Straightforward, everyday integration
 

This simple example (Figure 1) demonstrates an everyday integration of systems: a phone and the power system. In this case, the two interfaces are designed in such a way that they work together – no adapter or mediating component is required.

But what happens when interoperation isn’t that simple and straightforward (Figure 2)? To successfully enable systems to interoperate, they require a matching of specifications or interface standards through some means.

 Figure 2. When everyday integration becomes challenging
Figure 2. When everyday integration becomes challenging
 

Say this power cable is for my cell phone and I’m in Spain, visiting a friend. I just arrived at my hotel, and my phone is dead. I grab my phone and my cable and go to plug it in and… oh. Right. Complete interface mismatch. These components were not designed in a way that allows for them to be integrated right away. But I really need to charge my phone!

Since these systems were not designed to work together, a solution must be architected if I require them to interoperate. As they are, they will not be able to interoperate without some element of mediation.

 Figure 3. Interoperability achieved by means of integrations using a mediation component
Figure 3. Interoperability achieved by means of integrations using a mediation component
 
 

Interoperability can be achieved through a mediation layer – here, an adapter – that allows for the 2 systems to be integrated without requiring a change to one or both of their interfaces (Figure 3). As shown, I don’t need a new power cable to charge my cell phone while I’m in Europe, if I buy the adapter.

In the initial portion of this everyday integration example, I achieved interoperation between system components without the need for the mediation component – the “magic box”. When I require a mediation or adaptation component, such as a power adapter, to achieve interoperability, that interoperation is achieved by architecting a solution that allows me to integrate my systems together. Integration can be thought of as interoperation via an interface specification or standard.  In software systems the mediation component is commonly a bridge or an adapter; they mediate between the interfaces of the disparate systems that you wish to integrate.