aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Nuttall <mnutt...@apache.org>
Subject Re: Bundles required to deploy .eba files
Date Wed, 29 Dec 2010 10:00:08 GMT
Hi Charles,
> 1) Can someone tell me what are the bundles required to deploy eba
> files on Apache Karaf/Felix ? groupId/artificactId

For some working examples, please see

  application/application-itests/src/test/java/IsolatedRuntimeTest.java,

and the three BlogSampleWithEba itests, such as

  samples/blog/blog-itests/JpaBlogSampleWithEbaTest.java

Firstly there is a set of common prereqs, where the arguments to
mavenBundle are (group, artifact):

  mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint" ),
  mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
  mavenBundle("org.apache.aries", "org.apache.aries.util" ),
  mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository"),

There there's a set of common bundles in the org.apache.aries.application group:

  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.resolver.obr"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.install" ),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.api" ),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.management" ),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.utils" ),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.modeller"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.default.local.platform"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.platform.repo"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.postresolve.process"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.deployment.management"),

Finally we have two different runtimes.

  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime" ),

is very simple: it just installs every bundle into a single framework.
It provides no isolation between different .ebas, and was really only
written so as to demonstrate that
org.apache.aries.application.management was functional. I don't
believe anyone's put this runtime to serious use yet.

Alternatively, the next group of bundles provide a far more rugged and
functional runtime environment, in which the bundles listed in each
application's Application-Content header are isolated from each other
by being installed into their own framework. The only drawback here is
that org.apache.aries.application.runtime.framework has to use
deprecated APIs based on early drafts of OSGi RFC138
(org.osgi.service.framework.CompositeBundle,
org.osgi.service.framework.CompositeBundleFactory) in order to create
and manage these framework instances. My understanding is that Equinox
implements these APIs, but that the Felix does not.

  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.isolated"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.framework"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.framework.management"),
  mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.repository"),
  equinox().version("3.5.0"));

> 2) Can we deploy an eba file using the same command as we use to
> deploy a bundle mvn:groupId/artifactId/version/eba ?

I suspect that extra work might be required in order to achieve that.
As you'll see from the itests, the mechanism today is of the form,

	URL urlToEba = getUrlToEba("org.apache.aries.samples.blog",
"org.apache.aries.samples.blog.jpa.eba");
	AriesApplicationManager manager =
getOsgiService(AriesApplicationManager.class);
	AriesApplication app = manager.createApplication(urlToEba);
	AriesApplicationContext ctx = manager.install(app);
	ctx.start();

Do let us know how you get on!

Regards,
Mark

On 27 December 2010 09:03, Charles Moulliard <cmoulliard@gmail.com> wrote:
> Hi,
>
> 1) Can someone tell me what are the bundles required to deploy eba
> files on Apache Karaf/Felix ?
> groupId/artificactId
>
> 2) Can we deploy an eba file using the same command as we use to
> deploy a bundle mvn:groupId/artifactId/version/eba ?
>
> Charles Moulliard
>
> Sr. Principal Solution Architect - FuseSource
> Apache Committer
>
> Blog : http://cmoulliard.blogspot.com
> Twitter : http://twitter.com/cmoulliard
> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> Skype: cmoulliard
>

Mime
View raw message