All APIs are not created equal

All APIs are not created equal

Summary: APIs range from 'the well-formed and functional to the fiendishly complex and arcane.' Be prepared for the latter.

TOPICS: Tech Industry

Anyone on the cutting edge of service orientation and cloud lives in a universe of application programming interfaces (APIs), which serve as the gateways to functionality across the Web as well as enterprise systems.

The perception and ideal is that APIs can be readily snapped into an architecture to complete a process, much as Lego blocks can be snapped together. That's the ideal, mind you.

Matt Mullen provides a reality check with this kind of thinking, reminding us again that APIs do not offer themselves to quick assembly in the style of Lego blocks.  The problem is, he says, no two APIs are alike:

"Not only are APIs certainly not like Lego, they are not equal. Talk to a developer and you'll find out pretty quickly that they range from the well-formed and functional to the fiendishly complex and arcane. Then ask about the documentation. Then probably buy them a beer to recover from having to relive personal nightmares."

The key to successfully working with APIs, Mullen continues, is to thoroughly understand the business process that will flow through the APIs. Then, be sure to get the documentation to share with your team, and be ready for the integration and customization work required to make the service work with your existing systems.

What should a well-designed API look like? For those on the design side of APIs, Layer 7's Scott Morrison shares some resources in a new post. "APIs are a little like cockroaches in that they will likely outlive the human race," he muses. Morrison points to recommendations from Martin Fowler and a YouTube video of Joshua Bloch’s Google TechTalk on How to Design A Good API & Why it Matters. (From 2007, but more timely than ever -- Video embedded below.)

"You have one chance to get it right," Bloch said, noting that once done and deployed, an entire enterprise may wire itself into the existing API. "A bad API can cause an unending stream of support phone calls because people cannot make the thing do what it ought to do."

Topic: Tech Industry

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Fiendishly complex and arcane = SAP

    That was my first reaction to the tagline, and I think I'll make it into a bumper sticker. Leaving out the SAP part though, don't want to get sued ...
    terry flores
  • Wouldn't it be nice

    if we had a single method of representing and manipulating data (and an API is just a representation of data) that is based on sound mathematical principles and has already been proven in millions of installations worldwide?

    We have that already, but the SOAers stubbornly refuse to use it. Who knows why, maybe they are Luddites?
  • API's are not representations of data

    They are Application Programming Interfaces.

    Interface is something that lets you to interact with something else without getting into details on how that something works.

    In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components. - Wikipedia.

    Person's name is his (her) interface to the world. You call a person by name, and (s)he comes. Without a name, you would have to come to the person, take his hand, and walk him over to where you need him.