As the times moved forward, enterprises shifted to a new model of application development. This model used to model the applications as a service, where each service used to provide a certain set of business capabilities. So, for example, in an enterprise there will be a payroll service, which will provide all of the necessary functionality related to the management of the employee payroll, such as handling the data for the new employees, keeping a record of how much salary they have got and generating the monthly payslips.
Now, these services needed to be integrated with each other so that the exchange of data between these services could be facilitated. At this point in time, the enterprises needed something that would allow these services to communicate with each other over the network without the bottleneck of handling the different data formats...