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 Fri, 02 Sep 2011 07:04:29 GMT
If no one objects, I plan to commit the solution I proposed above by the end
of the day so that we can start from there for the first release and
eventually change/better things along time.
Cheers,
Tommaso

2011/8/31 Tommaso Teofili <tommaso.teofili@gmail.com>

> the dynamic-imports way was taken in consideration when talking with other
> UIMA mates, but I haven't inspected that possibility yet.
> Thanks Reto.
> Cheers,
> Tommaso
>
>
> 2011/8/31 Reto Bachmann-Gmür <me@farewellutopia.com>
>
>> Hi Tommaso
>>
>> Without knowing about the details I'm wondering if this extension
>> class loader defined when instantiating the UIMA framework cannot be
>> the Bundle-Class-Loader with the Bundle having a dynamic-import
>> directive.
>>
>> I'm very much looking forward to the 'Getting started with Clerezza
>> and UIMA' page :)
>>
>> Cheers,
>> Reto
>>
>> On Wed, Aug 31, 2011 at 4:48 PM, Tommaso Teofili
>> <tommaso.teofili@gmail.com> 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
>> >
>>
>
>

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