You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ace.apache.org by Marcel Offermans <ma...@luminis.nl> on 2011/02/09 09:29:57 UTC

Re: Updatable agent with OSGI. Possible?

Hello Dan,

Like Steven says, I recommend you have a look at Apache ACE. It is designed to centrally control and distribute OSGi bundles, configuration data and pretty much anything else you want to provision to targets. It can install and update and by default it works over HTTP.

Probably it makes sense to move a more detailed discussion to the ace-dev mailing list, so I crossposted this mail to it already.

Greetings, Marcel

On 9 Feb 2011, at 6:05 , Steven Siebert wrote:

> Check out http://incubator.apache.org/ace/
> 
> On Wed, Feb 9, 2011 at 12:03 AM, Dan Tran <da...@gmail.com> wrote:
>> 
>> 
>> Hello I am very new to OSGI and spent a number of hours over Safari online
>> bookstore over this topic.  But still could not get a grasp of what I am
>> looking for.  So I'd like to post here if i could get some answer
>> 
>> I am tasked to build a java agent technology where my to be agent will be
>> installed on thousand of machines.  So the deployment will be a nightmare
>> specially the upgrade/hotfixes parts.  So  I turn to OSGI since it sounds
>> like a right technology.
>> 
>> Could some expert advice how I would go about to implement this solution
>> from a high level? Let's just start with a simple scenarios:
>> 
>>  1. Locally install first, then remotely update a bundle perfer over a http
>> connection? what would I need?
>> 
>>  2. Locally install first, then remotely upgrade ( possible a agent restart
>> is reuquired )
>> 
>> Big Thanks  for all advices
>> 
>> -D
>> --
>> View this message in context: http://old.nabble.com/Updatable-agent-with-OSGI.-Possible--tp30879990p30879990.html
>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 
> 


Re: Updatable agent with OSGI. Possible?

Posted by Toni Menzel <to...@okidokiteam.com>.
Short answer: Yes,Yes, Yes.
Longer version, read below.

On Thu, Feb 10, 2011 at 8:51 AM, teemu kanstren <tk...@gmail.com> wrote:

> Yes, I can see lots of benefits in using ACE. But the documentation does
> not
> seem so finished yet. How is the actual "provisioning" done?

It uses the DeploymentAdmin Service from the OSGi Compendium Spec (check
reading that for low level info) its unit of deployment.
Here you also lean how updates are processed (complete lifecycle).
The implementation (from Felix btw) is also made to be transactional. Which
means, your update goes through in total or not at all.

If I have 10
> bundles, all connected and sharing some state, what actually happens when I
> launch an update of one of them with ACE?

You usually don't launch an update. ACE is based on a repository concept.
Each management agent (MA) (the minimal software you need to install on your
targets) is connected (simplified explanation) to a repository.
You, as an "admin" change the repository state. ACE will make sure the
connected targets get updates. (currently via polling from the MA).


> Is the old version just
> uninstalled directly? How do I transfer state to the new bundle? How do I
> finish ongoing transactions inside old bundles and the dependencies they
> have with other bundles? Anything in ACE to help me do this?
>
see above.

>
> Teemu
>

Toni


>
> 2011/2/10 Marcel Offermans <ma...@luminis.nl>
>
> > There are definitely many ways of installing and updating an OSGi
> > framework. BundleContext gives you the low level API you need, and it's
> not
> > too hard to create your own. Pretty soon you might end up with something
> > that's similar to Apache Felix FileInstall that hot deploys things from a
> > local folder. Or you might want to use the OBR client to pull in bundles
> and
> > their dependencies.
> >
> > However, if you are looking for something that you can use in bigger
> > production environments, that installs updates transactionally, that
> keeps
> > history so you can quickly go back to older versions, etc. Then ACE might
> be
> > a project to look at (and participate in).
> >
> > Greetings, Marcel
> >
> >
> > On Feb 9, 2011, at 22:28 , teemu kanstren wrote:
> >
> > > If you wish to hack together something of your own, you can also check
> > the
> > > OSGI Bundle interface and its uninstall() method. The counterpart would
> > be
> > > BundleContext.installBundle().
> > >
> > > Probably ACE will take care of a lot of headaches for you but I have
> not
> > > used it so far so can't really say. It seems rather complex but I guess
> > it
> > > needs to be for large scale and varying configurations.
> > >
> > > How complex it all gets also sort of depends on do you need to update a
> > > running system with complex configurations, existing interactions and
> > > connections between different component/service versions, state
> > transfers,
> > > etc.
> > >
> > > Cheers,
> > > Teemu
> > >
> > > 2011/2/9 Marcel Offermans <ma...@luminis.nl>
> > >
> > >> Hello Dan,
> > >>
> > >> Like Steven says, I recommend you have a look at Apache ACE. It is
> > designed
> > >> to centrally control and distribute OSGi bundles, configuration data
> and
> > >> pretty much anything else you want to provision to targets. It can
> > install
> > >> and update and by default it works over HTTP.
> > >>
> > >> Probably it makes sense to move a more detailed discussion to the
> > ace-dev
> > >> mailing list, so I crossposted this mail to it already.
> > >>
> > >> Greetings, Marcel
> > >>
> > >> On 9 Feb 2011, at 6:05 , Steven Siebert wrote:
> > >>
> > >>> Check out http://incubator.apache.org/ace/
> > >>>
> > >>> On Wed, Feb 9, 2011 at 12:03 AM, Dan Tran <da...@gmail.com> wrote:
> > >>>>
> > >>>>
> > >>>> Hello I am very new to OSGI and spent a number of hours over Safari
> > >> online
> > >>>> bookstore over this topic.  But still could not get a grasp of what
> I
> > am
> > >>>> looking for.  So I'd like to post here if i could get some answer
> > >>>>
> > >>>> I am tasked to build a java agent technology where my to be agent
> will
> > >> be
> > >>>> installed on thousand of machines.  So the deployment will be a
> > >> nightmare
> > >>>> specially the upgrade/hotfixes parts.  So  I turn to OSGI since it
> > >> sounds
> > >>>> like a right technology.
> > >>>>
> > >>>> Could some expert advice how I would go about to implement this
> > solution
> > >>>> from a high level? Let's just start with a simple scenarios:
> > >>>>
> > >>>> 1. Locally install first, then remotely update a bundle perfer over
> a
> > >> http
> > >>>> connection? what would I need?
> > >>>>
> > >>>> 2. Locally install first, then remotely upgrade ( possible a agent
> > >> restart
> > >>>> is reuquired )
> > >>>>
> > >>>> Big Thanks  for all advices
> > >>>>
> > >>>> -D
> > >>>> --
> > >>>> View this message in context:
> > >>
> >
> http://old.nabble.com/Updatable-agent-with-OSGI.-Possible--tp30879990p30879990.html
> > >>>> Sent from the Apache Felix - Users mailing list archive at
> Nabble.com.
> > >>>>
> > >>>>
> > >>>>
> ---------------------------------------------------------------------
> > >>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> > >>>> For additional commands, e-mail: users-help@felix.apache.org
> > >>>>
> > >>>>
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> > >>> For additional commands, e-mail: users-help@felix.apache.org
> > >>>
> > >>>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> > >> For additional commands, e-mail: users-help@felix.apache.org
> > >>
> > >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> > For additional commands, e-mail: users-help@felix.apache.org
> >
> >
>



-- 
*Toni Menzel - http://www.okidokiteam.com*

Re: Updatable agent with OSGI. Possible?

Posted by teemu kanstren <tk...@gmail.com>.
Yes, I can see lots of benefits in using ACE. But the documentation does not
seem so finished yet. How is the actual "provisioning" done? If I have 10
bundles, all connected and sharing some state, what actually happens when I
launch an update of one of them with ACE? Is the old version just
uninstalled directly? How do I transfer state to the new bundle? How do I
finish ongoing transactions inside old bundles and the dependencies they
have with other bundles? Anything in ACE to help me do this?

Teemu

2011/2/10 Marcel Offermans <ma...@luminis.nl>

> There are definitely many ways of installing and updating an OSGi
> framework. BundleContext gives you the low level API you need, and it's not
> too hard to create your own. Pretty soon you might end up with something
> that's similar to Apache Felix FileInstall that hot deploys things from a
> local folder. Or you might want to use the OBR client to pull in bundles and
> their dependencies.
>
> However, if you are looking for something that you can use in bigger
> production environments, that installs updates transactionally, that keeps
> history so you can quickly go back to older versions, etc. Then ACE might be
> a project to look at (and participate in).
>
> Greetings, Marcel
>
>
> On Feb 9, 2011, at 22:28 , teemu kanstren wrote:
>
> > If you wish to hack together something of your own, you can also check
> the
> > OSGI Bundle interface and its uninstall() method. The counterpart would
> be
> > BundleContext.installBundle().
> >
> > Probably ACE will take care of a lot of headaches for you but I have not
> > used it so far so can't really say. It seems rather complex but I guess
> it
> > needs to be for large scale and varying configurations.
> >
> > How complex it all gets also sort of depends on do you need to update a
> > running system with complex configurations, existing interactions and
> > connections between different component/service versions, state
> transfers,
> > etc.
> >
> > Cheers,
> > Teemu
> >
> > 2011/2/9 Marcel Offermans <ma...@luminis.nl>
> >
> >> Hello Dan,
> >>
> >> Like Steven says, I recommend you have a look at Apache ACE. It is
> designed
> >> to centrally control and distribute OSGi bundles, configuration data and
> >> pretty much anything else you want to provision to targets. It can
> install
> >> and update and by default it works over HTTP.
> >>
> >> Probably it makes sense to move a more detailed discussion to the
> ace-dev
> >> mailing list, so I crossposted this mail to it already.
> >>
> >> Greetings, Marcel
> >>
> >> On 9 Feb 2011, at 6:05 , Steven Siebert wrote:
> >>
> >>> Check out http://incubator.apache.org/ace/
> >>>
> >>> On Wed, Feb 9, 2011 at 12:03 AM, Dan Tran <da...@gmail.com> wrote:
> >>>>
> >>>>
> >>>> Hello I am very new to OSGI and spent a number of hours over Safari
> >> online
> >>>> bookstore over this topic.  But still could not get a grasp of what I
> am
> >>>> looking for.  So I'd like to post here if i could get some answer
> >>>>
> >>>> I am tasked to build a java agent technology where my to be agent will
> >> be
> >>>> installed on thousand of machines.  So the deployment will be a
> >> nightmare
> >>>> specially the upgrade/hotfixes parts.  So  I turn to OSGI since it
> >> sounds
> >>>> like a right technology.
> >>>>
> >>>> Could some expert advice how I would go about to implement this
> solution
> >>>> from a high level? Let's just start with a simple scenarios:
> >>>>
> >>>> 1. Locally install first, then remotely update a bundle perfer over a
> >> http
> >>>> connection? what would I need?
> >>>>
> >>>> 2. Locally install first, then remotely upgrade ( possible a agent
> >> restart
> >>>> is reuquired )
> >>>>
> >>>> Big Thanks  for all advices
> >>>>
> >>>> -D
> >>>> --
> >>>> View this message in context:
> >>
> http://old.nabble.com/Updatable-agent-with-OSGI.-Possible--tp30879990p30879990.html
> >>>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> >>>> For additional commands, e-mail: users-help@felix.apache.org
> >>>>
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> >>> For additional commands, e-mail: users-help@felix.apache.org
> >>>
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> >> For additional commands, e-mail: users-help@felix.apache.org
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>

Re: Updatable agent with OSGI. Possible?

Posted by Marcel Offermans <ma...@luminis.nl>.
There are definitely many ways of installing and updating an OSGi framework. BundleContext gives you the low level API you need, and it's not too hard to create your own. Pretty soon you might end up with something that's similar to Apache Felix FileInstall that hot deploys things from a local folder. Or you might want to use the OBR client to pull in bundles and their dependencies.

However, if you are looking for something that you can use in bigger production environments, that installs updates transactionally, that keeps history so you can quickly go back to older versions, etc. Then ACE might be a project to look at (and participate in).

Greetings, Marcel


On Feb 9, 2011, at 22:28 , teemu kanstren wrote:

> If you wish to hack together something of your own, you can also check the
> OSGI Bundle interface and its uninstall() method. The counterpart would be
> BundleContext.installBundle().
> 
> Probably ACE will take care of a lot of headaches for you but I have not
> used it so far so can't really say. It seems rather complex but I guess it
> needs to be for large scale and varying configurations.
> 
> How complex it all gets also sort of depends on do you need to update a
> running system with complex configurations, existing interactions and
> connections between different component/service versions, state transfers,
> etc.
> 
> Cheers,
> Teemu
> 
> 2011/2/9 Marcel Offermans <ma...@luminis.nl>
> 
>> Hello Dan,
>> 
>> Like Steven says, I recommend you have a look at Apache ACE. It is designed
>> to centrally control and distribute OSGi bundles, configuration data and
>> pretty much anything else you want to provision to targets. It can install
>> and update and by default it works over HTTP.
>> 
>> Probably it makes sense to move a more detailed discussion to the ace-dev
>> mailing list, so I crossposted this mail to it already.
>> 
>> Greetings, Marcel
>> 
>> On 9 Feb 2011, at 6:05 , Steven Siebert wrote:
>> 
>>> Check out http://incubator.apache.org/ace/
>>> 
>>> On Wed, Feb 9, 2011 at 12:03 AM, Dan Tran <da...@gmail.com> wrote:
>>>> 
>>>> 
>>>> Hello I am very new to OSGI and spent a number of hours over Safari
>> online
>>>> bookstore over this topic.  But still could not get a grasp of what I am
>>>> looking for.  So I'd like to post here if i could get some answer
>>>> 
>>>> I am tasked to build a java agent technology where my to be agent will
>> be
>>>> installed on thousand of machines.  So the deployment will be a
>> nightmare
>>>> specially the upgrade/hotfixes parts.  So  I turn to OSGI since it
>> sounds
>>>> like a right technology.
>>>> 
>>>> Could some expert advice how I would go about to implement this solution
>>>> from a high level? Let's just start with a simple scenarios:
>>>> 
>>>> 1. Locally install first, then remotely update a bundle perfer over a
>> http
>>>> connection? what would I need?
>>>> 
>>>> 2. Locally install first, then remotely upgrade ( possible a agent
>> restart
>>>> is reuquired )
>>>> 
>>>> Big Thanks  for all advices
>>>> 
>>>> -D
>>>> --
>>>> View this message in context:
>> http://old.nabble.com/Updatable-agent-with-OSGI.-Possible--tp30879990p30879990.html
>>>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>> 
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>> 
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>> 
>> 


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


Re: Updatable agent with OSGI. Possible?

Posted by teemu kanstren <tk...@gmail.com>.
If you wish to hack together something of your own, you can also check the
OSGI Bundle interface and its uninstall() method. The counterpart would be
BundleContext.installBundle().

Probably ACE will take care of a lot of headaches for you but I have not
used it so far so can't really say. It seems rather complex but I guess it
needs to be for large scale and varying configurations.

How complex it all gets also sort of depends on do you need to update a
running system with complex configurations, existing interactions and
connections between different component/service versions, state transfers,
etc.

Cheers,
Teemu

2011/2/9 Marcel Offermans <ma...@luminis.nl>

> Hello Dan,
>
> Like Steven says, I recommend you have a look at Apache ACE. It is designed
> to centrally control and distribute OSGi bundles, configuration data and
> pretty much anything else you want to provision to targets. It can install
> and update and by default it works over HTTP.
>
> Probably it makes sense to move a more detailed discussion to the ace-dev
> mailing list, so I crossposted this mail to it already.
>
> Greetings, Marcel
>
> On 9 Feb 2011, at 6:05 , Steven Siebert wrote:
>
> > Check out http://incubator.apache.org/ace/
> >
> > On Wed, Feb 9, 2011 at 12:03 AM, Dan Tran <da...@gmail.com> wrote:
> >>
> >>
> >> Hello I am very new to OSGI and spent a number of hours over Safari
> online
> >> bookstore over this topic.  But still could not get a grasp of what I am
> >> looking for.  So I'd like to post here if i could get some answer
> >>
> >> I am tasked to build a java agent technology where my to be agent will
> be
> >> installed on thousand of machines.  So the deployment will be a
> nightmare
> >> specially the upgrade/hotfixes parts.  So  I turn to OSGI since it
> sounds
> >> like a right technology.
> >>
> >> Could some expert advice how I would go about to implement this solution
> >> from a high level? Let's just start with a simple scenarios:
> >>
> >>  1. Locally install first, then remotely update a bundle perfer over a
> http
> >> connection? what would I need?
> >>
> >>  2. Locally install first, then remotely upgrade ( possible a agent
> restart
> >> is reuquired )
> >>
> >> Big Thanks  for all advices
> >>
> >> -D
> >> --
> >> View this message in context:
> http://old.nabble.com/Updatable-agent-with-OSGI.-Possible--tp30879990p30879990.html
> >> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> >> For additional commands, e-mail: users-help@felix.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> > For additional commands, e-mail: users-help@felix.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>