This seems to have vanished - resending. ---------- Forwarded message ---------- From: Mark Nuttall <[email protected]> Date: 15 February 2010 11:10 Subject: Re: [Applications] Installation and resolution of aries applications To: [email protected]
Hello Guillame. > My understanding is that the state of the application is an aggregate of its constituents states, > so that the application is RESOLVED if all bundles are at least RESOLVED. Yes, that's correct. > What if a bundle has been uninstalled ? Do we force to uninstall / reinstall the application ? I've been expecting administrators to work at the AriesApplication level - defined collections of bundles. I don't want those administrators to then start operating on individual bundles, An application's bundles should be operated on collectively. > In order to be more consistent with OSGI bundles, we could also: > * keep the install on AriesApplicationManager > * move the uninstall on ApplicationContext When designing the current interfaces, there was a clear tension between the possible object- and service-oriented approaches. The current design is service-oriented - the ApplicationManager service both installs and uninstalls AriesApplications. I realise that this differs from the existing OSGi design, in which we have BundleContext.installBundle() and Bundle.uninstall(). Apart from following the same pattern, do you see any other advantages to such a change? > * add an update method on ApplicationContext What do you think that would mean? Currently we have the method AriesApplication resolve (AriesApplication originalApp, ResolveConstraint ... constraints) throws ResolverException; on AriesApplicationManager - this is a model in which AriesApplications are immutable: changing an AriesApplication gives you a new one. Once we start clustering AriesApplications - having multiple concurrent running instances - the idea of hot-updating individual running instances leaves us open to unpredictable results. Can you say a bit more about your thinking around update() ? Thank you! Regards, Mark On 12 February 2010 17:20, Guillaume Nodet <[email protected]> wrote: > It has been a long time since I wanted to have a closer look at the > application model in Aries, so I've tried to install the application > support bundles in Karaf and install the sample applications. > It doesn't really work, so I'd like to start fixing things a bit. > > The following method of AriesApplicationManager interface is supposed > to install the bundles for the application: > ApplicationContext install(AriesApplication app); > The counterpart for uninstalling the application is > void uninstall(ApplicationContext app); > > The first point is that the implementation does not actually install > the bundles. So i was going to fix that, but I wonder about the > state of the application. > My understanding is that the state of the application is an aggregate > of its constituents states, so that the application is RESOLVED if all > bundles are at least RESOLVED. > What if a bundle has been uninstalled ? Do we force to uninstall / > reinstall the application ? > In order to be more consistent with OSGI bundles, we could also: > * keep the install on AriesApplicationManager > * move the uninstall on ApplicationContext > * add an update method on ApplicationContext > > Thoughts ? Comments ? > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com >
