Rants

Swagger is not WSDL for REST. It’s much less useful than that…

14 August 2017

Swagger enables the same kind of automated discovery and integration that WSDL was invented to support. In doing so it undermines the design of REST APIs and doesn’t even provide adequate documentation.

When does refactoring become rewriting?

19 June 2017

Refactoring describes a very specific and controlled technique for improving code. The problem is that it is often used to describe wholesale changes to code bases that should be treated as a rewrite.

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?

Why agile software architects should write code

28 January 2017

No architect will ever admit to being out of touch with software development. However, unless you are writing code then it’s difficult to avoid becoming an ivory tower or PowerPoint architect that can only discuss systems in the abstract.

Forget code coverage – test design should be driven by behaviours

19 December 2016

Test coverage statistics are much loved by management teams and code quality tools. They tend to associate a high level of coverage with robust, well-managed code bases. Wrongly, as it turns out.

What’s in a name? Three-lettered acronyms and their impact on development culture

20 September 2016

Three-lettered acronyms can be a useful tool for providing brevity, but they can also give rise to a coded language that contributes to a cold and impersonal development culture.

What do we actually mean when we say business logic?

14 April 2016

In most cases “business logic” just refers to the poorly-defined “gloop” that sits between user interfaces and databases in layered architectures.

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.

Most software architecture diagrams are useless

11 August 2015

The best architecture diagrams act as a map - if an architect can’t express a system clearly and concisely then they probably don’t understand it properly.

Can cross-cutting concerns really exist between services?

25 July 2015

You might be able to identify cross-cutting concerns in a monolith, but in a service-orientated world they should melt away into specific implementations.

The RESTafarian 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.

The problem with GUIDs…

3 October 2014

GUIDs do solve an important problem. It’s just rarely the problem that developers are trying to address…