Web Services
-thoughts on service orientated architectures


Thursday, November 14, 2002

Loosely Coupled Distributed Systems  

Mark Baker writes in his web log about Web Services and the Eight Fallacies. While I agree with much he says I think the problem is compounded by people weaving the magic wand of Loosely Coupled and then not defining how they are going to apply (or even implement) loosely coupled. The Eight Fallacies of Distributed Computing illustrate in detail the assumptions that are made sometimes. I argue that this is the exact set of problems that Grand Central (Disclaimer: Grand Central is my employer) understands and is designed to solve/work around.

GC is a loosely coupled framework delivered as a network service. I define a loosely coupled architecture as:


A loosely coupled architecture allows individual nodes in a distributed system to change without affecting the complete system.


A distributed system is a prerequisite for a loosely coupled architecture, the inverse is not true i.e., I can defined a distributed system that is not loosely coupled. This is where most of the conflict arises when considering a distributed system as a collection of synchronous components. The correct approach is a designing it as a service orientated architecture connected in by a loosely coupled framework which is the Grand Central point of view.
So to address the eight points from Grand Central's POV:

  1. The network is reliable:GC provide's reliable message queuing - send GC a message and it is guaranteed to be delivered or a timeout will be generated

  2. Latency is zero:GC provides asynchronous messaging, as latency is a physics problem, the correct solution is a loosely coupled architecture.

  3. Bandwidth is infinite: No but there is a lot around, it is a design and intent issue - design for the intent of a loosely coupled system with the available bandwidth.

  4. The network is secure:GC provides trust services as part of its offering. The only way to create perfect security is to unplug everything from the network.

  5. Topology doesn't change: A loosely coupled architecture is the correct approach - things change - design for it.

  6. There is one administrator:GC provides a shared infrastructure so visibility and management is available to all parties

  7. Transport cost is zero: OK so we do charge for our service

  8. The network is homogeneous:and will always be a, loosely coupled framework is the necessary solution, i.e., nodes in the system can change independently

  9. This is a very quick take on web services and loosely coupled architectures, but I think Mark raises some key issues about the need for a loosely coupled framework to take advantage of web services across the internet.

    posted by John McDowall | 9:42 PM


links
archives