tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mattmann, Chris A (388J)" <chris.a.mattm...@jpl.nasa.gov>
Subject Re: JAX-RS overhead in tika-server
Date Sun, 01 Jul 2012 16:27:35 GMT
Hey Jukka,

On Jul 1, 2012, at 5:09 AM, Jukka Zitting wrote:

> Hi,
> 
> I looked at tika-server in a bit more detail, and I'm a bit concerned
> about the dependency overhead it needs for the JAX-RS support:
> 
>  +- org.apache.cxf:cxf-rt-frontend-jaxrs:jar:2.5.2
>     +- org.apache.cxf:cxf-common-utilities:jar:2.5.2
>     |  +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.1
>     |  \- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1
>     |   \- org.codehaus.woodstox:stax2-api:jar:3.1.1
>     +- org.apache.cxf:cxf-api:jar:2.5.2
>     |  +- org.apache.neethi:neethi:jar:3.0.1
>     |  \- wsdl4j:wsdl4j:jar:1.6.2
>     +- org.apache.cxf:cxf-rt-core:jar:2.5.2
>     |  +- com.sun.xml.bind:jaxb-impl:jar:2.2.4-1
>     |  \- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1
>     +- org.springframework:spring-core:jar:3.0.6.RELEASE
>     |  \- org.springframework:spring-asm:jar:3.0.6.RELEASE
>     +- javax.ws.rs:jsr311-api:jar:1.1.1
>     +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.5.2
>     +- org.apache.cxf:cxf-rt-transports-http:jar:2.5.2
>     |  +- org.apache.cxf:cxf-rt-transports-common:jar:2.5.2
>     |  \- org.springframework:spring-web:jar:3.0.6.RELEASE
>     |   +- aopalliance:aopalliance:jar:1.0
>     |   +- org.springframework:spring-beans:jar:3.0.6.RELEASE
>     |   \- org.springframework:spring-context:jar:3.0.6.RELEASE
>     |    +- org.springframework:spring-aop:jar:3.0.6.RELEASE
>     |    \- org.springframework:spring-expression:jar:3.0.6.RELEASE
>     \- org.codehaus.jettison:jettison:jar:1.3.1
>  +- org.apache.cxf:cxf-rt-transports-http-jetty:jar:2.5.2
>     +- org.eclipse.jetty:jetty-server:jar:7.5.4.v20111024
>     |  +- org.eclipse.jetty:jetty-continuation:jar:7.5.4.v20111024
>     |  \- org.eclipse.jetty:jetty-http:jar:7.5.4.v20111024
>     |   \- org.eclipse.jetty:jetty-io:jar:7.5.4.v20111024
>     |    \- org.eclipse.jetty:jetty-util:jar:7.5.4.v20111024
>     +- org.eclipse.jetty:jetty-security:jar:7.5.4.v20111024
>     \- org.apache.geronimo.specs:geronimo-servlet_2.5_spec:jar:1.1.2
> 
> That's about 7MB of middleware code. Do we really need all this?

That's a good question. My goal in moving us away from the Jersey 
code that was doing this was to move us away from Sun licensed code,
and on to Apache CXF, which I knew from OODT provided JAX-RS 
support. Also I wanted to consume the vetted Apache CXF code which
I figured would be a ton safer license wise than Jersey.

Sergey Beryozkin (who I'm CC'ing on this email since I'm not sure
he's subscribed to dev@) helped by providing guidance on the CXF
side while I was working on this with Max. If you scope out [1], Max
brought up the large # of dependencies too and Sergey's response
was that in 2.6 there are only a few required dependencies:

*************
[INFO] +- org.apache.cxf:cxf-api:jar:2.6.0-SNAPSHOT:compile
[INFO] | +- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.2:runtime
[INFO] | | - org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime
[INFO] | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.1:compile
[INFO] | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
[INFO] | - wsdl4j:wsdl4j:jar:1.6.2:compile
[INFO] +- org.apache.cxf:cxf-rt-core:jar:2.6.0-SNAPSHOT:compile
[INFO] | - com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
**************

Maybe we should try upgrading to 2.6 if it's out?


> If
> yes, who's going to review the licensing of all these dependencies and
> come up with appropriate LICENSE/NOTICE files to include in the
> tika-server jar?

These are CXF dependencies, which I'm sure there are relevant 
entries in Apache CXF for them, no? And, aren't we eating our own 
dog food here for this?

> 
> The services exposed by tika-server are pretty simple and
> straightforward, so I'm wondering if we could just replace all of the
> above with just an embedded Jetty server, or even just the HttpCore
> library [1].
> 
> [1] http://hc.apache.org/httpcomponents-core-ga/

Does HTTP core provide JAX-RS support?

Thanks!

Cheers,
Chris

[1] http://s.apache.org/0I

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.a.mattmann@nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Mime
View raw message