After looking at a number of web routing/API/RESTful frameworks, I found many of them try to do far more than I actually need, or are overly restrictive. I’d prefer something very simple with few dependencies. With this in mind, I set out to see how difficult it was to code a simple routing HTTP server using Scala and Netty, that I could use for my projects. It turns out it was quite easy.
This is about Granite’s architecture in its current form. Note that Granite is not yet released, so the naming and architecture described below may change.
As a prelude to outlining the architecture of Uniscala Granite as it currently stands, I’m going to run through creating a very simple Granite example, starting from the Granite Maven archetype, and ending with the application running on Jetty that can store, display and update meaningful data in the DB4O database. I’m going to assume that you’ve have already checked out Uniscala, and built and installed it with Maven according to the quick start guide. Continue reading
I’m pleased to announce a new web application framework, called Granite, and an associated set of reusable libraries, called Uniscala. Please note that this is a work in progress: we are not announcing a release yet, or even a beta. A number people have started asking about the project, and so I felt it would be helpful to let the wider world know what is going on.
Granite is a lightweight framework for the rapid development of web applications. It is based on the very cool and richly featured Apache Wicket web framework. Granite uses an embedded object database that avoids the need for SQL or Object-Relational Mappers (ORMs), and, in the Wicket tradition, is proud of, if not smug about, its distinct lack of external XML configuration files.
I chanced upon a white paper by proprietary CMS provider, coreDNA, that can serve as a convenient catalog of all of the myths and FUD (Fear, Uncertainty and Doubt smear tactics) associated with open source detractors. The apocryphal document, Open Source vs. Closed Source (Proprietary) Software, can be found on the coreDNA website. Let me dissect this paper, particularly where it is possible to make a comparison with a popular (and my favourite) open source CMS, Plone. Continue reading
The Linux ‘split’ and ‘shasum’ (or the more specific ‘sha1sum’) utilities are useful for moving large amounts of data around , and yet their man pages can be obscure, especially for the practical use of checkums.