Versions Compared

Key

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

Installation

The customerdata service can be installed using the installer. After installation, the configuration of the customerdata service can be found in the <blueriq installation home>\Services\blueriq-customerdata\conf folder.

Alternatively, you can install the customerdata service on of the supported platforms of Blueriq. The supported platforms for the customerdata service match the ones for the Runtime. The installation procedure also resembles the ones for the Runtime, basically it is deploying the WAR, configure a config location and the suitable JDBC driver. See Installing Runtime for details on each specific platform.

Note

Although it is possible to deploy the Customerdata Service in the same JVM as the Blueriq Runtime, we recommend, at least for acceptance and production environments, to deploy it on its own JVM or depending on the throughput of the application, on its own server.

System requirements

Minimal

2 CPU cores
256 MB Heap

2 CPU cores
512 MB Heap

Panel

Table of contents

Table of Contents
maxLevel3



Configuration

The customerdata service is required by the Customerdata Client component, so when this component is used the following needs to be configured first. In the documentation below, the <service> is customerdata, the <datasource-name> is customerdata-sql-store and the configuration YAML is blueriq-customerdata-odata-service-v1.yml.

External config location

For supplying configuration from an external location you need to configure the spring.config.additional-location for the application. See the Config location section for your application platform on the page Installing Runtime.

Include Page
_DatasourceConfigurationYaml
_DatasourceConfigurationYaml

Database query timeout

To specify the database query timeout, set the defaultQueryTimeoutSeconds property in the datasource configuration.

If multi-tenancy enabled, when needed, the value has to be set for each datasource separately.

Without setting property, the default value is 60 seconds.

Code Block
blueriq:
  <service>:
    datasource:
      <datasource-name>:
        ...
        defaultQueryTimeoutSeconds: 10
Info

For additional datasource configuration please refer to the Spring property documentation.

JNDI

If you would like to use JNDI to configure your datasource, replace the blueriq.customerdata.datasource section in the blueriq-customerdata-odata-service-v1.yml described above with the following:

Please note that when JNDI is your preferred resource configuration, the Customerdata Service needs differently named JNDI resources for the customer-sql-store on the one hand, and the entity-event-manager on the other hand.


Code Block
blueriq:
  customerdata:
    datasource:
      customerdata-sql-store:
        jndi-name: java:jboss/datasources/myCustomerdataSqlStoreJndiName

Database drivers

Depending on the underlying database, a specific driver needs to be installed on the application server as described on Configuring JDBC database drivers.

Case Insensitive searching for oracle

For MSSQL searching through case data is case insensitive by default. Oracle and PostgreSQL are case sensitive and because of that searching in Case Data is case sensitive.

We created the possibility to enable case insensitive searching on these case sensitive databases, for more information how to enable it see: How to enable case insensitive search on case data for Oracle & PostgreSQL.

The feature toggle has to be set to true to enable this feature.

Example:

Code Block
languageyml
titleblueriq-customerdata-odata-service-v1.yml
blueriq:
  customerdata:
    oracle:
      case-insensitive-search-enabled: true

The case-insensitive search works on filtering text fields in aggregate lists, and using the "like" operator in searches.

Endpoint per aggregate type

It is possible to have different endpoints per aggregate type. In the schematic overview below is shown how having multiple endpoints per aggregate looks like. The

Include Page
_PropertiesFileJava
_PropertiesFileJava
 contains multiple connections per aggregate type, the customerdata properties contain the information to which data store the aggregate should be saved to.


Include Page
_PropertiesFileJava
_PropertiesFileJava

The following properties need to be set in the 

Include Page
_PropertiesFileJava
_PropertiesFileJava
 of the Blueriq Runtime:

Code Block
languagetext
titleapplication.properties
# Mandatory = default connection for every aggregate that does not have a custom connection
blueriq.customerdata-client.url=http://localhost:10097/customerdata/api/v1
blueriq.customerdata-client.username=blueriq
blueriq.customerdata-client.password=welcome

# Optional - Custom connection(s) per aggregate type
blueriq.customerdata-client.type.employee.url=http://localhost:20097/customerdata/api/v1
blueriq.customerdata-client.type.employee.username=blueriq
blueriq.customerdata-client.type.employee.password=welcome

blueriq.customerdata-client.type.departement.url=http://localhost:30097/customerdata/api/v1
blueriq.customerdata-client.type.departement.username=blueriq
blueriq.customerdata-client.type.departement.password=welcome
Note

The properties above contain the default settings, which are set by the Installer. If afterwards these settings are customized in the customerdata service they need to be changed in the Runtime as well.

Send Events to a queue

See Aggregate CUD events