E-Matrix at the NCSU Libraries
The technology behind E-Matrix
Architecture
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.
Service
The E-Matrix data model is the core of the product. It's 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:
-
Resource: the base entity to represent any type of resource
-
Work: an extension of resource that represents an abstract work (e.g., a journal or newspaper)
-
Collection: an extension of resource the represents a collection of works and/or information (e.g., a database, journal package, or aggregator)
-
Manifestation: the combination of a work and a collection that represents a specific instance of a resource (e.g., Chemical Reviews provided by the package American Chemical Society Journals)
-
License: the representation of a physical license associated with a group of collections and works
-
Organization: the representation of a publisher, vendor, licensee, licensor or provider
-
Subject: the representation of a custom subject that can be associated with works/collections
-
Holding: the representation of a print or electronic holding for a specific manifestation
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.
Interface
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.
Synchronizer
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. The synchronizer runs twice daily to facilitate timely access to the evolving collection.
Application architecture and data flow

|