Versions Compared

Key

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

Include Page_DcmArchitectureBetaLabel_DcmArchitectureBetaLabelThe DCM Dashboard architecture is an extension of the Case modelling architecture that consists of several services working together. They communicate with each other with AMQP and/or REST.

The figure below shows the additional services, how they relate to the existing infrastructure and their communication and their storage.

Component / Function details:

Children Display

Image RemovedImage Added

Runtime

Dashboard Frontend

The Blueriq Runtime is used for user interaction, dashboards and task execution.

The Runtime manages persistent data for Comments, Timeline and Trace in a SQL database.

The Runtime communicates:

  • With the Case Engine via Rest to start a task for a case (8)
  • With the Case Engine via AMQP to create a case (7)
  • With the Case Engine via AMQP to finish (complete/abort) a task for a case (7)
  • With itself via AMQP for trace events that do not concern processes (1)

Case Engine

The Case Engine is responsible for managing cases and the processes that belong to the cases.

The Case Engine manages persistent data in a SQL database (process data) and in a MongoDB database (case data and case locks)

The Case Engine communicates:

  • With the Customer Data Service via Rest (OData) to read and insert/update aggregate data (3)
  • To the DCM Lists Service via AMQP to send changes to the tasks for a case (5)
  • With itself via AMQP to handle timer events asynchronously (11)
  • With the Runtime via AMQP to notify that an automatic task should be executed (6)
  • With the Runtime (or an external system) via AMQP to send timeline and/or trace events (6)
  • With the Maintenance App via AMQP to notify that a case has been unlocked (9)

Customer Data Service

The Customer Data Service is used for storage of the Case Dossier.

The Customer Data Service manages persistent data in a SQL database.

The Customer Data Service communicates:

  • With the Case Engine via Rest (OData) to read and insert/update aggregate data (3)
  • With the Runtime for Aggregate Lists and to read Aggregate details (2)

DCM Lists Service

The DCM Lists Service is responsible for managing content for case lists, work lists and task lists.

The DCM Lists Service manages persistent data in a MongoDB database.

The DCM Lists Service communicates:

  • From an AMQP queue to receive changes to the tasks for a case (5)
  • With the runtime to provide case/task/work list data (4)

The Blueriq Dashboard Frontend is the customer facing application which exposes dashboards.

The Dashboard Frontend has no persistent data.

The Dashboard Frontend communicates:

  • All communication goes trough the Gateway Service
  • With the DCM Dashboard Service via REST to retrieve dashboard definitions
  • With the DCM 2.0 Infrastructure via REST to interact with the Runtime
  • With the IDP via REST to manage authentication and authorization 

Gateway Service

The Blueriq Gateway Service is responsible for routing traffic from the Dashboard Frontend to other services. Additionally it can act as a Backend For Frontend to relay authentication tokens to downstream services.

The Gateway Service persists HTTP session data in Redis.

The Gateway Service communicates:

  • Routes traffic to the DCM Dashboard Service
  • Routes traffic to the DCM 2.0 Infrastructure
  • Routes traffic to the IDP

DCM Dashboard Service

The Blueriq DCM Dashboard Service is responsible for serving definitions of dashboard applications.

The DCM Dashboard Service has no persistent data.

The DCM Dashboard Service communicates:

  • With Gateway Service to serve dashboard definitions

Case Modelling Infrastructure

The Case Modelling Infrastructure is mentioned as a single node as the DCM Dashboard Services are an extension to the existing Case modelling architecture.

The Case Modelling Infrastructure persists HTTP session data in Redis.

The Case Modelling Infrastructure communicates:

  • With Gateway Service to accept routed traffic

DCM Maintenance App

The DCM Maintenance App is responsible for managing AMQP messages that could not be processed. Additionally, it provides a dashboard for functional maintainers that gives insight in the status of cases.

The DCM Maintenance App manages persistent data in a MongoDB database.

The DCM Maintenance App communicates:

  • From AMQP queues that are designated as Dead Letter Queues (DLQ) (12)
  • To the original AMQP queues of the DLQ where a message was received from (13)
  • From an AMQP queue to receive messages from the Case Engine (9)
  • With the Case Engine via Rest to receive case status (10)