Home high_performance software that extracts clarity from complexity
home space corporate space technology space solution areas space Case Studies space news space contact us space
Armanta Products - a broad range of business and technical capabilities out-of-the-box
Armanta Component Suite
back
Intelligence Services



Custom Data Model Support
Armanta is shipped with no data model, characteristics, or calculations. This is a fundamental design decision that is core to the framework. While there are many similarities between customers, there tend to be even more differences. As such, Armanta has no preconceived notion of the world. There is no database that customers need to migrate their data into. There is no business model that customers need to wrap their business processes around. Instead, the core system components have been deliberately left wide open for an individual customer to define. What Armanta provides is a mechanism that its customers can use to define their business entities and their relationships, as well as a framework for populating this custom entity model with data from their source systems as well as persisting changes back to those source systems (or wherever it makes sense to persist those changes to!). In fact, the loose coupling between this custom entity model and the source data means the entity model can look very different from the schema used to store the data. This is important as the data modeling requirements for a specialized decision support application may be quite different from the physical representation. The Armanta integration effort consists of an analysis of the end user requirements as well as an understanding of the source systems from which the data will be retrieved to come up with an entity model or set of related entity models that best support the required functionality. An entity model is a set of abstract entity types and their relationships. An entity type is analogous to a database table, where entity instances correspond to records. All entities in Armanta are self-describing. They must be, since Armanta comes out of the box with no inherent knowledge about the underlying data. The relationships between entity types are analogous to table foreign key relationships in a database.


A customer-specific description of the entity model is used by the Armanta Intelligence Cache to build and manage an in-memory representation of the data. As part of the integration exercise, the customer inventories the universe of characteristics that will be populated in Armanta. Within Armanta a characteristic is any value, static or calculated, that is represented within the data model. Each characteristic is then associated with a specific entity type in the entity model through its metadata. Metadata consists of all of the descriptive information about a characteristic that is used by the runtime framework. These characteristics are then populated into the entities via the Armanta Data Abstraction.

The Intelligence Cache provides the architecture with a core set of runtime services:

Loading data on-demand from the source systems.

Efficiently caching data once it has been loaded and keeping it up to date in real-time as changes are broadcast. Once data is loaded into the cache, subsequent retrieval in memory is extremely fast. Changes to data are published using a lightweight API over JMS.

Memory management.

Virtual data denormalization. Gives the caller of the API the appearance that all of the entities are denormalized for easy access.

On-demand synchronization with database changes that may have been made behind the cache.

An important feature of the Armanta Intelligence Cache is the ability to construct a custom object model. This allows the customer to override key Armanta entity behaviors as well as take advantage of polymorphism in their own code.

One of the key advantages of the architecture is its adaptability and the ease with which changes to requirements can be incorporated, often with no or minimal impact on existing functionality.


 
HOME | CORPORATE | TECHNOLOGY | SOLUTION AREAS | CASE STUDIES | NEWS | CONTACT US