CloudStack is built as a product with modularity enforced by interfaces.  It 
had its own component management via ComponentLocator.  While that framework 
made it easy for a small group of developers to work together, it has outlived 
its usefulness.  Now that we are expecting more developers to join Apache 
CloudStack, we're looking for the next component framework  to scale code 
development.  This framework needs to manage the following:
        - life cycles of the components
        - enforce boundaries between components
        - easily allow components to be upgraded/downgraded
        - database upgrades for the component

The most successful of such an application is Eclipse, which uses framework 
defined by OSGi.  We're planning to use that for our component framework.  

I like to gather opinions about

1. Whether to use OSGi or there should be other frameworks to consider?
2. If OSGi, whether to use Equinox or Apache Felix?
3. The tool to help integrate the OSGi framework into tomcat (Sling?)
4. Anything we can use to upgrade/downgrade database versions?

Please let me know your feedbacks.

--Alex

Reply via email to