Hi, at the company I work, I am currently involved in a project where we are using a home-grown OSGi-based server on which we deploy our applications. In fact, it has quite a lot in common with Apache Karaf, which on a quick inspection, looks like a good deployment alternative considering what we already have. (Being able to use a stable, community-driven alternative seems more appealing than having to maintain our own framework). However, before starting to migrate our applications I would like to ask a few general questions about the framework. Any input would be greatly appreciated.
(1) From what I understand, "features" are the main deployment unit for installing multi-bundle applications onto the Karaf runtime. Although it appears to be a highly flexible format, it introduces a level of indirection with the descriptor only containing references to the actual deployment artifacts. Do you have any plans of introducing other deployment formats, for instance a more "direct" format that contains the actual artifacts to be deployed? (I am thinking of something along the lines of the PAR format in the spring dm server.) For instance, in our home-grown server we have a zip deployer that expects a zip file containing the application bundles to be deployed. (2) How extensible is the deployment architecture of Karaf? Does it allow custom deployers to be hooked in to support other deployment formats? Would it be a complex task to introduce additional deployers? (3) Are there any plans on providing some sort of in-container testing framework (or maybe one already exists)? I'm imagining some kind of simple testing infrastructure, such as an (abstract?) base TestCase class that launches a bare-bones Karaf runtime with the possibility for concrete TestCases to add features/bundles/configurations? I believe that such an integration test framework could be really useful. (4) What is the preferred way of writing and launching applications for the Karaf platform? (I see that the user's guide contains a placeholder chapter for this type of information but I was hoping that someone could give a brief summary!) (5) Are there any plans around Karaf development tools, such as Eclipse plug-ins similar to those of spring dm server, that would allow a Karaf server runtime to be defined and workspace bundles to be hot deployed? Okay, that's all for now. best regards, Peter