Saturday, April 1, 2023

API-Led Connectivity { Pros & Cons }

 

Businesses today operate in a primarily digital landscape. Customers increasingly interact with brands digitally, and companies use digital platforms and processes. IT experts are in high demand, but the supply is low, as the number of applications leveraged by businesses and consumers increases. With so much occurring digitally, the need for connected business systems is imperative. Your databases and applications must communicate effectively and securely. 
API-led connectivity is one method of ensuring your business can keep pace with evolving technology and digital platforms.


1. API-led connectivity improves productivity

2. Reduce operational costs

3. Quickly launch projects with API-led connectivity

4. Enables new business models and revenue streams

5. Enhance business process management

6. Leverage data from legacy IT

7. APIs drive innovation


APIs allow companies to accelerate their innovation by unlocking their core capabilities as digital assets. These digital assets allow customers to expand their reach and tap into new markets that otherwise wouldn’t have been considered (either due to a lack of resources or due to a lack of awareness). For example, an insurance company who adopted digital technologies and transformed their business to an API-LED digital enterprise could not only sell policies through their own web and mobile channels but also created a platform for collaboration with third party companies or alliances like airlines, travel portals and channel partners to sell their travel and home insurances by white labelling their products.
 

The API-led connectivity approach is beneficial in a large organization where you'll have multiple development teams. Your different lines of business can each work on APIs within their own domain in the process layer. For example, your web, mobile, or third-party partners can connect to APIs at the experience layer. Likewise, the system layer can be managed by Central IT groups associated with your various systems of record.



1. Experience Layer

We can apply security to different application consumers depending on who they are at the experience layer. These consumers could be web, mobile, and third parties who could be either internal or external to your organization. You can provide multiple security policies such as client id, certificates, OAuth, and multiple SLA tiers based on subscriptions. We can manage these consumers by providing or withdrawing access to your applications, authorizing access, and monitoring these APIs to measure the volumes and throughput. This also makes it easy to monetize your products or services at this layer.

2. Process Layer

The process layer will contain your business capabilities and can be divided into various domains. Each LOB can have its own APIs defining the product or services they provide. For example, you would have a set of APIs defining the customer, products, or billing. These APIs at the process level are accessed by consumers from the experience layer. In addition, the process APIs can call other APIs at the process layer or can call on APIs at the system layer, which provides or update information from your systems of record.

3. System Layer

The System layer exposes information from your various systems of record. These will be your legacy systems, your databases, CRMs (Salesforce), and ERPs (SAP). For example, you could add queues, caches, timeouts, and circuit breakers at this layer if you are experiencing performance issues. In addition, some API framework vendors automatically create this layer and use AI to improve performance, eliminate redundancies, and remove unused functionality.

Pros and Cons

Some common complaints I hear related to this three-layered approach are that there are multiple networks hops from layer to layer, and there is an added complexity to this approach. These are the same questions I heard when we moved to model-view-controller or when we used to have different servers for the database and the application. However, a well-designed application will always trump a few milliseconds of performance. An API-led connectivity approach can lead to improved performance by adding caching, spike control, and monitoring of multiple consumers and right-sizing the security on the system layer. Also, note that the security is usually kept at the experience and system layers, whereas the process layer is usually secured with a faster client id and password level security. This can lead to the overall faster performance of your systems.
Two other important benefits of an API Led approach are reusability and the ability to quickly plug in new consumers and systems of record.


Sources:
Image from mulesoft.com

3 comments: