- Michael
David Orchard <[EMAIL PROTECTED]> wrote:
One approach is to only change the version of the service if an f(x) change results in an incompatible change to the service. Which does require services to plan for both forwards and backwards compatiblity.Focusing on just XML and Schema, there are some design rules for creating your language. http://www.xml.com/pub/a/ 2004/10/27/ extend.html I've gathered a bunch of links to stuff myself and others have written, http://www.pacificspirit.com/ Authoring/ Compatibility/ In the W3C TAG, I'm continuing to take the work on versioning to more formal definitions of compatibility relating to subset/superset relationships in the allowed and defined content of messages.Cheers,Dave
From: service-orientated-architecture@ yahoogroups. com [mailto:service- orientated- architecture@ yahoogroups. com] On Behalf Of Michael Poulin
Sent: Thursday, September 28, 2006 1:57 AM
To: service-orientated-architecture@ yahoogroups. com
Subject: Re: [service-orientated-architecture] Re: if f(x) changes, do you version the service? Let me "join the club" and clarify my previous message in this discussion.
To version a SOA Service, I follow one straight forward rule:
if a change in f(x) causes a change in a SOA Service Contract, the service version ought to be changed.
Since a SOA Service may have more than on Contract with its consumers, the version change decision is based on an accumulative analysis of all active Contracts for the Service. If no changes in the Contracts are caused by a change in the Service's f(x), you are free to make a f(x) change totally transparent to the Service consumers.
- Michael Poulin
Gervas Douglas <gervas.douglas@gmail.com> wrote:Chuck, thanks for the clarity of _expression_ there. Even a non-techy
erstwhile mathematician (to a modest academic level) like myself can
appreciate your exposition.
Would that the MBAs in the industry express such clarity of thought so
simply!
Gervas
--- In service-orientated-architecture@ , Chuckyahoogroups. com
D'Antonio <c_dantonio@...> wrote:
>
> I'd be partial to versioning the service in this instance if the
> difference in the result is semantically distinct. By returning a
> result that has changed semantics, you're changing the contract of
> the service. Anytime the contract changes I'd suggest that that
> represents a new version of the service.
>
> For an example, let's start with f(x) returning the square root of
> x. If f(4) was returning 1.78 and you fixed it to return 2, then I'd
> say that's not a new version. If you changed your algorithm so that f
> (4) returned the cube root of 4, and that was the correct purpose of
> the function with the business changes that drove it, then I'd say
> it's a new version. You've changed the expectations inherent in the
> contract so you should use version the service to make that clear.
>
> Chuck
>
>
> Chuck D' Antonio
> Software Consulting Professional
> Mobile: (617) 388-1120
> Email: [EMAIL PROTECTED]..
> IM: dantonioJr (AIM)
> http://www.linkedin.com/in/dantonio
>
>
>
> On Sep 27, 2006, at 9:33 AM, 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
> >
> >
> >
>
Get your email and more, right on the new Yahoo.com
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2ยข/min or less. __._,_.___
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
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
__,_._,___
