New Open-Source Project Provides Opinionated API Builder
PHP 2013 Conference, Santa Clara, Calif.— October 8, 2013 – Today at ZendCon, Zend, the PHP Company, announced the launch of a new open-source project named Apigility. An opinionated API builder, the Apigility project has a goal of providing the world’s easiest way to create and maintain high-quality API-based applications.
Key Role of API-Centric Architecture
An API-based architecture is essential to the agile and mobile delivery goals of most development teams. Separating the presentation logic between the client and server provides the flexibility to support multiple form factors and integrate with 3rd parties. APIs also future-proof the application such that capabilities can be easily reused at a later point, without having to refactor the entire system. By implementing this type of architecture, companies gain the flexibility and agility to best support the Web and mobile apps, in which the application’s data and services are coming from multiple back-end systems and are consumed from multiple different front-end devices and form factors.
However, when compared to simple HTML-based apps, API-based apps are complex to design. They are a relatively new form of application architecture and so many best practices and standards are still emerging. Best practices for an API-centric design must address areas such as error handling and versioning, which are complicated and time consuming to do correctly.
The Apigility Project
Recognizing the challenges of building API-centric architectures, Zend has released Apigility, which provides a user interface for building APIs in a simple, standardized way, leveraging industry standards and best practices.
Developers can create an API and wire in any number of the nuts-and-bolts services that Apigility provides. This automates some decisions, making the coding process easier and less cumbersome. Zend has selected recommended best practices for API creation in terms of authentication, error handling, filtering, validation and documentation. Apigility’s role does not end with the creation of the API – it is designed to allow developers to evolve their APIs as requirements change - add, update or remove APIs – and has full support for versioning.
Some of Apigility’s highlights will include:
Error handling - When an error happens on the server side, Apigility immediately reports the response involved and the nature of the problem to the API consumer. Apigility’s detailed problem report enables programmers to easily parse and understand what happened, rather than remain mystified as to the source of their API error and spend hours finding it. Additionally, developers may tailor error reports to deliver as much or as little information as desired.
Validation - Apigility makes it simple for developers to make sure functionality exists for their end users. It ensures that all data coming into an API is valid. If not, Apigility sends a single response, in a predictable format that returns all errors. API consumers know upfront when they did something wrong.
Content negotiation - Apigility enables developers to immediately know when something is wrong with submitted data. It will verify whether each client is capable of viewing an application, and whether data submitted to an API is of an acceptable content type. If not, Apigility sends back a response indicating that the API can’t provide a representation, or cannot understand the data. As a result, APIs become simpler for 3rd parties and partners to work with.
Versioning - Apigility supports multiple versions of the same API, with added, altered or removed services – and enables developers to easily support both old and up-to-date clients at the same time, and fully automates version negotiation. The user interface allows developers to manage all versions of the API from one centralized place, and provision new versions as needed.
Powered by Zend Framework
Apigility uses Zend Framework as its engine, enabling developers to easily create APIs with REST and RPC services without worrying about how the framework itself works. The built-in events under the hood of Zend Framework let developers easily expand the functionality of their apps. But developers need not be Zend Framework experts—in fact, they don’t need to know Zend Framework at all. Leveraging the Apigility user interface to build APIs does not require prior knowledge of any PHP framework, including Zend Framework.
Zend’s Dedication to Open Source
Zend is bringing forward Apigility as an open-source project, so that users can augment the functionality and quality of APIs created. By building Apigility on top of Zend Framework (already in itself a vibrant open-source project), Zend is benefiting from the innovation of the Zend Framework community.
“The entire Zend Framework project would not be where it is without the community around it,” said Zend Framework Project Lead Matthew Weier O’Phinney. “Having constant input from our community helps us think outside the box and accomplish much more than we could as a smaller team. Hundreds of developers already actively contribute to Zend Framework and we are excited to leverage that community to build momentum around tackling API-centric development—one of the most important focus areas for developers today.”
Early access to the Apigility project can be found at www.apigility.org
Zend welcomes contributions. Particular areas of near-term focus include authentication and input validation, and improving the user experience of the user interface.
About Zend Technologies
Zend partners with businesses to rapidly deliver modern apps across mobile and cloud. Zend helped establish the PHP language, which today powers over 200 million applications and web sites. Zend’s flagship offering, Zend Server, is the leading Application Platform for developing, deploying and managing business-critical applications in PHP. Zend solutions are deployed at more than 40,000 companies, including NYSE Euronext, BNP Paribas, Bell Helicopter, France Telecom and other leading brands worldwide. Learn more atwww.zend.com.