Data Virtualization for Developing Customer-Facing Apps
Many organizations deploy data virtualization servers in business intelligence (BI) systems to integrate data sources. In fact, this is such a popular use case that some mistakenly think that BI is its only use case. From the start, data virtualization servers were meant to support a wide range of use cases, and BI was one. Another one, one that currently attracts a lot of attention is using data virtualization servers as smart API Gateways.
The increasing popularity of API gateways is directly related to the so-called customer-facing app. Let me explain this. Once, only an organization’s employees were allowed to access the IT systems. Access was through terminals and PCs, and none of the employees accessed the IT systems remotely. Everything was controlled and secured. No external parties had access.
So much has changed in the meantime. New systems and technologies for engagement and deployment have been introduced. With the introduction of the Web, mobile devices (such as tablets, smartphones, and smart watches), and the Cloud, users can access IT systems from anywhere. Moreover, the group of users is not restricted to employees anymore, it can include external parties, such as customers, consumers, partners, suppliers, and agents.
For these new forms of engagement and new external users, apps must be developed that run on these new devices and platforms and access the remote IT systems. These customer-facing apps for external parties can be a key success factor an organization’s digital transformation. For some, it can make the difference between commercial success or complete failure.
Most often, the data presented by customer-facing apps resides in databases running on server machines. Likewise, the functionality that apps invoke are modules residing in current IT systems. To make this data and functionality available to apps, it has be externalized. Technically, interfaces must be developed that invoke modules within the IT systems and that retrieve and manipulate data in the databases.
This requires a simple, fast, flexible, lightweight, and popular technology that allows customer-facing apps to access data and business logic. Currently, the most popular API that meets these requirements is REST (Representational State Transfer). REST has become the lingua franca of the cloud and the mobile world. Well-known websites, such as Google and Facebook, use REST to let their web interfaces communicate with their own systems. Most mobile apps use REST as well.
Systems that have to be externalized do not commonly support REST, but come with their own technical interfaces, such as home-made interfaces or interfaces based on international standards (e.g. SOAP/RPC, JDBC/SQL). These native interfaces must be converted to REST interfaces. Developing such interfaces that convert the native interface to REST with a low-level programming language and guaranteeing that they are secure, robust, and scalable is time-consuming and complex.
A more popular and recommended approach is to deploy a dedicated API gateways. An API gateway is a façade that converts one API into another and hides the complex, native API of the underlying application, database, or system. However, such gateways only focus on converting the APIs. Powerful features to filter, join, aggregate, concatenate, and reorganize data are not supported.
This is where data virtualization comes in. When data virtualization is used in a BI environment most of the reporting tools use a JDBC/SQL interface to communicate with the data virtualization server and to access to the data warehouse or data marts. But data virtualization products support many interfaces including REST. Data virtualization makes it easy to externalize the data stored in databases and that’s hidden behind applications. In addition, it can deploy all its transformation, aggregation, and filtering capabilities to convert the data. Next, security, and data modeling functionality are supported. It requires almost no technological knowhow of networking, security, and technical interface aspects to externalize data. Data virtualization allows for easy development of new interfaces. Developers only focus on the logic itself.
To summarize, data virtualization servers can be seen as API Gateways on steroids. They simplify the development of customer-facing apps and, thus, assist an organization on its digital transformation journey.