API Design

There’s more to publishing external APIs than choosing an API management vendor

17 November 2019

Publishing a public API involves many considerations, from billing and metering through to documentation and on-boarding. These are likely to be addressed through a collection of solutions rather than a single all-singing, all-dancing API management platform.

What makes a REST API mobile-friendly?

25 April 2018

REST API design is dependent on the clients that will be consuming the resources - APIs that are designed for server-based integrations tend to look quite different from those that are designed to support mobile applications.

GraphQL will not solve your API design problems

20 March 2018

If you find REST APIs difficult to design, develop and scale, then your experience with GraphQL is not going to be any easier.

Are OpenAPI and Swagger trying to turn REST into SOAP?

14 August 2017

Open API and Swagger enable the same kind of automated discovery and integration that WSDL and SOAP were invented to support. In doing so they undermine the design of REST APIs and don’t even provide adequate documentation.

Can consumer-driven contracts manage breaking change in microservice integrations?

4 June 2017

One of the more enduring problems with service integration is managing change in service interfaces. Consumer-driven contracts can help to detect breaking changes, but this visibility comes at a price.

API management and the return of the enterprise service bus

16 May 2017

No self-respecting integration platform is complete without an API management story these days. Is this just a RESTful return of the enterprise service bus?

API gateways and the dangers of creeping middleware scope

23 March 2016

An API gateway can solve many generic problems in an API infrastructure, but you do need to define a clear remit and protect against creeping scope.

Pragmatic REST: APIs without hypermedia and HATEOAS

12 December 2015

If you’re not using HATEAOS then you’re not using REST. That’s true enough, but in many cases adopting HATEOAS doesn’t deliver much value beyond architectural purity.

REST APIs don’t need a versioning strategy - they need a change strategy

27 September 2015

Change in an API is inevitable. Attempting to manage this change through version numbering usually creates more problems than it solves.

Comparing Gartner’s cloud integration leaders: Informatica, Dell Boomi and Mulesoft

2 July 2015

Gartner’s definition of enterprise integration as a service is so wide that it can be difficult to draw any meaningful comparisons between the platforms in the “leaders” space.

The REST flame wars – common disagreements over REST API design

22 November 2014

Debates on the finer points of REST can bring out the worst in people as they seek to define what is and is not “RESTful”. In most cases the debate is unlikely to make the difference between success and failure for an API.

Using a tolerant reader for web service integrations in .Net

22 July 2014

Using version tolerant readers can help you to cope with changes to service contracts though this does come at the expense of a weaker contract. The approach is more appropriate for fluid services that are prone to frequent change.

Hackable URIs may look nice, but they don’t have much to do with REST and HATEOAS

21 April 2014

Structured and Hackable URIs are a staple part of SEO-friendly websites. Although developers generically expect to see them in HTTP-based APIs, they should be irrelevant to consumers of a fully RESTful API that leverages HATEOAS.

Can APX help in developing usable and accessible APIs?

19 October 2013

Given how important APIs have become in driving the reach of applications and services, it’s surprising how little investment is made in the usability of APIs as opposed to UIs. Perhaps the principals and techniques used by UX should be applied to developing more effective APIs…

Managing change and version control for service interfaces

16 July 2013

Change is an inevitable and even desirable part of distributed development. Managing the impact of that change is the difficult part, particularly when change affects the service interfaces that bind a distributed platform together.