Stefan Tilkov's Random Stuff

Web Services and Complex Data

Ted Neward writes about how to design your service interfaces:

“But what about objects? Surely you’re not suggesting we give up our well-designed, well-refactored object model?”

As a matter of fact, I am. Exactly that—your well-designed object model shouldn’t be seen outside of your service. If you pass objects around, instead of messages, you run the risk of tightly-coupling the consumer of the service to the service itself, and when the service needs to rev, the consumers all need to rev as well. Loosely-coupled components are the order of the day in an S-O environment.

I think what you need to do in a Service-oriented world is to explicitly design your interface layer, including the messages exchanged at the boundaries, instead of adding it as an afterthought, so this fits my view very nicely.

Comments