You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Peter Gardfjäll <pe...@gmail.com> on 2009/10/18 20:08:03 UTC

[Karaf] Some general questions

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

Re: [Karaf] Some general questions

Posted by Oisin Hurley <oi...@gmail.com>.
> There's one Eclipse plugin you may want to try:
>  http://fusesource.com/forge/projects/EIK

This project allows you to create a target platform containing karaf
and run it with your plugins. There's a short video linked from

http://fusesource.com/forge/sites/eik/documentation/tutorial.html

that shows how to do that. One thing to watch out for is the
information on the web site is a bit behind so you might want
to join the mailing list at

http://fusesource.com/forge/sites/eik/community.html

to ask questions, etc.

 --oh

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: [Karaf] Some general questions

Posted by Toni Menzel <to...@okidokiteam.com>.
On Mon, Oct 19, 2009 at 9:15 AM, Guillaume Nodet <gn...@gmail.com> wrote:

> 2009/10/18 Peter Gardfjäll <pe...@gmail.com>:
> > 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.
>
> Yeah, that would make sense.  We haven't discussed that yet, but maybe
> a zip file containing the feature descriptor in some META-INF or
> OSGI-INF folder along with an inlined repository (maybe using the
> maven layout) sounds like a good idea to distribute a stand alone
> application.
>
> > (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?
>
> We already have custom deployers.  This has not been really documented
> yet, but we use those for deploying blueprint applications, spring
> applications and features.   We plan on adding WAR deployment support
> (currently provided by ServiceMix along with a JBI deployer).
> You'll see a custom deployer at the following location:
>  https://svn.apache.org/repos/asf/felix/trunk/karaf/deployer/blueprint/
> You basically need to register a service in the OSGi registry such as
> the following one:
>
> https://svn.apache.org/repos/asf/felix/trunk/karaf/deployer/blueprint/src/main/java/org/apache/felix/karaf/deployer/blueprint/BlueprintDeploymentListener.java
>
> > (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.
>
> We currently use pax-exam and we may want to provide a bit more around
> that.
>

Looks like a good idea, as for example we see exam more as a platform than
an everyones solution.
See,  there has been a long time reequest for some candy on top of
interacting with the raw BundleContext.
If not necessarily Apache ( politics) but Karaf seems to be a good provider
for such an extension.
If there's more interest, feel free to share your thoughts.
As of myself, i have a big pile of ideas one could build around, it just
needs interest by the community.
;)


> > (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!)
>
> The concept of features would be the best we have for that I think.
> IIRC, the user's guide page you're referring to was supposed to
> explain how to create a custom feature descriptor and use it to deploy
> an application.
>
> > (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?
>
> There's one Eclipse plugin you may want to try:
>  http://fusesource.com/forge/projects/EIK
>
> > Okay, that's all for now.
> >
> > best regards, Peter
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>


-- 
Toni Menzel
Independent Software Developer
Professional Profile: http://okidokiteam.com
toni@okidokiteam.com
http://www.ops4j.org     - New Energy for OSS Communities - Open
Participation Software.

Re: [Karaf] Some general questions

Posted by Guillaume Nodet <gn...@gmail.com>.
2009/10/18 Peter Gardfjäll <pe...@gmail.com>:
> 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.

Yeah, that would make sense.  We haven't discussed that yet, but maybe
a zip file containing the feature descriptor in some META-INF or
OSGI-INF folder along with an inlined repository (maybe using the
maven layout) sounds like a good idea to distribute a stand alone
application.

> (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?

We already have custom deployers.  This has not been really documented
yet, but we use those for deploying blueprint applications, spring
applications and features.   We plan on adding WAR deployment support
(currently provided by ServiceMix along with a JBI deployer).
You'll see a custom deployer at the following location:
  https://svn.apache.org/repos/asf/felix/trunk/karaf/deployer/blueprint/
You basically need to register a service in the OSGi registry such as
the following one:
  https://svn.apache.org/repos/asf/felix/trunk/karaf/deployer/blueprint/src/main/java/org/apache/felix/karaf/deployer/blueprint/BlueprintDeploymentListener.java

> (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.

We currently use pax-exam and we may want to provide a bit more around that.

> (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!)

The concept of features would be the best we have for that I think.
IIRC, the user's guide page you're referring to was supposed to
explain how to create a custom feature descriptor and use it to deploy
an application.

> (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?

There's one Eclipse plugin you may want to try:
  http://fusesource.com/forge/projects/EIK

> Okay, that's all for now.
>
> best regards, Peter
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org