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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

This feature is part of the ongoing effort to support more DCM features natively in the Blueriq Runtime. Its modules and behavior may change over time. Please check release notes and upgrade instructions when using it.

The Case Engine component manages all operations on cases, case data and tasks. It communicates with the Blueriq Runtime through asynchronous messages and a REST API.

The Case Engine component is essential to use DCM 2.0 and depends on multiple other components to function properly.

This section explains how to install the Case Engine component, how to configure it and which other components are needed to be installed.


Installation

The Case Engine will be delivered with the runtime and can be downloaded in the artifactory. Alternatively you can also use the DCM 2.0 beta release which also includes the case engine

The case engine is a standalone application and should be started directly in Java using the command line:

example command to start the case engine
$ java -Dserver.port=18081 -Dspring.config.additional-location=file:///config/DCM2/CaseEngine/config -jar blueriq-dcm-case-engine-14.11.0.4888.jar


Dependencies

The case engine component depends on the following components:

The bootstrap.properties file needs to have the following content to enable these components:

bootstrap.propeties
spring.profiles.active=native,\
    case-engine,\
    customerdata-client,\
    dcm-lists-publisher,\
    externaldatasources,\
    process-sql-store,\
    timeline-event-publisher-amqp,\
    trace-event-publisher-amqp,\
    audit


Configuration

Specific for the case engine there are mutliple properties that needs to be set.

These properties are divided into three files:

  • application.properties: common properties that concern security, logging and the connection to the customer data
  • application-case-engine.properties: properties for several queues, mongoDB and quartz
  • application-external-datasource.properties: properties that enable the case engine to communicate with the process data sql store

Create the files in the additional config location of the case engine and copy and paste the corresponding properties into each file.

application.properties
### Users ###
blueriq.security.auth-providers.local01.type=in-memory
blueriq.security.auth-providers.local01.users.location=users.properties
blueriq.security.auth-providers-chain=local01

### Customerdata ###
blueriq.customerdata-client.url=http://localhost:30002/customerdata/api/v1/
blueriq.customerdata-client.username=blueriq
blueriq.customerdata-client.password=welcome

### Exports ###
blueriq.exports.description=Exports
blueriq.exports.prefix=export
blueriq.exports.folder=exports
blueriq.exports.enabled=true

### Security settings ###
blueriq.security.csrf-protection.enabled=false

### Blueriq logging ###
logging.level.com.aquima=DEBUG
logging.level.com.blueriq=DEBUG
logging.file.name=logs/case-engine.log
spring.main.allow-circular-references=true

case-engine.properties
blueriq.case.engine.rabbitmq.host=localhost
blueriq.case.engine.rabbitmq.port=30010
blueriq.case.engine.rabbitmq.username=blueriq
blueriq.case.engine.rabbitmq.password=welcome
blueriq.case.engine.rabbitmq.virtualHost=/
blueriq.case.engine.rabbitmq.ssl.enabled=false
blueriq.case.engine.rabbitmq.queueNames=dcmEventsQueue
blueriq.case.engine.rabbitmq.exchangeName=dcmEvents

blueriq.process.engine.v2.rabbitmq.host=localhost
blueriq.process.engine.v2.rabbitmq.port=30010
blueriq.process.engine.v2.rabbitmq.username=blueriq
blueriq.process.engine.v2.rabbitmq.password=welcome
blueriq.process.engine.v2.rabbitmq.virtualHost=/
blueriq.process.engine.v2.rabbitmq.ssl.enabled=false
blueriq.process.engine.v2.rabbitmq.exchangeName=dcmTasksEvents

blueriq.case.engine.scheduler.rabbitmq.host=localhost
blueriq.case.engine.scheduler.rabbitmq.port=30010
blueriq.case.engine.scheduler.rabbitmq.username=blueriq
blueriq.case.engine.scheduler.rabbitmq.password=welcome
blueriq.case.engine.scheduler.rabbitmq.virtualHost=/
blueriq.case.engine.scheduler.rabbitmq.ssl.enabled=false
blueriq.case.engine.scheduler.rabbitmq.exchangeName=dcmScheduledEvents

blueriq.case.engine.maintenance.rabbitmq.host=localhost
blueriq.case.engine.maintenance.rabbitmq.port=30010
blueriq.case.engine.maintenance.rabbitmq.username=blueriq
blueriq.case.engine.maintenance.rabbitmq.password=welcome
blueriq.case.engine.maintenance.rabbitmq.virtualHost=/
blueriq.case.engine.maintenance.rabbitmq.ssl.enabled=false
blueriq.case.engine.maintenance.rabbitmq.exchangeName=dcmMaintenanceEvents

blueriq.case.engine.data.mongodb.host=localhost
blueriq.case.engine.data.mongodb.port=30012
blueriq.case.engine.data.mongodb.database=caseEngine

blueriq.locking.mongodb.host=localhost
blueriq.locking.mongodb.port=30012
blueriq.locking.mongodb.database=locks

spring.quartz.job-store-type=memory

spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
spring.quartz.properties.org.quartz.threadPool.threadCount=2
external-datasources.properties
#### Datasources  H2 ###
blueriq.datasource.process-sql-store.url=jdbc:h2:./dcm;AUTO_SERVER=TRUE
blueriq.datasource.process-sql-store.username=sa
blueriq.datasource.process-sql-store.password=
blueriq.datasource.process-sql-store.driverClassName=org.h2.Driver
blueriq.hibernate.process-sql-store.hbm2ddl.auto=create
blueriq.hibernate.process-sql-store.dialect=org.hibernate.dialect.H2Dialect
blueriq.hibernate.process-sql-store.criteria.literal_handling_mode=BIND
blueriq.hibernate.process-sql-store.globally_quoted_identifiers=true
blueriq.hibernate.process-sql-store.globally_quoted_identifiers_skip_column_definitions=true

Authentication

The synchronous operations are protected with basic authentication. To specify the credentials required to log in to the Case Engine, create a user in user.properties with the case-engine role.
users.properties

caseEngineUser = {bcrypt}$2y$04$sO5V1oh8Frvj.WbjSGotO.80p6h5uuK047lj0EUNMZEQ2vTjssD0m,case-engine

If you are using a different authentication provider, like LDAP, you can create a user in that provider instead of users.properties, as long as it has the proper role.

  • No labels