One of the the things that I played around with was a Protocol handler which would use a URL structure that specified such versioning information. It would lookup services implementing CodeBaseAccess and ask them if the could provide such a jar file.
This kind of thing makes it easier to deal with some issues about total number of codebase sources, but I am still not sure that it solves the problem you are thinking about. Gregg Wonderly Sent from my iPad On May 5, 2010, at 9:00 PM, Peter Firmstone <[email protected]> wrote: > The other thing I'm working on is a PackageVersion annotation, using the > implementation version and package name from the Java Package Version spec, > so developers can version their proxy's allowing sharing of compatible > bytecode for reduced codebase downloads. > > I'm hoping that these things combined will assist to enable lookup over the > internet. > > Peter Firmstone wrote: >> Gregg Wonderly wrote: >>> Many of my service APIs have streaming sockets needed for I/O based >>> activities. For example, remote event monitoring happens through an >>> ObjectInputStream that is proxied through the smart proxy on the client to >>> a socket end point that the proxy construction provided the details of on >>> the server. >> >> This too is interesting Gregg, I've done something similar with the >> StreamServiceRegistrar; I've created a new interface called ResultStream, to >> mimic an ObjectInputStream, which is returned from lookup. The idea is to >> provide a simple interface and minimise network requests by allowing a smart >> proxy implementation to request and cache larger chunks. The main advantage >> of the Stream like behaviour, is to enable incremental filtering stages and >> delay unmarshalling of proxy's until after initial Entry filtering, then to >> control the progress of unmarshalling, so your only dealing with one proxy >> at at time. Further filtering can be performed after each unmarshalling, >> such as checking method constraints. Any unsuitable proxy's can be thrown >> away before the next is unmarshalled, allowing garbage collection to clean >> as you go and prevent memory exhaustion. >> >> The StreamServiceRegistrar lookup method also takes parameters for Entry >> classes that are to be unmarshalled for initial filtering, allowing delayed >> unmarshalling of uninteresting entries. >> >> Unmarshalling will still be performed by the Registrar implementation, the >> client just gets to chose when it happens. >> >> Cheers, >> >> Peter. >> >
