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

How to protect your APIs with self contained access token (JWT) using WSO2 API Manager and WSO2 Identity Server

In a typical enterprise information system, there is a high chance that people will use different types of systems built by different vendors to implement certain types of functionalities. The APIs might be hosted in an API Manager developed by vendor A and the user management can be implemented using a different vendor (vendor B). In this type of a situation, one system will not be able to directly contact the other system but they want to use both systems in tandem. Self-contained access tokens are used in these types of situations where applications can get the token from one system and use that in another system to access protected resources. In this scenario, the second system does not need to make a contact to the first system over the network to validate the user information since the token is self-contained and it has relevant details about the user. This will improve the token processing time significantly since it completely removes the network interaction. The below fig...

WSO2 ESB creating a response for a "GET" request

When you are creating REST APIs with WSO2 ESB, you may need to send some response message back to the user when something goes wrong. In this kind of scenario, you can create a payload inside the ESB and send it back. For doing this, you can use the below configuration. <api xmlns=" http://ws.apache.org/ ns/synapse " name="LoopBackProxy" context="/loopback">    <resource methods="POST GET">       <inSequence>          <property name="NO_ENTITY_BODY" scope="axis2" action="remove"></property>          <log level="full"></log>          <payloadFactory media-type="xml">             <format>                <m:messageBeforeLoopBack xmlns:m=" http://services...

WSO2 ESB usage of get-property function

What are Properties? WSO2 has a huge set of mediators but property mediator is mostly used mediator for writing any proxy service or API. Property mediator is used to store any value or xml fragment temporarily during life cycle of a thread for any service or API. We can compare “Property” mediator with “Variable” in any other traditional programming languages (Like: C, C++, Java, .Net etc). There are few properties those are used/maintained by ESB itself and on the other hand few properties can be defined by users (programmers). In other words, we can say that properties can be define in below 2 categories: ESB Defined Properties User Defined Properties. These properties can be stored/defined in different scopes, like: Transport Synapse or Default Axis2 Registry System Operation Generally, these properties are read by get-properties() function. This function can be invoked with below 2 variations. get-property(String propertyName) get-property(String scop...