[on [email protected] now...right place finally] I've decided on Plan D : do nothing :)
Just for ref, here's my decision process: The idea was for my Turtle editor app to have an integrated server, so any created data could automagically be served over HTTP (this ties in with the Semantic Web in a Box angle). One option that appealed to me further down the line was to give the app a headless (no Swing) option so the same setup could be used to deploy a semweb server. I'll be using TDB anyway, and Jetty seems like a natural choice for HTTP server. Plan A : code it up myself seems like quite a lot of work, especially given the stuff already done by others Plan B : Fuseki I had a poke around the download. I'd assumed it was a just a couple of extra classes to glue TDB to Jetty, but there's quite a bit more, notably an impressive effort to package everything together to make a self-contained package. Cool, but for programmatic integration (e.g. using the same Jetty instance to serve HTML docs) this would mean I'd have to pull everything apart again. Also not having some kind of auth would be a problem. Plan C : Apache Clerezza http://incubator.apache.org/clerezza/ Reto pointed me in this direction as it used TDB by default and has a concurrency lock available. One very appealing aspect is it has a JAX-RS implementation which I've played with before, finding it a really intuitive way of hooking up web server wiring. But similarly it's not obvious how to just use the bits I want without also bringing along a load of clutter (for my specific app). Pulling down the svn trunk revealed 109 subpackages (maven-managed) which I must admit was a bit offputting. Plan D : do nothing My app will have a HTTP client anyway, I need to be able to GET remote stuff, and also the ability to be able to address remote systems via SPARQL Update and HTTP PUT/POST would be nice to have (also at some point I want to make a little adapter for the Talis Platform, so I can post graphs up there). I'm not sure how it would be done with Clerezza, but a completely independent install of Fuseki would offer most of the services I want. For the automagic publishing of my local TDB, I'm pretty sure that could be achieved by recording a datestamp of operations (i.e. an ultra-simple versioning system), so it'd only be necessary to transfer what's changed. Cheers, Danny. -- http://danny.ayers.name
