Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

DCM 2.0 has several components that use Document databases (MongoDB)the document database MongoDB.

This section will explain in which components MongoDB is used, which configurations are needed for it and what needs to be considered when installing the databases, how to configure these components, and provide pointers to considerations when installing MongoDB.

Overview

Image Removed

For an overview of the architecture, please refer to Blueriq DCM architecture overview

In the overview As you can see in the image above, that the components : Case - Engine, Dcm-DCM Lists Service and the maintenance app DCM Maintenance App use one or more MongoDB databases. When using these components, it is needed to create the following four databases in mongoDBare created:

  • caseEngine: the database where cases are case related information is stored for the case engineCase Engine
  • locks: the database where case locks are stored and , thus enabling case consistency
  • tasks: the database where the tasks for the dcm-lists DCM Lists Service component are stored
  • messages: the database where all (failed/delayed) messages are stored for the dcm-maintenance appDCM Maintenance App

By default, databases are created when they are used and do not yet exist. For more information, see Instructions about how to create a database can be found here: https://www.mongodb.com/docs/manual/core/databases-and-collections/

When the databases are created, it is necessary to configure all applications in a way that they can communicate with the databases.

Configuration

...

.

Configuration

Each comopnent requires configuration to locate the MongoDB instance to use.

Case Engine

In the application-case-engine.properties file, add the following lines to which enable the case engine Case Engine to communicate with the caseEngine and locks databases:

Code Block
languagebash
titleapplication-case-engine.properties
#mongoDB# MongoDB - caseCase engineEngine
blueriq.case.engine.data.mongodb.host=<url-of-the-database-server>
blueriq.case.engine.data.mongodb.port=<port-of-the-mongoDB-instance>
blueriq.case.engine.data.mongodb.database=caseEngine

#mongoDB# MongoDB - locks
blueriq.locking.mongodb.host=<url-of-the-database-server>
blueriq.locking.mongodb.port=<port-of-the-mongoDB-instance>
blueriq.locking.mongodb.database=locks

Replace the strings with < and > with the needed values of your specific setup.

...

DCM Lists Service

In the blueriq-dcm-lists.yml file, add the following lines to , which enable the dcm-lists component DCM Lists Service to communicate with the tasks database:

Code Block
languageyml
titleblueriq-dcm-lists.yml
spring:
  data:
    mongodb:
      		host: <url-of-the-database-server>
      		port: <port-of-the-mongoDB-instance>
      		database: tasks

Replace the strings with < and > with the needed values of your specific setup.

...


DCM Maintenance App

In the blueriq-dcm-maintenacnemaintenance-app.yml file, add the following lines to , which enable the dcm-maintenance-app DCM Maintenance App to communicate with the messages database:

Code Block
languageyml
title blueriq-dcm-maintenacnemaintenance-app.yml
blueriq:
  dcm:
    maintenance:
      app:       
        mongodb:                
		  	host: <url-of-the-database-server>
      	  			port: <port-of-the-mongoDB-instance>
          			database: messages

...

Installing MongoDB:

MongoDB can be downloaded and installed via https://www.mongodb.com/.

...

For production scenarios, please refer to the recommended MongoDB setup on https://docs.mongodb.com/manual/administration/production-notes

Info
titleDatabase creation

Blueriq will create the necessary databases if they don't exist out of the box. If you want to create them yourself, please make sure that the database collation (comparison level) strength is set to level 2 (making queries case-insensitive). 

Considerations

MongoDB is a scalable document based NoSQL database solution that is used in multiple components of DCM 2.0. Before installing and using MongoDB it is recommended to consider the following:

...