I would have made this via services, but there might be other ways such as subsystems (?)
JP [@@ OPEN @@] -----Message d'origine----- De : Milen Dyankov [mailto:milendyan...@gmail.com] Envoyé : mercredi 13 janvier 2016 14:49 À : users@felix.apache.org Objet : Re: Specifying dependency between a bundle and a fragment bundle Conceptually I guess you can put it that way, yes. On Wed, Jan 13, 2016 at 2:43 PM, CLEMENT Jean-Philippe < jean-philippe.clem...@fr.thalesgroup.com> wrote: > Do you mean ensure that fragments and services are deployed as a > single transaction? > > JP > > [@@ OPEN @@] > > > -----Message d'origine----- > De : Milen Dyankov [mailto:milendyan...@gmail.com] Envoyé : mercredi > 13 janvier 2016 13:57 À : users@felix.apache.org Objet : Re: > Specifying dependency between a bundle and a fragment bundle > > Thank you for your thoughts regarding replacing the service. However > that is not really my concern. There are 2 aspects in the picture - > the service itself and the UI to communicate with it. > In traditional layered architecture one would refer to those as > service layer an UI layer. Both are developed independenty and in more > complex scenarios there could be N bundles providing UIs for working > with M bundles providing services. In non-OSGi environment if I start > application having correct modules (jar files and resources on the > classpath) at runtime, I am kind of guaranteed to have a consistent > change in both layers. In OSGi (or any dynamic modular system I guess) > one change can be applied and the other one not (due to configuration, > resolve issues, removed dependencies, ...) which can lead to UI > functionality not matching the actual underlying services providing > it. So what I'm struggling with is finding a way to keep the changes > consistent across both layers. As in this particular case the changes > to the UI layer are applied via fragment bundles and the changes to > the service layer are applied by providing "regular" bundles, I'm > looking for a way to express the relationship between those. I guess > using Requirements and Capabilities would be perfect but to my understanding > you can not use it for fragments. > > > > On Wed, Jan 13, 2016 at 1:24 PM, CLEMENT Jean-Philippe < > jean-philippe.clem...@fr.thalesgroup.com> wrote: > > > I'm not too sure what you need, but I would say first that you > > consider what you have (a text file) rather than what you need (a > > service or services). It seems you see things through the provider > > instead of the consumer. > > > > So, you have a button which calls a service S. Fine. Then you want S > > to be the best service. So you just have to implement a service S > > which is a proxy to T services and which will forward calls to the > > best > T service. > > > > You can even reuse S instead of another T service. So, S is a proxy > > to other S services. The proxy has the better ranking in order the > > button to "find it". The proxy has to exclude itself from S service > > candidates. > > > > ...just a quick thought... > > > > JP > > > > [@@ OPEN @@] > > > > -----Message d'origine----- > > De : Milen Dyankov [mailto:milendyan...@gmail.com] Envoyé : mercredi > > 13 janvier 2016 11:10 À : users@felix.apache.org Objet : Specifying > > dependency between a bundle and a fragment bundle > > > > Lets say I have a UI bundle that renders a button from template. The > > template is just a text file(s) inside UI bundle. Clicking the > > button calls a service (for the purpose of this example say one with > > the > highest rank). > > > > The requirement is: change both the service that is called and the > > button in consistent manner. > > > > The first part is easy: > > - To change the service one can simply provide a new bundle (call > > it > > S) containing the new service implementation (with higher rank or > > whatever else it takes to make it the one that service registry will > > give to the UI bundle). > > - To change the button (or even replace it with something else) one > > can provide a fragment bundle (call it FB) with updated template file(s). > > > > The question is, how to keep those consistent? That is, make sure > > that either both S and FB are applied or none of them (lets assume S > > will somehow ensure the service is registered or stop itself if it > > can't do > so)! > > > > It seams one needs to somehow declare a bidirectional dependency (I > > hate the way it sounds, but that's what it in fact is, isn't it) > > between a bundle and a fragment bundle. AFAIK this is not really > > possible as anything specified in fragment is applied to the host! > > Has anyone faced similar challenge before? > > > > > > -- > > http://about.me/milen > > > > -------------------------------------------------------------------- > > - To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > > For additional commands, e-mail: users-h...@felix.apache.org > > > > > > -- > http://about.me/milen > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > For additional commands, e-mail: users-h...@felix.apache.org > -- http://about.me/milen