Uniscala Granite: A Wicket/db4o/Scala Web Stack
Join the DZone community and get the full member experience.Join For Free
Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway? Brought to you in partnership with IBM.
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.
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.
Opinions expressed by DZone contributors are their own.