You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Mark Derricutt <ma...@talios.com> on 2008/06/19 06:58:12 UTC

Deployment best practices?

Hey all,

I was wondering if anyone has written up any thoughts on best-practices for
deploying apps based on Felix/OSGi and for updating/deploying a set of
bundles?

Along with some issues withs updating our bundles, I'm trying to work out
the best of automated, or making easier updating a system with multiple
bundles (we only have 5 so far, but its already showing some growing pains
(which could just be misunderstandings on my part)).

Currently I have a custom Felix launcher that starts a JNDI server outside
of OSGi (Objectweb's Carol) which I was having all manner of pain getting it
to start/stop from a bundle, along with all manner of class loading issues,
but then I also have a block of code in my launcher which installs the 10 or
so bundles we have (5 of our own, 5 standard ones).

I've had a look at the Felix File-install bundle which worked well, other
than starting bundles in random orders (not really a big issue, but seemed
to annoy some of the devs due to seemingly random changing behaviour).

I understand the new Spring OSGi server contains some form of "bundle of
bundles" setup (an uber jar), is there anything similar for Felix?

I think at its core, I think I'm looking for some form of dependency tree in
my bundles, so that when I stop/update bundle X, bundles Y and Z stop, then
restart aswell (and maybe optionally attempt to update themseves as well).


I'm almost thinking it'd be easier to rework my app so its pretty much just
one huge uber-bundle, but I like the small bundles...

Mark



-- 
"It is easier to optimize correct code than to correct optimized code." --
Bill Harlan

Re: Deployment best practices?

Posted by Siamak Haschemi <ha...@informatik.hu-berlin.de>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Mark,

the DeploymentAdmin specification could be a solution for you. But be
aware of the drawbacks of this specification: If you assign a bundle to
a DeploymentPackage then it will be tightly coupled with that
DeploymentBundle.

Here some words from the spec:

"A Deployment Package is a set of related resources that need to be
managed as a unit rather than individual pieces. For example, a
Deployment Package can contain both a bundle and its configuration data.
The resources of a Deployment Package are tightly coupled to the
Deployment Package and cannot be shared with other Deployment Packages."

Also it says:

"A bundle resource can belong to only one Deployment Package."

If you know the drawbacks and still want to use this spec, then you can
also have a look at the maven-depoyment-plugin
(http://mvn-dp-plugin.sf.net) which helps you to create
Deployment-Packages from maven-bundle projects.

Kind regards,

Siamak

Mark Derricutt schrieb:
> Hey all,
> 
> I was wondering if anyone has written up any thoughts on best-practices for
> deploying apps based on Felix/OSGi and for updating/deploying a set of
> bundles?
> 
> Along with some issues withs updating our bundles, I'm trying to work out
> the best of automated, or making easier updating a system with multiple
> bundles (we only have 5 so far, but its already showing some growing pains
> (which could just be misunderstandings on my part)).
> 
> Currently I have a custom Felix launcher that starts a JNDI server outside
> of OSGi (Objectweb's Carol) which I was having all manner of pain getting it
> to start/stop from a bundle, along with all manner of class loading issues,
> but then I also have a block of code in my launcher which installs the 10 or
> so bundles we have (5 of our own, 5 standard ones).
> 
> I've had a look at the Felix File-install bundle which worked well, other
> than starting bundles in random orders (not really a big issue, but seemed
> to annoy some of the devs due to seemingly random changing behaviour).
> 
> I understand the new Spring OSGi server contains some form of "bundle of
> bundles" setup (an uber jar), is there anything similar for Felix?
> 
> I think at its core, I think I'm looking for some form of dependency tree in
> my bundles, so that when I stop/update bundle X, bundles Y and Z stop, then
> restart aswell (and maybe optionally attempt to update themseves as well).
> 
> 
> I'm almost thinking it'd be easier to rework my app so its pretty much just
> one huge uber-bundle, but I like the small bundles...
> 
> Mark
> 
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkhaKekACgkQBLvtewtTEROhtwCeOhq0GV9GHPPWIdNcyUjuvMsw
J8QAnj4nlf9TUtKH3BA+L5PxiBFwpORo
=ClJW
-----END PGP SIGNATURE-----


Re: Deployment best practices?

Posted by Karl Pauls <ka...@gmail.com>.
You might want to have a look at deploymentadmin (in the R4.1
compendium). We have an implementation in trunk (not released yet but
works).

I'm sure others have more to say about this topic (I know I do but I
don't have the time right now :-).

regards,

Karl

On Thu, Jun 19, 2008 at 6:58 AM, Mark Derricutt <ma...@talios.com> wrote:
> Hey all,
>
> I was wondering if anyone has written up any thoughts on best-practices for
> deploying apps based on Felix/OSGi and for updating/deploying a set of
> bundles?
>
> Along with some issues withs updating our bundles, I'm trying to work out
> the best of automated, or making easier updating a system with multiple
> bundles (we only have 5 so far, but its already showing some growing pains
> (which could just be misunderstandings on my part)).
>
> Currently I have a custom Felix launcher that starts a JNDI server outside
> of OSGi (Objectweb's Carol) which I was having all manner of pain getting it
> to start/stop from a bundle, along with all manner of class loading issues,
> but then I also have a block of code in my launcher which installs the 10 or
> so bundles we have (5 of our own, 5 standard ones).
>
> I've had a look at the Felix File-install bundle which worked well, other
> than starting bundles in random orders (not really a big issue, but seemed
> to annoy some of the devs due to seemingly random changing behaviour).
>
> I understand the new Spring OSGi server contains some form of "bundle of
> bundles" setup (an uber jar), is there anything similar for Felix?
>
> I think at its core, I think I'm looking for some form of dependency tree in
> my bundles, so that when I stop/update bundle X, bundles Y and Z stop, then
> restart aswell (and maybe optionally attempt to update themseves as well).
>
>
> I'm almost thinking it'd be easier to rework my app so its pretty much just
> one huge uber-bundle, but I like the small bundles...
>
> Mark
>
>
>
> --
> "It is easier to optimize correct code than to correct optimized code." --
> Bill Harlan
>



-- 
Karl Pauls
karlpauls@gmail.com

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