This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.

Web Services and Complex Data

Stefan Tilkov,

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.