yuuvis® Momentum Requirements

Check the requirements and recommendations of third-party software in order to set up a productive yuuvis® Momentum system.

Table of Contents

Introduction

yuuvis® Momentum is a product with a lot of variety for customers. The core services can be combined with different third-party software products, selected by the customers according to their needs. This article gives an overview of the required third-party software infrastructure and the tested versions of different providers.

The systems listed have been tested in the listed versions together with the current release in the OPTIMAL SYSTEMS release tests and their compatibility has been ensured.

yuuvis® Momentum uses standardized interfaces and integration technologies, meaning that yuuvis® Momentum also works with a wide range of older or more recent versions of the systems listed and with other unlisted systems. OPTIMAL SYSTEMS does not guarantee compatibility for systems not listed in the system requirements and performs its services subject to restrictions (in particular, no damage repair) in accordance with the prevailing maintenance contracts. In addition, OPTIMAL SYSTEMS guarantees compatibility with a listed system up until the date that the manufacturer guarantees regular (for example, not extended, expanded, individually agreed) support.

Moreover, the system requirements describe the infrastructure needed for a productive yuuvis® Momentum system to provide adequate operational performance. This information is a set of non-binding guidelines. OPTIMAL SYSTEMS can only give a guarantee for a specific system environment on the basis of a customized hardware constellation.

yuuvis® Momentum Core Requirements

Core Services

An overview of the required yuuvis® Momentum services is provided here: Version Tags Services

Required Infrastructure Components

yuuvis® Momentum instances operate in a Kubernetes cluster. The services are deployed via several Helm Charts. For testing purposes, the infrastructure Helm Chart contains a minimal configuration of third-party services required to operate yuuvis® Momentum. However, for productive use, the infrastructure should be compatible not only with yuuvis® Momentum but also with the application purpose. The choice of third-party services should be well-considered in order to not limit the performance of yuuvis® Momentum.

Kubernetes

Kubernetes is required for installation and operation of yuuvis® Momentum instances. The versions listed below are supported.

Kubernetes Versions
1.19
1.20
1.21
1.22
1.23
1.24
1.25
1.26 (as of 2022 Winter)

Helm

Deployments for yuuvis® Momentum are offered via Helm Charts and thus require the installation of Helm. The supported versions are listed below.

Helm Version
3.2.4

Databases

yuuvis® Momentum requires a relational database instance to store and manage metadata and content files. Many software products are available and can be combined with yuuvis® Momentum. We highly recommend providing yuuvis® Momentum with an exclusive database to ensure performance.

The system requirements for the individual manufacturers must be observed for operation of the relevant database system.

yuuvis® Momentum supports the following databases:

Database Management SystemVersion
PostgreSQL9.4 - 11.10.0
14.5 (recommended)
CockroachDB19.2.1 - 20.1
As of 2021 Winter: 20.2 and 21.1

Microsoft SQL Server

2012

(32- and 64-bit)

2014

(32- and 64-bit)

2016

(32- and 64-bit)

2017

(32- and 64-bit)

2017

(32- and 64-bit)

As of 2021 Winter: 2019

(32- and 64-bit)

Search Engine

yuuvis® Momentum works together with the open source search engine Elasticsearch. The following versions are tested with the current yuuvis® Momentum release.

Elasticsearch Versions
7.17.x (as of version 2023 Autumn)
7.16.x (as of version 2022 Autumn)
7.9.x (up to version 2022 Summer)
7.3.x (up to version 2021 Winter)

In order to operate Elasticsearch together with yuuvis® Momentum, the following plugins are additionally required. Please install a version that is supported by your Elasticsearch version.

  • Intrafind Linguistic Plugin
  • ICU Analysis Plugin

Redis

In order to ensure synchrony in internal processes of yuuvis® Momentum, an in-memory data structure store is required. Our tested recommendation is Redis.

Redis Versions
6.0.9
7.0.4 (as of 2022 Autumn)

Messaging Systems

yuuvis® Momentum uses the OASIS Advanced Message Queuing Protocoll (AMQP) Version 1.0 for internal messaging. The messaging systems of the corresponding versions listed below are tested with yuuvis® Momentum. Since RabbitMQ does not support AMQP Version 1.0, an additional plugin is required.

Messaging SystemVersionAdditionally Required Plugin
ActiveMQ5.15.4-
RabbitMQ3.8.9rabbitmq_amqp1_0

Git

We strongly recommend to use Git as config store for yuuvis® Momentum, that acts as a version control system at the same time. In general, any git server should be sufficient. However, we tested the git servers listed below with the corresponding versions.

Git ServerMinimum  Required Version
Gogs0.11.91
Gitea1.12.0
GitLab

11.10.8

Authentication Provider

For operation of yuuvis® Momentum, an authentication provider is required. In general, any authentication provider supporting the OAuth 2.0 protocol can be combined with yuuvis® Momentum. However, we perform all our tests with Keycloak. The supported versions are listed below.

Keycloak Versions
7.0.0
10.0.2
11.0.2
15.0.2 (as of version 2022 Spring)
19.0.2 (as of 2022 Winter)
22.0.2 (as of 2023 Autumn)

Storage

S3 Store

yuuvis® Momentum is working with an S3 directory that has to be connected via a service supporting the S3 protocol. All our tests are performed with MinIO, that can operate as store and as protocol service at the same time. It can also be used to connect an S3 store of a different provider to yuuvis® Momentum.

MinIO Versions
RELEASE.2020-10-18T21-54-12Z

Optional: Further Supported Archive Drivers

The ARCHIVE Service allows to connect additional archives. The following archive drivers are supported. The configuration parameters have to be specified in the application-storage.yml configuration file.

ProviderVersionSupported ProtocolsArchive-Internal Retention
Cloudian7.2s3-basedsupported
Hitachi Content Platform7.3.0.6s3-basedsupported
iTernity Compliant Archive Software (iCAS)

3.7

iCASsupported
As of 2022 Autumn:
Dell EMC ECS (Elastic Cloud Storage)
DellECM-ECS-CE-3.7S3supported
As of 2023 Summer:
Azure Blob Storage

Azure Blob Storage REST APIsupported

Additional Services

Libraries for Custom Clients

yuuvis® Momentum Services

In addition to the yuuvis® Momentum core services, the developer libraries require further services. Please check their third-party requirements.

  • Web-API Gateway (API-WEB)
  • VIEWER Service
  • BPM-ENGINE Service (only for process and task management)
  • TENANT-MANAGEMENT Service (only idm-controller endpoints)

Note: yuuvis® Momentum client as reference implementation uses the full functionality of the developer libraries. Thus, all listed services are required.

Identity Management Provider

Up to version 2022 Summer, the framework library supports only Keycloak as authentication provider. The same versions as for the core services are supported (see above).

Web-API Gateway

yuuvis® Momentum Services

In addition to the yuuvis® Momentum core services, the Web-API Gateway requires further services. Please check their third-party requirements.

  • USERSERVICE
  • SOTHOOK
  • BPM-ENGINE Service
  • TENANT-MANAGEMENT Service (only idm-controller endpoints)

Identity Management Provider

Up to version 2022 Summer, the Web supports requires Keycloak as authentication provider (see supported versions above).

yuuvis® architect

yuuvis® Momentum Services

In addition to the yuuvis® Momentum core services, yuuvis® architect requires further services. Please check their third-party requirements.

  • Web-API Gateway (API-WEB)
  • TENANT-MANAGEMENT Service

Keycloak

As  yuuvis® architect uses admin- and system-controller of the Tenant Management API, Keycloak as required as identity management system. The same versions as for the Tenant Management API are supported (see below).

VIEWER Service

yuuvis® Momentum Services

In addition to the yuuvis® Momentum core services, the VIEWER Service requires further services.

  • OFFICE365 Service (only for Office 365 integration)


OFFICE365 Service

To integrate the Microsoft Office 365 editing functionality, you need an authentication license for the Microsoft Office 365 Platform.

The viewing functionality of Microsoft Office 365 is available without a dedicated license.

USERSERVICE

Database

For operation of the USERSERVICE, a database is required. The same database systems as for the core services are supported (see above).

Identity Management Provider

Up to 2022 Summer, the USERSERVICE requires Keycloak as identity management provider (see supported versions above).

Tenant Management API

yuuvis® Momentum Services

In addition to the yuuvis® Momentum core services, the TENANT-MANAGEMENT Service requires further services. Please check their third-party requirements.

  • METRICS service (provided with the client Helm chart).

Identity Management Provider

In order to operate the idm-controller of the Tenant Management API, the service requires an authentication provider supporting OAuth2, e.g., Keycloak. If you do not use Keycloak, you need to implement a custom proxy that converts the request formats. An example implementation is available on request as a beta version.

In order to operate also the admin- and system-controller of Tenant Management API, Keycloak is required as identity management provider. The supported versions are listed below.

Keycloak Versions
11.0.2 (up to yuuvis® Momentum 2021 Winter LTS)
15.0.2 (yuuvis® Momentum 2022 Spring & Autumn)
19.0.2 (2022 Winter - 2023 Summer)
22.0.2 (as of 2023 Autumn)

METRICS Service

Database

For operation of the METRICS service, it shall connect to the database where document data is held. The same database systems as for the core services are supported (see above).

KEYCLOAK-PROXY Service

Keycloak

The service supports only Keycloak as authentication provider. The supported versions are listed below.

Keycloak Versions
11.0.2
15.0.2 (versions 2022 Spring & Autumn)
19.0.2 (2022 Winter - 2023 Summer)
22.0.2 (as of 2023 Autumn)


BPM Engine

Database

For operation of the BPM Engine, a database is required. Following providers and versions are supported:

Database Management SystemVersion
PostgreSQL9.4 - 11.10.0

Microsoft SQL Server

2012

(32- and 64-bit)

2014

(32- and 64-bit)

2016

(32- and 64-bit)

2017

(32- and 64-bit)

2017

(32- and 64-bit)

As of 2021 Winter: 2019

(32- and 64-bit)

Identity Management Provider

The BPM ENgine needs access to the identity provider that is used for the yuuvis® Momentum cluster. The identity provider has to support the Custom IDM API shown below (e.g., Keycloak). If you want to use an identity provider that does not support the Custom IDM API, the TENANT-MANAGEMENT Service is required.

Custom IDM API
openapi: 3.0.1
info:
  title: Custom IDM API
  version: v1.0
paths:
  /roles:
    get:
      tags:
        - Roles
      description: Get all roles
      operationId: getRoles
      responses:
        '200':
          description: Indicates request was successful and the roles are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomIdmRoleResponse'
  /roles/{roleId}/users:
    get:
      tags:
        - Roles
      description: Get all users with given role.
      operationId: getRoleMembers
      parameters:
        - name: roleId
          in: path
          description: Identifier of the role
          required: true
          schema:
            type: string
          example: YUUVIS_TENANT_ADMIN
      responses:
        '200':
          description: Indicates request was successful and the members are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomIdmUserResponse'
  /users:
    get:
      tags:
        - Users
      description: Get all users
      operationId: getUsers
      parameters:
        - name: page
          in: query
          description: Zero-based page index (0..N)
          schema:
            type: integer
            default: 0
        - name: size
          in: query
          description: The size of the page to be returned
          schema:
            type: integer
            default: 20
        - name: sort
          in: query
          description: 'Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Indicates request was successful and the users are returned.
          content:
            application/json:
              schema:
                type: object
                title: PageResponse
                properties:
                  objects:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomIdmUserResponse'
                  numItems:
                    type: integer
                    format: int32
                    example: 50
                  totalNumItems:
                    type: integer
                    format: int64
                    example: 1234
                  hasMoreItems:
                    type: boolean
                    example: true
  /users/{userId}:
    get:
      tags:
        - Users
      description: Get an user
      operationId: getUserById
      parameters:
        - name: userId
          in: path
          description: Identifier of the user
          required: true
          schema:
            type: string
          example: YUUVIS_TENANT_ADMIN
      responses:
        '200':
          description: Indicates request was successful and the user is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomIdmUserResponse'
components:
  schemas:
    CustomIdmRoleResponse:
      type: object
      properties:
        name:
          type: string
    CustomIdmUserResponse:
      type: object
      properties:
        id:
          type: string
        username:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        roles:
          type: array
          items:
            type: string

Up to version 2022 Summer, the BPM Engine supports only Keycloak as authentication provider. The same versions as for the core services are supported (see above).

AI Platform

Database

The AI Platform requires a SQL database to log model metrics. While PostGreSQL is our most frequently tested database driver, multiple other solutions have been proven to work with the platform.

Database driverSupported Versions
PostGreSQL9.4 - 11.10.0
Microsoft SQL2012, 2014, 2016, 2017, 2019
CockroachDB20.2, 21.1

Elasticsearch

The PREDICT-API service can infer models that make use of Elasticsearch backend to improve prediction quality.

Elasticsearch Index DriverSupported Versions
ElasticSearch7.16.3

Summary

Choose the third-party components for yuuvis® Momentum according to your needs. Find a guideline for installation via Helm Charts linked below. 

Read on

Installation Guide

Instructions for the installation of a yuuvis® Momentum system operating in a Kubernetes cluster via Helm Charts. Start with Helm charts for testing purposes and replace default third-party software according to your preferences. Keep reading

Installing and Configuring Keycloak as an Identity Provider

Guideline for manual installation and configuration of keycloak as an identity provider for yuuvis® Momentum. Keep reading