Martin Probst's weblog

Where is the glue in loose coupling with REST?

Friday, December 1, 2006, 09:19 — 1 comment Edit

Just a thought: all the REST people argue that this particular architecture made it possible to scale systems to the size of the web. This is - according to them - possible in particular because REST services as they are on the web provide a uniform interface to all consumers, which leads to loose coupling etc.

Now, the thing with loose coupling is that you need something to plug the loosely coupled things together, and probably provide some glue between them. Strongly typed systems like SOAP ensure compatibility between components by requiring consumers to explicitly adhere to certain types. This is sometimes painful, but it somehow makes sure the client nows what he’s doing.

The web, as it is today, does not have this problem at all. Not because the architecture was any better, but because the things that glue interfaces together are magical systems capable of adjusting to unbelievable complexity, dynamic learning of interfaces and complex reasoning over input types. Yeah, humans.

Has someone thought about this? What’s the RESTafarian answer?

In summary, Loose Coupling in a system presents itself in different dimensions. To define a “spectrum” of loose coupled-ness requires one to consistently measure on the same axis.