You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.
DCM 2.0 has several components that use Document databases (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.
Overview
As you can see in the image above, the components: Case Engine, DCM Lists Service and the DCM Maintenance App use one or more MongoDB databases. When using these components, it is needed to create the following four databases in MongoDB:
- caseEngine: the database where case related information is stored for the case engine
- locks: the database where case locks are stored and 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
Instructions about how to create a database can be found here: https://www.mongodb.com/docs/manual/core/databases-and-collections/
Configuration
When the databases are created, it is necessary to configure all applications in a way that they can communicate with the databases.
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:
#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
Replace the strings with < and > with the needed values of your specific setup.
Dcm-Lists:
In the blueriq-dcm-lists.yml file, add the following lines, which enable the DCM Lists Service to communicate with the tasks database:
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-maintenacne-app.yml file, add the following lines, which enable the DCM Maintenance App to communicate with the messages database:
blueriq: dcm: maintenance: app: mongodb: host: <url-of-the-database-server> port: <port-of-the-mongoDB-instance> database: messages
Replace the strings with < and > with the needed values of your specific setup.
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.
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:
- MongoDB can be run in the cloud or on premise. Whether MongoDB supports your desired platform can be read on: https://www.mongodb.com/docs/manual/administration/production-notes/#platform-support.
- MongoDB is designed specifically with commodity hardware in mind and has few hardware requirements or limitations. Read about the hardware considerations on: https://www.mongodb.com/docs/manual/administration/production-notes/#hardware-considerations.
- For redundancy and availability considerations please read the documentation on: https://www.mongodb.com/docs/manual/replication/.
- for other considerations please read the documentation on: https://www.mongodb.com/docs/