I've been browsing uimaFIT code, particularly the 'factory' package of the core module, but I do think staying the nearest possible to the UIMA OASIS standard is better in terms of standardization and adoption by other potential users. Nevertheless I'll take a look even if Richard from their team has been actively discussing within the UIMA community regarding the OSGi support. Thanks for your suggestion Karin. All the best, Tommaso
2011/8/31 Karin Verspoor <karin.versp...@ucdenver.edu> > 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 > karin.versp...@ucdenver.edu / tel: (720) 279-4875 / campus: 4-3758 > http://compbio.ucdenver.edu/Hunter_lab/Verspoor > > > > > > > > > >