The topic is “How to break boundaries of the old giant”; the old giant being here are big old enterprise solutions. The intent is also to see how can we intelligently integrate them using APIs?
I come from an organization (SAP) where we have a very rich history of creating enterprise solutions and software. This enterprise software has been serving as a backbone for a lot of business processes. It not only caters to specific business needs but can be enhanced extensively from use case to use case. With the advent of the Cloud, the organizations building this enterprise software and those consuming it want to carve their path toward the Cloud. The journey towards Cloud varies from business to business, customer to customer, depending upon the complexity. Some organizations opt for on-premise, some opt for hosted environments, some want a public Cloud, while some are moving towards a headquarter-subsidiary model.
Seamless integration of all of this is the key, and it comes down to APIs.
Such hybrid enterprise integration requirements can be put into five buckets.
- Application to Application Integrations (A2A) – Integration between different applications.
- Business to Business Integrations (B2B) – All business partners, including shippers, carriers, transporters, etc., may need to be part of the integration.
- Master Data Synchronization – There can always be a scenario wherein a headquarter runs a big solution, and the subsidiaries have a smaller footprint of enterprise offerings. So, when a fiscal year ends, you may want to collate all your financial transactions. This requires the synchronization of master data.
- Data Integration – Integrating transactional data across subsidiaries or departments.
- Data Virtualization – Whenever we talk about a distributed environment, wherein there are a lot of sources from which the data is coming for insight to action capabilities or further processing, there’s always a need for data virtualization.
When it comes to APIs, and specifically for hybrid integration, I do not need to lay more emphasis on seamless integration collaboration. API is to help foster the innovation cycle.
Key pointers for hybrid integration
- A precise definition of APIs – End-to-end integration via defining the right set of APIs in the system landscape.
- Exposure of API on Cloud – Empowers leak detection to move from reactive to proactive business intelligence.
- Usage of an integration platform –
- Mediated integration or process integration platforms allow the integration of various business processes.
- Efficient extension of APIs – Extending APIs for business or functional usages by internal, customer, or partner teams.
- Identification of the API – Providing a well-organized API hub where APIs can be documented for efficient identification.
Enterprise-based applications are very rich in product features. It is important that when we define the API as a product feature, it should be very explicitly discussed among all the stakeholders, so the reason for opening an API is clear from the first day. It is very crucial that the APIs are released in a fragmented way in a release cycle that can be consumed efficiently. APIs should always be downward compatible. So that whenever somebody is using the APIs that the provisioning organization has provided, it should not break something that was working. We call this download compatibility. API performance should be of utmost importance when discussing these kinds of specially hybrid integration scenarios. Security, logging, and monitoring are also crucial while designing and developing APIs. A precise definition of the API is also important to satisfy the need for end-to-end integration. As the use cases or functionalities are running on Cloud and need to be consumed, it is also crucial that these APIs are seamlessly exposed on the Cloud.
API types to consider
- Open APIs – Public APIs, Open-source, and access with the HTTP protocol.
- Partner APIs – Exposed to or by business partners. Credentials required to access partner-hosted APIs
- Internal APIs – Not exposed to external users. They are used for increasing development efficiency within the organization.
- Composite APIs – Combination of multiple data or service APIs. Useful in microservices architecture.
Common Protocol Specification considered for Hybrid Integration.
- SOAP – Simple Object Access Protocol.
- REST – Representational State Transfer Architecture
API management platform and API gateway
There must be extensive documentation, cataloging, version control, distribution, and proper documentation for every API we provision. If partners create extensions on top of these APIs, documentation must be put into a platform. This is where an API management platform is required.
An API Gateway sits between the client and a collection of back-end services. It is that piece that confirms that an API is not abused, e.g., it has been provisioned, its rate limiting the status, user authorization, and authentication.
This also needs to be considered as a design principle for planning things when discussing a hybrid integration.
Mediated Integration – Consider a legacy system that has been running with many complex use cases for the last 20 years. The other system is a new breed running on a cloud platform. It may happen that they do not understand each other but need to talk to each other using APIs. This scenario needs a mediated platform to ensure seamless integration. The intent of the new software or the APIs that are being developed is to have business context alignment, so that mediated integration is minimized because it adds more complexity and cost.