incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karin Verspoor <>
Subject Re: UIMA module thoughts (and refactoring)
Date Wed, 31 Aug 2011 15:42:25 GMT
Tommaso, are you familiar with UIMAfit?

It might help to address some of your problems, though I haven't carefully considered all
of your points below.  We have been using it successfully to support deployment of a UIMA
pipeline across multiple machines.


On Aug 31, 2011, at 8:48 AM, Tommaso Teofili wrote:

> Hi all,
> the UIMA Addons 2.3.1 release happened on August 29th [1], this release
> didn't include the OSGi packaging for the annotators since the UIMA
> community wants to provide full support to OSGi in the future while the
> addons OSGi packaging allowed only some basic use cases to be executed.
> So far the bad news, the good news is that we can now include UIMA Addons
> artifacts in our modules and that there is already a solution to face the
> possible issues with class loading within a framework which is not fully
> OSGi compliant.
> The UIMAFramework class creates an AnalysisEngines given its (XML)
> descriptor that contains the FQN of the annotator class which is then
> instantiated via Class.forName().
> As far as I've experienced this is not good when working within OSGi
> containers as each bundle uses a separate ClassLoader so, for example, the
> ClassLoader of the uima.utils bundle cannot see the ClerezzaCASConsumer
> class in uima.casconsumer module by default.
> Luckily UIMA provides the possibility of defining an extension ClassLoader
> when instantiating the framework.
> So the idea is to define an ExtensionClassLoader which registers the
> ClassLoaders of UIMA classes implementing AnalysisComponent interface (that
> is the interface for Annotators and CAS Consumers) and use it within the
> creation of each AnalysisEngine.
> Each bundle which has annotator classes can automatically register its
> classes (in the ExtensionClassLoader) using an OSGi Activator (a
> UIMABundleActivator in the maven-bundle-plugin configuration) which is
> responsible for this task.
> Obviously in the future releases of UIMA with full OSGi support the above
> constraints could be safely removed.
> So my idea is to apply the above changes in order to allow easy deploy of
> custom UIMA pipelines within Clerezza. After that I think a brief 'Getting
> started with Clerezza and UIMA' page would be useful.
> Looking forward to your feedback.
> Cheers,
> Tommaso
> [1] :

Karin Verspoor, PhD
Research Assistant Professor
Computational Bioscience Program, University of Colorado School of Medicine
12801 E 17th Ave, MS 8303, Aurora, CO 80045 USA / tel: (720) 279-4875 / campus: 4-3758

View raw message