This section contains a summarized architectural overview, a comparison of the most important goals and the corresponding solution approaches.

Introduction

Following table describes the quality goals of Trace-X (see chapter quality goals) and their matching solution approaches.

Quality goal Matching approaches in the solution

Running reference application for Catena-X traceability

  • Published open-source, Trace-X application can be used as a reference by anyone.

Accessible and easy to use

  • Established programming languages are used.

  • Backend written in Java.

  • Frontend written in Typescript based on the Angular framework.

Cloud agnostic solution

  • Helm charts to support the deployment of the application in a Kubernetes environment.

Application reliability

  • Data source is the Catena-X network. Data is fetched directly from the data owner using the IRS and the digital twin registry of CX.

  • Trace-X can be hosted decentralized since it is an open-source reference implementation.

Security

  • Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST) are executed automatically and regularly with tools as part of the pipeline.

Technology

Trace-X is developed using Java and the Spring Boot framework for the backend and Typescript based on the Angular framework for the frontend. This decision was taken due to the support of the frameworks as well as technical knowledge of the team members.

The application can be hosted using Docker and Kubernetes. This is commonly used and widespread. With this the application has no vendor lock in regarding the hosting provider.

The communication between frontend and backend is done using REST APIs. This is the standard method in the Catena-X landscape and makes the application components easy to use for any third party client.

For the database PostgreSQL is used.

Structure

Trace-X is divided into two components: Frontend and backend. It roughly can be broken down into the following parts:

  • Asset controllers to get asset information

  • Dashboard controller to get dashboard related summed up information

  • Registry controller to fetch assets from the Digital Twin Registry

  • Notification controller to get notification information and create EDC notification offers

  • Submodel controller for providing asset data functionality

  • Import controller for importing Trace-X data for data provisioning

  • Contract controller to get information about contract agreements

  • EDC controller to retrieve notifications

  • IRS callback controller to retrieve asynchronous jobs completed by IRS

  • Policy controller to retrieve information about policies

  • BPN controller to retrieve information about business partners

The backend does a request to the Digital Twin Registry utilizing the registry controller. Extracted data from the response is made available through the asset controller and the dashboard controller to the frontend.