Hey all,

Just wanted to drop-in and give an update on the work I've been doing
with OSGI and Kettle.

I changed strategy early on from being a replacement to the plugin
system currently in place to being a complimentary system providing a
new way to supply kettle plugins adding to the existing XML and
annotation approaches while providing a sophisticated environment for
plugin development. I've successfully provided Steps, Lifecycle
Listeners, Spoon Plugins and Spoon Perspectives through the new
system.

Outside of providing these Kettle types, the whole OSGI environemnt is
there to support development of your plugins. Service publishing/
locating, Blueprint files for creating services and beans (very-much
like Spring), as well as the ability to share classes (dependencies)
between plugins.

I have added a new PluginTypeTracker class which when registered with
the PluginRegistery, allows you to detect when a particular plugin
type is added/removed/modified. This is what is used to provide the
ability for plugins to be added and removed at runtime without
restarting.

Gone is the custom Apache Felix host. It's been replaced with Apache
Karaf (http://karaf.apache.org/), an very full-featured OSGi
container. I've currently got it running SSH access, a web console,
hot-deployment and configuration admin... JMX services are currently
failing, but I'll figure it out.

You can install bundles by dropping them in the deploy directory,
through an OBR repository or by installing Karaf "Feature" files which
contain lists of bundles to download from HTTP or MVN.

I'm pretty satisfied with the results here. Next, to the Platform or
Reporting where I plan a more through migration.


Here are some details if you want to play around with it:

SVN:
svn://source.pentaho.org/svnkettleroot/Kettle/branches/osgi

MaxMind Step:
svn://source.pentaho.org/svnkettleroot/plugins/MaxMindGeoIPLookup/branches/osgi

(I'll add the Spoon/Perspective plugins to SVN soon)

Bundles and blueprint beans files are deployed in:
$SPOON_HOME/karaf/deploy.

SSH Access:
ssh karaf@localhost -p 8101 (password: karaf)

Web Console:
http://localhost:8888/system/console (user: karaf, pass: karaf)


-Nick Baker

--
You received this message because you are subscribed to the Google Groups "kettle-developers" group.
To post to this group, send email to kettle-developers (AT) googlegroups (DOT) com.
To unsubscribe from this group, send email to kettle-developers+unsubscribe (AT) g...oups (DOT) com.
For more options, visit this group at http://groups.google.com/group/kettle-developers?hl=en.