For large enterprises, integrating platforms is time-consuming and difficult.  Usually APIs are used based on REST, and whilst effective, the APIs need to be created, managed, documented and updated as system integration components change.  While APIs are a significant improvement over RPC, and point-to-point-integration methods, they are not easy to design, develop and maintain.  Security also becomes more problematic as the potential-attack-surface area is increased and operationally supporting many platforms and tools makes management costly and cumbersome.