Hello Premek, On 16 Sep 2010, at 14:07 , Premek Brada wrote:
> I am a researcher and software engineering lecturer at University of West > Bohemia, Czech Republic. In my team we have been researching component > compatibility methods and their applications to industrial technologies, > in particular OSGi. > > Some time ago I came to know the Apache ACE project, through Marcel Offermans. > During our discussions, the idea came up that an automated mechanism of > assigning version numbers to bundles and their exported packages, which we > came up with, could be useful for ACE. To cut a long story short, we are now > able > to reliably generate semantic versions (as per the recent OSGi Technical > Whitepaper) > when a bundle is newly stored in ACE repository. The versions are > stored/updated in > the appropriate bundle manifest headers. Great! > This effectively ensures version-implementation consistency across all > bundles managed > by the given ACE repo instance, in other words, no nasty runtime errors / > exceptions due > to type mismatches in wired bundles obtained from such a repository. Also, it > means > the bundle programmer can be lazy and leave versioning chores to the > repository ;-) You rightfully put a smiley there, as not all semantic changes can be automatically detected by tooling of course. However, I do like the idea a lot. > Now then, I have a couple of questions to the community here: > - First, is the explanation clear enough? For me, yes. Of course it would be interesting to learn more about how this is implemented, and what actual version policy is being used, but as a general overview I understand it. > - Does this sound interesting? (To me, it certainly does :-) Why yes/no? Yes. > - [if yes] How would you imagine/suggest such a thing should be integrated > into ACE? As you know, currently ACE supports a REST like interface for OBR, so it would be nice if we could integrate it at that level. Eventually we need to support adding bundles to the OBR from the web UI so integrating it there would also be nice. > We of course have an implementation, it extends the plain > org.apache.ace.obr.storage.BundleStore interface to include versioning -- > see the attached pieces of code to get an idea how it works (there is > about 0.5MB of libraries hidden behind this small interface). However, > this is our first cut and by no means an ideal solution. Would you consider donating and supporting this? > I would be therefore very much interested in any thoughts and ideas > you may have about this versioning ACE repository. > PS: A sort of advertisement: we have a bundle versioning service at > http://osgi.kiv.zcu.cz/obvs/ - you are invited to give it a try, I would be > interested in any feedback. From the service on this website, I would like to get a bit more feedback about the actual analysis. As a test I submitted different versions of the compendium bundle, and that went well (in essence, the tool concluded that the versions were correct). Greetings, Marcel
