I recently discovered an open source clustering framework for the Java platform, Shoal. What interests me about the framework is that it provides programatically controllable clustering for Java applications. I am definitely considering Shoal’s Java clustering for the next version of GhostBlade. For a few months I have been working on my open source project, GhostBlade. GhostBlade is an open source Java e-commerce application, based on db4o as the database, and Google Web Toolkit for the user interface. It’s not available to the public yet, but should be within the next few months.
What bothers me a bit about db4o is that it is primarily targeted at embedded applications, and does not really scale well to enterprise size systems. But I love it, since I’ve reduced my database development time by about 30-50%, and do not have to do Object Relational Mapping (ORM). The reason I’m thinking of using Shoal, or a comparable clustering framework, is that I’d like to build an extremely scalable enterprise level e-commerce application based on db4o.
I was thinking along the lines of adding the capability to create a clustered application where the administrator can partition the application based on its classes, and functionality. For example he can command GhostBlade to store the Order class on node X in the cluster, or the search feature must be handled by node Y. Whether this will be possible with Shoal’s clustering is requires some prototyping research. Watch this space for more on the db4o-Shoal clustering stunt.