Layer 7, A CA Technologies company recently released the results of a survey focussed on API design and deployment. The survey showed that API designers are divided on security versus usability as their top priority, there is an even split between XML and JSON representations and strong growth is predicted for Hypermedia style APIs. In summary the survey showed there is no one-size-fits-all way to manage APIs.
The survey was carried out by Layer 7's API Academy over a thirty day period amongst members of the Layer 7 customer base. A total of 180 responses were received from API managers and enterprise architects. The results are presented in an infographic (.pdf file) available on the Layer 7 website.
When asked for their top priority, API designers were equally split between security (44%) and usability (38%) with 18% undecided, indicating both remain key issues in API design. If we compare this result with InfoQ's own survey on API Management capabilities the InfoQ survey highlights security as the number one concern for API management—corroborating the CA survey. However on API usability it is not possible to compare the two surveys since the InfoQ survey didn't directly identify API usability as an API Management concern.
Most respondents to the Layer 7 survey related to private APIs used within their own organization. Sixty percent were concerned with a mixture of public and private APIs, 26% were concerned with private APIs only and 14% were concerned with public APIs only. The data representations for these APIs are evenly split between XML and JSON.
The API Academy classifies APIs into three common styles - Tunnel style (SOAP), URI style (CRUD) and Hypermedia style (REST). The survey found there is an even split between SOAP (44%) and CRUD (42%) with the remaining 26% being Hypermedia. However when looking at future plans, Hypermedia shows stronger growth with 28% of respondents planning to add Hypermedia support versus 19% of respondents planning to add SOAP or CRUD support respectively.
InfoQ discussed the survey results with Matt McLarty, Enterprise Architect and Vice President of Practice Services at CA Technologies. When asked about correlations between technologies and APIs, Matt explained that "we didn't find any significant correlation in the survey between technologies and demographics like industry or company size. However, our API Academy works closely with companies of all sizes, industries and goals, and what we have found through that experience is that many large enterprises tend to enable their APIs from the inside out, and as a result often start with SOAP or plain XML. They will often retrofit JSON as their APIs become more open to the outside world, or as a necessity for Mobile. In most cases, we encourage the use of JSON as that is the first choice of most client devs, and we like to bias toward API usability."
One strong result InfoQ noticed was the anticipated growth in hypermedia APIs. Matt agreed that "Hypermedia is really hot at the moment. It's taken a while (the concept was right there in Fielding's dissertation), but I think it's taking off because there is some really useful and practical guidance out there that explains its benefits at a tangible level, and that provide practical applications. I think we're at the point where there are a lot of frameworks offering differing benefits, but things need to settle down before there is a clear leader."
Finally InfoQ asked if there was any information on the types of tools used in API design. Matt explained "In our experience, this again goes back to the organizational culture we're dealing with. In most cases, the big enterprises are utilizing their preferred design tools (data modeling tools, UML) and adapting them for the Web API context. There are some API design specs that have recently been introduced, but we have yet to see those in use at the companies we work with."
We'd be really happy to hear your reflections on these survey results. What do you think is the top API design imperative? Is Hypermedia the API protocol of the future — inside or outside the enterprise or both?