Hi,

I'm considering to write a web layer for BaseX based in Clojure. It
may be a somewhat longer term project but I would like to bring XML
and BaseX closer to Clojure programming. Clojure web apps usually are
able to run under various servers/containers (Jetty/Netty etc.) and I
would like to be able to use Clojure libraries to handle things like
request routing, security and authentication outside of BaseX/XQuery.

Some questions that I have while I'm orienting myself. Some of it
touches on integration areas that are quite new to me so I am happy to
get some general pointers that I can use to dig further.

For Clojure I found only one BaseX client library [1] which wraps the
standard Java TCP client and it seems to work fine.

But I have some broader questions such as

- Choosing between using the client or much more intimately embedding
BaseX as a library. The latter is probably much more complex but I'm
figuring this is the only way to get a good integration as the TCP
client is rather limited in functionality. But where to start? What
layers of the existing servlet integration to peel off, which ones to
keep. Is BaseXServer.java a good starting point?

- Is the TCP client generally slower than via the Java API? A couple
of queries via clj-basex didn't impress me much qua speed (compared to
same query via the GUI).

Any starting points or general considerations that could help me prune
the (re)search tree are very much appreciated.


--Marc

[1] https://github.com/kouphax/clj-basex

Reply via email to