The requirement of high and thus horizontal scalability as well as high availability is currently best combatted by architectures comprising of distributable small services which can be run in more than one instance. Such architectures offer redundance and pinpoint scalability—leading, among other advantages, to the wild success of this architectural pattern. This article describes the services yuuvis® Momentum is made of.
Core Services
The services yuuvis® Momentum Core is made of.
yuuvis® Momentum fields a core consisting of a small zoo of cloud-native microservices, which allows for high availability and scalability. The entirety of the core's functions is made available through the API-gateway as core API. Two services—three if counting in the API-gateway— serve the microservice architecture itself: ADMIN allowing service administration like restarting a service or changing its intended amount of instances, and CONFIG, reading, caching and delivering configuration information to the other services.
Name | Function | Configuration profiles | Certificates | Standard ports | Scalable |
---|
Gateway |
API | API-gateway | prod, redis, docker, kubernetes, metrics | no | 7450-7459 | yes |
Basic Core Services |
AUTHENTICATION | user authentication, session management | prod, oauth2, docker, kubernetes, metrics | yes | 80 | no |
ORGANIZATION | mapping users to roles (the latter carrying the permissions) | prod, oauth2, keycloak, docker, kubernetes, metrics | yes | 7440-7449 | yes |
SYSTEM | schema management | prod, docker, redis, kubernetes, metrics | yes | 7400 | yes |
REPOSITORY | management of the binary storage | prod, storage, docker, kubernetes, redis, metrics | no | 7500-7509 | yes |
REGISTRY | management of object metadata in the relational database | prod, docker, jpapostgres, dbs, redis, kubernetes, metrics | no | 7510-7519 | yes |
INDEX | indexing in Elasticsearch | prod, es, docker, kubernetes, redis, metrics | no | 7291-7300 | yes |
SEARCH | processing of queries | prod, es, docker, kubernetes, metrics | no | 7221-7230 | yes |
AUDIT | object history, audit trail management | prod, jpapostgres, dbs, docker, kubernetes, metrics | no | 7251 | yes |
CONTENTANALYZER | synchronous full-text extraction and determination of the MIME type | prod, docker, kubernetes, metrics | no | 7430-7439 | yes |
Archive Services |
ARCHIVE | connector for storage solutions | prod, docker, storage | no | 7530-7539 | yes |
Rendition Services |
CONTROLLER | job messaging using third party RabbitMQ and more, used for asynchronous operations | prod, docker, es, oauth2, lc, mq, kubernetes | yes | 7332-7335 | yes |
TEXTEXTRACTOR | asynchronous full-text extraction | prod, docker, es, lc, mq, kubernetes | no | 7400-7429 | yes |
RENDITION | generation of renditions of submitted documents |
| no | 7341 | yes |
Structural Services |
ADMIN* ** | administration, monitoring, configuration | prod, docker, kubernetes | no | 7273 | yes |
CONFIGSERVICE | configuration server | prod, docker, native | no | 7281 | yes (with limitations) |
DISCOVERY** | service registration | prod, docker | no | 7261 | no |
Rollback Administration |
COMMANDER* | command tool for rollbacks | prod, dbs, es | no | 7412 | no |
* service of special interest for DevOps | ** obsolete when using Kubernetes
Additional Services
Services for functional extension as upper layers on top of the yuuvis® Momentum core system.
The client services offer, in accordance with the layered onion approach, both additional functionality as well as higher-level API functions valuable to client applications. Next to the user and the viewer services, the web-api gateway service is the main service for the client development.
>> Client Development
Name | Function | Configuration profiles | Certificates | Standard ports | Scalable |
---|
Client Services |
API-WEB | web-api gateway, bundling of higher-level functions in one client API, adds more features like custom forms, localization, and object type icons to the system. | prod | no | 7550 | yes |
CLIENT | reference client based on core and framework libraries that can be used for custom client development | prod | no | 80 | yes |
ARCHITECT (as of 2020 Winter) | supports custom form modeling including form scripts, localization of technical names, and user management (will be moved to another application later this year). | prod | no | 80 | yes |
VIEWER | offers client-side viewing capability for certain file types | prod | no | 80 | yes |
USERSERVICE | stores user settings and caches user information | - | no | 8080 | yes |
SOTHOOK | fills the property appClientsystem:leadingTypeId | prod | no | 10779 | yes |
Tenant Management |
TENANT-MANAGEMENT | tenant management API with endpoints for maintaining tenants and their users | prod, oauth2 | no | 8080 | yes |
MANAGEMENT-CONSOLE | management console API as backend service for maintaining organizations that maintain tenants. | - | no | 7560 | yes |
MANAGEMENT-CONSOLE-CLIENT | Web-client with a graphical user interface for the management console API. | - | no | 80 | yes |
METRICS | provides tenant specific metrics. The tenant management API offers exposed endpoints of this service. | - | no | 8080 | yes |
Business Process Management (BPM) |
BPM-ENGINE | Flowable-based BPM engine | - | no | 8080 | yes |
BPM-ADMIN-UI | admin user interface for the BPM engine | - | no | 8080 | no |
Auto ML Platform (beta version - not yet included in installations) |
Kairos CLI App |
| - |
|
|
|
ML Training Pipeline |
| - |
|
|
|
PREDICT-API Service |
| - |
|
|
|
As of version 2021 Autumn, the status of each individual service can be checked by calling the health check endpoint https://<host>/<service>
/manage/health
as described for the core services.
>> Health Check for Services