APIs are important, no doubt about that. Indeed it is tempting to think that APIs are all you need, as it is APIs that give you effective sharing and innovation across teams and across domain boundaries. I have argued in earlier blogs that APIs need to be very light weight and easy to change. Only that means APIs must rely on data and function from an existing backend.
If you already have an appropriate service endpoint that you can add on API on top of, great, go ahead and leverage the synergy between APIs and services. But what if an appropriate end point does not exist? What if you need to integrate data and function from different parts of the environment? Then what?
Having worked on integration challenges for a couple of decades, I have learned the hard way that not all integration logic is light weight. Connectors that handle the peculiarities of a specific back end technology. The ability to create transactions across multiple sources; dealing with transactional compensation across heterogeneous technologies and transports. Complex data formats and data transformations or flow centric composition logic. These are examples of integration logic beyond what you should put in an API – you need another way, another place to implement and host those kinds of capabilities.
Originally the concept of an Enterprise Service Bus was a pattern of mediation between consumers and providers of business capabilities. Then it became almost â€śa thingâ€ť in the way much of the industry talked about â€śan ESBâ€ť. We have now learned that many enterprises need two fundamentally different implementations of the Enterprise Service Bus pattern. A Gateway focused on sharing and controlling access across domains, and an Integration Bus focused on curating data and function inside a domain when such is in fact needed. Not all use cases require an Integration Bus, but those that do need it badly.
In the end, it is not a matter of APIs or Services. It is not a matter of an API gateway or an Integration Bus. You need both to unleash the power of combining the insight from your backend systems with the innovation in omni-channel experiences. Anyone who says otherwise is only addressing a portion of the challenges intrinsic to an open business ecosystem.