Service Versioning
Mike Morris <[email protected]> Tue, 20 Nov 2007 16:13:34 +0200
| Newsgroups | gmane.comp.java.sun.jini |
|---|---|
| Message-ID | <[email protected]> |
I am curious how others have tackled/solved/neglected the issue of
service (interface) evolution and versioning.
I'm thinking about the case where I need/want to evolve a service
interface, but I know that there are clients out there hanging about
with the old interface definition.
I can think of two (reasonably sensible, I think) approaches: one by
creating a VersionedService interface defining a compatibility check
method something like a
requiresVersion( ServiceVersionID version )
that informs the service proxy of the interface-version known to the
client. (Could run this the other way around and have the client ask
what service versions the proxy supports, but I see that getting messy...)
Alternatively, use a java.lang.reflect.Proxy to connect the client's
notion/version of an interface to the (Jini)Proxy delivered to the
client by a LUS.
(I don't much like the third possibility: "interface Foo2 extends Foo"
solution.)
What other approaches (presumably more clever stuff) have people taken?
--
mike morris :: mikro2nd (at) gmail (dot) com
http://mikro2nd.net/
http://mikro2nd.net/blog/planb/
http://mikro2nd.net/blog/mike/
-- A day without chillies is a day wasted --
--------------------------------------------------------------------------
Getting Started: http://www.jini.org/wiki/Category:Getting_Started
Community Web Site: http://jini.org
jini-users Archive: http://archives.java.sun.com/archives/jini-users.html
Unsubscribing: email "signoff JINI-USERS" to [email protected]