You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Christopher Moesel <Ch...@avid.com> on 2007/04/23 16:22:06 UTC
Service Versioning Strategies
Does CXF have a recommended service versioning strategy?
-Chris
Re: Service Versioning Strategies
Posted by Fred Dushin <fr...@dushin.net>.
Some may find this at least amusing, if not useful.
http://www.iona.com/hyplan/vinoski/pdfs/IEEE-The_More_Things_Change.pdf
On Apr 23, 2007, at 12:07 PM, Guy Pardon wrote:
>
> Agreed.
>
> I found the following article very useful (after reading it three
> times):
>
> http://www.xml.com/pub/a/2004/10/27/extend.html
>
> The nice thing is that it describes compatible versioning so your
> version upgrades don't ripple out all over.
>
> Guy
>
> On 23-apr-07, at 16:59, Dan Diephouse wrote:
>
>> No. Stepping away from CXF - there is no BEST versioning strategy
>> in my
>> mind. Only various bad ones :-)
>>
>> Some various things I've come up with are:
>> - Namespace versioning: Create a new schema namespace and new set
>> of DTOs
>> for each new version
>> - Unified Domain Objects: In this scenario you try to map all the
>> different
>> versions of your XML data to one set of domain objects. Easier
>> said then
>> done... JiBX has some limited support for this, but not enough IMO
>> to really
>> be able to do it.
>> - Deployment versioning: Run multiple versions of your application
>> at the
>> same time and give each new version a new URL
>> - XSLT transformations
>>
>> There are many sub categories, but I tend to stick to Namespace
>> versioning
>> as its relatively straightforward to do, although maintenance can
>> be a pain.
>>
>> - Dan
>>
>> On 4/23/07, Christopher Moesel <Ch...@avid.com> wrote:
>>>
>>> Does CXF have a recommended service versioning strategy?
>>>
>>> -Chris
>>>
>>
>>
>>
>> --
>> Dan Diephouse
>> Envoi Solutions
>> http://envoisolutions.com | http://netzooid.com/blog
>
>
Re: Service Versioning Strategies
Posted by Sergey Beryozkin <se...@iona.com>.
This article advocates (implicitly), among other things, for the runtimes to support a forward compatibility, which is a great thing
to do. On the other hand, changing namespaces is a big-bang style of versioning, sometimes it's necessary, but sometimes it's
avoidable, it basically makes the newer version of the language be both backward and forward incompatible with the older version.
I'd vote with both hands for CXF to support a must-ignore-rule which is a basic prerequisiute for enabling a forward compatibility.
This means that the CXF should let those people who are conscious of the costs associated with the namespace change to do the
compatible evolution, specifically :
* JAXB 2.0+ allows to ignore unrecognized elements, this configuration option should be made available to users
Cheers, Sergey
----- Original Message -----
From: "Guy Pardon" <gu...@atomikos.com>
To: <cx...@incubator.apache.org>
Sent: Monday, April 23, 2007 5:07 PM
Subject: Re: Service Versioning Strategies
>
> Agreed.
>
> I found the following article very useful (after reading it three times):
>
> http://www.xml.com/pub/a/2004/10/27/extend.html
>
> The nice thing is that it describes compatible versioning so your version upgrades don't ripple out all over.
>
> Guy
>
> On 23-apr-07, at 16:59, Dan Diephouse wrote:
>
>> No. Stepping away from CXF - there is no BEST versioning strategy in my
>> mind. Only various bad ones :-)
>>
>> Some various things I've come up with are:
>> - Namespace versioning: Create a new schema namespace and new set of DTOs
>> for each new version
>> - Unified Domain Objects: In this scenario you try to map all the different
>> versions of your XML data to one set of domain objects. Easier said then
>> done... JiBX has some limited support for this, but not enough IMO to really
>> be able to do it.
>> - Deployment versioning: Run multiple versions of your application at the
>> same time and give each new version a new URL
>> - XSLT transformations
>>
>> There are many sub categories, but I tend to stick to Namespace versioning
>> as its relatively straightforward to do, although maintenance can be a pain.
>>
>> - Dan
>>
>> On 4/23/07, Christopher Moesel <Ch...@avid.com> wrote:
>>>
>>> Does CXF have a recommended service versioning strategy?
>>>
>>> -Chris
>>>
>>
>>
>>
>> --
>> Dan Diephouse
>> Envoi Solutions
>> http://envoisolutions.com | http://netzooid.com/blog
>
Re: Service Versioning Strategies
Posted by Guy Pardon <gu...@atomikos.com>.
Agreed.
I found the following article very useful (after reading it three
times):
http://www.xml.com/pub/a/2004/10/27/extend.html
The nice thing is that it describes compatible versioning so your
version upgrades don't ripple out all over.
Guy
On 23-apr-07, at 16:59, Dan Diephouse wrote:
> No. Stepping away from CXF - there is no BEST versioning strategy
> in my
> mind. Only various bad ones :-)
>
> Some various things I've come up with are:
> - Namespace versioning: Create a new schema namespace and new set
> of DTOs
> for each new version
> - Unified Domain Objects: In this scenario you try to map all the
> different
> versions of your XML data to one set of domain objects. Easier said
> then
> done... JiBX has some limited support for this, but not enough IMO
> to really
> be able to do it.
> - Deployment versioning: Run multiple versions of your application
> at the
> same time and give each new version a new URL
> - XSLT transformations
>
> There are many sub categories, but I tend to stick to Namespace
> versioning
> as its relatively straightforward to do, although maintenance can
> be a pain.
>
> - Dan
>
> On 4/23/07, Christopher Moesel <Ch...@avid.com> wrote:
>>
>> Does CXF have a recommended service versioning strategy?
>>
>> -Chris
>>
>
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
Re: Service Versioning Strategies
Posted by Dan Diephouse <da...@envoisolutions.com>.
No. Stepping away from CXF - there is no BEST versioning strategy in my
mind. Only various bad ones :-)
Some various things I've come up with are:
- Namespace versioning: Create a new schema namespace and new set of DTOs
for each new version
- Unified Domain Objects: In this scenario you try to map all the different
versions of your XML data to one set of domain objects. Easier said then
done... JiBX has some limited support for this, but not enough IMO to really
be able to do it.
- Deployment versioning: Run multiple versions of your application at the
same time and give each new version a new URL
- XSLT transformations
There are many sub categories, but I tend to stick to Namespace versioning
as its relatively straightforward to do, although maintenance can be a pain.
- Dan
On 4/23/07, Christopher Moesel <Ch...@avid.com> wrote:
>
> Does CXF have a recommended service versioning strategy?
>
> -Chris
>
--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog