The term application program interface is as familiar to anyone involved in software development as free conference backpacks. More commonly referred to as APIs, these reusable chunks of software have existed for decades, and like everything else in IT, APIs have evolved, in both technology and terminology. Today’s APIs bear only a passing resemblance to those of decades past, and the differences have made APIs a major factor in today’s software solutions.
What separates old-school APIs from their newer counterparts? Oracle ACE Sven Bernhardt, a solution architect at Opitz Consulting in Germany, shares some technical insight. “In pure integration projects, we often work with legacy APIs, provided by the enterprise information systems, which are on the level of ‘systems of record,’” Bernhardt explains. “There’s often no comprehensive documentation available, and the interface as such is quite complex. The information exchange is usually done using specific data formats that are quite technical and therefore hard to understand. By nature, the interaction pattern is often asynchronous using protocols such as FTP, JMS [Java Message Service], or even SOAP.”
The new generation of APIs is changing how architects and developers approach what they do.”
The opposite is true for the new generation of APIs, including those used for mobile devices and wearable technologies. “These APIs are clearly described, easy to understand, and usually work with lightweight protocols and data structures,” Bernhardt continues. “The interaction pattern is often synchronous, which is especially important when the interaction with the API is initiated by a human actor, who expects an immediate response.”
Oracle ACE Director Sten Vesterli, principal at More Than Code, offers another angle on the generation gap between today’s APIs and those of the past.
“An API used to mean methods in a library that you called from your code,” he explains. “For example, physical hardware came with an API that you could call from your C code.” Today the term refers to web services that can be called by a third party—someone you don’t know and who doesn’t know you. The changing nature of APIs has brought them into much wider use. “I’m using APIs more, both as consumer and provider,” Vesterli says.
Oracle ACE Director Luis Weir, principal at Capgemini UK, tells a similar story. Weir is involved in projects focused on developing mobile apps and responsive web applications, integration with software-as-a-service applications, implementing microservices architectures, and automation. The common thread? “More and more of our work goes into defining, building, managing, and consuming APIs,” Weir says.
For Oracle ACE Rolando Carrasco, co-owner and principal SOA architect for S&P Solutions in Mexico, APIs have infiltrated every aspect of his professional life. He says that half the conference sessions he has recently presented are focused on APIs.
“APIs have changed the way I design for customers. They have changed my vocabulary when I try to explain something. They have changed the way I try to identify new opportunities, and the way I do business,” Carrasco says.
Among the changes occurring in the wake of the increasing use and importance of APIs is the need for effective API management. “This involves proper documentation, coding examples, and a way for the caller to communicate with the provider,“ explains Vesterli. “It also means that the provider needs to think about how to control access.”
According to Bernhardt, “API management is a key enabler” for microservices and Internet of Things architectures and a “success factor for digital enterprises of tomorrow.” Weir and Carrasco attach enough significance to API management to have coauthored a book on the topic (see the sample chapter link in Next Steps), and both have presented recent conference sessions on API management.
The message is clear. The new generation of APIs is changing how architects and developers approach what they do. How has the evolution of APIs affected your world? Join in the conversation.
READ a sample chapter from Oracle API Management 12c Implementation (Packt Publishing, 2015).
COLLABORATE in the community space for API Management.