incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reto Bachmann-Gmür ...@farewellutopia.com>
Subject Re: UIMA module thoughts (and refactoring)
Date Fri, 02 Sep 2011 11:20:48 GMT
I don't mind. It would be great if a mini howto (with a list of bundle-uri
for each feature) could be attached.

Cheers,
Reto
On Sep 2, 2011 9:05 AM, "Tommaso Teofili" <tommaso.teofili@gmail.com> wrote:
> 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