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

This page applies when the Blueriq Runtime is used and using the Customerdata service for Aggregate storage.

This feature is available from Customerdata Service version 2.0.0 and up.

Introduction

The Customerdata service has the ability to send events to a queue for every Create, Update and Delete action. This functionality enables you as a customer to have other systems in your architecture that can listen and react on these CUD events.

For example, a Business Intelligence tool that consumes the Aggregate events from the queue and uses the information in the event.

Another example is that you have a complex search component that consumes the Aggregate events from the queue into an index.


Overview: Blueriq Runtime with Customerdata service and Queue

*  In pink: third party tooling

The image overview displays the components needed to be able to use the publishing events functionality of the Customerdata service.

The Blueriq Runtime with the Customerdata service for the aggregate storage is already in place in case you are using Blueriq Aggregate functionality.

Enabling the functionality on the Customerdata service to publish aggregate events need a couple of things:

  • A queue to publish the events on 
  • A component that consumes events from the queue


Relevant documentation

Configure Customerdata service to publish Aggregate events

How to configure the Customerdata service for aggregate storage 

Information about Blueriq with Aggregates

Contents of the event

The event published to the queue contains three main fields.

Field nameDescription
eventType

Contains one of these three values:

CREATED, UPDATED, DELETED

data

Json representation of the Aggregate.

In case of 'eventType:DELETED'" this field only contains the aggregateId and version

entityType

Can only be one value at this moment:

Aggregate


The code below is an example of a 'Create' event.

event_example
{  
   "eventType":"CREATED",
   "data":{  
      "aggregateId":5,
      "applicationId":null,
      "createdByUserId":"elle.lamont",
      "createdByUserName":"Elle LaMont",
      "createdDate":1523610495912,
      "data":"<Aggregate/>",
      "lastUpdatedByUserId":null,
      "lastUpdatedByUserName":null,
      "lastUpdatedDate":1523610495912,
      "latestVersion":true,
      "metadata":[  
         {  
            "name":"age",
            "seqIndex":0,
            "type":"INT",
            "booleanValue":null,
            "currencyValue":null,
            "dateValue":null,
            "dateTimeValue":null,
            "integerValue":50,
            "numberValue":null,
            "percentageValue":null,
            "stringValue":null
         }
      ],
      "published":false,
      "type":"Testset-Library-Employee",
      "version":1
   },
   "entityType":"Aggregate"
}


Related pages


9 Comments

  1. Unknown User (r.de.haard)

    This is internal documentation and should not be on my.blueriq:
    Proper configuration and maintenance documentation for customers is created here: Queue configuration

  2. Unknown User (r.de.haard)

    This documentation is not for BQ10.7 as the tag of this page states.

    We do not have elastic search yet in BQ10.7

  3. Unknown User (r.de.haard)

    I moved this to the troubleshoot chapter on the maintenance documentationpage

  4. Unknown User (r.de.haard)

    This Image is not suiteable for my.blueriq it is an internal image.
    it is also not in the same style as other images on my.blueriq
    what is the purpose of this image, where is the description

  5. Unknown User (r.de.haard)

    Do we keep this image this way?
    I think it would be nice to remove the search service and replace it with something more generic, because the is no search service but customer can attach there own search or BI related tooling to queue to listen for aggregate-events

  6. Unknown User (r.de.haard)

    Remove the explicit elastic search part

  7. Unknown User (r.de.haard)

    I would not call this page system requirements because it lacks the system requirements part.
    Also add a general functional description to provide some context

  8. Unknown User (r.de.haard)

    this is not true at this moment, please dicuss

    1. Unknown User (m.woudstra)

      Statement removed. Because it is not proper odata representation