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> > >> >
