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 <[email protected]>
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 <[email protected]
> > 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 <[email protected]> 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 <
>>> [email protected]>
>>> 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 <
>>> > [email protected]>
>>> > 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 <[email protected]
>>> >
>>> > > 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
>>> > >> <[email protected]> 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 <
>>> [email protected]>
>>> > >> 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
>>> > >> >> <[email protected]> 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 <
>>> [email protected]>
>>> > >> 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 <
>>> > >> >> [email protected]
>>> > >> >> >> >
>>> > >> >> >> 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 <
>>> > >> [email protected]
>>> > >> >> >
>>> > >> >> >> > 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 <
>>> > >> [email protected]
>>> > >> >> >
>>> > >> >> >> > > 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" <
>>> > >> >> [email protected]>
>>> > >> >> >> > > 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>
>>> > >> >> >> > > >>
>>> > >> >> >> > >
>>> > >> >> >> >
>>> > >> >> >>
>>> > >> >>
>>> > >>
>>> > >
>>> > >
>>> >
>>>
>>
>>
>

Reply via email to