Web Service Facades

Posted July 10th, 2005 by Claudio Perrone

My good friend Marcus Mac Innes is just back from Amsterdam and posted a lucid report of what he saw at Tech-Ed Europe.
His apartment faces our offices in Dublin, so it is natural for us to occasionally meet and share some ideas.

I can’t wait to have a chat with him again over a good cup of (Italian :-)) coffee!

With Marcus I often talk about many topics, but lately SOA dominates a lot of our conversations.

I’m actually very surprised to read that about 60% of the audience claimed to be currently building SOA based applications.
I suspect that a lot of them are simply creating basic web service façades over their existing applications.
That is so !SOA.


Tags: ,

Extreme Service-Oriented Architecture

Posted June 8th, 2005 by Claudio Perrone

SOA is an architectural approach to creating systems built from autonomous services. – Ron Jacobs, Tech-Ed 2005

While this is certainly true, it does not fully explain why so many “experts” and practitioners debate and, sometimes, disagree about what constitutes a well factored SOA-based distributed system.

For some strange reason, SOA reminds me of Kent Beck’s description of how he came to devise the Extreme Programming methodology.
Kent had the mental picture of a control panel with knobs; each knob would represent a practice that, from his experience, he knew worked well.
He then imagined turning those knobs all up to 10 to see the consequences.

The same analogy helps me to capture what I believe is the true spirit of SOA.
I see it as being an architectural model that mainly limits to the extreme the assumptions we make about the services that we create and consume in terms of reliability, communication protocols, network latency, implementation platforms, resiliency, versioning, security, coupling, etc.

I like to think that people around the world are simply attempting to define what “turning a knob to 10” means, evaluating implications, and eventually devising practices that work.

This oversimplification helps me to understand why, for example, some experts suggest that message exchange between services should be fundamentally asynchronous; synchronicity would mean taking for granted certain assumptions about the responsiveness of the services we consume which for some are simply unacceptable.


Tags: ,