In any large enterprise, there're a number of applications that may exist to solve a particular problem domain. Each of these systems works to solve only one set of problems. Often, this kind of approach is desirable for building applications inside an enterprise, because now the applications can use the best available technology stack for solving the problems of their domain.
But to have any useful business impact come out of these applications, its often the case that these applications need to talk to each other through one way or another, so as to facilitate the exchange of data that may be present in one application and required by another.
But this integration of different applications is a challenging task due to a number of factors:
- Incompatibility across the infrastructure: When the applications are deployed in the infrastructure, the individual...