How to Unlock the Power of Your Digital Assets with APIs
You know there’s power in data – and your software applications are holding the keys to getting at that data insight. It’s all in the business logic buried in your applications as they generate massive amounts of data related to the application's business functionality and user/operational metrics. If you could unlock that, you could access unique features that make your software so valuable to your business. Let's take a look at how to tap into the unique features and data elements that your software products are already collecting.
Unlocking Business Logic Buried in Applications
Every software product – whether custom-built software, or general 3rd party software (e.g., Microsoft Office) – is built to provide loads of functionality. This helps users be more efficient, which equates to greater business and economic value. Plus, every unique feature the software provides makes it that much more valuable.
But here’s the kicker: Some features buried deep in one software product could be re-used in other products. You can increase their value and benefits exponentially by exposing them as APIs, so other internal and external software products can call those APIs in a secured manner and leverage the functionality. That means you’re not re-inventing the wheel of what’s already out there.
How it works: With the evolution of cheap hosting services provided by modern cloud platforms and their API management and API gateway services, it has become a lot easier, quicker and economical to expose all those golden nuggets buried in every software product as APIs and make them available to everybody to integrate into their own software products and make those features available to their users, hence increase their usability and generate more revenue at the same time. But not every software product was built with this level of reusability in mind, so, many such re-usable unique features may need to be tracked down, re-factored or re-architected to be able to expose them as APIs.
Is it worth the effort? It depends on how many users can use it and whether it can be monetized based on the business value it provides. What are the other benefits of exposing them as APIs? Your own applications can be converted from tightly-coupled thick monolithic applications into highly distributed thin layers of service providers (APIs) and service consumers (front-ends and other API consuming applications), so your aging applications will get a new life, new thin front-ends can be built to run on desktops/laptops, tablets, mobile and IoT devices that talk to the APIs, thereby increasing the revenue and value.
Example use case:
Let’s say your company built a simple product management system years ago when Windows Desktop applications were the only mainstream user-interfaces/front-ends. At that time, all operations to support the product management – AddProduct(), UpdateProduct(), DeleteProduct(), GetProductList(), GetProductInventory() etc. – were directly implemented in that desktop application code. Later, when N-Tier architecture became popular, these operations were separated into business layer and data access layer, but they were still compiled and deployed together when there was a change in any layer.
Later when web applications became popular, we could re-use those business layer and data access layers in both desktop and web applications without duplicating any code. But any change required re-building and re-deploying both applications. Next, when mobile applications become popular, it was not easy to re-use the same business and data access layers as-is, because the mobile apps needed to be super-thin and super-fast. Plus, the languages used to build mobile apps may be different than those used to build the business and data access layers.
The best way to re-factor those operations to enable easy integration across different front-ends and operating systems is to separate out the business and data access layers from the tight coupling of front-ends to their own API projects, and expose those operations as API endpoints. This way, all front-end applications can call those API endpoints in a secured manner, without having to worry about the underlying API implementation.
Additional benefits: The front-end layers can evolve on their own to meet the needs of their users and advancements in the operating systems they are hosted on. APIs can evolve independently to provide any additional operations and functionality needed by the front ends. Plus, the different modules can be built in different languages and be developed, maintained and managed by completely different development and operations teams. This enables rapid scalability across the board for the organizations to scale them with more distributed teams and agile methodologies.
Unlocking Insights Buried in Data
Different software applications collect or generate different kinds of structured and un-structured data, e.g., relational data stored in databases, text files, binary files, activity logs, usage metrics, performance metrics etc. This data builds up over time and ends up in long-term storage and forgotten. Some companies may purge the data on a periodic basis, or they may keep it for compliance or other reasons. They create data warehouses and data-marts to aggregate the raw data based on different use cases. Then, reports are generated from that aggregated data to provide insights into business performance based on different metrics and time-periods.
Why data? With the evolution of cheap cloud storage, highly scalable cloud computing resources, and the advancements in artificial intelligence, machine learning, big-data and data science technologies, massive amounts of data can be analyzed quickly and economically, and many insights can be gleaned from them to provide greater business value and improve products and services based on the learnings from the past data. In fact, data has become the 21st century gold, and analyzing massive amounts of raw data using modern data science technologies and deriving value from them has become a major area of focus for many businesses in recent times.
Instead of the mountains of past data becoming history, it becomes a predictor of future advancements for the greater good. Click To Tweet
How it works: Instead of pre-aggregating and storing data in data warehouses for long-term use, all raw data can be preserved and stored in cloud data lakes. This data can be analyzed and aggregated on-demand based on specific requirements and the results can be exposed as APIs. The results are exposed as APIs for ready consumption by many applications via API Gateways – leading to potentially millions of users that can benefit from such insights. That way, it becomes a predictor of future advancements for the greater good.
Example use case:
Different doctors may diagnose their patients differently based on the symptoms and possibly prescribe different treatments and medicines. All this medical history for every patient gets documented using electronic medical record systems. The historical data is stored in databases and builds up over time, providing a wealth of information across patients, doctors and hospitals.
Instead of letting all this historical data sit there in long-term storage, data from across hospitals, doctors and patients can be pooled together and analyzed on a large scale using artificial intelligence, machine learning, big-data and data science technologies. The data aggregates all the different treatments provided, their effectiveness, misdiagnoses, side-effects, etc. Doing so can help doctors determine the best treatments going forward, avoid side effects, and provide insights to develop new treatments and medicines based on these historical findings.
The analytics results can be made available as APIs so all hospitals, doctors, pharmaceutical manufacturers and others can integrate with their software products and use them as appropriate. This is a more efficient process versus all these separate entities performing their own data aggregations and analytics, which is a complete waste of time and resources.
Weather use case:
Weather forecasting information used by numerous weather applications across devices, especially on mobile devices where you can find many weather apps, and all of them show similar information for any location/zip code. None of these applications need to build their own weather monitoring stations in every part of the country, instead they can all call into APIs provided by companies that have these weather monitoring stations in different locations, and just display them to the users. This may include current high/low temperatures, daily forecast for the next n-number of days, or average high/low temperatures based on historical data collected and analyzed over time.
The outcome is high level of reusability without wasting resources. This kind of reusability helps people solve problems faster and make advancements in every industry across the world.
Imagine that. APIs can help humanity as a whole and conserve natural resources. APIs can help medical professionals make better decisions about healthcare. APIs can help businesses run more efficiently. APIs for the win.