Hi Henrik,
Very helpful information. Many thanks for taking the
time to respond. Much appreciated.
Cheers,
_Paul
Hi Warren,
The answer to this question is that it depends on a couple of things:
- you can install and manage into one profile at a time
- one profile is equivalent to one runtime
- when you install into your profile you can have custom touchpoints that
can execute your actions (in 3.5 it is easier to write a custom action). These
actions can do whatever they need to do to get something installed "someplace
else".
Separate installs (i.e. provisioning operations) must be performed if your
system requires installation into more than one profile; the case if say both
your client and server are osgi based.
There is one advantage if you can have them in the same profile as the
configuration across client/server can be maintained with p2 - if you install
into two separate profiles the profiles can be independently updated,
and there is currently no functionality in p2 to handle constraints between
profiles.
To answer your questions more directly:
would it be
possible to provision everything through the p2 agent of the osgi
instance?
Any p2 agent that have your touchpoint/actions installed can be used. Work
is being performed in 3.5 to allow for (at least) touchpoint actions to be
dynamically installed as part of the provisioning, but if you want to try things
right now - you need to make sure that your actions are installed before you
start your custom install.
Would I need a separate agent on the database?
If the database is
an osgi based database and a separate runtime you will probably have it in a
separate profile. The same agent can still be used but you need to run it
against the two different profiles. If the database is not OSGi based - then
your custom actions will have to deal with install and uninstall - but then you
don' require more than one profile.
Hope that helped...
Hi
Folks,
Suppose that I have different types of bundles; osgi bundles, database
bundles (that contain an OSGi manifest, table defs, views, etc). OSGi
bundles live in an OSGi container. Database bundles would live in a
database.
My
application would obviosuly comprise both database bundles (persistence) and
traditional osgi bundles (behavior).
The
potential advantage of this approach is that everyting can be a bundle and I
can leverage all the nice version dependency stuff; my osgi bundles can be
version matched to my database models, etc.
As
these bundles are all logically related and assuming the osgi instance becomes
the orchestrator for all this - would it be possible to provision
everything through the p2 agent of the osgi instance? Perhaps by
associating my database bundle IUs with a new touchpoint type/actions that can
provisioned straight to the database (which would probably also need to be
described in the profile's metadata).
Or
Would I need a separate agent on the database?
Or
are both equally valid (or invalid)?
Many
thanks
_Paul _______________________________________________ p2-dev
mailing list p2-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/p2-dev
|