Spark contains an embedded jetty out of the box, and it's compatible with
SSL and keystores.
I might contribute code if you open a github project. I usually handle this
"proxy" access to H2 using jruby, but it's straight forward to make the
concept you described in java.
Christian
On Thursday, February 23, 2017 at 7:19:28 PM UTC+1, Adam McMahon wrote:
>
> >>You'll need to ensure security, using json web tokens for example
>
> I have never used spark, looks fun (bad name for a project considering
> apache spark dominates the "spark" name). I was thinking Jetty would be
> pretty ideal, and/or restlet. I also like Grizzly. Vertx. is great, but
> maybe overkill and would require too many dependencies.
>
> I was thinking that the http server could optionally be run using an SSL
> connector (JSSE SSL). Most micro-server frameworks make pretty easy to use
> ssl. This should sufficiently handle security over the wire.
>
> The format for querying the http server could be something like this in
> JSON:
> {
> user: 'dbUserName',
> pass: 'password',
> sql: "slect * from users where name=? AND isIdiot=?",
> params: ['Adam', true]
> }
>
> the response would just be an json array of rows.
>
>
> The server could be run standalone something like this:
> java -jar httpH2.jar -options <options.json>
>
> The options.json would contain information like follwoing:
> - path to DB:port
> -user name, password of h2 database
> - embedded or TCP (if embedded, the http server would run H2, else it
> will simply connect to an existing H2 TCP server over JDBC
> - ip whitelist - list of ips that can access the http server
> -http port
> - etc
>
>
> On Thursday, February 23, 2017 at 6:13:28 AM UTC-5, Christian MICHON wrote:
>>
>> on point 2: it can be easily done with spark (sparkjava.com not apache
>> spark) + jooq
>>
>> You'll need to ensure security, using json web tokens for example.
>>
>> On Thursday, February 23, 2017 at 3:47:33 AM UTC+1, Adam McMahon wrote:
>>>
>>> Hi Group,
>>>
>>> i am considering a project that may require me to connect to an H2
>>> database froma non-JVM language (in this case php). I know the postgres
>>> driver might work and querus is an option, but I would like to consider a
>>> more general option: an http connector.
>>>
>>> It should be pretty easy to create a HTTP-JDBC bridge (perhaps an
>>> afternoon of work) that accepts a a post request (with a json payload
>>> describing the query) and return a json array of the results. A simple
>>> servlet would do the trick that acts as a type of proxy to an underlying
>>> JDBC connection.
>>>
>>> My question is:
>>>
>>> [1] Perhaps this is already done in the web-console? Is there
>>> documentation for how the server of the web-console could be used as a more
>>> general API over HTTP for H2?
>>>
>>> [2] Do you think anyone else would have use for this outside of my
>>> private projects? I could fairly easily create a standalone sever (perhaps
>>> using embedded jetty) that would allow someone to extend an H2 database
>>> over http. A few security things would need to be worked out, but it seems
>>> straight-forward. This may be nice as it would open H2 to a variety of non
>>> JDBC languages (node.js, perl, php), using simple REST-like http
>>> requests...thoughts?
>>>
>>> -Adam
>>>
>>
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.