Hi Kelven, As Spring/Spring DM can be used on Apache Karaf (multi-container OSGI runtime), that should not be a problem to use what you have done on Karaf. Maybe we can talk about that next on IRC channel (@ch007M)
Regards, On Tue, Nov 13, 2012 at 10:05 PM, Kelven Yang <kelven.y...@citrix.com>wrote: > The refactoring work that I did on Spring exploration is an incremental > approach trying to improve and encourage modularity of CloudStack, I hope > it will help CloudStack in the future to add OSGi in the future. > > As we have a huge amount of legacy code base, it will be less risky to do > incremental changes, and Spring effort here is the closest match of what > we have in our existing code base. What we are trying to achieve is to > first enable internal java modules to be more component-ized, our > customized component framework actually provides 99% things we need, > instead of us to fix the missing 1%, I feel that it might be worth to just > switch to a more standard framework with a minimal effort. It is that > simple :-). It is also easier to get things moving, in the end, if we > have a well component-ized system internally, it will be easier to adopt > any "the best" option like OSGi > > Kelven > > > On 11/13/12 8:09 AM, "Mohammad Nour El-Din" <nour.moham...@gmail.com> > wrote: > > >Hi > > > >Had typos in this message the correct one is here: > > > >hi > > > > we already had this discussion before earlier when ACS was just donated > >to ASF. > > > >I am not an OSGi expert at all :), but I would like to know what is the > >problem that needs to be solved rather than discussing or jumping into the > >solution first > > > >OSGi has a lot of magnificent features idd but do we really need them all, > >and also what does all these features add to us in the context of the > >context of the cloud. to be honest I don't have a definite answer and > >that's why I would suggest to list what we need to achieve regarding that > >part and look into the alternatives and choose what is best for us, OSGi > >is > >one option for sure > > > >Feedback/input ? > >On Tue, Nov 13, 2012 at 8:30 AM, Mohammad Nour El-Din < > >nour.moham...@gmail.com> wrote: > > > >> hi > >> > >> we already had this discussion before earlier when ACS was just > >>donated > >> to ASF. > >> > >> I am not an OSGi expert at all :), but I would like to know what is the > >> problem that needs to be solved rather than discussing the solution > >>first > >> > >> OSGi has a lot of magnificent features idd but do we really need them > >>all, > >> and also what does all these features add to us in the context of the > >> context of the cloud. to be honest I don have a definite answer and > >>that's > >> why I would suggest to list what we need to achieve regarding that part > >>and > >> look into the alternatives and choose what is best for us, OSGi is one > >>of > >> them for sure > >> > >> Feedback/input ? > >> > >> Sent from my Samsung Galaxy S3 > >> Apologies for any typos > >> > >> On Nov 13, 2012 7:56 AM, "Hugo Trippaers" > >><htrippa...@schubergphilis.com> > >> wrote: > >> > > >> > > >> > > >> > > -----Original Message----- > >> > > From: Kelven Yang [mailto:kelven.y...@citrix.com] > >> > > Sent: Monday, November 12, 2012 11:31 PM > >> > > To: cloudstack-dev@incubator.apache.org > >> > > Subject: Re: [DISCUSS] OSGi framework for plugins and more? > >> > > > >> > > > >> > > > >> > > On 11/12/12 1:34 PM, "Chip Childers" <chip.child...@sungard.com> > >> wrote: > >> > > > >> > > >On Mon, Nov 12, 2012 at 4:12 AM, Hugo Trippaers > >> > > ><htrippa...@schubergphilis.com> wrote: > >> > > >> Hey all, > >> > > >> > >> > > >> With the recent discussions on refactoring CloudStack and the > >> working > >> > > >>going into javelin I would like to discuss using OSGi. The > >>background > >> > > >>is that I have been struggling with ideas on how to setup a plugin > >> > > >>system for CloudStack that would allow plugins to be separate > >> entities > >> > > >>which can be release independently from CloudStack core. Mainly to > >> > > >>deal with the current non-asf components but for future expansion > >>as > >> > > well. > >> > > >> > >> > > >> While at ApacheConEU I had the chance to discuss these ideas with > >> one > >> > > >>of our mentors after his talk about OSGi. I'm pretty charmed by > >>OSGi > >> > > >>and the options it provides. It's a well thought out system that > >> allow > >> > > >>true modularity and pluggability. With the amount of support in > >>the > >> > > >>java industry it's a standard that feels very mature and a safe > >>bet, > >> > > >>one I would prefer to any homegrown plugin system. It supports > >> > > >>versioning of components, strict separation of classes between > >> > > >>components and all kind of funky features like hot-plugging and > >> > > >>hot-replace. Using OSGi would mean that people can supply bundles > >> with > >> > > >>functionality which are maintained separately from the 'main code' > >> > > >>without having to worry about how to integrate it with the core. > >>Just > >> > > >>putting the module in the right directory should be enough to get > >> > > CloudStack to see and use the bundle. > >> > > >>Upgrades happen the same way, new version of an authenticator, > >>just > >> > > >>replace the bundle and let the framework replace it with having to > >> > > >>shutdown the server at all. > >> > > >> > >> > > >> As we are discussing making CloudStack more modular, I would > >>like to > >> > > >>propose to start using OSGi for this. It is a bit of a learning > >>curve > >> > > >>to start with, but one we can get help with from our mentors. I'm > >> > > >>already working on setting up a proof of concept for a plugin > >>system > >> > > >>using OSGi together with a colleague to show how it works, code is > >> > > >>always better than words. > >> > > >> > >> > > >> So what are your thoughts? > >> > > >> > >> > > >> Cheers, > >> > > >> > >> > > >> Hugo > >> > > >> > >> > > > > >> > > >I'm not familiar enough with OSGi to understand the tradeoffs of > >>that > >> > > >vs other frameworks, but I'd suggest that Kelvin weigh in here. > >>The > >> > > >work that he's doing on the Javelin branch is similar, and there > >>might > >> > > >be an argument for Spring instead. > >> > > > > >> > > >Kelvin, I know you just responded on the other thread about the > >> > > >relative timing of a switch. Want to weigh in on the OSGi > >>approach's > >> > > >technical merit vs. other options? > >> > > > >> > > It will be nice to see the OSGi technical merit vs. other option in > >> details. > >> > > Laying out these basic but fundamental frames may not benefit a lot > >>in > >> the > >> > > short term, but we may get fully paid in long term. Spring can only > >> give us > >> > > solution on compile-time/load-time component integration, it focuses > >> > > more on internal component wiring, OSGi seems to focus more at > >> runtime, I > >> > > think these two may be complementary to each other. > >> > > >> > To a certain extent these technologies can be used together, but not > >>in > >> this way it seems. OSGi is a framework that focusses on separation of > >>code > >> in various modules in such a way that other modules can not see and work > >> with the classes in other modules excluding via well defined services. > >>This > >> is a fundamental choice that touches the core of how CloudStack would be > >> put together. Instead of a single codebase (or at runtime a single > >> classloader) where modules would be loaded via (for example) the spring > >> framework based on an xml definition, the core would be an empty > >>framework > >> and modules work be plugged in and provide a certain service. This can > >>be > >> done at load time or runtime, that up to the implementers. For example > >>say > >> the core module would need a vm provisioned it would ask the service > >> registry if there was a service able to provide this functionality, if > >> there was that service would be asked to perform that task. Here is a > >>short > >> post that describes the context far better than I can: > >> http://elron.us/?p=95 .The real benefits are in also in the modularity, > >> because the framework is very strict on what bundles/interfaces are > >>exposed > >> and required, using the proper interfaces and limiting yourself to > >>exposed > >> interfaces is enforced by the framework. > >> > > >> > Hugo > >> > > > >> > > > >> > > > > >> > > >-chip > >> > > >> > >> > > > > > >-- > >Thanks > >- Mohammad Nour > >---- > >"Life is like riding a bicycle. To keep your balance you must keep moving" > >- Albert Einstein > > -- Charles Moulliard Apache Committer / Sr. Enterprise Architect (RedHat) Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com