New Scala server and libraries (solid-control)

Hi, I have been working for the past year on writing a Solid Server in Scala and developing some useful libraries for it, that can compile to JVM byte code as well as to to JavaScript. This was made possible by an European Union Next Generation Internet Privacy Enhancing Technologies grant.

The results of the Solid-Control project has a github page that lists the artifacts produces and milestones achieved. I’ll just highlight the main ones that could be useful to people here.

  • A Scala based Solid Server Reactive Solid that is nearly finished. It would need a couple of extra milestones so that I can use it as my own web server. (more tests, finish WAC)
  • Banana-rdf was ported to Scala 3. Banana-rdf allows one to write Scala code that can switch in one line of code between Jena, Sesame or Rdflib.js. It would be easy to add other libraries. There is work that remains to be done to add SPARQL support and the nice DSL we used to have. Other work that could be done is to add the Apache Commons RDF framework.
  • HttpSig An implementation of the “Signing HTTP Messages” RFC from the IETF HTTP Bis working group, to allow for efficient authentication similar to WebID-TLS but without client certificate browser support. This makes for much more flexible authentication schemes. The code is in the bblfish/httpSig github repo and compiles to JS and Java so that it could be used by existing servers or clients.

If any of these are of interest to people here I’d be happy to work on improving them. It would go faster if people have funds to work on it obviously (as I would not need to work on completely different projects first). Those projects are under Apache or MIT licenses so of course people can also contribute to them.



Great news!

Do you have a live instance that anyone can play with? Note, I don’t want to install this myself :slight_smile:

Hi @kidehen,

Thanks for pinging me here.
Since posting I got two more milestones from the EU to allow me to get the code ready for deployment. I am hoping to get it to the point so that I can use it for and a few other sites I am running. As I found some other part time work this may take up to 4 months though.