You are viewing the documentation for Blueriq 16. Documentation for other versions is available in our documentation directory.

DCM 2.0 has several components that use the document database MongoDB.

This section will explain in which components MongoDB is used, how to configure these components, and provide pointers to considerations when installing MongoDB.

Overview

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

In the overview you can see that the components Case Engine, DCM Lists Service and the DCM Maintenance App use one or more MongoDB databases. When using these components, the following four databases are created:

  • caseEngine: the database where case related information is stored for the Case Engine
  • locks: the database where case locks are stored, thus enabling case consistency
  • tasks: the database where the tasks for the DCM Lists Service component are stored
  • messages: the database where all (failed/delayed) messages are stored for the DCM Maintenance App

By default, databases are created when they are used and do not yet exist. For more information, see https://www.mongodb.com/docs/manual/core/databases-and-collections/.

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 which enable the Case Engine to communicate with the caseEngine and locks databases:

application-case-engine.properties
# MongoDB - Case Engine
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 - locks
blueriq.locking.mongodb.host=<url-of-the-database-server>
blueriq.locking.mongodb.port=<port-of-the-mongoDB-instance>
blueriq.locking.mongodb.database=locks

DCM Lists Service

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

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


DCM Maintenance App

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

blueriq-dcm-maintenance-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 most use cases the free community edition should suffice. There are also some cloud providers that provide mongoDB on their platforms.

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

Database 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: