Hi Erandi,
as you might have seen Hyracks (the runtime system underlying VXQuery)
has
it’s own servlet-like framework [1] that is based on the Netty NIO
framework
[2].
One of the reasons why this framework was adopted is that the licenses
for
the servlet API and corresponding frameworks like Jersey (CDDL and GPL
with
classpath exception) are not ideal for downstream reuse of the project.
The
Apache Software foundation categorizes the CDDL as "category B" [3]
(acceptable with appropriate labeling) and the GPL with classpath
exception
as "category X" [4] (not acceptable).
As hyracks-http framework is available and as it makes downstream
consumption easy, I think that your implementation of the HTTP API for
VXQuery should be based on it.
Cheers,
Till
[1]
https://github.com/apache/asterixdb/tree/master/hyracks-fullstack/hyracks/hyracks-http
[2] https://netty.io/
[3] https://www.apache.org/legal/resolved.html#category-b
[4] https://www.apache.org/legal/resolved.html#category-x
On 25 May 2017, at 1:06, Erandi Ganepola wrote:
Hi Ian and Preston,
I would be really grateful if you can look into my previous email in
which
I suggested few possible alternatives for the REST API implementation
and
kindly give your opinions on that.
Thanks and Regards,
*Erandi Ganepola*
Undergraduate
BSc. Management and Information Technology (IT Sp.)
University of Kelaniya, Sri Lanka
<https://www.linkedin.com/in/erandiganepola/>
<https://github.com/erandiganepola>
<https://twitter.com/erandiganepola>
On Sat, May 13, 2017 at 10:22 PM, Erandi Ganepola
<[email protected]>
wrote:
Hi Ian and Preston,
As we discussed, I went through the AsterixDB's REST API
implementation.
They have written the REST API from scratch using servlet basics [1].
What
I feel is that it won't be efficient to put such effort to write
servlets
from scratch since we have more easy to use, yet stable
implementations
like jersey [2]. Therefore, my opinion is that using jersey[2] will
make
the VXQuery REST API implementation much easier and easily
understandable.
However, I'm fine to continue on the REST server implementation with
any
of those two methods (pure servlet based or Jersey & JAX-RS based).
Please
let me know your opinion on these two methods and which method you
think
will be better.
[1] https://github.com/apache/asterixdb/tree/master/asterixd
b/asterix-app/src/main/java/org/apache/asterix/api/http/server
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fapache%2Fasterixdb%2Ftree%2Fmaster%2Fasterixdb%2Fasterix-app%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fasterix%2Fapi%2Fhttp%2Fserver&sa=D&sntz=1&usg=AFQjCNGUlYltQj2h-sheau2X44kyNc0O7g>
[2] https://jersey.java.net
<https://www.google.com/url?q=https%3A%2F%2Fjersey.java.net&sa=D&sntz=1&usg=AFQjCNGnWT2V5YQbw8EuNfRlHPkxgNQ3uQ>
Thanks and Regards,
*Erandi Ganepola*
Undergraduate
BSc. Management and Information Technology (IT Sp.)
University of Kelaniya, Sri Lanka
<https://www.linkedin.com/in/erandiganepola/>
<https://github.com/erandiganepola>
<https://twitter.com/erandiganepola>