You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2018/03/05 21:08:03 UTC

Apache UIMA Java sdk 3.0.0 released

The Apache UIMA team is pleased to announce the release of the Apache UIMA Java
SDK, version 3.0.0.  This is the first release of a major re-implementation of
the UIMA Java SDK, aligning it with Java 8 and high performance multi-core
processors.

Apache UIMA <http://uima.apache.org> is a component architecture and framework
for the analysis of unstructured content like text, video and audio data.

This release is a major rewrite of the internals of core UIMA, and
includes many new features, including:
 -- support for arbitrary Java objects in the CAS
 -- New semi-built-in UIMA types: FSArrayList, FSHashSet, IntegerArrayList,
Int2FS map
 -- New "select" framework integrated with Java 8 Streams
 -- Elimination of concurrent modification exception
      while iterating over UIMA indexes
 -- Automatic Garbage Collection of unreferenced Feature Structures
 -- All around better integration into Java 8 idioms and generic typing

See the UIMA News <https://uima.apache.org/news.html#05 Mar 2018>item (
https://uima.apache.org/news.html#05 Mar 2018 ) for more details.

A full description of the new and changed parts is here:
http://uima.apache.org/d/uimaj-3.0.0/version_3_users_guide.html

This release requires Java 8, and is intended to be backwards compatible with
existing Version 2 pipeline code, except for the need to regenerate or migrate
(tooling provided) user-defined JCas class definitions.

Please send feedback via the Apache UIMA project mailing lists.

 -Marshall Schor, for the Apache UIMA development team


Re: Apache UIMA Java sdk 3.0.0 released

Posted by Jaroslaw Cwiklik <cw...@apache.org>.
If I recall Marshall has a branch of UIMA-AS that is compatible with UIMA
3.X I think it is based on an older version of UIMA-AS though. Most likely
v.2.9.0.

SVN link is here: https://svn.apache.org/repos/asf/uima/uv3/uima-as-v3/trunk

I recently released v.2.10.2 and currently 2.10.3 RC1 is pending votes.
These two are not compatible with UIMA 3.X. I am working on a new UIMA-AS
which will be. The main feature in this new version will be support for
clients to communicate with collocated services without a JMS broker. There
are other changes like dropping dd2spring and Saxon in favor of parsing DD
in java. Most of the code is in place and I am testing and fixing bugs as
the time allows.
No ETA for the release yet.

Jerry



On Wed, Mar 21, 2018 at 3:58 PM, D. Heinze <dh...@gnoetics.com> wrote:

> Thanks.  I've spent a bit of time trying to ensure that all the XML
> dependencies are up-to-date.  Xalan and Xerces (both of which are pulled in
> as dependencies by other jars) are both up-to-date.  These warnings seem to
> be something that comes around every few years.
>
> I see from the developers list that UIMA-AS may be expected sometime soon?
>
> Thanks / Dan
>
> -----Original Message-----
> From: Richard Eckart de Castilho [mailto:rec@apache.org]
> Sent: Wednesday, March 21, 2018 10:11 AM
> To: user@uima.apache.org
> Subject: Re: Apache UIMA Java sdk 3.0.0 released
>
> On 20.03.2018, at 15:31, D. Heinze <dh...@gnoetics.com> wrote:
> >
> > Yes, I fixed some old dependencies and got rid of the XML errors.  Now
> > I am getting the following warning when calling the code below...
> > Seems this was an old problem that was fixed several UIMA releases
> > ago.  The only old UIMA thing I have in dependencies is uimafit1.4
> > which is for some deprecated code that will eventually be removed.
> >
> > WARN  [                          uima] SAXTransformerFactory didn't
> > recognize setting attribute
> > http://javax.xml.XMLConstants/property/accessExternalDTD
> > WARN  [                          uima] SAXTransformerFactory didn't
> > recognize setting attribute
> > http://javax.xml.XMLConstants/property/accessExternalStylesheet
>
> UIMA is trying to configure the XML parser to avoid potential security
> problems. These messages are issued when the underlying XML parser does not
> support the respective configuration properties. The code should work
> nevertheless although it might be a good idea to check if you have any
> additional "old" XML dependencies which might cause the default JDK XML
> implementations not to be used, maybe a Xalan?
>
> -- Richard=
>
>

RE: Apache UIMA Java sdk 3.0.0 released

Posted by "D. Heinze" <dh...@gnoetics.com>.
Thanks.  I've spent a bit of time trying to ensure that all the XML
dependencies are up-to-date.  Xalan and Xerces (both of which are pulled in
as dependencies by other jars) are both up-to-date.  These warnings seem to
be something that comes around every few years.

I see from the developers list that UIMA-AS may be expected sometime soon?

Thanks / Dan

-----Original Message-----
From: Richard Eckart de Castilho [mailto:rec@apache.org] 
Sent: Wednesday, March 21, 2018 10:11 AM
To: user@uima.apache.org
Subject: Re: Apache UIMA Java sdk 3.0.0 released

On 20.03.2018, at 15:31, D. Heinze <dh...@gnoetics.com> wrote:
> 
> Yes, I fixed some old dependencies and got rid of the XML errors.  Now 
> I am getting the following warning when calling the code below...  
> Seems this was an old problem that was fixed several UIMA releases 
> ago.  The only old UIMA thing I have in dependencies is uimafit1.4 
> which is for some deprecated code that will eventually be removed.
> 
> WARN  [                          uima] SAXTransformerFactory didn't
> recognize setting attribute
> http://javax.xml.XMLConstants/property/accessExternalDTD
> WARN  [                          uima] SAXTransformerFactory didn't
> recognize setting attribute
> http://javax.xml.XMLConstants/property/accessExternalStylesheet

UIMA is trying to configure the XML parser to avoid potential security
problems. These messages are issued when the underlying XML parser does not
support the respective configuration properties. The code should work
nevertheless although it might be a good idea to check if you have any
additional "old" XML dependencies which might cause the default JDK XML
implementations not to be used, maybe a Xalan?

-- Richard=


Re: Apache UIMA Java sdk 3.0.0 released

Posted by Richard Eckart de Castilho <re...@apache.org>.
On 20.03.2018, at 15:31, D. Heinze <dh...@gnoetics.com> wrote:
> 
> Yes, I fixed some old dependencies and got rid of the XML errors.  Now I am
> getting the following warning when calling the code below...  Seems this was
> an old problem that was fixed several UIMA releases ago.  The only old UIMA
> thing I have in dependencies is uimafit1.4 which is for some deprecated code
> that will eventually be removed.
> 
> WARN  [                          uima] SAXTransformerFactory didn't
> recognize setting attribute
> http://javax.xml.XMLConstants/property/accessExternalDTD
> WARN  [                          uima] SAXTransformerFactory didn't
> recognize setting attribute
> http://javax.xml.XMLConstants/property/accessExternalStylesheet

UIMA is trying to configure the XML parser to avoid potential security
problems. These messages are issued when the underlying XML parser does
not support the respective configuration properties. The code should work
nevertheless although it might be a good idea to check if you have any
additional "old" XML dependencies which might cause the default JDK
XML implementations not to be used, maybe a Xalan?

-- Richard

RE: Apache UIMA Java sdk 3.0.0 released

Posted by "D. Heinze" <dh...@gnoetics.com>.
Yes, I fixed some old dependencies and got rid of the XML errors.  Now I am
getting the following warning when calling the code below...  Seems this was
an old problem that was fixed several UIMA releases ago.  The only old UIMA
thing I have in dependencies is uimafit1.4 which is for some deprecated code
that will eventually be removed.

WARN  [                          uima] SAXTransformerFactory didn't
recognize setting attribute
http://javax.xml.XMLConstants/property/accessExternalDTD
WARN  [                          uima] SAXTransformerFactory didn't
recognize setting attribute
http://javax.xml.XMLConstants/property/accessExternalStylesheet

    URL resource = getClass().getClassLoader().getResource( descriptorPath);
    XMLInputSource source = new XMLInputSource( resource);
    AnalysisEngineDescription aed  =
UIMAFramework.getXMLParser().parseAnalysisEngineDescription(source);
    ResourceManager manager = UIMAFramework.newDefaultResourceManager(); 
    HashMap<String, Object> paramap = new HashMap<String, Object>();
    // Set the initial CAS heap size.
    paramap.put( UIMAFramework.CAS_INITIAL_HEAP_SIZE, "1000000");
    // Disable JCas cache.
    paramap.put( UIMAFramework.JCAS_CACHE_ENABLED, "false");
    this.engine = UIMAFramework.produceAnalysisEngine( aed, manager,
paramap);

-----Original Message-----
From: Richard Eckart de Castilho [mailto:rec@apache.org] 
Sent: Tuesday, March 20, 2018 4:54 AM
To: user@uima.apache.org
Subject: Re: Apache UIMA Java sdk 3.0.0 released

On 19.03.2018, at 20:36, D. Heinze <dh...@gnoetics.com> wrote:
> 
> Got runtime errors that were fixed by finding a version of Xerces (version
2.4.0 in this case) that would keep all dependencies happy.

Hm... I think that the XML support coming with recent JDKs (1.8 in
particular) should be sufficient for the needs of UIMA. 

Did you check if your project setup might be drawing in "old" versions of
XML libraries?

Which runtime errors did you get?

Cheers,

-- Richard=


Re: Apache UIMA Java sdk 3.0.0 released

Posted by Richard Eckart de Castilho <re...@apache.org>.
On 19.03.2018, at 20:36, D. Heinze <dh...@gnoetics.com> wrote:
> 
> Got runtime errors that were fixed by finding a version of Xerces (version 2.4.0 in this case) that would keep all dependencies happy.

Hm... I think that the XML support coming with recent JDKs (1.8 in particular) should
be sufficient for the needs of UIMA. 

Did you check if your project setup might be drawing in "old" versions of XML libraries?

Which runtime errors did you get?

Cheers,

-- Richard

RE: Apache UIMA Java sdk 3.0.0 released

Posted by "D. Heinze" <dh...@gnoetics.com>.
Last week I converted a large project to UIMA 3.0.0.  I updated the Maven dependencies, rebuilt all the JCas files and removed the old *_Type.java files.  Everything compiled without problem.  Got runtime errors that were fixed by finding a version of Xerces (version 2.4.0 in this case) that would keep all dependencies happy. For short runs with a single pipeline, I'm noticing about a 15-20% reduction in processing time and less memory usage (I presume due to GC on the CAS).  I had already been running JDK 1.8 for some time.
Am I correct in thinking that there is not a version of UIMA-AS that will work with UIMA 3.0.0?  When might a UIMA-AS 3.0.0 be expected.
Thanks / Dan

-----Original Message-----
From: Marshall Schor [mailto:msa@schor.com] 
Sent: Monday, March 5, 2018 1:08 PM
To: announce@apache.org
Cc: uima-user; uima-dev
Subject: Apache UIMA Java sdk 3.0.0 released

The Apache UIMA team is pleased to announce the release of the Apache UIMA Java SDK, version 3.0.0.  This is the first release of a major re-implementation of the UIMA Java SDK, aligning it with Java 8 and high performance multi-core processors.

Apache UIMA <http://uima.apache.org> is a component architecture and framework for the analysis of unstructured content like text, video and audio data.

This release is a major rewrite of the internals of core UIMA, and includes many new features, including:
 -- support for arbitrary Java objects in the CAS
 -- New semi-built-in UIMA types: FSArrayList, FSHashSet, IntegerArrayList, Int2FS map
 -- New "select" framework integrated with Java 8 Streams
 -- Elimination of concurrent modification exception
      while iterating over UIMA indexes
 -- Automatic Garbage Collection of unreferenced Feature Structures
 -- All around better integration into Java 8 idioms and generic typing

See the UIMA News <https://uima.apache.org/news.html#05 Mar 2018>item (
https://uima.apache.org/news.html#05 Mar 2018 ) for more details.

A full description of the new and changed parts is here:
http://uima.apache.org/d/uimaj-3.0.0/version_3_users_guide.html

This release requires Java 8, and is intended to be backwards compatible with existing Version 2 pipeline code, except for the need to regenerate or migrate (tooling provided) user-defined JCas class definitions.

Please send feedback via the Apache UIMA project mailing lists.

 -Marshall Schor, for the Apache UIMA development team