incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tommaso Teofili <tommaso.teof...@gmail.com>
Subject Re: UIMA module thoughts (and refactoring)
Date Wed, 31 Aug 2011 16:10:55 GMT
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.Verspoor@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.verspoor@ucdenver.edu / tel: (720) 279-4875 / campus: 4-3758
> http://compbio.ucdenver.edu/Hunter_lab/Verspoor
>
>
>
>
>
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message