Tiago Pascoal's WebLog

Hello Good Evening and welcome to nothing much.

SOA can a service be really autonomous?

A few weeks ago i've subscribed to this weblog about SOA and Indigo. I happen to think that in the future SOA will be big and i might as well start preparing for it. I've subscribed a few weeks ago, but only yesterday managed to read some posts.

I've found this one quite interesting, but this part

Services are Autonomous: A service should not have hard-dependencies on other services. You should design your Services to be isolated, independent and interchangeable otherwise you'll end up with a closely coupled system that is fragile and overly complex. "

raised my eyebrow. 

While this is a nice goal, either i'm missing something, or this goal is not going to happen  very often in large systems.

On medium/large distributed systems at one time or another a system is not completely isolated it depends on data stored on another system.

Suppose we have service A which depends on some data stored on service B (a lot of time data is horizontally partitioned).

If we want A to be autonomous what choice do we have?

  • Replicate service B data (and logic) into service A storage in order to stay independent? not very smart is it?
  • Let the clients orchestrate/compose the calls to service A and service B themselves in order to keep service A autonomous and independent of the data stored in service B? this seems to me going backwards.

I'm i missing something here? or i'm i having some problem understanding one of the 4 pillars of SOA?

While we are on the subject this post SOA Real-World challenges presents some nice targets for SOA cenarios usage.

Any takers?

Comments

Rich Turner said:

Just posted a discussion of what Autonomy means in relation to Service Orientation and why it is important, achivable and valuable.

http://blogs.msdn.com/richturner666/archive/2004/03/17/91428.aspx
# March 17, 2004 5:55 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)