The Google Web Toolkit and Guice are two very useful technologies. This post explains what they are, how they can be used together and what benefits this brings.
One of the blessings of the JVM is that there are many “pure” databases available for it; Sesame (RDF) and Apache Derby (relational) come to mind. Alas, these databases need to save their files somewhere. This becomes a challenge with Servlets: Where should one put these files? Pre-packaged, read-only, files usually reside in SERVER/webapps/app/WEB-INF/, but mutable files? Putting them in WEB-INF makes upgrading a web application more difficult. I can easily imagine myself accidentally removing such data during an upgrade. The best solution, that I was able to come up with, is:
Scenario: You have a large single file with all your BibTeX entries. This is convenient while writing, say, a paper, because everything is immediately available. After you are finished, it becomes a problem, though, because when you send the sources to someone else, you always have to send the complete BibTeX database with them. I’ve found two solutions for extracting only those BibTeX entries that one has actually used from a database:
Figure 1: Screen shot of JWebPane in action (source).There are currently two exciting platforms for which one can develop:
- The Java Virtual Machine (JVM). Advantages: Great tools, hosts many languages, lots of free software is available for it (databases, support for many file formats, etc.), supports modularity (OSGi, Jigsaw).
- The web browser. Advantages: One can quickly try out an application without downloading anything, URLs encode application states and are bookmarkable, the ability to clone application states via tabs, integrates hypermedia and data streams of all kinds.