If you’re like me, you attend numerous IT shows (in fact, I’m writing this while attending a show right now). Although many shows are worth more for the contacts than the content, some offer valuable insights, particularly those focused on trends and directions. Those shows are almost mandatory if you want to keep up with the mounting tsunami of industry information. The days when you could boldly say you knew all the latest trends in IT are long gone.
Watching a trend predicted by the gurus of futurology is always interesting, because it forces you to think out-of-the-box. This happened in a show I recently attended and it left me thinking about a topic I’d like to explore: the API movement.
Outside of one conference room stood a sign announcing the title of a session: “API Strategies for the Cloud.” You might be scratching your head and thinking, “Really? An entire session talking about interfaces…in a trends event?” That by itself was enough for me to think I was missing something…and the little word “cloud” made me feel this was definitely a trend that should be on my radar. I was shocked when I entered the room and found it was so packed that I had to watch while standing in the back, but it was worth all 40 minutes!
For those who haven’t been exposed to the API world, I can summarize it as a new emphasis on application interfaces from a combination of forces: mobility, apps, and monetization of information. In this new world called the “Internet of Things”, developers need to consider not only how their applications will interact with their users, but also how they will interact with other applications.
That immediately left me thinking: I see the value of APIs in the new, mobile-cloud-oriented app world, but what does it mean when we look into the more traditional world of infrastructure? If I had to apply this trend to, let’s say, databases—which is what I live and breathe—what would the result be?
Here are some thoughts.
Life in the Information Age
We have been living in the Information Age for a few decades now. The dawn of this era truly revolutionized the office, bringing great improvements to workers’ ability to enter, process, recall, and reuse data. Only more recently have we started to fully leverage the value of that data, and yet, there is more to come.
Every day we hear about the cool new technologies of the 21st century: social media, 3D printing, mobile payment systems, and whatever comes next. It’s easy to get the impression that technology has left the old green-screen data terminals of the last century in the dustbin of history.
Well, those terminals may have been left behind, but the core of these systems is still the data. In the Enterprise market, the data that the business has amassed over the years is as valuable today as ever, if not more so because of the business intelligence yet to be mined from data. The trick is to unlock that information so it can be accessed by 21st century apps. Imagine web-enabling your data so customers could view their own accounts.
A business journal recently ran an article about APIs. As a programmer, I thought “have I picked up the wrong magazine?” As a businessman, I could see their point: there is money to be made selling access to the wealth of data you have accumulated. The monetization of this information lies not only in the data itself, but also in the accessibility of this data. If it is locked in a centralized vault, its intrinsic value is lower than if it’s readily available for real-time marketing campaigns that monitor the habits of individual consumers. Making this data available for the applications that need it, wherever they are running, is the key for the database API movement.
No application is an island
The fact is that a modern database is part of a global ecosystem of applications that share data.
Nowhere is this more true than the world of mobile applications. If you are a mobile app, you need to talk to social media. The era of big data, possibly distributed over different systems in different locations, places even more demand on APIs to integrate this information into a meaningful whole.
If you don’t design your APIs properly, your application might end up alone in the corner, simply due to lack of relevance when everybody is bringing their own devices!
Doorway to the future
Developers who are tasked with providing third-party access to a database can use various approaches to creating an API. One tactic is simply to wrap SQL commands with code, possibly C++ or C#. The assignment becomes a little easier if the database provides a formal API, such as ADO.NET, ODBC, JDBC, or PHP, which may be more compatible with the language being used.
Modern NoSQL databases are a different story. They offer different ways of accessing data, which may be more appropriate for the 21st century world where data is gathered from a variety of non-relational sources. A good example is a product you hear me talk about a lot, c-treeACE from FairCom, which offers a set of SQL and NoSQL interfaces.
In my role in Business Development, I constantly assist customers looking to unlock their data from legacy programs so it can be shared with the universe of networked applications that sustain their company. This is an interesting example of the importance of the API movement.
Legacy applications present a unique challenge: how can you provide entry points for other applications when it was written in a language like COBOL that was not intended to use modern APIs? The question of API-enabling the application needs to be redefined to one of API-enabling the data. Yes, I’m talking about accessing the data at the database level.
My conclusion is that software developers today have a much harder mission than in my day. In that era, the only “device” our software needed to interface with was the human being. With the API movement now, this is no longer true. More and more we have to rethink the concept of creating software, understanding that it is less about interaction between the user and the application, and more about interaction between the user, the application, and other applications. I have no doubt the API movement will soon reach more traditional areas, such as databases. Don’t be afraid to open that door and step into the future. It’s all good news!