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

The DCM Lists Service manages the data to display in a case, task, or work list. This data is a copy of the data that is used and manipulated by the process engine in the Process SQL store component. The reason that this data is duplicated is that to display a list, complex and intensive queries need to be executed. These queries can now be serviced by the DCM Lists service, while the process engine can focus on manipulating process data, without also having to perform intensive list queries.

Installation

The DCM Lists Service is a standalone application. The corresponding WAR file can be found in the release zip or in Artifactory: https://artifactory.blueriq.com/ui/native/libs-release-R15/com/blueriq/blueriq-dcm-lists-application/. The WAR file needs to be deployed to a supported application server, see Installing Runtime. The application requires a config location to specify the configuration outlined below. Note that the Blueriq DCM Development Installation includes the DCM Lists Service including configuration.

System requirements

Minimal

2 CPU cores
256 MB Heap

2 CPU cores
512 MB Heap

Third party tools

RabbitMQ

The DCM Lists Service receives events from the Blueriq Runtime application via the RabbitMQ Messaging system (see DCM queueing). The DCM Lists Service should be able to connect to the RabbitMQ instance.

MongoDB

The DCM Lists Service stores its data in MongoDB (see Document database MongoDB). The DCM Lists Service should be able to read and write data into a MongoDB instance.


Place these tools on their own dedicated server, with sufficient resources. We refer to the websites of MongoDB and RabbitMQ for advice on hardware requirements for these components.

Configuration

The DCM Lists Service requires a blueriq-dcm-lists.yml file in the

spring.config.additional-location
you configured for it. Here you specify the RabbitMQ and MongoDB settings, and optionally configure some additional settings:

blueriq-dcm-lists.yml
blueriq:
  dcm:
    lists:    
      mongodb:
        host: mongodb.yourdomain.local
        port: 27017
        database: DcmListsService
        username: youruser
        password: yourpass
      event:
        consumer:
          rabbitmq: # can be used to override queue configuration from blueriq.default.rabbitmq setting and default queueNames
            queueNames: dcmListsServiceEventsQueue
            errorExchange: dlx.dcmListsServiceEvents
          concurrency: # can be used to tune the queue consumption on high load. Note that when using more than 1 consumers, the order of messages is no longer guaranteed
            max-concurrent-consumers: 1
            concurrent-consumers: 1
  default:
    rabbitmq:
      host: rabbitmq.yourdomain.local
      port: 5672
      virtualHost: /
      username: youruser
      password: yourpass
      ssl:
        enabled: false
	  # From blueriq version 16.9 it is possible to declare multiple hosts (RabbitMQ Cluster)
      addresses: localhost:30012,otherhost:25102
spring:
  security:  # Security configuration for the dcm list service. Here you can override the default username/password 
    user:
      name: <username>
      password: '{noop}<password>'

For more information on concurrent consumers see Configuring RabbitMQ.

Multi-tenancy

DCM-Lists can be used in a multi-tenant environment. For more information, check Multi-tenancy for the DCM Lists Service.