Skip to main content

Open APIs and Digital Transformation

Digital transformation is as real as it can get. Based on a recent survey done by Gartner, 42% of CEOs have already started working on it. This 42% does not include the tech giants like Google, Facebook, Amazon or Microsoft since they are already beyond the digital transformation (more towards AI part of it). Even though there is still 50% of CEOs who has not started on this journey, they definitely will (hopefully if they want to stay up to the competition). While enterprises are moving towards the digital transformation, the technology itself has gone way beyond the standard term.

People who engaged with the technical aspects of the digital transformation has identified that it is not only about individual enterprises’s digital transformation, but the entire industry’s cooperation can reap more rewards to the entreprises as well as customers. That is where the concept of “Open APIs” or “Open standards” came into the grand stand. One of the hot topics in the european region is the Payment Services Directive 2 (PSD2) compliance regulation which required all the banks operating in EU to be compatible with the PSD2 by January 2018. Even though this came as a regulation, technically this is a revelation in the way people deal with their Banks.

GSMA one API is another set of “Open APIs” which allows multiple mobile network operator (MNO)s to interconnect with each other and reap the benefits of much larger customer base than doing business with their own custom bases.

In a technical sense, both these “Open API” standards provides a mechanism to interconnect enterprises which are offerring similar type of services to their customers (PSD2 - Financial services, Open API - Mobile network services) and make them share the customer bases which they have so that they can benefit from somewhat larger customer base (aggregated customer base). From the customers perspective, they will also be able to use multiple of their accounts (or profiles) when they purchase services from 3rd parties.

At an abstract level, the architecture for the Open APIs would be as depicted in the below picture.

Figure 1: Open API architecture

As depicted in the above figure 1, with the concept of Open APIs, different vendors can expose information about their customers with customers consent in a unified manner. Their internal implementations for providing these APIs can be different. But the APIs are unified. Using the Open APIs, third party service providers (e.g. online shopping, merchants, location based services, etc.) can engage with the customers when customers are purchasing their products or services.

Let’s take an example where you want to buy a laptop from Amazon.com and you need to make the payment using your existing bank account rather than a credit card. When you checkout your item from Amazon.com, the web site will provide you with the option to select from which bank account you are going to make the payment. This is achieved through the Open API which has been used by all your banks to expose your account information. Now you select Bank A and you will be redirected to Bank As web site. Now you confirm the Bank A that you allow Amazon.com to debit the relevant amount for the product which you are purchasing from Amazon.com. That’s all. No credit card. No third party credit card providers.

The previous example showcases the power of Open APIs in a banking use case. But this is true for all sorts of different industries. GSMA one API is being used in different places across the globe for various use cases like mobile connect, mobile ID, etc. It has allowed people who didn’t have any facilities to connect with entities like Banks using their mobile phone. This has transformed their life like never before.

As a final thought, with the concept of Open APIs and Digital transformation, the world is becoming a more connected place than ever before. It allows people from different capacities (wealthy as well as poor) to reap the benefits of the digital age.

Comments

Post a Comment

Popular posts from this blog

Understanding Threads created in WSO2 ESB

WSO2 ESB is an asynchronous high performing messaging engine which uses Java NIO technology for its internal implementations. You can find more information about the implementation details about the WSO2 ESB’s high performing http transport known as Pass-Through Transport (PTT) from the links given below. [1] http://soatutorials.blogspot.com/2015/05/understanding-wso2-esb-pass-through.html [2] http://wso2.com/library/articles/2013/12/demystifying-wso2-esb-pass-through-transport-part-i/ From this tutorial, I am going to discuss about various threads created when you start the ESB and start processing requests with that. This would help you to troubleshoot critical ESB server issues with the usage of a thread dump. You can monitor the threads created by using a monitoring tool like Jconsole or java mission control (java 1.7.40 upwards). Given below is a list of important threads and their stack traces from an active ESB server.  PassThroughHTTPSSender ( 1 Thread )

WSO2 ESB tuning performance with threads

I have written several blog posts explaining the internal behavior of the ESB and the threads created inside ESB. With this post, I am talking about the effect of threads in the WSO2 ESB and how to tune up threads for optimal performance. You can refer [1] and [2] to understand the threads created within the ESB. [1] http://soatutorials.blogspot.com/2015/05/understanding-threads-created-in-wso2.html [2] http://wso2.com/library/articles/2012/03/importance-performance-wso2-esb-handles-nonobvious/ Within this blog post, I am discussing about the "worker threads" which are used for processing the data within the WSO2 ESB. There are 2 types of worker threads created when you start sending the requests to the server 1) Server Worker/Client Worker Threads 2) Mediator Worker (Synapse-Worker) Threads Server Worker/Client Worker Threads These set of threads will be used to process all the requests/responses coming to the ESB server. ServerWorker Threads will be used to pr

How to configure timeouts in WSO2 ESB to get rid of client timeout errors

WSO2 ESB has defined some configuration parameters which controls the timeout of a particular request which is going out of ESB. In a particular  scneario, your client sends a request to ESB, and then ESB sends a request to another endpoint to serve the request. CLIENT->WSO2 ESB->BACKEND The reason for clients getting timeout is that ESB timeout is larger than client's timeout. This can be solved by either increasing the timeout at client side or by decreasing the timeout in ESB side. In any of the case, you can control the timeout in ESB using the below properties. 1) Global timeout defined in synapse.properties (ESB_HOME\repository\conf\) file. This will decide the maximum time that a callback is waiting in the ESB for a response for a particular request. If ESB does not get any response from Back End, it will drop the message and clears out the call back. This is a global level parameter which affects all the endpoints configured in ESB. synapse.global_timeout_inte