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