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.

Actual vs. Described Interfaces

Stefan Tilkov,

Dave Orchard:

It is rare that software that re-uses an interface description will have fewer constraints than the description.

While I agree with most of the post, I’m not sure about this particular paragraph. I believe once services are re-used, it’s unavoidable that a service contract will offer both more operations (if you have something like that) and data that the re-using application actually needs.

On February 24, 2005 10:35 AM, Jacek said:

Stefan, I believe you are in agreement with DaveO - he says most services will be more constraining than just the interface description, and you say that the interface description will have more options (fewer constraints) than the service.

On February 24, 2005 2:06 PM, Stefan Tilkov said:

Jacek, I had to ponder this for a while, but I believe I did not misunderstand him. Consider a service implementation that corrects zip codes in addresses. It has constraints for the address only. Can I pass an invoice document to it, and have it correct billing and shipping address for me?

Depending on my infrastructure, I may be able to deploy the existing address-correcting implementation as a service implementation for correcting invoice addresses. It’ll have less restrictions in its implementation than the schema suggests.

Right?