- We can redesign A and B in language C. That reflects a huge burden on resources , time , money and is no where near any practical approach to make A , B , C talk
- We can make interfaces between the three application, Again, it is difficult as building each interface requires understanding of two systems and two languages but it still seems more feasible than the previous solution and this was the approach that the software industry traditionally followed by making point to point interfaces between softwares..
So finally a, b, c are talking to each other will help of interpreters and the applications are also communicating with each other with help of point to point interfaces
Now imagine that ‘a’ is a studious person and a bit of a showoff! She /He learns a new word and starts using while communicating. Now what? The interpreters ‘p’ and ‘q’ will not only have to learn the new word in English(as ‘a’ speaks English) but also understand what it means in the other language as well.
This was the problem with point to point application interfaces in applications. As software started to improve and change more and more – to support the dynamic business, the point to point interface started becoming a bottleneck.
This need lead to innovation – the evolution of Technical standards and Web Services came into being- which defined a standard way of communicating between applications.
Now data between systems was transferred using XML and hence any application following Web Services Standards was, in more cases than not, able to communicate with other applications. This lead to something like a universal interface among applications.