Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

Uniscala Granite: A Wicket/db4o/Scala Web Stack

09.22.2010
| 6496 views |
  • submit to reddit
Interested members of the Scala community are apparently knocking down Sustainable Software Pty's door to find out about their new innovative web framework, which isn't even ready for release yet.  The Sustainable Software Blog was obliged to quench the community's thirst for details with an early unveiling of the project called Granite.

Granite will rely on another Sustainable Software project called Uniscala, which is a set of Scala libraries for developing business applications.  Uniscala Topaz, an identity management application, will also rely on Uniscala.

Uniscala Granite will be a lightweight framework based on Apache Wicket, a very popular Java web framework.  Granite also uses db4o, an embedded object database that doesn't require SQL or ORMs.  The developers say that "in the Wicket tradition," they are proud, "if not smug about," the framework's lack of external XML config files.

The framework won't be designed for very large, highly-scalable systems (i.e. Facebook, Twitter), but it will work great for building online shops, membership databases, staff directories, and other systems.  It should also benefit from settling on one specific database and not trying to abstract over many different databases.  Granite persistence will be simpler and it will be able to take advantage of the deeper features of db4o.  Using db4o also means that there's no database to configure when you deploy, so you can have Granite up and running quickly.  Just build it in Maven and drop it in to a container like Tomcat or JBoss, or run with a stand-alone server.

db4o is licensed under dOCL, which should allow Granite to be under an Apache 2.0 license.  If the license is intractable, developers may switch to another database.

Lastly, we can't forget about one more important library in the Granite stack: jQuery.  The world's most popular JavaScript library will be included by default in every Granite application.  The Wiquery extension gives jQuery tight integration with Wicket.  Also, JQuery UI's ThemeRoller themeing is being used intensively.

You can check out the quick start guide if you want to start playing with the code.  More documentation and a framework release are in development.