You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vxquery.apache.org by Till Westmann <ti...@apache.org> on 2017/08/03 06:27:22 UTC
Re: New Maven Project For REST
Hi Preston,
I’m sorry, I didn’t reply to this message earlier.
First I'd like to day that I agree that this will be a nice addition
and that I think that the appoach is fine. These are just 2 thoughts on
possible alternatives:
- Looking at the names of the boxes it seems that the more traditional
approach would be to have vxquery-xtest and vxquery-cli talk to the
vxquery-server that uses vxquery-rest to expose the functionality and
vxquery-core to provide the functionality.
I do understand that vxquery-cli is differnt from than a tradtitonal
CLI/shell, but I'm wondering if it should be. Maybe keeping it
simpler could simplify the code structure as well.
Thoughts about that?
- Also, I'm wondering if we should call the new API module vxquery-http
instead of vxquery-rest (as it's not really a RESTful API).
Thoughts around this?
Cheers,
Till
On 26 Jul 2017, at 13:21, Preston Carman wrote:
> Erandi's work on adding a RESTful HTTP API will be a nice improvement
> for VXQuery. As we look at adding this code, I thought it would be
> good to clarify where this code should live and what is in the new
> maven project. Our current project hierarchy is shown in this diagram
> [1]. To keep minimize our code paths for executing a query, I suggest
> all queries be process through the RESTful HTTP API. For this to
> happen, both XTest and the CLI would need to be update to used the new
> REST API. In addition these projects would depend on the REST project.
> The REST project would be responsible for compiling and executing the
> query. [2] shows the new hierarchy.
>
> To help conslidate code for creating a local cluster, the REST project
> will also include a class to start and stop a local cluster (similar
> to AsterixHyracksIntegrationUtil in AsterixDB). The XTest project has
> a local cluster for testing and the CLI has uses a local cluster when
> no cluster ip address was provided. These will now need to used the
> REST local cluster class and pass queries to the REST API for
> processing.
>
> The VXQuery Server project will operate similar the current method.
> Only now it will include a REST port and start the REST API with the
> Cluster Controller.
>
> I think this is a good direction, what are your thoughts?
>
>
> [1]
> https://docs.google.com/drawings/d/1XaVm97hO6L2cWRJfqVimXiC_RyPFw-gw9spw-8Lof5U/edit?usp=sharing
> [2]
> https://docs.google.com/drawings/d/16xyO3TW_9sqSAkFNcnlC4WzN4B3JBzYarQreQ_X438M/edit?usp=sharing
Re: New Maven Project For REST
Posted by Preston Carman <pr...@apache.org>.
Your suggested structure [3] is an interesting idea. We could move all
the server configuration code and local cluster utility code into
server. I guess that seems like a better location for this code. I
think this is a change we can address when updating server to
NCService. The change should be relatively striaght forward.
As to the project name, I think vxquery-http is good. Where should we
put the Web UI Code? Should that also live with the vxquery-http
project? Or somewhere else?
[3] https://docs.google.com/drawings/d/1s0xMOKC_6E_qUy7tp-VQM_oiIiaw3gat61P2ECb0Ars/edit?usp=sharing
On Wed, Aug 2, 2017 at 11:27 PM, Till Westmann <ti...@apache.org> wrote:
> Hi Preston,
>
> I’m sorry, I didn’t reply to this message earlier.
>
> First I'd like to day that I agree that this will be a nice addition
> and that I think that the appoach is fine. These are just 2 thoughts on
> possible alternatives:
>
> - Looking at the names of the boxes it seems that the more traditional
> approach would be to have vxquery-xtest and vxquery-cli talk to the
> vxquery-server that uses vxquery-rest to expose the functionality and
> vxquery-core to provide the functionality.
> I do understand that vxquery-cli is differnt from than a tradtitonal
> CLI/shell, but I'm wondering if it should be. Maybe keeping it
> simpler could simplify the code structure as well.
> Thoughts about that?
>
> - Also, I'm wondering if we should call the new API module vxquery-http
> instead of vxquery-rest (as it's not really a RESTful API).
> Thoughts around this?
>
> Cheers,
> Till
>
>
> On 26 Jul 2017, at 13:21, Preston Carman wrote:
>
>> Erandi's work on adding a RESTful HTTP API will be a nice improvement
>> for VXQuery. As we look at adding this code, I thought it would be
>> good to clarify where this code should live and what is in the new
>> maven project. Our current project hierarchy is shown in this diagram
>> [1]. To keep minimize our code paths for executing a query, I suggest
>> all queries be process through the RESTful HTTP API. For this to
>> happen, both XTest and the CLI would need to be update to used the new
>> REST API. In addition these projects would depend on the REST project.
>> The REST project would be responsible for compiling and executing the
>> query. [2] shows the new hierarchy.
>>
>> To help conslidate code for creating a local cluster, the REST project
>> will also include a class to start and stop a local cluster (similar
>> to AsterixHyracksIntegrationUtil in AsterixDB). The XTest project has
>> a local cluster for testing and the CLI has uses a local cluster when
>> no cluster ip address was provided. These will now need to used the
>> REST local cluster class and pass queries to the REST API for
>> processing.
>>
>> The VXQuery Server project will operate similar the current method.
>> Only now it will include a REST port and start the REST API with the
>> Cluster Controller.
>>
>> I think this is a good direction, what are your thoughts?
>>
>>
>> [1]
>> https://docs.google.com/drawings/d/1XaVm97hO6L2cWRJfqVimXiC_RyPFw-gw9spw-8Lof5U/edit?usp=sharing
>> [2]
>> https://docs.google.com/drawings/d/16xyO3TW_9sqSAkFNcnlC4WzN4B3JBzYarQreQ_X438M/edit?usp=sharing