Monday, August 18, 2014

Jena-nosql: A NoSQL adapter for Apache Jena

Few days ago I started this project on github.

The overall design rounds around the Abstract Factory design pattern [1].
As you can see from the following diagram, the StorageLayerFactory class plays the role of the AbstractFactory and therefore defines the contract that each concrete implementor (i.e. family) must provide in order to create concrete products for a specific kind of storage.  

On top of that, each binding module defines the "concrete" layer that is in charge to provide
  • an implementation of the StorageLayerFactory (i.e. the Concrete Factory);
  • a concrete implementation of each (abstract) product defined in the diagram below (i.e. the Concrete Products)
Here you can see the same diagram as above but with the "Cassandra" family members (note that only 4 members are shown in order to simplify the diagram)

Feel free to take a look and let me know your thoughts.

No comments: