You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by Tommaso Teofili <to...@gmail.com> on 2011/09/02 09:04:29 UTC

Re: UIMA module thoughts (and refactoring)

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 <to...@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
>> <to...@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
>> >
>>
>
>

Re: UIMA module thoughts (and refactoring)

Posted by Reto Bachmann-Gmür <me...@farewellutopia.com>.
On Thu, Sep 8, 2011 at 12:00 PM, Tommaso Teofili
<to...@gmail.com> wrote:
> I've updated the website with some basic documentation about Clerezza-UIMA.
> See http://incubator.apache.org/clerezza/clerezza-uima

nice! thanks.

Two comments:
- It would be handy to have copy-and-pasteable
start("mvn:org.apache....")- commands to have all the neede bundles
installed (as far as they are not part of the launcher)
- maybe the titles of the section could link to the api-doc in the
maven generated site (which reminds me that this is still not
automatically deployed)

Reto


> I'm writing also a small getting-started for devs.
> Cheers,
> Tommaso
>
> 2011/9/2 Reto Bachmann-Gmür <me...@farewellutopia.com>
>
>> 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" <to...@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 <to...@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
>> >>> <to...@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
>> >>> >
>> >>>
>> >>
>> >>
>>
>

Re: UIMA module thoughts (and refactoring)

Posted by Tommaso Teofili <to...@gmail.com>.
I've updated the website with some basic documentation about Clerezza-UIMA.
See http://incubator.apache.org/clerezza/clerezza-uima
I'm writing also a small getting-started for devs.
Cheers,
Tommaso

2011/9/2 Reto Bachmann-Gmür <me...@farewellutopia.com>

> 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" <to...@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 <to...@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
> >>> <to...@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
> >>> >
> >>>
> >>
> >>
>

Re: UIMA module thoughts (and refactoring)

Posted by Reto Bachmann-Gmür <me...@farewellutopia.com>.
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" <to...@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 <to...@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
>>> <to...@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
>>> >
>>>
>>
>>