Archive for the 'Architecture' Category

REST is the assembly language of the web

Some recent REST-related traffic in the blogosphere (both pro- and anti-) has discussed the ‘challenge’ of there being only a handful of REST verbs. The discussions revolve around how to map those verbs and the resources they act upon to a wide range of application functions. So we have Stefan (Tilkov?) writing: “I force my application semantics to adhere to the common HTTP semantics …”

Ugh! This smells like assembly-language programming. Application code isn’t written with CPU instructions and registers in mind; compilers and runtimes were long ago designed to take care of that.

We are at a primitive point in the development of applications to run on this networked computer. We need automatic compilation of high-level languages into ‘REST Assembly Language’ so we can write distributed applications much nearer to their problem domains.

Talk about RISC! This distributed computer has a tiny instruction set but limitless locations into which limitless pieces of information are organised.

Writing good compilers will be very challenging, but if the REST vision is to be fulfilled, very worthwhile.

XY and EA

The XY Problem has been recognised among Perl Monks and perfectly describes a problem we often encounter in Enterprise Architecture (EA). The XY Problem is succinctly stated as:

Someone has a need to do X and believes Y is the best solution. So they ask about Y instead of asking about X.

In the planning phase of a project, architects work with business people to help them find the best solution for their requirements, in the context of the enterprise in which they work. But many people don’t understand EA yet, so customers often come to us with a solution firmly fixed in their minds: “I want one of those. Help me implement it.”

‘XY Problem’ describes the problem perfectly, but it needs a better name. It isn’t about Cartesian geometry. It isn’t about sex chromosomes and transgender issues. Has anyone seen a better name for it?