|
Integration with Proprietary Data Sources The one common element of complex decision support applications is the dependence on a large and continually-growing set of information. The Armanta Data Abstraction and its associated integration tools allows the diverse set of information and sources to be quickly integrated into the Armanta environment. By integrating with the data in its present locations and in its present forms, Armanta deployments can be done in surprisingly short time frames. Additionally, when new data sources or new data from existing sources needs to be integrated at a later date, there is little additional effort required.
The Armanta Data Abstraction allows the customer to define logic to deal with issues like data mapping across multiple sources, massaging of information as required to meet front-end needs, and handling data loads in an efficient manner. In addition, as the Armanta framework is highly interactive, the Data Abstraction deals with the issues related to processing modifications to data. The flexibility of the abstraction means that when updates are written back to the data sources, the customer has control over how this is done. Data can be written back over the original source, or as required, it can be written back to alternative locations that are designed for user-overrides. The Data Abstraction, like the rest of the Armanta environment is date aware. This means that views of historical information as well as views across multiple dates are supported.
The Armanta Data Abstraction runtime environment is a J2EE application server. Each entity type as defined in the Armanta Intelligence Cache is bound to a stateless session bean EJB “proxy” which implements a well-defined interface. The methods in this interface support the standard CRUD (Create/Read/Update/Delete) methods required at runtime to both read data from and persist data back to the customer’s source systems. Transactionality in persistence, even across multiple databases, is provided by the EJB container. Persistence is accomplished through EJB entity beans. Data loads are done in bulk, not using entity beans, for maximum performance. If desired, data can even be loaded directly into the cache, bypassing the application server. This can be extremely useful in environments where the data requirements exceed the capacity of the application server infrastructure to load data.
Integration with a relational database is straightforward and can often be done without the customer having to write a single line of code. Armanta’s database mapping tools can be used to generate the appropriate runtime classes to read from and write back to the database. The mapping technology supports integration directly against the source tables as well as stored procedures. Often data is stored across multiple, disparate systems, or in a form that makes simple querying difficult. The ability to write custom code in Java provides customers with virtually unlimited capability to integrate data from just about any source or schema. To support the real-time features of the Armanta architecture, all persisted changes are broadcast over JMS (Java Messaging Service).
|