Introduction
Quality goal | Matching approaches in the solution |
---|---|
application reliability |
|
base security measures |
|
cloud agnostic solution |
|
multiple async job orchestration |
|
running reference application |
|
Technology
The IRS is developed using Java and the Spring Boot framework. This choice was made due to the technical knowledge of the team and the widespread support of the framework.
Hosting the application is done using Docker and Kubernetes, which is widely used and vendor-independent regarding the hosting provider (e.g. AWS, Google Cloud, Azure, …).
Inter-service communication is done using HTTP REST. This is the standard method in the Catena-X landscape and makes the IRS API easy to use for any third party client.
For persistence, blob storage was chosen as the payloads retrieved for each job vary for every aspect and the format can be unknown to the application, as it’s just being tunneled through to the client.
Structure
The IRS consists of 4 main components:
-
the REST API to view and control jobs
-
the asynchronous job processing engine
-
the job and payload persistence
-
the AAS connector
The REST API classes are separated from the application logic and can be replaced by a different interface easily. The actual entrypoint into the application logic are the *Service classes.
The job processing engine handles execution of the data requests for each job. It uses the AAS connector to retrieve the data and stores it into the persistence. The actual implementation of the persistence is decoupled from the logical representation and can be replaced easily as well.