Manfred (@ManfredBo) is API Market Development Director at 3scale – delivering API Management solutions (@3scale on Twitter). Vanessa (@deepbane) is a Product Manager at APItools by 3scale – a tool for developers to easily integrate with internal and external API services (@apitools on Twitter).
An API (application programming interface) is a specification that defines how to interact with software components. APIs which allow access to remote assets via a communication network are referred to as Web APIs. The benefits for developers in adopting Web APIs are an easy way to enrich functionality, simple and quick to integration, and leveraging brand strength of established partners.
All Killer, No Filler
We’re bringing Momentum to New York: our newest event, showcasing only the best speakers and startups.
We can already see that more than 77 percent of the top apps integrate Web APIs. One example is Shazam, the app that allows users to recognize pieces of music in real-time. Shazam alone integrates Web API providers such as the Spotify, YouTube, Amazon, iTunes, and rdio APIs. Additionally it allows social sharing, which presumably is realized by using the Web APIs of the various social platforms.
There is a clear demand for supporting developers in their development processes related to Web API integration. Monitoring and managing several different APIs from different providers can mean a lot of effort, is difficult to maintain and does not scale. Here is an overview of the most common use cases that would help developers using Web APIs:
- Testing and debugging API calls visually for troubleshooting. Debugging mobile apps can be a pain. Several Integrated Development Environments (IDEs) make it a bit less painful, but they are usually not great for debugging Web API calls.
- Pinpointing the source of a problem triggered by a user action, in real time. Developers want to monitor the usage of particular Web APIs by their apps. For example, when an app user gets an error caused by a problem with an API, the developer wants to see exactly which request generated the error and why.
- Generating more customized responses from Web APIs. This is especially useful when app and API development go in parallel, or when a new app feature depending on an API change needs to wait for an API update. The generation of custom responses would allow simulations. Consequently, app development is more independent.
For this article, we had a look at several tools for developers that help to address this demand.
The first tool is APItools. APItools does two things very well. First, it helps developers getting a better overview of the integrated APIs as they are all collected and managed in one place. That makes troubleshooting and monitoring a lot easier.
Web APIs are much easier to debug and performance problems such as too high latency or unavailability can be noticed quicker via reporting. Second, APItools provides the possibility to modify API requests or responses. In essence, APItools is like a proxy where arbitrary modifications such as translating between data formats (eg, change from XML to JSON or vice versa) can be executed or where the granularity of an API can be changed.
Caching is also possible via APItools middleware mechanism. In addition, APItools reverse-engineers a Swagger-based documentation of all integrated APIs, such that developers can also look up the documentation of the various 3rd party APIs all in one place. APItools is available in the cloud and on-premise.
Postman is another very lightweight Web-based tool for Web API testing. Postman is specifically very handy before a developer decides to integrate a new API. API requests – also more complex ones – can be composed and issued very easily and quickly. The response can then be analyzed directly in the browser in different formats. This is very helpful to understand how a particular API behaves before a developer integrates it.
SmartBear’s Ready! API tool is an API readiness platform. Although Ready! API mainly aims at developers who create Web APIs it can also be leveraged by API consumers. The most interesting features are the monitoring of API behavior, which also allows to generate specific traffic and load simulations. An existing Web API can also be virtualization and changed to simulate all sorts of for the API consumer relevant test cases.
The intention of the Runscope Radar tool is comparable to Postman. It is primarily about testing of Web APIs. Runscope Radar is a little more complex than Postman but also offers a richer feature set. Various different API providers can be combined to collections, multi-user support is provided, and more sophisticated testing including automated testing is possible. With these features, Runscope Radar is very valuable not just for integrating a Web API but specifically during operation.
API Changelog is a solution that tries to solve the problem of apps breaking because of changing APIs they depend on. For this, API Changelog not just monitors the technical API but also changes in terms and conditions and send reliable notifications to developers.
These are only a few of the tools that are blooming to help developers tame Web APIs. Some tools aim at solving specific problems – like Mocky, Postman, or RequestBin. Others like APItools, Ready! API, Runscope Radar, or APIrise are a bit more ambitious in trying to cover a broader set of needs – testing and debugging, monitoring, analytics – to become the ultimate API tool.
There are several challenges for API consumers which need to be better addressed by the API Economy.
Another challenge related to Web API is around security and specifically authentication. Mobile app developers often don’t have enough time to become experts in everything, like authentication mechanisms such as OAuth. Solutions like OAuth.io are a great approach to help developers to make this easier. There is still a lot to do in this area.
In order to make adoption of a Web API easier and quicker, developers are in need of code examples, documentation, and anything that can help them save time. Related to this interactive API documentation frameworks – like Swagger – proved to be very helpful.
Software Development Kits (SDK) that wrap Web API also help to lower the adoption barrier. Solutions like by RESTunited or APIMatic provide automated SDK generation based on APIs. Developer Economics maintains a directory of useful tools for developers that also includes a lot of API-related solutions.
Finally, discoverability remains a critical challenge in the API Economy. Although platforms like API search engines such as APIs.io, or directories like ProgrammableWeb help a lot, it is still difficult for developers to find Web APIs that provide them the required functionality.
In this article we discussed the importance of developers in their role as API consumers, which is a crucial role in the API value chain. This demand-side of the API Economy does not get as much attention as the supply-side (that is the API providers). We presented some tools that should help the demand-side and provide developers additional elements for their tool-chain for Web API integration.
All these tools are very valuable in supporting developers in Web API testing and operations. There is a lot of demand for the functionality provided by Web APIs. There are some challenges ahead and there is also a lot in flux.
The (rather slow) adoption of hypermedia-driven Web APIs (see some examples here) using concepts like HATEOAS may change the requirements for developer tools significantly. Also the impact and ongoing discussions around the court decision related to API copyright and protection on developers as well as the whole API Economy remains to be seen.
Read Next: Which website builder is right for you?