16 October 2009
Adjoovo Spaces Registry is much more than a simple registry. Not only does it add an integrated artifact repository but also a rich web user interface, a pluggable metadata filtering system, a flexible data model and an integrated wiki along with other components required for scalability and security on an enterprise scale.
The Registry
The central registry at the core of Adjoovo Spaces encapsulates a data store that in turn implements a flexible data model which can be extended to store virtually any metamodel. The store is implemented using JPA, leveraging Apache's OpenJPA implementation which in turn can be used in combination with most RDBMS systems. To simplify small-scale deployments, the Adjoovo Team have bundled the H2 database into the Community distribution so that the system is delivered complete with an embedded store; no configuration is necessary.

The Repository
In the Community version, the Repository implementation is a simple file-based implementation but it provides an effective and safe store for holding the original form of the artifacts loaded into Adjoovo Spaces. The Repository and Registry coordinate to deliver the foundation of the knowledge organization system. The Repository stores artifacts (files, archives, etc.) in the form they were loaded into Spaces. The Registry holds metadata about key concepts and relationships within those artifacts. Annotations and new metadata created by knowledge workers are store in the Registry but link back to the original artifacts stored in the Repository. This method allows the artifacts to be preserved, able to be retrieved, yet also allows a rich base of knowledge to be built up around them.
The Java API
The core API provides direct access to all the core functions including storage, security, filters, loaders, backup, restore, etc. This fine-grained API is complex and is not designed for day to day use but will be useful for those wishing to extend the core functionality, such as Filter developers (see below). The recommended approach to integrating Adjoovo Spaces into third-party applications is via the REST API.
Filters and Loaders
This framework allows the discovery aspects of Adjoovo Spaces to be extended so that new metadata can be extracted from a wide range of artifact types. The framework automatically handles many types of artifacts including various forms of file-based archives and remote types (e.g. HTTP). The Filter framework supports a traditional, extract-transform-load (ETL) model with a two stage load process that allows for incremental loading of metadata.
The REST API
This is the general purpose access layer into Adjoovo Spaces. This API provides access to all of the core features through a simple XML over HTTP protocol that supports both JSON and XML data formats. This API is fully functional and is the same API used to implement Spaces' rich, browser-based, user interface. The REST API is built using Sun Microsystems' Jersey framework.
Browser UI
The browser UI is based on top of a modern web framework that incorporates AJAX based data access and dynamic HTML capabilities. jQuery is used as the underlying browser UI layer within an extensible mesh framework built by Adjoovo. This framework allows different entity-specific views to decorate data models being rendered from the Registry. This allows the Adjoovo team and our developer community to quickly extend the UI to support new metamodels providing rich views of the data for the knowledge workers who use the product.


