Solution Strategy
1. Modularization
The system is composed of multiple components. The components are managed in a multi-module maven project.
The module kp-users-client is the customer facing module. It combines the store and the messaging and will be used by all SCS.
2. Single Sign On
The system holds no authentication data. It will be connected via OpenIDConnect to external identity providers (like keycloak). The users are specified via their external user. Internally they get an UUID which maps to the (Issuer, User) tuple of the external provider.
3. Frontend and backend integration
The systems use frontend integration methods for the UI.
Needed communication between the backends (data synchronization, event distribution) are handled via a messaging infrastructure. The broker {madr-003} used will be a rabbitMQ handling AMQP queues and topics.
We heavily rely on self-contained systems {scs} as promoted by INNOQ.
The asynchronous data replication is addressed in section kp-commons:arc42:08_concepts/asynchronus-data-handling.adoc.