NEWTON, Mass. – Red Hat, a company I have long respected, ran an interesting event on Tuesday. The subject is one that had been off my radar for a time, but is an interesting one nonetheless: application programming interfaces, or APIs.
I have used a number of APIs in my career, but admittedly, I had not come across the term all that much in recent years. Tuesday’s event, though, shows that APIs are very much alive and well, even if at times the terminology is a bit misleading.
The presentation was led by Steven Willmott, the former CEO of 3Scale, a company Red Hat bought a year ago. 3Scale by Red Hat is an API management platform that is gaining wide use, which was illustrated through a few notable use cases. Red Hat is becoming a leader in this space, further moving the company away from being centered on Linux, which is what the company was first known for.
As I noted to Steven, an API is like a library, and I feel like “library” has become the preferred term. Essentially, they are the same thing – a set of methods of communication between various software components. They are commonplace; the Standard Template Library in C++ is one example, as are the Java APIs, Pthreads (used often for multithreaded code) and POSIX, which is at the heart of Linux. When I was at Wind River, I used APIs to access logic analyzers we used – Agilent and Tektronix had both developed an API for developers to use in software like what I and a couple of colleagues did, which was use logic analyzers to provide real-time trace.
As Steven then noted, which went along with a lot of the presentation, a lot of APIs nowadays have an Internet connection involved. In fact, part of the presentation showed an evolution since the early days of web services, from before the Service-Oriented Architecture to SOA to now. APIs are used at sites like Travelocity to get flight prices from other databases, or hotel web sites to pull up room rates based on a variety of factors. There is security and authentication built in at various points, since banks and similar institutions also come into play with some of this.
A lot of what was shown among the use cases is outside my area of expertise, and I am far from an expert on SOA or web services. Admittedly, when I read about SOA, I tend to get lost in terminology. But I grasp the general concepts that were discussed, and the event got me thinking about APIs on a bigger level. As one important example, it got me thinking of how device drivers, which I have experience with, have APIs – applications use exported calls from a driver for various functionality. That’s an example of how APIs are ever-present, even if we don’t think about them.
All attendees received a copy of The API Owner’s Manual by Willmott and Manfred Bortenschlager. I look forward to reading it over the next few days, with all of its examples, and finding ways to put the concepts to use later. The book is less than a hundred pages and thus should be a quick read.
And it may just bring APIs into my consciousness a little more.