Robin wrote: "If the interface is not changed, it means
this interface is generic and the contract is a document somewhere
exchanged between service provider and consumer that describes what's
in the messages."

The SOA Service Contract is MUCH 'wider' than "what's
in the messages". A 'contract' for Web Services is WSDL, yes, but Web Services is just one of possible sub-sets of SOA Services (to me, its just a type of interface). So, if a change in the f(x) affects SOA Service Contract, it has to be versioned, otherwise - no.

Here is an extreme example: after a change in the f(x), the SOA Service started to accept porno content via its new function. If  your  (as a user) Contract does not  require a notification about all  new  Service features and/or explicitly prohibits porno content, you are fine, no need for a version. Otherwise, it is up to you to decide if you want your business to be associated with porno transfer... but you have to be officially notified about that fact according to the Contract. So you will be able to use previous version of the Service without the feature in question (it IS an extreme example of SOA Service versioning issue).

- Michael Poulin

Robin <[EMAIL PROTECTED]> wrote:
What do you mean by versioning the service?
- If you are talking about the version of the service implementation,
of course yes. A new logic in the service will mean a new
implementation of the service.
- If you are talking about the version of the service interface, I
would say no because the interface is backward compatible, in fact,
the same. But you could create a new version of your interface to
deliberately break existing clients that could be outside of your
control (I have seen people doing this)
- If you are talking about the contract, if the result is different
but the interface is the same, the difference might be in the nature
or the quantity of data returned. In any case, you have to inform the
service consumers of this change but creating a new version of the
contract will be necessary when the clients might be seriously broken.

There is a contradiction on your question. In most of the cases, if a
service is changed and f(x) begins producing a new result, it means
the interface is changed. If the interface is not changed, it means
this interface is generic and the contract is a document somewhere
exchanged between service provider and consumer that describes what's
in the messages. Of course, a new version of this document is then
produced as a result of the change.
While I believe some people will not consider that change as a new
interface, I think it is untrue on a functional level.

Robin

--- In service-orientated-architecture@yahoogroups.com,
"jeffrschneider" <jeffrschneider@...> wrote:
>
> If the logic in a service is changed and f(x) begins producing a new
> result, do you version the service?
>
> (Note: in this scenario, the interface didn't change just the internal
> logic.)
>
> Thanks,
> Jeff
>



Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1ยข/min.


Get your own
web address for just $1.99/1st yr. We'll help. Yahoo! Small Business. __._,_.___


SPONSORED LINKS
Computer software program Computer software spy Computer job
Database software Discount computer software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

Reply via email to