You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vxquery.apache.org by Erandi Ganepola <er...@gmail.com> on 2017/03/18 15:39:18 UTC

GSoC2017 - VXQUERY-180 (RESTful API)

Hi All,

I am a final year undergraduate of University of Kelaniya, Sri Lanka. I
have been a proud user of open source products and  a contributor too. I
have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a leading
open source middleware company http://wso2.com/) and at *Huawei
Technologies-Headquarters, China*. Currently I'm involved in machine
learning and natural language processing related research projects. I am
passionate in Computer Science and I have a strong interest towards open
source developments.

I am interested in $subject. I went through the issue and got a brief
understanding
on the task.

Can anyone kindly give me further guidance on the scope of the project to
proceed? Your valuable information is highly appreciated.

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>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Preston and Steven,

I have submitted my final proposal. Thank you for all the feedback and help
given so far. I'm eagerly looking forward to complete this project in the
best possible manner.

Thank you!

<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon>
Virus-free.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

*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, Apr 1, 2017 at 9:06 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Preston and Steven,
>
> I have started on the implementation so that you can get a better idea on
> what I'm suggesting. What I have done so far can be found at [1]. Also I
> have made some improvements in my proposal as well. It will be great if you
> can provide further feedback on them as well.
>
> Thank you!
>
> [1] https://github.com/erandiganepola/vxquery
>
> *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, Apr 1, 2017 at 2:59 PM, Erandi Ganepola <er...@gmail.com>
> wrote:
>
>> Hi Preston and Steven,
>>
>> I was going through the initial steps of implementation. For the REST
>> server, I thought of using jersey [1] as the JAX-RS implementation to be
>> used since it is easy to use and matured. Can you kindly let me know what
>> do you think of my choice?
>>
>> Thank you!
>>
>> [1] https://jersey.java.net
>>
>> *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 Thu, Mar 30, 2017 at 12:05 PM, Erandi Ganepola <
>> erandiganepola@gmail.com> wrote:
>>
>>> Hi Steven,
>>>
>>> I have updated my proposal a bit. I have added a section on my other
>>> contributions during the period of GSoC as well. Can you kindly give a
>>> feedback on that as well.
>>>
>>> Thank you!
>>>
>>> *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 Wed, Mar 29, 2017 at 7:38 AM, Erandi Ganepola <
>>> erandiganepola@gmail.com> wrote:
>>>
>>>> Hi Steven,
>>>>
>>>> Thank you very much. I will look in to that and do the improvements.
>>>>
>>>> Regards,
>>>> Erandi
>>>>
>>>> *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 Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <sj...@ucr.edu>
>>>> wrote:
>>>>
>>>>> Erandi- Great proposal overall!
>>>>> I put a few comments in the draft for you to address.
>>>>> Thanks,
>>>>> Steven
>>>>>
>>>>> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <
>>>>> erandiganepola@gmail.com>
>>>>> wrote:
>>>>>
>>>>> > Hi Jacob and Preston,
>>>>> >
>>>>> > I have submitted my draft proposal to GSoC site. Please give your
>>>>> valuable
>>>>> > feedback.
>>>>> >
>>>>> > Thanks and Regards,
>>>>> > Erandi
>>>>> >
>>>>> >
>>>>> > *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/erandiga
>>>>> nepola>
>>>>> >
>>>>> > On Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
>>>>> > erandiganepola@gmail.com>
>>>>> > wrote:
>>>>> >
>>>>> > > Hi Preston,
>>>>> > >
>>>>> > > Then I will not consider about the rest API authentication for
>>>>> now. I was
>>>>> > > thinking on using jax-rs to implement the REST-API server. Is that
>>>>> ok?
>>>>> > >
>>>>> > > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <
>>>>> prestonc@apache.org>
>>>>> > > wrote:
>>>>> > >
>>>>> > >> At this point, we are not implementing auth support. In the
>>>>> future, we
>>>>> > >> will consider this feature once Hyracks supports this option.
>>>>> > >>
>>>>> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
>>>>> > >> <er...@gmail.com> wrote:
>>>>> > >> > Hi Preston,
>>>>> > >> >
>>>>> > >> > Thank you for the comment in JIRA and this clarification. Now I
>>>>> get
>>>>> > the
>>>>> > >> > idea. One more thing, should the REST API be implemented with
>>>>> auth
>>>>> > >> support?
>>>>> > >> >
>>>>> > >> >
>>>>> > >> > *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/erandiga
>>>>> > >> nepola>
>>>>> > >> >
>>>>> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <
>>>>> prestonc@apache.org>
>>>>> > >> wrote:
>>>>> > >> >
>>>>> > >> >> One clarifying comment about the CLI and the proposed
>>>>> interfaces.
>>>>> > >> >>
>>>>> > >> >> The CLI handles two methods of executing a query: on a cluster
>>>>> and
>>>>> > >> >> when no cluster is specified. When a cluster is specified, the
>>>>> query
>>>>> > >> >> should be submitted to the RESTful API. As for when a cluster
>>>>> does
>>>>> > not
>>>>> > >> >> exist, the CLI creates a temporary cluster to execute the
>>>>> query. The
>>>>> > >> >> same process can continue, but now we have the option of using
>>>>> the
>>>>> > >> >> current method or update to using the RESTful API of the
>>>>> temporary
>>>>> > >> >> cluster.
>>>>> > >> >>
>>>>> > >> >> Basically, we should always use the RESTful API when possible
>>>>> so we
>>>>> > >> >> only need to support one API.
>>>>> > >> >>
>>>>> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>>>>> > >> >> <er...@gmail.com> wrote:
>>>>> > >> >> > Hi Steven,
>>>>> > >> >> >
>>>>> > >> >> > I will complete and submit my draft proposal today.
>>>>> > >> >> >
>>>>> > >> >> > Thanks for the quick response!
>>>>> > >> >> >
>>>>> > >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <
>>>>> sjaco002@ucr.edu>
>>>>> > >> wrote:
>>>>> > >> >> >
>>>>> > >> >> >> Erandi,
>>>>> > >> >> >> If you have time, I recommend that you submit your proposal
>>>>> draft
>>>>> > >> early
>>>>> > >> >> >> (today?). That we we can provide feedback on the proposal
>>>>> before
>>>>> > the
>>>>> > >> >> final
>>>>> > >> >> >> copy is due next Monday.
>>>>> > >> >> >> Steven
>>>>> > >> >> >>
>>>>> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>>>>> > >> >> erandiganepola@gmail.com
>>>>> > >> >> >> >
>>>>> > >> >> >> wrote:
>>>>> > >> >> >>
>>>>> > >> >> >> > Hi Jacob and Preston,
>>>>> > >> >> >> >
>>>>> > >> >> >> > Sorry for the late reply. Thanks for sharing more
>>>>> information on
>>>>> > >> the
>>>>> > >> >> >> > project. I went through the links you had shared,
>>>>> swagger.io
>>>>> > [1]
>>>>> > >> and
>>>>> > >> >> the
>>>>> > >> >> >> > REST API definition (swagger configuration) [2] in the
>>>>> wiki
>>>>> > >> pages. I
>>>>> > >> >> now
>>>>> > >> >> >> > have a better idea on what is to be done.
>>>>> > >> >> >> >
>>>>> > >> >> >> > As I understand, we can build the server (I'm thinking of
>>>>> > JAX-RS.
>>>>> > >> >> What do
>>>>> > >> >> >> > you think?) directly from swagger to match our
>>>>> definition. Then
>>>>> > I
>>>>> > >> will
>>>>> > >> >> >> have
>>>>> > >> >> >> > to modify the generated server code to integrate
>>>>> query/request
>>>>> > >> >> processing
>>>>> > >> >> >> > to VXQuery core. This way, we will only be generating the
>>>>> > request
>>>>> > >> >> >> handling
>>>>> > >> >> >> > part, not the request processing part.
>>>>> > >> >> >> >
>>>>> > >> >> >> > While I'm going through the CLI module [3], I saw that
>>>>> you are
>>>>> > >> parsing
>>>>> > >> >> >> > command line arguments (CmdLineOptions class) and
>>>>> executing
>>>>> > >> VXQuery
>>>>> > >> >> >> > instances accordingly. In the server side of the REST
>>>>> API, we
>>>>> > >> need to
>>>>> > >> >> >> have
>>>>> > >> >> >> > a such mechanism to convert the request parameters
>>>>> (similarly to
>>>>> > >> the
>>>>> > >> >> >> > options above) to options and then execute the queries.
>>>>> But the
>>>>> > >> doubt
>>>>> > >> >> I
>>>>> > >> >> >> > have is, then we will be doing some kind of duplication
>>>>> in the
>>>>> > >> same
>>>>> > >> >> >> > operations which are already in the CLI classes.
>>>>> > >> >> >> >
>>>>> > >> >> >> > Therefore what I think is that I should come up with an
>>>>> > >> intermediate
>>>>> > >> >> >> layer
>>>>> > >> >> >> > (probably a set of interfaces that can be used as the API
>>>>> for
>>>>> > >> both CLI
>>>>> > >> >> >> and
>>>>> > >> >> >> > the REST API) which will generalize the query execution
>>>>> among
>>>>> > the
>>>>> > >> CLI
>>>>> > >> >> and
>>>>> > >> >> >> > the REST API in the future.
>>>>> > >> >> >> >
>>>>> > >> >> >> > It will be better you can provide me with your kind
>>>>> suggestions
>>>>> > >> and
>>>>> > >> >> >> > feedback so that I can add an improved design to my
>>>>> project
>>>>> > >> proposal.
>>>>> > >> >> >> >
>>>>> > >> >> >> > Thanks in advance!
>>>>> > >> >> >> >
>>>>> > >> >> >> > [1] http://swagger.io
>>>>> > >> >> >> > [2]
>>>>> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>>>>> > >> >> >> > SwaggerIO+Configuration
>>>>> > >> >> >> > [3]
>>>>> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>>>>> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>>>>> > >> >> >> >
>>>>> > >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
>>>>> > >> prestonc@apache.org
>>>>> > >> >> >
>>>>> > >> >> >> > wrote:
>>>>> > >> >> >> >
>>>>> > >> >> >> > > Hi Erandi,
>>>>> > >> >> >> > >
>>>>> > >> >> >> > > Similar to my comment on the issue. Our goal is to get
>>>>> a Web
>>>>> > >> >> Interface
>>>>> > >> >> >> > > for executing queries. To achieve this goal we have
>>>>> three
>>>>> > steps:
>>>>> > >> >> >> > >
>>>>> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is
>>>>> > >> complete)
>>>>> > >> >> >> > > 2. Update current query execution path to use the
>>>>> RESTful API
>>>>> > >> >> (command
>>>>> > >> >> >> > > line query execution)
>>>>> > >> >> >> > > 3. Implement a simple web interface for single query
>>>>> execution
>>>>> > >> >> >> > > 4. Update the web interface for more advance operations
>>>>> > (showing
>>>>> > >> >> query
>>>>> > >> >> >> > > plans, asynchronous jobs, etc.)
>>>>> > >> >> >> > >
>>>>> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we
>>>>> would
>>>>> > >> like
>>>>> > >> >> to
>>>>> > >> >> >> > > emulate: https://cwiki.apache.org/
>>>>> > confluence/display/ASTERIXDB/
>>>>> > >> >> >> > > New+HTTP+API+Design.
>>>>> > >> >> >> > > Both projects build on Hyracks and in the future could
>>>>> move
>>>>> > the
>>>>> > >> API
>>>>> > >> >> >> > > into into this shared dependent project. Consider these
>>>>> tasks
>>>>> > >> and
>>>>> > >> >> your
>>>>> > >> >> >> > > skill level and come up with what steps you think you
>>>>> could
>>>>> > >> achieve
>>>>> > >> >> >> > > during the summer.
>>>>> > >> >> >> > >
>>>>> > >> >> >> > > Let us know if you have specific questions.
>>>>> > >> >> >> > >
>>>>> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
>>>>> > >> vinayakb@gmail.com
>>>>> > >> >> >
>>>>> > >> >> >> > > wrote:
>>>>> > >> >> >> > > > I love the way this email expresses interest in
>>>>> $subject. It
>>>>> > >> >> >> indicates
>>>>> > >> >> >> > a
>>>>> > >> >> >> > > > good grasp of XQuery variables.
>>>>> > >> >> >> > > >
>>>>> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>>>>> > >> >> erandiganepola@gmail.com>
>>>>> > >> >> >> > > wrote:
>>>>> > >> >> >> > > >
>>>>> > >> >> >> > > >> Hi All,
>>>>> > >> >> >> > > >>
>>>>> > >> >> >> > > >> I am a final year undergraduate of University of
>>>>> Kelaniya,
>>>>> > >> Sri
>>>>> > >> >> >> Lanka.
>>>>> > >> >> >> > I
>>>>> > >> >> >> > > >> have been a proud user of open source products and  a
>>>>> > >> contributor
>>>>> > >> >> >> > too. I
>>>>> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd*
>>>>> (which
>>>>> > >> is a
>>>>> > >> >> >> > leading
>>>>> > >> >> >> > > >> open source middleware company http://wso2.com/)
>>>>> and at
>>>>> > >> *Huawei
>>>>> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm
>>>>> involved
>>>>> > in
>>>>> > >> >> machine
>>>>> > >> >> >> > > >> learning and natural language processing related
>>>>> research
>>>>> > >> >> projects.
>>>>> > >> >> >> I
>>>>> > >> >> >> > am
>>>>> > >> >> >> > > >> passionate in Computer Science and I have a strong
>>>>> interest
>>>>> > >> >> towards
>>>>> > >> >> >> > open
>>>>> > >> >> >> > > >> source developments.
>>>>> > >> >> >> > > >>
>>>>> > >> >> >> > > >> I am interested in $subject. I went through the
>>>>> issue and
>>>>> > >> got a
>>>>> > >> >> >> brief
>>>>> > >> >> >> > > >> understanding
>>>>> > >> >> >> > > >> on the task.
>>>>> > >> >> >> > > >>
>>>>> > >> >> >> > > >> Can anyone kindly give me further guidance on the
>>>>> scope of
>>>>> > >> the
>>>>> > >> >> >> project
>>>>> > >> >> >> > > to
>>>>> > >> >> >> > > >> proceed? Your valuable information is highly
>>>>> appreciated.
>>>>> > >> >> >> > > >>
>>>>> > >> >> >> > > >> 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>
>>>>> > >> >> >> > > >>
>>>>> > >> >> >> > >
>>>>> > >> >> >> >
>>>>> > >> >> >>
>>>>> > >> >>
>>>>> > >>
>>>>> > >
>>>>> > >
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Preston and Steven,

I have started on the implementation so that you can get a better idea on
what I'm suggesting. What I have done so far can be found at [1]. Also I
have made some improvements in my proposal as well. It will be great if you
can provide further feedback on them as well.

Thank you!

[1] https://github.com/erandiganepola/vxquery

*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, Apr 1, 2017 at 2:59 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Preston and Steven,
>
> I was going through the initial steps of implementation. For the REST
> server, I thought of using jersey [1] as the JAX-RS implementation to be
> used since it is easy to use and matured. Can you kindly let me know what
> do you think of my choice?
>
> Thank you!
>
> [1] https://jersey.java.net
>
> *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 Thu, Mar 30, 2017 at 12:05 PM, Erandi Ganepola <
> erandiganepola@gmail.com> wrote:
>
>> Hi Steven,
>>
>> I have updated my proposal a bit. I have added a section on my other
>> contributions during the period of GSoC as well. Can you kindly give a
>> feedback on that as well.
>>
>> Thank you!
>>
>> *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 Wed, Mar 29, 2017 at 7:38 AM, Erandi Ganepola <
>> erandiganepola@gmail.com> wrote:
>>
>>> Hi Steven,
>>>
>>> Thank you very much. I will look in to that and do the improvements.
>>>
>>> Regards,
>>> Erandi
>>>
>>> *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 Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <sj...@ucr.edu>
>>> wrote:
>>>
>>>> Erandi- Great proposal overall!
>>>> I put a few comments in the draft for you to address.
>>>> Thanks,
>>>> Steven
>>>>
>>>> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <
>>>> erandiganepola@gmail.com>
>>>> wrote:
>>>>
>>>> > Hi Jacob and Preston,
>>>> >
>>>> > I have submitted my draft proposal to GSoC site. Please give your
>>>> valuable
>>>> > feedback.
>>>> >
>>>> > Thanks and Regards,
>>>> > Erandi
>>>> >
>>>> >
>>>> > *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/erandiga
>>>> nepola>
>>>> >
>>>> > On Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
>>>> > erandiganepola@gmail.com>
>>>> > wrote:
>>>> >
>>>> > > Hi Preston,
>>>> > >
>>>> > > Then I will not consider about the rest API authentication for now.
>>>> I was
>>>> > > thinking on using jax-rs to implement the REST-API server. Is that
>>>> ok?
>>>> > >
>>>> > > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <
>>>> prestonc@apache.org>
>>>> > > wrote:
>>>> > >
>>>> > >> At this point, we are not implementing auth support. In the
>>>> future, we
>>>> > >> will consider this feature once Hyracks supports this option.
>>>> > >>
>>>> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
>>>> > >> <er...@gmail.com> wrote:
>>>> > >> > Hi Preston,
>>>> > >> >
>>>> > >> > Thank you for the comment in JIRA and this clarification. Now I
>>>> get
>>>> > the
>>>> > >> > idea. One more thing, should the REST API be implemented with
>>>> auth
>>>> > >> support?
>>>> > >> >
>>>> > >> >
>>>> > >> > *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/erandiga
>>>> > >> nepola>
>>>> > >> >
>>>> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <
>>>> prestonc@apache.org>
>>>> > >> wrote:
>>>> > >> >
>>>> > >> >> One clarifying comment about the CLI and the proposed
>>>> interfaces.
>>>> > >> >>
>>>> > >> >> The CLI handles two methods of executing a query: on a cluster
>>>> and
>>>> > >> >> when no cluster is specified. When a cluster is specified, the
>>>> query
>>>> > >> >> should be submitted to the RESTful API. As for when a cluster
>>>> does
>>>> > not
>>>> > >> >> exist, the CLI creates a temporary cluster to execute the
>>>> query. The
>>>> > >> >> same process can continue, but now we have the option of using
>>>> the
>>>> > >> >> current method or update to using the RESTful API of the
>>>> temporary
>>>> > >> >> cluster.
>>>> > >> >>
>>>> > >> >> Basically, we should always use the RESTful API when possible
>>>> so we
>>>> > >> >> only need to support one API.
>>>> > >> >>
>>>> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>>>> > >> >> <er...@gmail.com> wrote:
>>>> > >> >> > Hi Steven,
>>>> > >> >> >
>>>> > >> >> > I will complete and submit my draft proposal today.
>>>> > >> >> >
>>>> > >> >> > Thanks for the quick response!
>>>> > >> >> >
>>>> > >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <
>>>> sjaco002@ucr.edu>
>>>> > >> wrote:
>>>> > >> >> >
>>>> > >> >> >> Erandi,
>>>> > >> >> >> If you have time, I recommend that you submit your proposal
>>>> draft
>>>> > >> early
>>>> > >> >> >> (today?). That we we can provide feedback on the proposal
>>>> before
>>>> > the
>>>> > >> >> final
>>>> > >> >> >> copy is due next Monday.
>>>> > >> >> >> Steven
>>>> > >> >> >>
>>>> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>>>> > >> >> erandiganepola@gmail.com
>>>> > >> >> >> >
>>>> > >> >> >> wrote:
>>>> > >> >> >>
>>>> > >> >> >> > Hi Jacob and Preston,
>>>> > >> >> >> >
>>>> > >> >> >> > Sorry for the late reply. Thanks for sharing more
>>>> information on
>>>> > >> the
>>>> > >> >> >> > project. I went through the links you had shared,
>>>> swagger.io
>>>> > [1]
>>>> > >> and
>>>> > >> >> the
>>>> > >> >> >> > REST API definition (swagger configuration) [2] in the wiki
>>>> > >> pages. I
>>>> > >> >> now
>>>> > >> >> >> > have a better idea on what is to be done.
>>>> > >> >> >> >
>>>> > >> >> >> > As I understand, we can build the server (I'm thinking of
>>>> > JAX-RS.
>>>> > >> >> What do
>>>> > >> >> >> > you think?) directly from swagger to match our definition.
>>>> Then
>>>> > I
>>>> > >> will
>>>> > >> >> >> have
>>>> > >> >> >> > to modify the generated server code to integrate
>>>> query/request
>>>> > >> >> processing
>>>> > >> >> >> > to VXQuery core. This way, we will only be generating the
>>>> > request
>>>> > >> >> >> handling
>>>> > >> >> >> > part, not the request processing part.
>>>> > >> >> >> >
>>>> > >> >> >> > While I'm going through the CLI module [3], I saw that you
>>>> are
>>>> > >> parsing
>>>> > >> >> >> > command line arguments (CmdLineOptions class) and executing
>>>> > >> VXQuery
>>>> > >> >> >> > instances accordingly. In the server side of the REST API,
>>>> we
>>>> > >> need to
>>>> > >> >> >> have
>>>> > >> >> >> > a such mechanism to convert the request parameters
>>>> (similarly to
>>>> > >> the
>>>> > >> >> >> > options above) to options and then execute the queries.
>>>> But the
>>>> > >> doubt
>>>> > >> >> I
>>>> > >> >> >> > have is, then we will be doing some kind of duplication in
>>>> the
>>>> > >> same
>>>> > >> >> >> > operations which are already in the CLI classes.
>>>> > >> >> >> >
>>>> > >> >> >> > Therefore what I think is that I should come up with an
>>>> > >> intermediate
>>>> > >> >> >> layer
>>>> > >> >> >> > (probably a set of interfaces that can be used as the API
>>>> for
>>>> > >> both CLI
>>>> > >> >> >> and
>>>> > >> >> >> > the REST API) which will generalize the query execution
>>>> among
>>>> > the
>>>> > >> CLI
>>>> > >> >> and
>>>> > >> >> >> > the REST API in the future.
>>>> > >> >> >> >
>>>> > >> >> >> > It will be better you can provide me with your kind
>>>> suggestions
>>>> > >> and
>>>> > >> >> >> > feedback so that I can add an improved design to my project
>>>> > >> proposal.
>>>> > >> >> >> >
>>>> > >> >> >> > Thanks in advance!
>>>> > >> >> >> >
>>>> > >> >> >> > [1] http://swagger.io
>>>> > >> >> >> > [2]
>>>> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>>>> > >> >> >> > SwaggerIO+Configuration
>>>> > >> >> >> > [3]
>>>> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>>>> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>>>> > >> >> >> >
>>>> > >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
>>>> > >> prestonc@apache.org
>>>> > >> >> >
>>>> > >> >> >> > wrote:
>>>> > >> >> >> >
>>>> > >> >> >> > > Hi Erandi,
>>>> > >> >> >> > >
>>>> > >> >> >> > > Similar to my comment on the issue. Our goal is to get a
>>>> Web
>>>> > >> >> Interface
>>>> > >> >> >> > > for executing queries. To achieve this goal we have three
>>>> > steps:
>>>> > >> >> >> > >
>>>> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is
>>>> > >> complete)
>>>> > >> >> >> > > 2. Update current query execution path to use the
>>>> RESTful API
>>>> > >> >> (command
>>>> > >> >> >> > > line query execution)
>>>> > >> >> >> > > 3. Implement a simple web interface for single query
>>>> execution
>>>> > >> >> >> > > 4. Update the web interface for more advance operations
>>>> > (showing
>>>> > >> >> query
>>>> > >> >> >> > > plans, asynchronous jobs, etc.)
>>>> > >> >> >> > >
>>>> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we
>>>> would
>>>> > >> like
>>>> > >> >> to
>>>> > >> >> >> > > emulate: https://cwiki.apache.org/
>>>> > confluence/display/ASTERIXDB/
>>>> > >> >> >> > > New+HTTP+API+Design.
>>>> > >> >> >> > > Both projects build on Hyracks and in the future could
>>>> move
>>>> > the
>>>> > >> API
>>>> > >> >> >> > > into into this shared dependent project. Consider these
>>>> tasks
>>>> > >> and
>>>> > >> >> your
>>>> > >> >> >> > > skill level and come up with what steps you think you
>>>> could
>>>> > >> achieve
>>>> > >> >> >> > > during the summer.
>>>> > >> >> >> > >
>>>> > >> >> >> > > Let us know if you have specific questions.
>>>> > >> >> >> > >
>>>> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
>>>> > >> vinayakb@gmail.com
>>>> > >> >> >
>>>> > >> >> >> > > wrote:
>>>> > >> >> >> > > > I love the way this email expresses interest in
>>>> $subject. It
>>>> > >> >> >> indicates
>>>> > >> >> >> > a
>>>> > >> >> >> > > > good grasp of XQuery variables.
>>>> > >> >> >> > > >
>>>> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>>>> > >> >> erandiganepola@gmail.com>
>>>> > >> >> >> > > wrote:
>>>> > >> >> >> > > >
>>>> > >> >> >> > > >> Hi All,
>>>> > >> >> >> > > >>
>>>> > >> >> >> > > >> I am a final year undergraduate of University of
>>>> Kelaniya,
>>>> > >> Sri
>>>> > >> >> >> Lanka.
>>>> > >> >> >> > I
>>>> > >> >> >> > > >> have been a proud user of open source products and  a
>>>> > >> contributor
>>>> > >> >> >> > too. I
>>>> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd*
>>>> (which
>>>> > >> is a
>>>> > >> >> >> > leading
>>>> > >> >> >> > > >> open source middleware company http://wso2.com/) and
>>>> at
>>>> > >> *Huawei
>>>> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm
>>>> involved
>>>> > in
>>>> > >> >> machine
>>>> > >> >> >> > > >> learning and natural language processing related
>>>> research
>>>> > >> >> projects.
>>>> > >> >> >> I
>>>> > >> >> >> > am
>>>> > >> >> >> > > >> passionate in Computer Science and I have a strong
>>>> interest
>>>> > >> >> towards
>>>> > >> >> >> > open
>>>> > >> >> >> > > >> source developments.
>>>> > >> >> >> > > >>
>>>> > >> >> >> > > >> I am interested in $subject. I went through the issue
>>>> and
>>>> > >> got a
>>>> > >> >> >> brief
>>>> > >> >> >> > > >> understanding
>>>> > >> >> >> > > >> on the task.
>>>> > >> >> >> > > >>
>>>> > >> >> >> > > >> Can anyone kindly give me further guidance on the
>>>> scope of
>>>> > >> the
>>>> > >> >> >> project
>>>> > >> >> >> > > to
>>>> > >> >> >> > > >> proceed? Your valuable information is highly
>>>> appreciated.
>>>> > >> >> >> > > >>
>>>> > >> >> >> > > >> 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>
>>>> > >> >> >> > > >>
>>>> > >> >> >> > >
>>>> > >> >> >> >
>>>> > >> >> >>
>>>> > >> >>
>>>> > >>
>>>> > >
>>>> > >
>>>> >
>>>>
>>>
>>>
>>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Preston and Steven,

I was going through the initial steps of implementation. For the REST
server, I thought of using jersey [1] as the JAX-RS implementation to be
used since it is easy to use and matured. Can you kindly let me know what
do you think of my choice?

Thank you!

[1] https://jersey.java.net

*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 Thu, Mar 30, 2017 at 12:05 PM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Steven,
>
> I have updated my proposal a bit. I have added a section on my other
> contributions during the period of GSoC as well. Can you kindly give a
> feedback on that as well.
>
> Thank you!
>
> *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 Wed, Mar 29, 2017 at 7:38 AM, Erandi Ganepola <erandiganepola@gmail.com
> > wrote:
>
>> Hi Steven,
>>
>> Thank you very much. I will look in to that and do the improvements.
>>
>> Regards,
>> Erandi
>>
>> *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 Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <sj...@ucr.edu> wrote:
>>
>>> Erandi- Great proposal overall!
>>> I put a few comments in the draft for you to address.
>>> Thanks,
>>> Steven
>>>
>>> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <
>>> erandiganepola@gmail.com>
>>> wrote:
>>>
>>> > Hi Jacob and Preston,
>>> >
>>> > I have submitted my draft proposal to GSoC site. Please give your
>>> valuable
>>> > feedback.
>>> >
>>> > Thanks and Regards,
>>> > Erandi
>>> >
>>> >
>>> > *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/erandiga
>>> nepola>
>>> >
>>> > On Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
>>> > erandiganepola@gmail.com>
>>> > wrote:
>>> >
>>> > > Hi Preston,
>>> > >
>>> > > Then I will not consider about the rest API authentication for now.
>>> I was
>>> > > thinking on using jax-rs to implement the REST-API server. Is that
>>> ok?
>>> > >
>>> > > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <prestonc@apache.org
>>> >
>>> > > wrote:
>>> > >
>>> > >> At this point, we are not implementing auth support. In the future,
>>> we
>>> > >> will consider this feature once Hyracks supports this option.
>>> > >>
>>> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
>>> > >> <er...@gmail.com> wrote:
>>> > >> > Hi Preston,
>>> > >> >
>>> > >> > Thank you for the comment in JIRA and this clarification. Now I
>>> get
>>> > the
>>> > >> > idea. One more thing, should the REST API be implemented with auth
>>> > >> support?
>>> > >> >
>>> > >> >
>>> > >> > *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/erandiga
>>> > >> nepola>
>>> > >> >
>>> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <
>>> prestonc@apache.org>
>>> > >> wrote:
>>> > >> >
>>> > >> >> One clarifying comment about the CLI and the proposed interfaces.
>>> > >> >>
>>> > >> >> The CLI handles two methods of executing a query: on a cluster
>>> and
>>> > >> >> when no cluster is specified. When a cluster is specified, the
>>> query
>>> > >> >> should be submitted to the RESTful API. As for when a cluster
>>> does
>>> > not
>>> > >> >> exist, the CLI creates a temporary cluster to execute the query.
>>> The
>>> > >> >> same process can continue, but now we have the option of using
>>> the
>>> > >> >> current method or update to using the RESTful API of the
>>> temporary
>>> > >> >> cluster.
>>> > >> >>
>>> > >> >> Basically, we should always use the RESTful API when possible so
>>> we
>>> > >> >> only need to support one API.
>>> > >> >>
>>> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>>> > >> >> <er...@gmail.com> wrote:
>>> > >> >> > Hi Steven,
>>> > >> >> >
>>> > >> >> > I will complete and submit my draft proposal today.
>>> > >> >> >
>>> > >> >> > Thanks for the quick response!
>>> > >> >> >
>>> > >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <
>>> sjaco002@ucr.edu>
>>> > >> wrote:
>>> > >> >> >
>>> > >> >> >> Erandi,
>>> > >> >> >> If you have time, I recommend that you submit your proposal
>>> draft
>>> > >> early
>>> > >> >> >> (today?). That we we can provide feedback on the proposal
>>> before
>>> > the
>>> > >> >> final
>>> > >> >> >> copy is due next Monday.
>>> > >> >> >> Steven
>>> > >> >> >>
>>> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>>> > >> >> erandiganepola@gmail.com
>>> > >> >> >> >
>>> > >> >> >> wrote:
>>> > >> >> >>
>>> > >> >> >> > Hi Jacob and Preston,
>>> > >> >> >> >
>>> > >> >> >> > Sorry for the late reply. Thanks for sharing more
>>> information on
>>> > >> the
>>> > >> >> >> > project. I went through the links you had shared,
>>> swagger.io
>>> > [1]
>>> > >> and
>>> > >> >> the
>>> > >> >> >> > REST API definition (swagger configuration) [2] in the wiki
>>> > >> pages. I
>>> > >> >> now
>>> > >> >> >> > have a better idea on what is to be done.
>>> > >> >> >> >
>>> > >> >> >> > As I understand, we can build the server (I'm thinking of
>>> > JAX-RS.
>>> > >> >> What do
>>> > >> >> >> > you think?) directly from swagger to match our definition.
>>> Then
>>> > I
>>> > >> will
>>> > >> >> >> have
>>> > >> >> >> > to modify the generated server code to integrate
>>> query/request
>>> > >> >> processing
>>> > >> >> >> > to VXQuery core. This way, we will only be generating the
>>> > request
>>> > >> >> >> handling
>>> > >> >> >> > part, not the request processing part.
>>> > >> >> >> >
>>> > >> >> >> > While I'm going through the CLI module [3], I saw that you
>>> are
>>> > >> parsing
>>> > >> >> >> > command line arguments (CmdLineOptions class) and executing
>>> > >> VXQuery
>>> > >> >> >> > instances accordingly. In the server side of the REST API,
>>> we
>>> > >> need to
>>> > >> >> >> have
>>> > >> >> >> > a such mechanism to convert the request parameters
>>> (similarly to
>>> > >> the
>>> > >> >> >> > options above) to options and then execute the queries. But
>>> the
>>> > >> doubt
>>> > >> >> I
>>> > >> >> >> > have is, then we will be doing some kind of duplication in
>>> the
>>> > >> same
>>> > >> >> >> > operations which are already in the CLI classes.
>>> > >> >> >> >
>>> > >> >> >> > Therefore what I think is that I should come up with an
>>> > >> intermediate
>>> > >> >> >> layer
>>> > >> >> >> > (probably a set of interfaces that can be used as the API
>>> for
>>> > >> both CLI
>>> > >> >> >> and
>>> > >> >> >> > the REST API) which will generalize the query execution
>>> among
>>> > the
>>> > >> CLI
>>> > >> >> and
>>> > >> >> >> > the REST API in the future.
>>> > >> >> >> >
>>> > >> >> >> > It will be better you can provide me with your kind
>>> suggestions
>>> > >> and
>>> > >> >> >> > feedback so that I can add an improved design to my project
>>> > >> proposal.
>>> > >> >> >> >
>>> > >> >> >> > Thanks in advance!
>>> > >> >> >> >
>>> > >> >> >> > [1] http://swagger.io
>>> > >> >> >> > [2]
>>> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>>> > >> >> >> > SwaggerIO+Configuration
>>> > >> >> >> > [3]
>>> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>>> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>>> > >> >> >> >
>>> > >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
>>> > >> prestonc@apache.org
>>> > >> >> >
>>> > >> >> >> > wrote:
>>> > >> >> >> >
>>> > >> >> >> > > Hi Erandi,
>>> > >> >> >> > >
>>> > >> >> >> > > Similar to my comment on the issue. Our goal is to get a
>>> Web
>>> > >> >> Interface
>>> > >> >> >> > > for executing queries. To achieve this goal we have three
>>> > steps:
>>> > >> >> >> > >
>>> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is
>>> > >> complete)
>>> > >> >> >> > > 2. Update current query execution path to use the RESTful
>>> API
>>> > >> >> (command
>>> > >> >> >> > > line query execution)
>>> > >> >> >> > > 3. Implement a simple web interface for single query
>>> execution
>>> > >> >> >> > > 4. Update the web interface for more advance operations
>>> > (showing
>>> > >> >> query
>>> > >> >> >> > > plans, asynchronous jobs, etc.)
>>> > >> >> >> > >
>>> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we
>>> would
>>> > >> like
>>> > >> >> to
>>> > >> >> >> > > emulate: https://cwiki.apache.org/
>>> > confluence/display/ASTERIXDB/
>>> > >> >> >> > > New+HTTP+API+Design.
>>> > >> >> >> > > Both projects build on Hyracks and in the future could
>>> move
>>> > the
>>> > >> API
>>> > >> >> >> > > into into this shared dependent project. Consider these
>>> tasks
>>> > >> and
>>> > >> >> your
>>> > >> >> >> > > skill level and come up with what steps you think you
>>> could
>>> > >> achieve
>>> > >> >> >> > > during the summer.
>>> > >> >> >> > >
>>> > >> >> >> > > Let us know if you have specific questions.
>>> > >> >> >> > >
>>> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
>>> > >> vinayakb@gmail.com
>>> > >> >> >
>>> > >> >> >> > > wrote:
>>> > >> >> >> > > > I love the way this email expresses interest in
>>> $subject. It
>>> > >> >> >> indicates
>>> > >> >> >> > a
>>> > >> >> >> > > > good grasp of XQuery variables.
>>> > >> >> >> > > >
>>> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>>> > >> >> erandiganepola@gmail.com>
>>> > >> >> >> > > wrote:
>>> > >> >> >> > > >
>>> > >> >> >> > > >> Hi All,
>>> > >> >> >> > > >>
>>> > >> >> >> > > >> I am a final year undergraduate of University of
>>> Kelaniya,
>>> > >> Sri
>>> > >> >> >> Lanka.
>>> > >> >> >> > I
>>> > >> >> >> > > >> have been a proud user of open source products and  a
>>> > >> contributor
>>> > >> >> >> > too. I
>>> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd*
>>> (which
>>> > >> is a
>>> > >> >> >> > leading
>>> > >> >> >> > > >> open source middleware company http://wso2.com/) and
>>> at
>>> > >> *Huawei
>>> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm
>>> involved
>>> > in
>>> > >> >> machine
>>> > >> >> >> > > >> learning and natural language processing related
>>> research
>>> > >> >> projects.
>>> > >> >> >> I
>>> > >> >> >> > am
>>> > >> >> >> > > >> passionate in Computer Science and I have a strong
>>> interest
>>> > >> >> towards
>>> > >> >> >> > open
>>> > >> >> >> > > >> source developments.
>>> > >> >> >> > > >>
>>> > >> >> >> > > >> I am interested in $subject. I went through the issue
>>> and
>>> > >> got a
>>> > >> >> >> brief
>>> > >> >> >> > > >> understanding
>>> > >> >> >> > > >> on the task.
>>> > >> >> >> > > >>
>>> > >> >> >> > > >> Can anyone kindly give me further guidance on the
>>> scope of
>>> > >> the
>>> > >> >> >> project
>>> > >> >> >> > > to
>>> > >> >> >> > > >> proceed? Your valuable information is highly
>>> appreciated.
>>> > >> >> >> > > >>
>>> > >> >> >> > > >> 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>
>>> > >> >> >> > > >>
>>> > >> >> >> > >
>>> > >> >> >> >
>>> > >> >> >>
>>> > >> >>
>>> > >>
>>> > >
>>> > >
>>> >
>>>
>>
>>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Steven,

I have updated my proposal a bit. I have added a section on my other
contributions during the period of GSoC as well. Can you kindly give a
feedback on that as well.

Thank you!

*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 Wed, Mar 29, 2017 at 7:38 AM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Steven,
>
> Thank you very much. I will look in to that and do the improvements.
>
> Regards,
> Erandi
>
> *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 Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <sj...@ucr.edu> wrote:
>
>> Erandi- Great proposal overall!
>> I put a few comments in the draft for you to address.
>> Thanks,
>> Steven
>>
>> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <
>> erandiganepola@gmail.com>
>> wrote:
>>
>> > Hi Jacob and Preston,
>> >
>> > I have submitted my draft proposal to GSoC site. Please give your
>> valuable
>> > feedback.
>> >
>> > Thanks and Regards,
>> > Erandi
>> >
>> >
>> > *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/erandiga
>> nepola>
>> >
>> > On Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
>> > erandiganepola@gmail.com>
>> > wrote:
>> >
>> > > Hi Preston,
>> > >
>> > > Then I will not consider about the rest API authentication for now. I
>> was
>> > > thinking on using jax-rs to implement the REST-API server. Is that ok?
>> > >
>> > > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <pr...@apache.org>
>> > > wrote:
>> > >
>> > >> At this point, we are not implementing auth support. In the future,
>> we
>> > >> will consider this feature once Hyracks supports this option.
>> > >>
>> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
>> > >> <er...@gmail.com> wrote:
>> > >> > Hi Preston,
>> > >> >
>> > >> > Thank you for the comment in JIRA and this clarification. Now I get
>> > the
>> > >> > idea. One more thing, should the REST API be implemented with auth
>> > >> support?
>> > >> >
>> > >> >
>> > >> > *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/erandiga
>> > >> nepola>
>> > >> >
>> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <
>> prestonc@apache.org>
>> > >> wrote:
>> > >> >
>> > >> >> One clarifying comment about the CLI and the proposed interfaces.
>> > >> >>
>> > >> >> The CLI handles two methods of executing a query: on a cluster and
>> > >> >> when no cluster is specified. When a cluster is specified, the
>> query
>> > >> >> should be submitted to the RESTful API. As for when a cluster does
>> > not
>> > >> >> exist, the CLI creates a temporary cluster to execute the query.
>> The
>> > >> >> same process can continue, but now we have the option of using the
>> > >> >> current method or update to using the RESTful API of the temporary
>> > >> >> cluster.
>> > >> >>
>> > >> >> Basically, we should always use the RESTful API when possible so
>> we
>> > >> >> only need to support one API.
>> > >> >>
>> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>> > >> >> <er...@gmail.com> wrote:
>> > >> >> > Hi Steven,
>> > >> >> >
>> > >> >> > I will complete and submit my draft proposal today.
>> > >> >> >
>> > >> >> > Thanks for the quick response!
>> > >> >> >
>> > >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <
>> sjaco002@ucr.edu>
>> > >> wrote:
>> > >> >> >
>> > >> >> >> Erandi,
>> > >> >> >> If you have time, I recommend that you submit your proposal
>> draft
>> > >> early
>> > >> >> >> (today?). That we we can provide feedback on the proposal
>> before
>> > the
>> > >> >> final
>> > >> >> >> copy is due next Monday.
>> > >> >> >> Steven
>> > >> >> >>
>> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>> > >> >> erandiganepola@gmail.com
>> > >> >> >> >
>> > >> >> >> wrote:
>> > >> >> >>
>> > >> >> >> > Hi Jacob and Preston,
>> > >> >> >> >
>> > >> >> >> > Sorry for the late reply. Thanks for sharing more
>> information on
>> > >> the
>> > >> >> >> > project. I went through the links you had shared, swagger.io
>> > [1]
>> > >> and
>> > >> >> the
>> > >> >> >> > REST API definition (swagger configuration) [2] in the wiki
>> > >> pages. I
>> > >> >> now
>> > >> >> >> > have a better idea on what is to be done.
>> > >> >> >> >
>> > >> >> >> > As I understand, we can build the server (I'm thinking of
>> > JAX-RS.
>> > >> >> What do
>> > >> >> >> > you think?) directly from swagger to match our definition.
>> Then
>> > I
>> > >> will
>> > >> >> >> have
>> > >> >> >> > to modify the generated server code to integrate
>> query/request
>> > >> >> processing
>> > >> >> >> > to VXQuery core. This way, we will only be generating the
>> > request
>> > >> >> >> handling
>> > >> >> >> > part, not the request processing part.
>> > >> >> >> >
>> > >> >> >> > While I'm going through the CLI module [3], I saw that you
>> are
>> > >> parsing
>> > >> >> >> > command line arguments (CmdLineOptions class) and executing
>> > >> VXQuery
>> > >> >> >> > instances accordingly. In the server side of the REST API, we
>> > >> need to
>> > >> >> >> have
>> > >> >> >> > a such mechanism to convert the request parameters
>> (similarly to
>> > >> the
>> > >> >> >> > options above) to options and then execute the queries. But
>> the
>> > >> doubt
>> > >> >> I
>> > >> >> >> > have is, then we will be doing some kind of duplication in
>> the
>> > >> same
>> > >> >> >> > operations which are already in the CLI classes.
>> > >> >> >> >
>> > >> >> >> > Therefore what I think is that I should come up with an
>> > >> intermediate
>> > >> >> >> layer
>> > >> >> >> > (probably a set of interfaces that can be used as the API for
>> > >> both CLI
>> > >> >> >> and
>> > >> >> >> > the REST API) which will generalize the query execution among
>> > the
>> > >> CLI
>> > >> >> and
>> > >> >> >> > the REST API in the future.
>> > >> >> >> >
>> > >> >> >> > It will be better you can provide me with your kind
>> suggestions
>> > >> and
>> > >> >> >> > feedback so that I can add an improved design to my project
>> > >> proposal.
>> > >> >> >> >
>> > >> >> >> > Thanks in advance!
>> > >> >> >> >
>> > >> >> >> > [1] http://swagger.io
>> > >> >> >> > [2]
>> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>> > >> >> >> > SwaggerIO+Configuration
>> > >> >> >> > [3]
>> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>> > >> >> >> >
>> > >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
>> > >> prestonc@apache.org
>> > >> >> >
>> > >> >> >> > wrote:
>> > >> >> >> >
>> > >> >> >> > > Hi Erandi,
>> > >> >> >> > >
>> > >> >> >> > > Similar to my comment on the issue. Our goal is to get a
>> Web
>> > >> >> Interface
>> > >> >> >> > > for executing queries. To achieve this goal we have three
>> > steps:
>> > >> >> >> > >
>> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is
>> > >> complete)
>> > >> >> >> > > 2. Update current query execution path to use the RESTful
>> API
>> > >> >> (command
>> > >> >> >> > > line query execution)
>> > >> >> >> > > 3. Implement a simple web interface for single query
>> execution
>> > >> >> >> > > 4. Update the web interface for more advance operations
>> > (showing
>> > >> >> query
>> > >> >> >> > > plans, asynchronous jobs, etc.)
>> > >> >> >> > >
>> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we
>> would
>> > >> like
>> > >> >> to
>> > >> >> >> > > emulate: https://cwiki.apache.org/
>> > confluence/display/ASTERIXDB/
>> > >> >> >> > > New+HTTP+API+Design.
>> > >> >> >> > > Both projects build on Hyracks and in the future could move
>> > the
>> > >> API
>> > >> >> >> > > into into this shared dependent project. Consider these
>> tasks
>> > >> and
>> > >> >> your
>> > >> >> >> > > skill level and come up with what steps you think you could
>> > >> achieve
>> > >> >> >> > > during the summer.
>> > >> >> >> > >
>> > >> >> >> > > Let us know if you have specific questions.
>> > >> >> >> > >
>> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
>> > >> vinayakb@gmail.com
>> > >> >> >
>> > >> >> >> > > wrote:
>> > >> >> >> > > > I love the way this email expresses interest in
>> $subject. It
>> > >> >> >> indicates
>> > >> >> >> > a
>> > >> >> >> > > > good grasp of XQuery variables.
>> > >> >> >> > > >
>> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>> > >> >> erandiganepola@gmail.com>
>> > >> >> >> > > wrote:
>> > >> >> >> > > >
>> > >> >> >> > > >> Hi All,
>> > >> >> >> > > >>
>> > >> >> >> > > >> I am a final year undergraduate of University of
>> Kelaniya,
>> > >> Sri
>> > >> >> >> Lanka.
>> > >> >> >> > I
>> > >> >> >> > > >> have been a proud user of open source products and  a
>> > >> contributor
>> > >> >> >> > too. I
>> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd*
>> (which
>> > >> is a
>> > >> >> >> > leading
>> > >> >> >> > > >> open source middleware company http://wso2.com/) and at
>> > >> *Huawei
>> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm
>> involved
>> > in
>> > >> >> machine
>> > >> >> >> > > >> learning and natural language processing related
>> research
>> > >> >> projects.
>> > >> >> >> I
>> > >> >> >> > am
>> > >> >> >> > > >> passionate in Computer Science and I have a strong
>> interest
>> > >> >> towards
>> > >> >> >> > open
>> > >> >> >> > > >> source developments.
>> > >> >> >> > > >>
>> > >> >> >> > > >> I am interested in $subject. I went through the issue
>> and
>> > >> got a
>> > >> >> >> brief
>> > >> >> >> > > >> understanding
>> > >> >> >> > > >> on the task.
>> > >> >> >> > > >>
>> > >> >> >> > > >> Can anyone kindly give me further guidance on the scope
>> of
>> > >> the
>> > >> >> >> project
>> > >> >> >> > > to
>> > >> >> >> > > >> proceed? Your valuable information is highly
>> appreciated.
>> > >> >> >> > > >>
>> > >> >> >> > > >> 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>
>> > >> >> >> > > >>
>> > >> >> >> > >
>> > >> >> >> >
>> > >> >> >>
>> > >> >>
>> > >>
>> > >
>> > >
>> >
>>
>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Steven,

Thank you very much. I will look in to that and do the improvements.

Regards,
Erandi

*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 Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <sj...@ucr.edu> wrote:

> Erandi- Great proposal overall!
> I put a few comments in the draft for you to address.
> Thanks,
> Steven
>
> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <
> erandiganepola@gmail.com>
> wrote:
>
> > Hi Jacob and Preston,
> >
> > I have submitted my draft proposal to GSoC site. Please give your
> valuable
> > feedback.
> >
> > Thanks and Regards,
> > Erandi
> >
> >
> > *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 Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
> > erandiganepola@gmail.com>
> > wrote:
> >
> > > Hi Preston,
> > >
> > > Then I will not consider about the rest API authentication for now. I
> was
> > > thinking on using jax-rs to implement the REST-API server. Is that ok?
> > >
> > > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <pr...@apache.org>
> > > wrote:
> > >
> > >> At this point, we are not implementing auth support. In the future, we
> > >> will consider this feature once Hyracks supports this option.
> > >>
> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
> > >> <er...@gmail.com> wrote:
> > >> > Hi Preston,
> > >> >
> > >> > Thank you for the comment in JIRA and this clarification. Now I get
> > the
> > >> > idea. One more thing, should the REST API be implemented with auth
> > >> support?
> > >> >
> > >> >
> > >> > *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/erandiga
> > >> nepola>
> > >> >
> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <
> prestonc@apache.org>
> > >> wrote:
> > >> >
> > >> >> One clarifying comment about the CLI and the proposed interfaces.
> > >> >>
> > >> >> The CLI handles two methods of executing a query: on a cluster and
> > >> >> when no cluster is specified. When a cluster is specified, the
> query
> > >> >> should be submitted to the RESTful API. As for when a cluster does
> > not
> > >> >> exist, the CLI creates a temporary cluster to execute the query.
> The
> > >> >> same process can continue, but now we have the option of using the
> > >> >> current method or update to using the RESTful API of the temporary
> > >> >> cluster.
> > >> >>
> > >> >> Basically, we should always use the RESTful API when possible so we
> > >> >> only need to support one API.
> > >> >>
> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
> > >> >> <er...@gmail.com> wrote:
> > >> >> > Hi Steven,
> > >> >> >
> > >> >> > I will complete and submit my draft proposal today.
> > >> >> >
> > >> >> > Thanks for the quick response!
> > >> >> >
> > >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sjaco002@ucr.edu
> >
> > >> wrote:
> > >> >> >
> > >> >> >> Erandi,
> > >> >> >> If you have time, I recommend that you submit your proposal
> draft
> > >> early
> > >> >> >> (today?). That we we can provide feedback on the proposal before
> > the
> > >> >> final
> > >> >> >> copy is due next Monday.
> > >> >> >> Steven
> > >> >> >>
> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
> > >> >> erandiganepola@gmail.com
> > >> >> >> >
> > >> >> >> wrote:
> > >> >> >>
> > >> >> >> > Hi Jacob and Preston,
> > >> >> >> >
> > >> >> >> > Sorry for the late reply. Thanks for sharing more information
> on
> > >> the
> > >> >> >> > project. I went through the links you had shared, swagger.io
> > [1]
> > >> and
> > >> >> the
> > >> >> >> > REST API definition (swagger configuration) [2] in the wiki
> > >> pages. I
> > >> >> now
> > >> >> >> > have a better idea on what is to be done.
> > >> >> >> >
> > >> >> >> > As I understand, we can build the server (I'm thinking of
> > JAX-RS.
> > >> >> What do
> > >> >> >> > you think?) directly from swagger to match our definition.
> Then
> > I
> > >> will
> > >> >> >> have
> > >> >> >> > to modify the generated server code to integrate query/request
> > >> >> processing
> > >> >> >> > to VXQuery core. This way, we will only be generating the
> > request
> > >> >> >> handling
> > >> >> >> > part, not the request processing part.
> > >> >> >> >
> > >> >> >> > While I'm going through the CLI module [3], I saw that you are
> > >> parsing
> > >> >> >> > command line arguments (CmdLineOptions class) and executing
> > >> VXQuery
> > >> >> >> > instances accordingly. In the server side of the REST API, we
> > >> need to
> > >> >> >> have
> > >> >> >> > a such mechanism to convert the request parameters (similarly
> to
> > >> the
> > >> >> >> > options above) to options and then execute the queries. But
> the
> > >> doubt
> > >> >> I
> > >> >> >> > have is, then we will be doing some kind of duplication in the
> > >> same
> > >> >> >> > operations which are already in the CLI classes.
> > >> >> >> >
> > >> >> >> > Therefore what I think is that I should come up with an
> > >> intermediate
> > >> >> >> layer
> > >> >> >> > (probably a set of interfaces that can be used as the API for
> > >> both CLI
> > >> >> >> and
> > >> >> >> > the REST API) which will generalize the query execution among
> > the
> > >> CLI
> > >> >> and
> > >> >> >> > the REST API in the future.
> > >> >> >> >
> > >> >> >> > It will be better you can provide me with your kind
> suggestions
> > >> and
> > >> >> >> > feedback so that I can add an improved design to my project
> > >> proposal.
> > >> >> >> >
> > >> >> >> > Thanks in advance!
> > >> >> >> >
> > >> >> >> > [1] http://swagger.io
> > >> >> >> > [2]
> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
> > >> >> >> > SwaggerIO+Configuration
> > >> >> >> > [3]
> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
> > >> >> >> >
> > >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
> > >> prestonc@apache.org
> > >> >> >
> > >> >> >> > wrote:
> > >> >> >> >
> > >> >> >> > > Hi Erandi,
> > >> >> >> > >
> > >> >> >> > > Similar to my comment on the issue. Our goal is to get a Web
> > >> >> Interface
> > >> >> >> > > for executing queries. To achieve this goal we have three
> > steps:
> > >> >> >> > >
> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is
> > >> complete)
> > >> >> >> > > 2. Update current query execution path to use the RESTful
> API
> > >> >> (command
> > >> >> >> > > line query execution)
> > >> >> >> > > 3. Implement a simple web interface for single query
> execution
> > >> >> >> > > 4. Update the web interface for more advance operations
> > (showing
> > >> >> query
> > >> >> >> > > plans, asynchronous jobs, etc.)
> > >> >> >> > >
> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we
> would
> > >> like
> > >> >> to
> > >> >> >> > > emulate: https://cwiki.apache.org/
> > confluence/display/ASTERIXDB/
> > >> >> >> > > New+HTTP+API+Design.
> > >> >> >> > > Both projects build on Hyracks and in the future could move
> > the
> > >> API
> > >> >> >> > > into into this shared dependent project. Consider these
> tasks
> > >> and
> > >> >> your
> > >> >> >> > > skill level and come up with what steps you think you could
> > >> achieve
> > >> >> >> > > during the summer.
> > >> >> >> > >
> > >> >> >> > > Let us know if you have specific questions.
> > >> >> >> > >
> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
> > >> vinayakb@gmail.com
> > >> >> >
> > >> >> >> > > wrote:
> > >> >> >> > > > I love the way this email expresses interest in $subject.
> It
> > >> >> >> indicates
> > >> >> >> > a
> > >> >> >> > > > good grasp of XQuery variables.
> > >> >> >> > > >
> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
> > >> >> erandiganepola@gmail.com>
> > >> >> >> > > wrote:
> > >> >> >> > > >
> > >> >> >> > > >> Hi All,
> > >> >> >> > > >>
> > >> >> >> > > >> I am a final year undergraduate of University of
> Kelaniya,
> > >> Sri
> > >> >> >> Lanka.
> > >> >> >> > I
> > >> >> >> > > >> have been a proud user of open source products and  a
> > >> contributor
> > >> >> >> > too. I
> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd*
> (which
> > >> is a
> > >> >> >> > leading
> > >> >> >> > > >> open source middleware company http://wso2.com/) and at
> > >> *Huawei
> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm involved
> > in
> > >> >> machine
> > >> >> >> > > >> learning and natural language processing related research
> > >> >> projects.
> > >> >> >> I
> > >> >> >> > am
> > >> >> >> > > >> passionate in Computer Science and I have a strong
> interest
> > >> >> towards
> > >> >> >> > open
> > >> >> >> > > >> source developments.
> > >> >> >> > > >>
> > >> >> >> > > >> I am interested in $subject. I went through the issue and
> > >> got a
> > >> >> >> brief
> > >> >> >> > > >> understanding
> > >> >> >> > > >> on the task.
> > >> >> >> > > >>
> > >> >> >> > > >> Can anyone kindly give me further guidance on the scope
> of
> > >> the
> > >> >> >> project
> > >> >> >> > > to
> > >> >> >> > > >> proceed? Your valuable information is highly appreciated.
> > >> >> >> > > >>
> > >> >> >> > > >> 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>
> > >> >> >> > > >>
> > >> >> >> > >
> > >> >> >> >
> > >> >> >>
> > >> >>
> > >>
> > >
> > >
> >
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Steven Jacobs <sj...@ucr.edu>.
Erandi- Great proposal overall!
I put a few comments in the draft for you to address.
Thanks,
Steven

On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Jacob and Preston,
>
> I have submitted my draft proposal to GSoC site. Please give your valuable
> feedback.
>
> Thanks and Regards,
> Erandi
>
>
> *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 Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <
> erandiganepola@gmail.com>
> wrote:
>
> > Hi Preston,
> >
> > Then I will not consider about the rest API authentication for now. I was
> > thinking on using jax-rs to implement the REST-API server. Is that ok?
> >
> > *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <pr...@apache.org>
> > wrote:
> >
> >> At this point, we are not implementing auth support. In the future, we
> >> will consider this feature once Hyracks supports this option.
> >>
> >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
> >> <er...@gmail.com> wrote:
> >> > Hi Preston,
> >> >
> >> > Thank you for the comment in JIRA and this clarification. Now I get
> the
> >> > idea. One more thing, should the REST API be implemented with auth
> >> support?
> >> >
> >> >
> >> > *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/erandiga
> >> nepola>
> >> >
> >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <pr...@apache.org>
> >> wrote:
> >> >
> >> >> One clarifying comment about the CLI and the proposed interfaces.
> >> >>
> >> >> The CLI handles two methods of executing a query: on a cluster and
> >> >> when no cluster is specified. When a cluster is specified, the query
> >> >> should be submitted to the RESTful API. As for when a cluster does
> not
> >> >> exist, the CLI creates a temporary cluster to execute the query. The
> >> >> same process can continue, but now we have the option of using the
> >> >> current method or update to using the RESTful API of the temporary
> >> >> cluster.
> >> >>
> >> >> Basically, we should always use the RESTful API when possible so we
> >> >> only need to support one API.
> >> >>
> >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
> >> >> <er...@gmail.com> wrote:
> >> >> > Hi Steven,
> >> >> >
> >> >> > I will complete and submit my draft proposal today.
> >> >> >
> >> >> > Thanks for the quick response!
> >> >> >
> >> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu>
> >> wrote:
> >> >> >
> >> >> >> Erandi,
> >> >> >> If you have time, I recommend that you submit your proposal draft
> >> early
> >> >> >> (today?). That we we can provide feedback on the proposal before
> the
> >> >> final
> >> >> >> copy is due next Monday.
> >> >> >> Steven
> >> >> >>
> >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
> >> >> erandiganepola@gmail.com
> >> >> >> >
> >> >> >> wrote:
> >> >> >>
> >> >> >> > Hi Jacob and Preston,
> >> >> >> >
> >> >> >> > Sorry for the late reply. Thanks for sharing more information on
> >> the
> >> >> >> > project. I went through the links you had shared, swagger.io
> [1]
> >> and
> >> >> the
> >> >> >> > REST API definition (swagger configuration) [2] in the wiki
> >> pages. I
> >> >> now
> >> >> >> > have a better idea on what is to be done.
> >> >> >> >
> >> >> >> > As I understand, we can build the server (I'm thinking of
> JAX-RS.
> >> >> What do
> >> >> >> > you think?) directly from swagger to match our definition. Then
> I
> >> will
> >> >> >> have
> >> >> >> > to modify the generated server code to integrate query/request
> >> >> processing
> >> >> >> > to VXQuery core. This way, we will only be generating the
> request
> >> >> >> handling
> >> >> >> > part, not the request processing part.
> >> >> >> >
> >> >> >> > While I'm going through the CLI module [3], I saw that you are
> >> parsing
> >> >> >> > command line arguments (CmdLineOptions class) and executing
> >> VXQuery
> >> >> >> > instances accordingly. In the server side of the REST API, we
> >> need to
> >> >> >> have
> >> >> >> > a such mechanism to convert the request parameters (similarly to
> >> the
> >> >> >> > options above) to options and then execute the queries. But the
> >> doubt
> >> >> I
> >> >> >> > have is, then we will be doing some kind of duplication in the
> >> same
> >> >> >> > operations which are already in the CLI classes.
> >> >> >> >
> >> >> >> > Therefore what I think is that I should come up with an
> >> intermediate
> >> >> >> layer
> >> >> >> > (probably a set of interfaces that can be used as the API for
> >> both CLI
> >> >> >> and
> >> >> >> > the REST API) which will generalize the query execution among
> the
> >> CLI
> >> >> and
> >> >> >> > the REST API in the future.
> >> >> >> >
> >> >> >> > It will be better you can provide me with your kind suggestions
> >> and
> >> >> >> > feedback so that I can add an improved design to my project
> >> proposal.
> >> >> >> >
> >> >> >> > Thanks in advance!
> >> >> >> >
> >> >> >> > [1] http://swagger.io
> >> >> >> > [2]
> >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
> >> >> >> > SwaggerIO+Configuration
> >> >> >> > [3]
> >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
> >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
> >> >> >> >
> >> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
> >> prestonc@apache.org
> >> >> >
> >> >> >> > wrote:
> >> >> >> >
> >> >> >> > > Hi Erandi,
> >> >> >> > >
> >> >> >> > > Similar to my comment on the issue. Our goal is to get a Web
> >> >> Interface
> >> >> >> > > for executing queries. To achieve this goal we have three
> steps:
> >> >> >> > >
> >> >> >> > > 1. Implement a RESTful API (most of the documentation is
> >> complete)
> >> >> >> > > 2. Update current query execution path to use the RESTful API
> >> >> (command
> >> >> >> > > line query execution)
> >> >> >> > > 3. Implement a simple web interface for single query execution
> >> >> >> > > 4. Update the web interface for more advance operations
> (showing
> >> >> query
> >> >> >> > > plans, asynchronous jobs, etc.)
> >> >> >> > >
> >> >> >> > > Our sister project AsterixDB has designed a HTTP API we would
> >> like
> >> >> to
> >> >> >> > > emulate: https://cwiki.apache.org/
> confluence/display/ASTERIXDB/
> >> >> >> > > New+HTTP+API+Design.
> >> >> >> > > Both projects build on Hyracks and in the future could move
> the
> >> API
> >> >> >> > > into into this shared dependent project. Consider these tasks
> >> and
> >> >> your
> >> >> >> > > skill level and come up with what steps you think you could
> >> achieve
> >> >> >> > > during the summer.
> >> >> >> > >
> >> >> >> > > Let us know if you have specific questions.
> >> >> >> > >
> >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
> >> vinayakb@gmail.com
> >> >> >
> >> >> >> > > wrote:
> >> >> >> > > > I love the way this email expresses interest in $subject. It
> >> >> >> indicates
> >> >> >> > a
> >> >> >> > > > good grasp of XQuery variables.
> >> >> >> > > >
> >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
> >> >> erandiganepola@gmail.com>
> >> >> >> > > wrote:
> >> >> >> > > >
> >> >> >> > > >> Hi All,
> >> >> >> > > >>
> >> >> >> > > >> I am a final year undergraduate of University of Kelaniya,
> >> Sri
> >> >> >> Lanka.
> >> >> >> > I
> >> >> >> > > >> have been a proud user of open source products and  a
> >> contributor
> >> >> >> > too. I
> >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which
> >> is a
> >> >> >> > leading
> >> >> >> > > >> open source middleware company http://wso2.com/) and at
> >> *Huawei
> >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm involved
> in
> >> >> machine
> >> >> >> > > >> learning and natural language processing related research
> >> >> projects.
> >> >> >> I
> >> >> >> > am
> >> >> >> > > >> passionate in Computer Science and I have a strong interest
> >> >> towards
> >> >> >> > open
> >> >> >> > > >> source developments.
> >> >> >> > > >>
> >> >> >> > > >> I am interested in $subject. I went through the issue and
> >> got a
> >> >> >> brief
> >> >> >> > > >> understanding
> >> >> >> > > >> on the task.
> >> >> >> > > >>
> >> >> >> > > >> Can anyone kindly give me further guidance on the scope of
> >> the
> >> >> >> project
> >> >> >> > > to
> >> >> >> > > >> proceed? Your valuable information is highly appreciated.
> >> >> >> > > >>
> >> >> >> > > >> 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>
> >> >> >> > > >>
> >> >> >> > >
> >> >> >> >
> >> >> >>
> >> >>
> >>
> >
> >
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Jacob and Preston,

I have submitted my draft proposal to GSoC site. Please give your valuable
feedback.

Thanks and Regards,
Erandi


*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 Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Preston,
>
> Then I will not consider about the rest API authentication for now. I was
> thinking on using jax-rs to implement the REST-API server. Is that ok?
>
> *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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <pr...@apache.org>
> wrote:
>
>> At this point, we are not implementing auth support. In the future, we
>> will consider this feature once Hyracks supports this option.
>>
>> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
>> <er...@gmail.com> wrote:
>> > Hi Preston,
>> >
>> > Thank you for the comment in JIRA and this clarification. Now I get the
>> > idea. One more thing, should the REST API be implemented with auth
>> support?
>> >
>> >
>> > *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/erandiga
>> nepola>
>> >
>> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <pr...@apache.org>
>> wrote:
>> >
>> >> One clarifying comment about the CLI and the proposed interfaces.
>> >>
>> >> The CLI handles two methods of executing a query: on a cluster and
>> >> when no cluster is specified. When a cluster is specified, the query
>> >> should be submitted to the RESTful API. As for when a cluster does not
>> >> exist, the CLI creates a temporary cluster to execute the query. The
>> >> same process can continue, but now we have the option of using the
>> >> current method or update to using the RESTful API of the temporary
>> >> cluster.
>> >>
>> >> Basically, we should always use the RESTful API when possible so we
>> >> only need to support one API.
>> >>
>> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>> >> <er...@gmail.com> wrote:
>> >> > Hi Steven,
>> >> >
>> >> > I will complete and submit my draft proposal today.
>> >> >
>> >> > Thanks for the quick response!
>> >> >
>> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu>
>> wrote:
>> >> >
>> >> >> Erandi,
>> >> >> If you have time, I recommend that you submit your proposal draft
>> early
>> >> >> (today?). That we we can provide feedback on the proposal before the
>> >> final
>> >> >> copy is due next Monday.
>> >> >> Steven
>> >> >>
>> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>> >> erandiganepola@gmail.com
>> >> >> >
>> >> >> wrote:
>> >> >>
>> >> >> > Hi Jacob and Preston,
>> >> >> >
>> >> >> > Sorry for the late reply. Thanks for sharing more information on
>> the
>> >> >> > project. I went through the links you had shared, swagger.io [1]
>> and
>> >> the
>> >> >> > REST API definition (swagger configuration) [2] in the wiki
>> pages. I
>> >> now
>> >> >> > have a better idea on what is to be done.
>> >> >> >
>> >> >> > As I understand, we can build the server (I'm thinking of JAX-RS.
>> >> What do
>> >> >> > you think?) directly from swagger to match our definition. Then I
>> will
>> >> >> have
>> >> >> > to modify the generated server code to integrate query/request
>> >> processing
>> >> >> > to VXQuery core. This way, we will only be generating the request
>> >> >> handling
>> >> >> > part, not the request processing part.
>> >> >> >
>> >> >> > While I'm going through the CLI module [3], I saw that you are
>> parsing
>> >> >> > command line arguments (CmdLineOptions class) and executing
>> VXQuery
>> >> >> > instances accordingly. In the server side of the REST API, we
>> need to
>> >> >> have
>> >> >> > a such mechanism to convert the request parameters (similarly to
>> the
>> >> >> > options above) to options and then execute the queries. But the
>> doubt
>> >> I
>> >> >> > have is, then we will be doing some kind of duplication in the
>> same
>> >> >> > operations which are already in the CLI classes.
>> >> >> >
>> >> >> > Therefore what I think is that I should come up with an
>> intermediate
>> >> >> layer
>> >> >> > (probably a set of interfaces that can be used as the API for
>> both CLI
>> >> >> and
>> >> >> > the REST API) which will generalize the query execution among the
>> CLI
>> >> and
>> >> >> > the REST API in the future.
>> >> >> >
>> >> >> > It will be better you can provide me with your kind suggestions
>> and
>> >> >> > feedback so that I can add an improved design to my project
>> proposal.
>> >> >> >
>> >> >> > Thanks in advance!
>> >> >> >
>> >> >> > [1] http://swagger.io
>> >> >> > [2]
>> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>> >> >> > SwaggerIO+Configuration
>> >> >> > [3]
>> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>> >> >> >
>> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
>> prestonc@apache.org
>> >> >
>> >> >> > wrote:
>> >> >> >
>> >> >> > > Hi Erandi,
>> >> >> > >
>> >> >> > > Similar to my comment on the issue. Our goal is to get a Web
>> >> Interface
>> >> >> > > for executing queries. To achieve this goal we have three steps:
>> >> >> > >
>> >> >> > > 1. Implement a RESTful API (most of the documentation is
>> complete)
>> >> >> > > 2. Update current query execution path to use the RESTful API
>> >> (command
>> >> >> > > line query execution)
>> >> >> > > 3. Implement a simple web interface for single query execution
>> >> >> > > 4. Update the web interface for more advance operations (showing
>> >> query
>> >> >> > > plans, asynchronous jobs, etc.)
>> >> >> > >
>> >> >> > > Our sister project AsterixDB has designed a HTTP API we would
>> like
>> >> to
>> >> >> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
>> >> >> > > New+HTTP+API+Design.
>> >> >> > > Both projects build on Hyracks and in the future could move the
>> API
>> >> >> > > into into this shared dependent project. Consider these tasks
>> and
>> >> your
>> >> >> > > skill level and come up with what steps you think you could
>> achieve
>> >> >> > > during the summer.
>> >> >> > >
>> >> >> > > Let us know if you have specific questions.
>> >> >> > >
>> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
>> vinayakb@gmail.com
>> >> >
>> >> >> > > wrote:
>> >> >> > > > I love the way this email expresses interest in $subject. It
>> >> >> indicates
>> >> >> > a
>> >> >> > > > good grasp of XQuery variables.
>> >> >> > > >
>> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>> >> erandiganepola@gmail.com>
>> >> >> > > wrote:
>> >> >> > > >
>> >> >> > > >> Hi All,
>> >> >> > > >>
>> >> >> > > >> I am a final year undergraduate of University of Kelaniya,
>> Sri
>> >> >> Lanka.
>> >> >> > I
>> >> >> > > >> have been a proud user of open source products and  a
>> contributor
>> >> >> > too. I
>> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which
>> is a
>> >> >> > leading
>> >> >> > > >> open source middleware company http://wso2.com/) and at
>> *Huawei
>> >> >> > > >> Technologies-Headquarters, China*. Currently I'm involved in
>> >> machine
>> >> >> > > >> learning and natural language processing related research
>> >> projects.
>> >> >> I
>> >> >> > am
>> >> >> > > >> passionate in Computer Science and I have a strong interest
>> >> towards
>> >> >> > open
>> >> >> > > >> source developments.
>> >> >> > > >>
>> >> >> > > >> I am interested in $subject. I went through the issue and
>> got a
>> >> >> brief
>> >> >> > > >> understanding
>> >> >> > > >> on the task.
>> >> >> > > >>
>> >> >> > > >> Can anyone kindly give me further guidance on the scope of
>> the
>> >> >> project
>> >> >> > > to
>> >> >> > > >> proceed? Your valuable information is highly appreciated.
>> >> >> > > >>
>> >> >> > > >> 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>
>> >> >> > > >>
>> >> >> > >
>> >> >> >
>> >> >>
>> >>
>>
>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Preston,

Then I will not consider about the rest API authentication for now. I was
thinking on using jax-rs to implement the REST-API server. Is that ok?

*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 Tue, Mar 28, 2017 at 9:32 AM, Preston Carman <pr...@apache.org> wrote:

> At this point, we are not implementing auth support. In the future, we
> will consider this feature once Hyracks supports this option.
>
> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
> <er...@gmail.com> wrote:
> > Hi Preston,
> >
> > Thank you for the comment in JIRA and this clarification. Now I get the
> > idea. One more thing, should the REST API be implemented with auth
> support?
> >
> >
> > *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 Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <pr...@apache.org>
> wrote:
> >
> >> One clarifying comment about the CLI and the proposed interfaces.
> >>
> >> The CLI handles two methods of executing a query: on a cluster and
> >> when no cluster is specified. When a cluster is specified, the query
> >> should be submitted to the RESTful API. As for when a cluster does not
> >> exist, the CLI creates a temporary cluster to execute the query. The
> >> same process can continue, but now we have the option of using the
> >> current method or update to using the RESTful API of the temporary
> >> cluster.
> >>
> >> Basically, we should always use the RESTful API when possible so we
> >> only need to support one API.
> >>
> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
> >> <er...@gmail.com> wrote:
> >> > Hi Steven,
> >> >
> >> > I will complete and submit my draft proposal today.
> >> >
> >> > Thanks for the quick response!
> >> >
> >> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu>
> wrote:
> >> >
> >> >> Erandi,
> >> >> If you have time, I recommend that you submit your proposal draft
> early
> >> >> (today?). That we we can provide feedback on the proposal before the
> >> final
> >> >> copy is due next Monday.
> >> >> Steven
> >> >>
> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
> >> erandiganepola@gmail.com
> >> >> >
> >> >> wrote:
> >> >>
> >> >> > Hi Jacob and Preston,
> >> >> >
> >> >> > Sorry for the late reply. Thanks for sharing more information on
> the
> >> >> > project. I went through the links you had shared, swagger.io [1]
> and
> >> the
> >> >> > REST API definition (swagger configuration) [2] in the wiki pages.
> I
> >> now
> >> >> > have a better idea on what is to be done.
> >> >> >
> >> >> > As I understand, we can build the server (I'm thinking of JAX-RS.
> >> What do
> >> >> > you think?) directly from swagger to match our definition. Then I
> will
> >> >> have
> >> >> > to modify the generated server code to integrate query/request
> >> processing
> >> >> > to VXQuery core. This way, we will only be generating the request
> >> >> handling
> >> >> > part, not the request processing part.
> >> >> >
> >> >> > While I'm going through the CLI module [3], I saw that you are
> parsing
> >> >> > command line arguments (CmdLineOptions class) and executing VXQuery
> >> >> > instances accordingly. In the server side of the REST API, we need
> to
> >> >> have
> >> >> > a such mechanism to convert the request parameters (similarly to
> the
> >> >> > options above) to options and then execute the queries. But the
> doubt
> >> I
> >> >> > have is, then we will be doing some kind of duplication in the same
> >> >> > operations which are already in the CLI classes.
> >> >> >
> >> >> > Therefore what I think is that I should come up with an
> intermediate
> >> >> layer
> >> >> > (probably a set of interfaces that can be used as the API for both
> CLI
> >> >> and
> >> >> > the REST API) which will generalize the query execution among the
> CLI
> >> and
> >> >> > the REST API in the future.
> >> >> >
> >> >> > It will be better you can provide me with your kind suggestions and
> >> >> > feedback so that I can add an improved design to my project
> proposal.
> >> >> >
> >> >> > Thanks in advance!
> >> >> >
> >> >> > [1] http://swagger.io
> >> >> > [2]
> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
> >> >> > SwaggerIO+Configuration
> >> >> > [3]
> >> >> > https://github.com/apache/vxquery/blob/master/vxquery-
> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
> >> >> >
> >> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <
> prestonc@apache.org
> >> >
> >> >> > wrote:
> >> >> >
> >> >> > > Hi Erandi,
> >> >> > >
> >> >> > > Similar to my comment on the issue. Our goal is to get a Web
> >> Interface
> >> >> > > for executing queries. To achieve this goal we have three steps:
> >> >> > >
> >> >> > > 1. Implement a RESTful API (most of the documentation is
> complete)
> >> >> > > 2. Update current query execution path to use the RESTful API
> >> (command
> >> >> > > line query execution)
> >> >> > > 3. Implement a simple web interface for single query execution
> >> >> > > 4. Update the web interface for more advance operations (showing
> >> query
> >> >> > > plans, asynchronous jobs, etc.)
> >> >> > >
> >> >> > > Our sister project AsterixDB has designed a HTTP API we would
> like
> >> to
> >> >> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
> >> >> > > New+HTTP+API+Design.
> >> >> > > Both projects build on Hyracks and in the future could move the
> API
> >> >> > > into into this shared dependent project. Consider these tasks and
> >> your
> >> >> > > skill level and come up with what steps you think you could
> achieve
> >> >> > > during the summer.
> >> >> > >
> >> >> > > Let us know if you have specific questions.
> >> >> > >
> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <
> vinayakb@gmail.com
> >> >
> >> >> > > wrote:
> >> >> > > > I love the way this email expresses interest in $subject. It
> >> >> indicates
> >> >> > a
> >> >> > > > good grasp of XQuery variables.
> >> >> > > >
> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
> >> erandiganepola@gmail.com>
> >> >> > > wrote:
> >> >> > > >
> >> >> > > >> Hi All,
> >> >> > > >>
> >> >> > > >> I am a final year undergraduate of University of Kelaniya, Sri
> >> >> Lanka.
> >> >> > I
> >> >> > > >> have been a proud user of open source products and  a
> contributor
> >> >> > too. I
> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which
> is a
> >> >> > leading
> >> >> > > >> open source middleware company http://wso2.com/) and at
> *Huawei
> >> >> > > >> Technologies-Headquarters, China*. Currently I'm involved in
> >> machine
> >> >> > > >> learning and natural language processing related research
> >> projects.
> >> >> I
> >> >> > am
> >> >> > > >> passionate in Computer Science and I have a strong interest
> >> towards
> >> >> > open
> >> >> > > >> source developments.
> >> >> > > >>
> >> >> > > >> I am interested in $subject. I went through the issue and got
> a
> >> >> brief
> >> >> > > >> understanding
> >> >> > > >> on the task.
> >> >> > > >>
> >> >> > > >> Can anyone kindly give me further guidance on the scope of the
> >> >> project
> >> >> > > to
> >> >> > > >> proceed? Your valuable information is highly appreciated.
> >> >> > > >>
> >> >> > > >> 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>
> >> >> > > >>
> >> >> > >
> >> >> >
> >> >>
> >>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Preston Carman <pr...@apache.org>.
At this point, we are not implementing auth support. In the future, we
will consider this feature once Hyracks supports this option.

On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola
<er...@gmail.com> wrote:
> Hi Preston,
>
> Thank you for the comment in JIRA and this clarification. Now I get the
> idea. One more thing, should the REST API be implemented with auth support?
>
>
> *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 Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <pr...@apache.org> wrote:
>
>> One clarifying comment about the CLI and the proposed interfaces.
>>
>> The CLI handles two methods of executing a query: on a cluster and
>> when no cluster is specified. When a cluster is specified, the query
>> should be submitted to the RESTful API. As for when a cluster does not
>> exist, the CLI creates a temporary cluster to execute the query. The
>> same process can continue, but now we have the option of using the
>> current method or update to using the RESTful API of the temporary
>> cluster.
>>
>> Basically, we should always use the RESTful API when possible so we
>> only need to support one API.
>>
>> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
>> <er...@gmail.com> wrote:
>> > Hi Steven,
>> >
>> > I will complete and submit my draft proposal today.
>> >
>> > Thanks for the quick response!
>> >
>> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu> wrote:
>> >
>> >> Erandi,
>> >> If you have time, I recommend that you submit your proposal draft early
>> >> (today?). That we we can provide feedback on the proposal before the
>> final
>> >> copy is due next Monday.
>> >> Steven
>> >>
>> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
>> erandiganepola@gmail.com
>> >> >
>> >> wrote:
>> >>
>> >> > Hi Jacob and Preston,
>> >> >
>> >> > Sorry for the late reply. Thanks for sharing more information on the
>> >> > project. I went through the links you had shared, swagger.io [1] and
>> the
>> >> > REST API definition (swagger configuration) [2] in the wiki pages. I
>> now
>> >> > have a better idea on what is to be done.
>> >> >
>> >> > As I understand, we can build the server (I'm thinking of JAX-RS.
>> What do
>> >> > you think?) directly from swagger to match our definition. Then I will
>> >> have
>> >> > to modify the generated server code to integrate query/request
>> processing
>> >> > to VXQuery core. This way, we will only be generating the request
>> >> handling
>> >> > part, not the request processing part.
>> >> >
>> >> > While I'm going through the CLI module [3], I saw that you are parsing
>> >> > command line arguments (CmdLineOptions class) and executing VXQuery
>> >> > instances accordingly. In the server side of the REST API, we need to
>> >> have
>> >> > a such mechanism to convert the request parameters (similarly to the
>> >> > options above) to options and then execute the queries. But the doubt
>> I
>> >> > have is, then we will be doing some kind of duplication in the same
>> >> > operations which are already in the CLI classes.
>> >> >
>> >> > Therefore what I think is that I should come up with an intermediate
>> >> layer
>> >> > (probably a set of interfaces that can be used as the API for both CLI
>> >> and
>> >> > the REST API) which will generalize the query execution among the CLI
>> and
>> >> > the REST API in the future.
>> >> >
>> >> > It will be better you can provide me with your kind suggestions and
>> >> > feedback so that I can add an improved design to my project proposal.
>> >> >
>> >> > Thanks in advance!
>> >> >
>> >> > [1] http://swagger.io
>> >> > [2]
>> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
>> >> > SwaggerIO+Configuration
>> >> > [3]
>> >> > https://github.com/apache/vxquery/blob/master/vxquery-
>> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>> >> >
>> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <prestonc@apache.org
>> >
>> >> > wrote:
>> >> >
>> >> > > Hi Erandi,
>> >> > >
>> >> > > Similar to my comment on the issue. Our goal is to get a Web
>> Interface
>> >> > > for executing queries. To achieve this goal we have three steps:
>> >> > >
>> >> > > 1. Implement a RESTful API (most of the documentation is complete)
>> >> > > 2. Update current query execution path to use the RESTful API
>> (command
>> >> > > line query execution)
>> >> > > 3. Implement a simple web interface for single query execution
>> >> > > 4. Update the web interface for more advance operations (showing
>> query
>> >> > > plans, asynchronous jobs, etc.)
>> >> > >
>> >> > > Our sister project AsterixDB has designed a HTTP API we would like
>> to
>> >> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
>> >> > > New+HTTP+API+Design.
>> >> > > Both projects build on Hyracks and in the future could move the API
>> >> > > into into this shared dependent project. Consider these tasks and
>> your
>> >> > > skill level and come up with what steps you think you could achieve
>> >> > > during the summer.
>> >> > >
>> >> > > Let us know if you have specific questions.
>> >> > >
>> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vinayakb@gmail.com
>> >
>> >> > > wrote:
>> >> > > > I love the way this email expresses interest in $subject. It
>> >> indicates
>> >> > a
>> >> > > > good grasp of XQuery variables.
>> >> > > >
>> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
>> erandiganepola@gmail.com>
>> >> > > wrote:
>> >> > > >
>> >> > > >> Hi All,
>> >> > > >>
>> >> > > >> I am a final year undergraduate of University of Kelaniya, Sri
>> >> Lanka.
>> >> > I
>> >> > > >> have been a proud user of open source products and  a contributor
>> >> > too. I
>> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a
>> >> > leading
>> >> > > >> open source middleware company http://wso2.com/) and at *Huawei
>> >> > > >> Technologies-Headquarters, China*. Currently I'm involved in
>> machine
>> >> > > >> learning and natural language processing related research
>> projects.
>> >> I
>> >> > am
>> >> > > >> passionate in Computer Science and I have a strong interest
>> towards
>> >> > open
>> >> > > >> source developments.
>> >> > > >>
>> >> > > >> I am interested in $subject. I went through the issue and got a
>> >> brief
>> >> > > >> understanding
>> >> > > >> on the task.
>> >> > > >>
>> >> > > >> Can anyone kindly give me further guidance on the scope of the
>> >> project
>> >> > > to
>> >> > > >> proceed? Your valuable information is highly appreciated.
>> >> > > >>
>> >> > > >> 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>
>> >> > > >>
>> >> > >
>> >> >
>> >>
>>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Preston,

Thank you for the comment in JIRA and this clarification. Now I get the
idea. One more thing, should the REST API be implemented with auth support?


*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 Tue, Mar 28, 2017 at 8:39 AM, Preston Carman <pr...@apache.org> wrote:

> One clarifying comment about the CLI and the proposed interfaces.
>
> The CLI handles two methods of executing a query: on a cluster and
> when no cluster is specified. When a cluster is specified, the query
> should be submitted to the RESTful API. As for when a cluster does not
> exist, the CLI creates a temporary cluster to execute the query. The
> same process can continue, but now we have the option of using the
> current method or update to using the RESTful API of the temporary
> cluster.
>
> Basically, we should always use the RESTful API when possible so we
> only need to support one API.
>
> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
> <er...@gmail.com> wrote:
> > Hi Steven,
> >
> > I will complete and submit my draft proposal today.
> >
> > Thanks for the quick response!
> >
> > *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu> wrote:
> >
> >> Erandi,
> >> If you have time, I recommend that you submit your proposal draft early
> >> (today?). That we we can provide feedback on the proposal before the
> final
> >> copy is due next Monday.
> >> Steven
> >>
> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <
> erandiganepola@gmail.com
> >> >
> >> wrote:
> >>
> >> > Hi Jacob and Preston,
> >> >
> >> > Sorry for the late reply. Thanks for sharing more information on the
> >> > project. I went through the links you had shared, swagger.io [1] and
> the
> >> > REST API definition (swagger configuration) [2] in the wiki pages. I
> now
> >> > have a better idea on what is to be done.
> >> >
> >> > As I understand, we can build the server (I'm thinking of JAX-RS.
> What do
> >> > you think?) directly from swagger to match our definition. Then I will
> >> have
> >> > to modify the generated server code to integrate query/request
> processing
> >> > to VXQuery core. This way, we will only be generating the request
> >> handling
> >> > part, not the request processing part.
> >> >
> >> > While I'm going through the CLI module [3], I saw that you are parsing
> >> > command line arguments (CmdLineOptions class) and executing VXQuery
> >> > instances accordingly. In the server side of the REST API, we need to
> >> have
> >> > a such mechanism to convert the request parameters (similarly to the
> >> > options above) to options and then execute the queries. But the doubt
> I
> >> > have is, then we will be doing some kind of duplication in the same
> >> > operations which are already in the CLI classes.
> >> >
> >> > Therefore what I think is that I should come up with an intermediate
> >> layer
> >> > (probably a set of interfaces that can be used as the API for both CLI
> >> and
> >> > the REST API) which will generalize the query execution among the CLI
> and
> >> > the REST API in the future.
> >> >
> >> > It will be better you can provide me with your kind suggestions and
> >> > feedback so that I can add an improved design to my project proposal.
> >> >
> >> > Thanks in advance!
> >> >
> >> > [1] http://swagger.io
> >> > [2]
> >> > https://cwiki.apache.org/confluence/display/VXQUERY/
> >> > SwaggerIO+Configuration
> >> > [3]
> >> > https://github.com/apache/vxquery/blob/master/vxquery-
> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
> >> >
> >> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <prestonc@apache.org
> >
> >> > wrote:
> >> >
> >> > > Hi Erandi,
> >> > >
> >> > > Similar to my comment on the issue. Our goal is to get a Web
> Interface
> >> > > for executing queries. To achieve this goal we have three steps:
> >> > >
> >> > > 1. Implement a RESTful API (most of the documentation is complete)
> >> > > 2. Update current query execution path to use the RESTful API
> (command
> >> > > line query execution)
> >> > > 3. Implement a simple web interface for single query execution
> >> > > 4. Update the web interface for more advance operations (showing
> query
> >> > > plans, asynchronous jobs, etc.)
> >> > >
> >> > > Our sister project AsterixDB has designed a HTTP API we would like
> to
> >> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
> >> > > New+HTTP+API+Design.
> >> > > Both projects build on Hyracks and in the future could move the API
> >> > > into into this shared dependent project. Consider these tasks and
> your
> >> > > skill level and come up with what steps you think you could achieve
> >> > > during the summer.
> >> > >
> >> > > Let us know if you have specific questions.
> >> > >
> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vinayakb@gmail.com
> >
> >> > > wrote:
> >> > > > I love the way this email expresses interest in $subject. It
> >> indicates
> >> > a
> >> > > > good grasp of XQuery variables.
> >> > > >
> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <
> erandiganepola@gmail.com>
> >> > > wrote:
> >> > > >
> >> > > >> Hi All,
> >> > > >>
> >> > > >> I am a final year undergraduate of University of Kelaniya, Sri
> >> Lanka.
> >> > I
> >> > > >> have been a proud user of open source products and  a contributor
> >> > too. I
> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a
> >> > leading
> >> > > >> open source middleware company http://wso2.com/) and at *Huawei
> >> > > >> Technologies-Headquarters, China*. Currently I'm involved in
> machine
> >> > > >> learning and natural language processing related research
> projects.
> >> I
> >> > am
> >> > > >> passionate in Computer Science and I have a strong interest
> towards
> >> > open
> >> > > >> source developments.
> >> > > >>
> >> > > >> I am interested in $subject. I went through the issue and got a
> >> brief
> >> > > >> understanding
> >> > > >> on the task.
> >> > > >>
> >> > > >> Can anyone kindly give me further guidance on the scope of the
> >> project
> >> > > to
> >> > > >> proceed? Your valuable information is highly appreciated.
> >> > > >>
> >> > > >> 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>
> >> > > >>
> >> > >
> >> >
> >>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Preston Carman <pr...@apache.org>.
One clarifying comment about the CLI and the proposed interfaces.

The CLI handles two methods of executing a query: on a cluster and
when no cluster is specified. When a cluster is specified, the query
should be submitted to the RESTful API. As for when a cluster does not
exist, the CLI creates a temporary cluster to execute the query. The
same process can continue, but now we have the option of using the
current method or update to using the RESTful API of the temporary
cluster.

Basically, we should always use the RESTful API when possible so we
only need to support one API.

On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola
<er...@gmail.com> wrote:
> Hi Steven,
>
> I will complete and submit my draft proposal today.
>
> Thanks for the quick response!
>
> *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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu> wrote:
>
>> Erandi,
>> If you have time, I recommend that you submit your proposal draft early
>> (today?). That we we can provide feedback on the proposal before the final
>> copy is due next Monday.
>> Steven
>>
>> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <erandiganepola@gmail.com
>> >
>> wrote:
>>
>> > Hi Jacob and Preston,
>> >
>> > Sorry for the late reply. Thanks for sharing more information on the
>> > project. I went through the links you had shared, swagger.io [1] and the
>> > REST API definition (swagger configuration) [2] in the wiki pages. I now
>> > have a better idea on what is to be done.
>> >
>> > As I understand, we can build the server (I'm thinking of JAX-RS. What do
>> > you think?) directly from swagger to match our definition. Then I will
>> have
>> > to modify the generated server code to integrate query/request processing
>> > to VXQuery core. This way, we will only be generating the request
>> handling
>> > part, not the request processing part.
>> >
>> > While I'm going through the CLI module [3], I saw that you are parsing
>> > command line arguments (CmdLineOptions class) and executing VXQuery
>> > instances accordingly. In the server side of the REST API, we need to
>> have
>> > a such mechanism to convert the request parameters (similarly to the
>> > options above) to options and then execute the queries. But the doubt I
>> > have is, then we will be doing some kind of duplication in the same
>> > operations which are already in the CLI classes.
>> >
>> > Therefore what I think is that I should come up with an intermediate
>> layer
>> > (probably a set of interfaces that can be used as the API for both CLI
>> and
>> > the REST API) which will generalize the query execution among the CLI and
>> > the REST API in the future.
>> >
>> > It will be better you can provide me with your kind suggestions and
>> > feedback so that I can add an improved design to my project proposal.
>> >
>> > Thanks in advance!
>> >
>> > [1] http://swagger.io
>> > [2]
>> > https://cwiki.apache.org/confluence/display/VXQUERY/
>> > SwaggerIO+Configuration
>> > [3]
>> > https://github.com/apache/vxquery/blob/master/vxquery-
>> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>> >
>> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <pr...@apache.org>
>> > wrote:
>> >
>> > > Hi Erandi,
>> > >
>> > > Similar to my comment on the issue. Our goal is to get a Web Interface
>> > > for executing queries. To achieve this goal we have three steps:
>> > >
>> > > 1. Implement a RESTful API (most of the documentation is complete)
>> > > 2. Update current query execution path to use the RESTful API (command
>> > > line query execution)
>> > > 3. Implement a simple web interface for single query execution
>> > > 4. Update the web interface for more advance operations (showing query
>> > > plans, asynchronous jobs, etc.)
>> > >
>> > > Our sister project AsterixDB has designed a HTTP API we would like to
>> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
>> > > New+HTTP+API+Design.
>> > > Both projects build on Hyracks and in the future could move the API
>> > > into into this shared dependent project. Consider these tasks and your
>> > > skill level and come up with what steps you think you could achieve
>> > > during the summer.
>> > >
>> > > Let us know if you have specific questions.
>> > >
>> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vi...@gmail.com>
>> > > wrote:
>> > > > I love the way this email expresses interest in $subject. It
>> indicates
>> > a
>> > > > good grasp of XQuery variables.
>> > > >
>> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com>
>> > > wrote:
>> > > >
>> > > >> Hi All,
>> > > >>
>> > > >> I am a final year undergraduate of University of Kelaniya, Sri
>> Lanka.
>> > I
>> > > >> have been a proud user of open source products and  a contributor
>> > too. I
>> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a
>> > leading
>> > > >> open source middleware company http://wso2.com/) and at *Huawei
>> > > >> Technologies-Headquarters, China*. Currently I'm involved in machine
>> > > >> learning and natural language processing related research projects.
>> I
>> > am
>> > > >> passionate in Computer Science and I have a strong interest towards
>> > open
>> > > >> source developments.
>> > > >>
>> > > >> I am interested in $subject. I went through the issue and got a
>> brief
>> > > >> understanding
>> > > >> on the task.
>> > > >>
>> > > >> Can anyone kindly give me further guidance on the scope of the
>> project
>> > > to
>> > > >> proceed? Your valuable information is highly appreciated.
>> > > >>
>> > > >> 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>
>> > > >>
>> > >
>> >
>>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Steven,

I will complete and submit my draft proposal today.

Thanks for the quick response!

*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 Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs <sj...@ucr.edu> wrote:

> Erandi,
> If you have time, I recommend that you submit your proposal draft early
> (today?). That we we can provide feedback on the proposal before the final
> copy is due next Monday.
> Steven
>
> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <erandiganepola@gmail.com
> >
> wrote:
>
> > Hi Jacob and Preston,
> >
> > Sorry for the late reply. Thanks for sharing more information on the
> > project. I went through the links you had shared, swagger.io [1] and the
> > REST API definition (swagger configuration) [2] in the wiki pages. I now
> > have a better idea on what is to be done.
> >
> > As I understand, we can build the server (I'm thinking of JAX-RS. What do
> > you think?) directly from swagger to match our definition. Then I will
> have
> > to modify the generated server code to integrate query/request processing
> > to VXQuery core. This way, we will only be generating the request
> handling
> > part, not the request processing part.
> >
> > While I'm going through the CLI module [3], I saw that you are parsing
> > command line arguments (CmdLineOptions class) and executing VXQuery
> > instances accordingly. In the server side of the REST API, we need to
> have
> > a such mechanism to convert the request parameters (similarly to the
> > options above) to options and then execute the queries. But the doubt I
> > have is, then we will be doing some kind of duplication in the same
> > operations which are already in the CLI classes.
> >
> > Therefore what I think is that I should come up with an intermediate
> layer
> > (probably a set of interfaces that can be used as the API for both CLI
> and
> > the REST API) which will generalize the query execution among the CLI and
> > the REST API in the future.
> >
> > It will be better you can provide me with your kind suggestions and
> > feedback so that I can add an improved design to my project proposal.
> >
> > Thanks in advance!
> >
> > [1] http://swagger.io
> > [2]
> > https://cwiki.apache.org/confluence/display/VXQUERY/
> > SwaggerIO+Configuration
> > [3]
> > https://github.com/apache/vxquery/blob/master/vxquery-
> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
> >
> > Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <pr...@apache.org>
> > wrote:
> >
> > > Hi Erandi,
> > >
> > > Similar to my comment on the issue. Our goal is to get a Web Interface
> > > for executing queries. To achieve this goal we have three steps:
> > >
> > > 1. Implement a RESTful API (most of the documentation is complete)
> > > 2. Update current query execution path to use the RESTful API (command
> > > line query execution)
> > > 3. Implement a simple web interface for single query execution
> > > 4. Update the web interface for more advance operations (showing query
> > > plans, asynchronous jobs, etc.)
> > >
> > > Our sister project AsterixDB has designed a HTTP API we would like to
> > > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
> > > New+HTTP+API+Design.
> > > Both projects build on Hyracks and in the future could move the API
> > > into into this shared dependent project. Consider these tasks and your
> > > skill level and come up with what steps you think you could achieve
> > > during the summer.
> > >
> > > Let us know if you have specific questions.
> > >
> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vi...@gmail.com>
> > > wrote:
> > > > I love the way this email expresses interest in $subject. It
> indicates
> > a
> > > > good grasp of XQuery variables.
> > > >
> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com>
> > > wrote:
> > > >
> > > >> Hi All,
> > > >>
> > > >> I am a final year undergraduate of University of Kelaniya, Sri
> Lanka.
> > I
> > > >> have been a proud user of open source products and  a contributor
> > too. I
> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a
> > leading
> > > >> open source middleware company http://wso2.com/) and at *Huawei
> > > >> Technologies-Headquarters, China*. Currently I'm involved in machine
> > > >> learning and natural language processing related research projects.
> I
> > am
> > > >> passionate in Computer Science and I have a strong interest towards
> > open
> > > >> source developments.
> > > >>
> > > >> I am interested in $subject. I went through the issue and got a
> brief
> > > >> understanding
> > > >> on the task.
> > > >>
> > > >> Can anyone kindly give me further guidance on the scope of the
> project
> > > to
> > > >> proceed? Your valuable information is highly appreciated.
> > > >>
> > > >> 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>
> > > >>
> > >
> >
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Steven Jacobs <sj...@ucr.edu>.
Erandi,
If you have time, I recommend that you submit your proposal draft early
(today?). That we we can provide feedback on the proposal before the final
copy is due next Monday.
Steven

On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi Jacob and Preston,
>
> Sorry for the late reply. Thanks for sharing more information on the
> project. I went through the links you had shared, swagger.io [1] and the
> REST API definition (swagger configuration) [2] in the wiki pages. I now
> have a better idea on what is to be done.
>
> As I understand, we can build the server (I'm thinking of JAX-RS. What do
> you think?) directly from swagger to match our definition. Then I will have
> to modify the generated server code to integrate query/request processing
> to VXQuery core. This way, we will only be generating the request handling
> part, not the request processing part.
>
> While I'm going through the CLI module [3], I saw that you are parsing
> command line arguments (CmdLineOptions class) and executing VXQuery
> instances accordingly. In the server side of the REST API, we need to have
> a such mechanism to convert the request parameters (similarly to the
> options above) to options and then execute the queries. But the doubt I
> have is, then we will be doing some kind of duplication in the same
> operations which are already in the CLI classes.
>
> Therefore what I think is that I should come up with an intermediate layer
> (probably a set of interfaces that can be used as the API for both CLI and
> the REST API) which will generalize the query execution among the CLI and
> the REST API in the future.
>
> It will be better you can provide me with your kind suggestions and
> feedback so that I can add an improved design to my project proposal.
>
> Thanks in advance!
>
> [1] http://swagger.io
> [2]
> https://cwiki.apache.org/confluence/display/VXQUERY/
> SwaggerIO+Configuration
> [3]
> https://github.com/apache/vxquery/blob/master/vxquery-
> cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
>
> Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <pr...@apache.org>
> wrote:
>
> > Hi Erandi,
> >
> > Similar to my comment on the issue. Our goal is to get a Web Interface
> > for executing queries. To achieve this goal we have three steps:
> >
> > 1. Implement a RESTful API (most of the documentation is complete)
> > 2. Update current query execution path to use the RESTful API (command
> > line query execution)
> > 3. Implement a simple web interface for single query execution
> > 4. Update the web interface for more advance operations (showing query
> > plans, asynchronous jobs, etc.)
> >
> > Our sister project AsterixDB has designed a HTTP API we would like to
> > emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
> > New+HTTP+API+Design.
> > Both projects build on Hyracks and in the future could move the API
> > into into this shared dependent project. Consider these tasks and your
> > skill level and come up with what steps you think you could achieve
> > during the summer.
> >
> > Let us know if you have specific questions.
> >
> > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vi...@gmail.com>
> > wrote:
> > > I love the way this email expresses interest in $subject. It indicates
> a
> > > good grasp of XQuery variables.
> > >
> > > On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com>
> > wrote:
> > >
> > >> Hi All,
> > >>
> > >> I am a final year undergraduate of University of Kelaniya, Sri Lanka.
> I
> > >> have been a proud user of open source products and  a contributor
> too. I
> > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a
> leading
> > >> open source middleware company http://wso2.com/) and at *Huawei
> > >> Technologies-Headquarters, China*. Currently I'm involved in machine
> > >> learning and natural language processing related research projects. I
> am
> > >> passionate in Computer Science and I have a strong interest towards
> open
> > >> source developments.
> > >>
> > >> I am interested in $subject. I went through the issue and got a brief
> > >> understanding
> > >> on the task.
> > >>
> > >> Can anyone kindly give me further guidance on the scope of the project
> > to
> > >> proceed? Your valuable information is highly appreciated.
> > >>
> > >> 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>
> > >>
> >
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Erandi Ganepola <er...@gmail.com>.
Hi Jacob and Preston,

Sorry for the late reply. Thanks for sharing more information on the
project. I went through the links you had shared, swagger.io [1] and the
REST API definition (swagger configuration) [2] in the wiki pages. I now
have a better idea on what is to be done.

As I understand, we can build the server (I'm thinking of JAX-RS. What do
you think?) directly from swagger to match our definition. Then I will have
to modify the generated server code to integrate query/request processing
to VXQuery core. This way, we will only be generating the request handling
part, not the request processing part.

While I'm going through the CLI module [3], I saw that you are parsing
command line arguments (CmdLineOptions class) and executing VXQuery
instances accordingly. In the server side of the REST API, we need to have
a such mechanism to convert the request parameters (similarly to the
options above) to options and then execute the queries. But the doubt I
have is, then we will be doing some kind of duplication in the same
operations which are already in the CLI classes.

Therefore what I think is that I should come up with an intermediate layer
(probably a set of interfaces that can be used as the API for both CLI and
the REST API) which will generalize the query execution among the CLI and
the REST API in the future.

It will be better you can provide me with your kind suggestions and
feedback so that I can add an improved design to my project proposal.

Thanks in advance!

[1] http://swagger.io
[2]
https://cwiki.apache.org/confluence/display/VXQUERY/SwaggerIO+Configuration
[3]
https://github.com/apache/vxquery/blob/master/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java

Kind 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 Mon, Mar 20, 2017 at 10:32 PM, Preston Carman <pr...@apache.org>
wrote:

> Hi Erandi,
>
> Similar to my comment on the issue. Our goal is to get a Web Interface
> for executing queries. To achieve this goal we have three steps:
>
> 1. Implement a RESTful API (most of the documentation is complete)
> 2. Update current query execution path to use the RESTful API (command
> line query execution)
> 3. Implement a simple web interface for single query execution
> 4. Update the web interface for more advance operations (showing query
> plans, asynchronous jobs, etc.)
>
> Our sister project AsterixDB has designed a HTTP API we would like to
> emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/
> New+HTTP+API+Design.
> Both projects build on Hyracks and in the future could move the API
> into into this shared dependent project. Consider these tasks and your
> skill level and come up with what steps you think you could achieve
> during the summer.
>
> Let us know if you have specific questions.
>
> On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vi...@gmail.com>
> wrote:
> > I love the way this email expresses interest in $subject. It indicates a
> > good grasp of XQuery variables.
> >
> > On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com>
> wrote:
> >
> >> Hi All,
> >>
> >> I am a final year undergraduate of University of Kelaniya, Sri Lanka. I
> >> have been a proud user of open source products and  a contributor too. I
> >> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a leading
> >> open source middleware company http://wso2.com/) and at *Huawei
> >> Technologies-Headquarters, China*. Currently I'm involved in machine
> >> learning and natural language processing related research projects. I am
> >> passionate in Computer Science and I have a strong interest towards open
> >> source developments.
> >>
> >> I am interested in $subject. I went through the issue and got a brief
> >> understanding
> >> on the task.
> >>
> >> Can anyone kindly give me further guidance on the scope of the project
> to
> >> proceed? Your valuable information is highly appreciated.
> >>
> >> 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>
> >>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Preston Carman <pr...@apache.org>.
Hi Erandi,

Similar to my comment on the issue. Our goal is to get a Web Interface
for executing queries. To achieve this goal we have three steps:

1. Implement a RESTful API (most of the documentation is complete)
2. Update current query execution path to use the RESTful API (command
line query execution)
3. Implement a simple web interface for single query execution
4. Update the web interface for more advance operations (showing query
plans, asynchronous jobs, etc.)

Our sister project AsterixDB has designed a HTTP API we would like to
emulate: https://cwiki.apache.org/confluence/display/ASTERIXDB/New+HTTP+API+Design.
Both projects build on Hyracks and in the future could move the API
into into this shared dependent project. Consider these tasks and your
skill level and come up with what steps you think you could achieve
during the summer.

Let us know if you have specific questions.

On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar <vi...@gmail.com> wrote:
> I love the way this email expresses interest in $subject. It indicates a
> good grasp of XQuery variables.
>
> On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com> wrote:
>
>> Hi All,
>>
>> I am a final year undergraduate of University of Kelaniya, Sri Lanka. I
>> have been a proud user of open source products and  a contributor too. I
>> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a leading
>> open source middleware company http://wso2.com/) and at *Huawei
>> Technologies-Headquarters, China*. Currently I'm involved in machine
>> learning and natural language processing related research projects. I am
>> passionate in Computer Science and I have a strong interest towards open
>> source developments.
>>
>> I am interested in $subject. I went through the issue and got a brief
>> understanding
>> on the task.
>>
>> Can anyone kindly give me further guidance on the scope of the project to
>> proceed? Your valuable information is highly appreciated.
>>
>> 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>
>>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Vinayak Borkar <vi...@gmail.com>.
I love the way this email expresses interest in $subject. It indicates a
good grasp of XQuery variables.

On Mar 18, 2017 08:39, "Erandi Ganepola" <er...@gmail.com> wrote:

> Hi All,
>
> I am a final year undergraduate of University of Kelaniya, Sri Lanka. I
> have been a proud user of open source products and  a contributor too. I
> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a leading
> open source middleware company http://wso2.com/) and at *Huawei
> Technologies-Headquarters, China*. Currently I'm involved in machine
> learning and natural language processing related research projects. I am
> passionate in Computer Science and I have a strong interest towards open
> source developments.
>
> I am interested in $subject. I went through the issue and got a brief
> understanding
> on the task.
>
> Can anyone kindly give me further guidance on the scope of the project to
> proceed? Your valuable information is highly appreciated.
>
> 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>
>

Re: GSoC2017 - VXQUERY-180 (RESTful API)

Posted by Steven Jacobs <sj...@ucr.edu>.
Hi Erandi!
I would review the wiki page we have created to document the RESTful API.
Most of the details can be found there. Our sister project AsterixDB also
has a RESTful API which we would like to emulate (
https://cwiki.apache.org/confluence/display/ASTERIXDB/New+HTTP+API+Design).
It could be in the future we could share this API for both projects. Also
note how the RESTful API would need to be integrated into the command line
interface so we have one method of running queries. A nice website
interface would be sugar on top of the project (if possible).
Steven

On Sat, Mar 18, 2017 at 8:39 AM, Erandi Ganepola <er...@gmail.com>
wrote:

> Hi All,
>
> I am a final year undergraduate of University of Kelaniya, Sri Lanka. I
> have been a proud user of open source products and  a contributor too. I
> have completed internships at *WSO2 Lanka (Pvt) Ltd* (which is a leading
> open source middleware company http://wso2.com/) and at *Huawei
> Technologies-Headquarters, China*. Currently I'm involved in machine
> learning and natural language processing related research projects. I am
> passionate in Computer Science and I have a strong interest towards open
> source developments.
>
> I am interested in $subject. I went through the issue and got a brief
> understanding
> on the task.
>
> Can anyone kindly give me further guidance on the scope of the project to
> proceed? Your valuable information is highly appreciated.
>
> 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>
>