Thep Urai - Fotolia
Many software developers are discovering the benefits of what's being called an "API-first approach." The barriers...
that once existed between enterprise applications and services are coming down as software and cloud service providers open their software to third-party integration via APIs.
"In the old world, proprietary legacy systems and application vendors would do all they could to command the overall installations and implementations of their software and systems within the customer environment," said Jeff Kaplan, managing director of THINKstrategies Inc., an independent consulting company. "Now they are recognizing that their solutions are part of the overall operating environment of the customer."
The API economy
We have entered into what Kaplan and others refer to as an API economy, "where the value of a vendor solution is only as good as the APIs that surround it," Kaplan said. "APIs have become the currency for success in the software as a service (SaaS) and broader cloud computing marketplace."
Jeff Kaplanmanaging director, THINKstrategies
He said SaaS and cloud vendors that have opened their software to third-party integration via APIs are in a good position to succeed, "because they are making their solutions that much easier for their customers to integrate into a multi-vendor or hybrid environment."
And Kaplan said it's only logical to start with APIs. "The APIs are the way in which the software solutions and computing services initially connect with each other, and therefore serve as the starting point or foundation for interoperability and fuller operational integration."
For developers, this means not only capitalizing on existing APIs, but also making their own applications open via APIs. "It's made [developers] more cognizant of the fact that they're not working in a vacuum. Everything is being developed to operate within a highly diverse environment," Kaplan said. "Therefore, they have to be thinking about how they can basically open up portals to their own software application so that others can connect to it and in the same way develop their solution in such a way that they can connect to other apps."
In addition to improving integration and interoperability, an API-first approach to software development helps future-proof applications, said Matt Robinson, vice president of technology at Progress Software Corp.
"It creates this nice separation of all the functional components of an app," Robinson said. "It is easy to move them around and reuse them as new standards come around."
This is particularly important as standards for infrastructure as a service (IaaS) and other cloud services are in flux, he said. "By adopting an API-first architecture from the beginning, it shields you from that, because you can adapt those components to adapt to an external service or a standard that you're trying to conform to."
The wheel's been invented
An API-first approach results in streamlined design and architecture, drawing an API-based network boundary between functional components, Robinson said. "Once you have the boundary, it forces you to make the state that you're passing very explicit. It makes for a very clean architecture, so when a new developer needs to communicate with a functional component, it's clear what they need to do, because it's all exposed by an API."
An API-first approach gives developers the same sort of advantage IaaS gives IT organizations. "The idea with cloud computing services is that you don't need to run all of your own servers. That's not a core part of your business. The same can be said about APIs," said Chris Moyer, vice president of technology for Newstex. "Running a good database is not what makes your app unique. It's the specific parts of what your app does --what you add on top of the APIs -- that makes your app unique."
In fact, Moyer said developers who don't start with APIs are reinventing the wheel.
"There's no point in redeveloping all that stuff," Moyer said. "It's not just about portability. It's not just about innovation. It's not just about reuse. It's a combination of all of that. What people have started to realize is that what makes you unique is what you need to spend your time on."
The startup market is driving the use of APIs for this very reason, Moyer said. "Startups are failing all the time. They don't want to focus two years on doing something that has already been done," he explained. "They don't want spend up-front capital on servers or one-time investments for an idea that is 99% likely to fail. Reusing someone else's stuff or making your own API is beneficial."