E-Matrix Home






E-Matrix at the NCSU Libraries

The technology behind E-Matrix


The E-Matrix application architecture is split into 3 modules: service, interface, and synchronizer. The service includes the data model and all of the code to access and manipulate E-Matrix data. The interface is the platform through which end-users interact with E-Matrix data via the web. The synchronizer consists of generic data synchronization code, along with vendor-specific transformers/filters to format the data correctly.


The E-Matrix data model is the core of the product. Its abstract entities and relationships are derived from the DLF Electronic Resource Management Initiative. The model has been greatly extended and customized beyond the general specifications of the initiative. Some of the main entities in the model include the following:

In total, 42 entities make up the E-Matrix model. A number of data access objects and services sit on top of the data model to provide the ability to manipulate these entities.


The E-Matrix web interface allows users to manage the data maintained in the service. Each section of the interface is organized by the main entities mentioned above. Access to each part of the interface is controlled by basic authentication/authorization techniques, including password protection and role-based permissions. The navigation is hierarchical and geared toward browsing and searching for entities.


The synchronizer consists of multiple synchronizers, filters, and transformers that load and maintain data in E-Matrix. The data comes from several sources, including a link resolver, an ILS, flat files, and databases. The synchronizers are generic and only load data into E-Matrix. The filters and transformers are responsible for parsing, cleaning, and formatting the vendor-specific data so the synchronizers can understand it. Each time a synchronizer runs, it compares the data in E-Matrix to the external data being loaded and inserts, updates, and/or deletes that external data accordingly. Currently, synchronizer runs once daily.

Application architecture and data flow

E-Matrix application architecture and data flow

E-Matrix as an open source project

NCSU Libraries currently hopes to provide a future release of E-Matrix as an open source project. In preparation for this goal, we are working to make the library community aware of its capabilities as an e-resource and serials management system and to gauge the level of interest in taking advantage of such a tool. To facilitate the discussion and respond to community interest, we have developed a documentation package that describes the current functionality and data model of E-Matrix. Please note that we are continually working on application changes and enhancements that could impact the data model. This package includes the following documentation for version 2.5.0 (current as of January 2011) of the E-Matrix project:

You are welcome to use this information as you wish in assessing the suitability of E-Matrix as a possible option for e-resource management in your own environment.

Documentation Package - version 2.5.0, 1MB, .zip file