Streamlining a development process that typically involves many steps, Zend has released a cross-platform, open-source package for building application programming interfaces that can be used for sharing data and functionality across different applications.
"Creating APIs are inherently difficult. There is no one standard out there to make them easy to do. You have to do a lot of work in order to understand how APIs work and what you want to do in order to expose them," said Matthew Weier O'Phinney, project lead for Apigility.
Apigility is designed to streamline many of these tasks in a single workflow, Weier O'Phinney said.
Apigility joins Zend's set of PHP-centric Web and mobile application development tools, including Zend Studio and the Zend Framework.
Zend first launched the Apigility as an open-source project last October, and was pleasantly surprised by its reception -- thousands of developers have already downloaded early builds and the company has gotten contributions and feedback for code improvements.
It is built on PHP, though it does not require connecting programs to be built in that language."You can use any code you want. We give you a workflow to describe the API and an engine to run it on. You take whatever code you have and plug it in there and deliver it as an API," Weier O'Phinney said.
An API-based architecture would allow organizations to expose an application's data and functionality, so it can be used by other applications or even components within a single system. For instance, a mobile application could make an API call to a back-end cloud service for data, reducing the work it would take tightly integrate the two services.
Apigility takes care of many of the chores required to set up an API, including the thorny tasks of error handling, data validation, and setting up authentication.
Developers may also be pleased in that it provides a way to support multiple versions of an API, another typical headache for API maintainers. Apigility does content negotiation, or the process of fitting the data being delivered to the specific form factor delivering the data. It also provides an workspace to document APIs.