#286 closed feature (fixed)
RasqlServlet - web interface for rasql queries
Reported by: | Dimitar Misev | Owned by: | Bang Pham Huu |
---|---|---|---|
Priority: | major | Milestone: | 9.3 |
Component: | petascope | Version: | development |
Keywords: | Cc: | Peter Baumann | |
Complexity: | Medium |
Description
We need a RasqlServlet in petascope which would expose rasql on the web.
The WCPSServer can be mostly copied, special care is needed regarding user credentials however.
Change History (20)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
I'd say to keep it out of petascope since its on a different level: petascope implements OWS-based endpoints and WCPS should not be applicable for direct rasdaman query.
Why not have it as a separate servlet into applications which produces its own deployable war?
This will also improve on endpoints consolidation for petascope
comment:3 by , 12 years ago
That doesn't sound good to me
- it's not worth maintaining a separate project that would be more or less one servlet of 100 lines of code
- we can easily reuse a lot of established functionality in petascope, separate project would mean a lot of code duplication
This endpoint would be separate from WCPS and the rest, could be available at /petascope/rasql or /petascope/rasdaman, so I don't see interference.
comment:4 by , 12 years ago
…and the insert/update/delte functionality is guarded by the login (still, we might have a configuration parameter which disables it by default, for security).
follow-up: 6 comment:5 by , 12 years ago
Code duplication, if any, should then be factored out to a jar to be put into tomcat libs so that all deployed servlets can use it. Can we make a quick estimate on that?
More importantly, we have to keep clear scope definition and separation of functionality if we aim at a clean and maintainable design. I just not see factoring in that feature to fit with petascope's aim of being a WCS/WCPS implementation.
Same reason here: http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/ticket/270
comment:6 by , 12 years ago
Replying to abeccati:
I just not see factoring in that feature to fit with petascope's aim of being a WCS/WCPS implementation.
When did we define that aim, sounds a bit restricting? So far I thought of petascope as a web-frontend of rasdaman (be it via OGC standards or something else).
The RasqlServlet will be around 100 lines or so. A separate war will require
- refactor common functionality between the two projects into a separate jar (third project)
- set up Makefiles for building
- probably introduce new configuration files
The differences between separate project vs. within petascope implementation
- servlet available at /rasql vs /petascope/rasql (or similar), which to the end user makes no difference whatsoever
- separate project linked via common jar, vs. separate package (petascope.rasql) using directly petascope code, again making no difference
comment:7 by , 12 years ago
Milestone: | 8.4 → Future |
---|
comment:8 by , 12 years ago
Type: | enhancement → feature |
---|
comment:9 by , 12 years ago
Complexity: | → Very Hard |
---|
I submitted an initial version of this and will most likely work some more on it.
comment:10 by , 12 years ago
Complexity: | Very Hard → Hard |
---|
comment:11 by , 12 years ago
Initial version provided in changeset:f0e48ec
TODO: uploading data, for doing insert and partial updates via the web interface.
TODO2: add tests to source:systemtest/testcases_petascope
comment:12 by , 9 years ago
Cc: | pbaumann,abeccati → pbaumann, abeccati |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:14 by , 9 years ago
Milestone: | Future → 9.1.x |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
comment:15 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | reopened → assigned |
I think Vlad worked last on it, and could provide information for the documentation.
comment:16 by , 8 years ago
Complexity: | Hard → Medium |
---|---|
Milestone: | 9.1.x → 9.3 |
Owner: | changed from | to
Version: | 8.3 → development |
at the point when Dimitar closed this ticket, there is a RasqlServlet class in petascope which I see the code can support to return the data (text/binary) from Rasql Query, so we need to add some test cases in systemtest for this servlet
(this servlet is documented in rasql query guide page 113), however the example is not correct, it should be:
domain:[port]/rasdaman/rasql?query
http://www.acme.com/rasdaman? query=select%20rgb.red+rgb.green%20from%20rgb &username=rasguest &password=rasguest
comment:17 by , 8 years ago
Cc: | removed |
---|
follow-up: 19 comment:18 by , 8 years ago
good idea to provide solid tests!
BTW, I am still lacking documentation input.
comment:19 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to pbaumann:
good idea to provide solid tests!
BTW, I am still lacking documentation input.
I added the documentation for Rasql Servlet here http://rasdaman.org/wiki/Clients#Rasqlquerylanguageaccess (with the submitted patch, it can support to upload file to collection)
first idea for a GET/KVP binding:
with a multipart return type.