This section describes the general system architecture of eccenca Corporate Memory and its components.
eccenca Corporate Memory consists of four core components:
- (2) eccenca DataIntegration,
- (3) eccenca DataManager,
- (4) eccenca DataPlatform and
- (8) Keycloak.
DataIntegration (2) is a Corporate Memory component which enables integration of multiple databases into a single consistent knowledge graph. Datasets in their original format are mapped and linked to RDF schemata and then linked to and persisted into a knowledge graph. The data integration is performed semi-automatically based on domain-specific integration rules.
DataPlatform (4) is a semantic middleware application which provides a unified access to semantic graph data. Additionally, DataPlatform manages authorization of the users according to the access control lists defined in the Triple Store. The knowledge graph is stored in a triple store (5) connected to DataPlatform. This can either be a physical store like Complexible Stardog or a remotely accessible HTTP endpoint. Corporate Memory supports multiple kinds of data sources (6) such as SQL databases or files of different formats. These files can be processed with DataIntegration (2) either locally or on a remote Spark cluster (7).
Keycloak (8) provides authentication. Keycloak can act as an authentication broker for already existing, external OpenId Connect or SAML infrastructures (9). In addition to that, Keycloak supports a wide variety of internal user management configuration scenarios and the option to connect to an external LDAP server for user and group synchronization (10). Keycloak uses the embedded Java-based relational database H2 as a default to store its configuration data. However, it is highly recommended to use a relational database (11) for production use instead. Refer to the Keycloak manual for further information on possible setups.