Tommaso, are you familiar with UIMAfit? http://code.google.com/p/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. Karin 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] : http://uima.apache.org/downloads.cgi -- 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 [email protected] / tel: (720) 279-4875 / campus: 4-3758 http://compbio.ucdenver.edu/Hunter_lab/Verspoor
