views:

218

answers:

3

Hello,

I have a large, growing OSGi application with a number of bundles. I am curious to know the best way to manage this type of application. Currently, I am using Eclipse and Maven, but although this is great for building bundles (via maven-bundle-plugin), as of now it has not been easy to manage the entire application.

What I would like to do is either have ONE run configuration or ONE pom.xml that can be launched and the entire application/project be built and launched. Also, I would like to have something that would be good for debugging.

I have heard of PAX Construct and have it installed in Eclipse, but so far it has been of little help (maybe I'm not using it correctly).

I am sure there are people out there with large OSGi applications that are being managed correctly. Any advice that could be shared would help tremendously.

Thank you, Stephen

+1  A: 

A run configuration is possible via Pax Runner. It lets you choose OSGi platform implementation, specify profiles (pre-packaged sets of bundles for some role, e.g. web, log, ds, etc.) and has good provisioning support, for instance it can load bundles from Maven repository. As a result, you can have a run configuration like

--platform=felix
--log=INFO
--profiles=scalamodules,ds,config,log
mvn:com.my/bundle/1.0.1-SNAPSHOT@update
# other bundles

In case your application is very large or you have different applications, there a way to create own profiles as well.

Alexander Azarov
A: 

Hi, i'm quite new to OSGi but,

wouldn't it be possible to use OBR-service in such a way that you would have one OBR repository file which needs the bundles and let the OBR-service figure out the dependencies and populate your OSGIhost for you?

Houtman
A: 

Well...

It all deopends on what do You mean by "managing" the application.

For dev time launching, building and debugging - Eclipse IDE should fit the bill just perfectly.

Maven... I can't speak for it, as I've never used it myself.

We have a pretty large eclipse based application (several, actually) and on the dev side of things we are not using anything special besides the Eclipse and it's integrated SCM.

In the cc build server, we also use headless eclipse to do the building and packaging.

Now the setup of the workspace has gone a bit out of hand of late with all the dependencies and intermediate build steps, so we are investigating Buckminster for managing the materialization of target platform and workspace resources.

If that works out, we'll probably move to building with Bucky as well - it sure looks promising.

(I do not have any experience with PAX, but at a glance, it looks promising as well...)

Roland Tepp