I mean that to be able to use Aries Application on Karaf we must 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"

which is not implemented by Apache Felix framework.


On 06/01/11 09:54, Mark Nuttall wrote:
Hi Charles,
  I prefer not to use EBA on Apache Karaf as we will have conflicts between the
required osgi version installed and the old needed by Aries Application.
Are you referring back to our earlier discussion about FileInstall?
Otherwise I'm not sure I know what you mean by the "required osgi
version installed and the old needed by Aries Application."

Regards,
Mark

On 6 January 2011 07:19, Charles Moulliard<[email protected]>  wrote:
Hi Mark,

Thx for the information and to take the time to answer to my question. We
have to wait that Aries implements the Resolver Hooks as you mention it in
your email. In the meantime, I prefer
not to use EBA on Apache Karaf as we will have conflicts between the
required osgi version installed and the old needed by Aries Application.
When Resolver Hooks will be implemented, then I will make new tests with
EBA. For the moment, we can continue to work with WAR deployment using
pax-web.

Regards,

Charles


On 04/01/11 12:00, Mark Nuttall wrote:
Hi Charles,
  What do you plan to do to align Aries Application with OSGI Service
as you use a deprecated API ony supported by Equinox and not Felix ?
It's perhaps worth noting that Felix, to the best of my knowledge,
offers no equivalent function. The API is deprecated not because it's
been withdrawn, but because it's not yet stable. I hope very much that
we will be able to reimplement Aries Application support on top of
Resolver Hooks, described in
http://www.osgi.org/download/osgi-4.3-early-draft2.pdf, once they
become available.

Could you upgrade Aries Application to support Apache Felix
FileInstall range of version from 2.x to 3.x as we use 3.1.0 on Apache
Karaf ?
That's not the sort of version range I'd be happy describing anything
as supporting :) However if you'd like to raise a JIRA and post a
patch moving us up to FileInstall 3.1.0 in general I'd be happy to
review and commit it.

Regards,
Mark

On 3 January 2011 10:51, Charles Moulliard<[email protected]>    wrote:
Hi Mark,

Happy New-Year 2011 and many thanks for the information. I have
started to create a feature file to deploy those bundles on Apache
Karaf OSGI container. What do you plan to do to align Aries
Application with OSGI Service as you use a deprecated API ony
supported by Equinox and not Felix ?

Remark : Could you upgrade Aries Application to support Apache Felix
FileInstall range of version from 2.x to 3.x as we use 3.1.0 on Apache
Karaf ?

Regards,

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



On Wed, Dec 29, 2010 at 11:00 AM, Mark Nuttall<[email protected]>
  wrote:
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<[email protected]>
  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

Reply via email to