IRS controller

The IRS REST controller is used to provide a RESTful web service.

Component diagram

level 2 controller

Component description

Components Description

IrsController

Application REST controller.

IrsItemGraphQueryService

Service for retrieving item graph.

JobOrchestrator

Orchestrator service for recursive MultiTransferJobs that potentially comprise multiple transfers.

JobStore

Spring configuration for job-related beans.

BlobstorePersistence

Interface for storing data blobs.

Policy Store

The Policy Store provides a REST Interface for getting, adding and deleting accepted IRS EDC policies. These policies will be used to validate usage policies of EDC contract offers.

Recursive IRS

The recursive IRS provides grant-controlled partner-to-partner traversal. It starts from one root asset, resolves the supported SingleLevelBomAsPlanned relationship, filters direct children by the local chain opening grant and aggregates anonymized PURIS payloads into a material tree.

Component diagram

level 2 recursive puris

Component description

Components Description

Recursive Job API

Starts recursive jobs and provides their current state and result to the root caller.

Recursive Notification API

Receives REQUEST notifications that start child jobs and RESPONSE notifications that return their results.

Chain Opening Grant API

Manages the local grants that authorize recursive traversal for one chain opening.

Recursive Job Processing

Coordinates grant validation, BOM traversal, child requests, timeout handling and result aggregation.

Digital Twin and Submodel Access

Resolves shell and submodel descriptors through the Digital Twin Registry and retrieves BOM, PartTypeInformation and anonymized PURIS payloads through EDC.

Notification Transport

Discovers the recursive notification API in the EDC catalog and sends REQUEST and RESPONSE notifications through EDC.

Recursive Persistence

Stores recursive jobs, notification correlation entries and chain opening grants in the configured blob store.

The recursive result must not expose hidden partner identities. Partner filtering is local to the current hop. Failures that are returned upstream are represented as sanitized tombstones.

RecursiveJobHandler

The RecursiveJobHandler component provide the logic to build jobs recursively to retrieve items over the complete C-X network and assembles the partial results into a single item graph result.

Component diagram

level 2 jobhandler

Component description

Components Description

AASRecursiveJobHandler

Recursive job handler for AAS data

TreeRecursiveLogic

Retrieves item graphs from potentially multiple calls to IRS API behind multiple EDC Providers, and assembles their outputs into one overall item graph.

ItemTreesAssembler

Assembles multiple partial item graphs into one overall item graph.

BlobPersistence

Interface for storing data blobs.

TransferProcessManagement

The TransferProcessManager creates executions and provides them to the executor service. Each execution contains HTTP requests to the asset administration shell registry and to the submodel interface.

Component diagram

level 2 transfer process management

Component description

Components Description

TransferProcessManager

The TransferProcessManager manages the requests to the EDC and DigitalTwinRegistry.

DigitalTwinRegistryFacade

The DigitalTwinRegistryFacade calls the DigitalTwinRegistry to retrieve data form the AAS registry and transforms the response to internal data models.

SubmodelFacade

The SubmodelFacade handles EDC contract negotiations and is responsible for the EDC dataplane requests to retrieve data from the submodel servers.

BlobStore

The BlobStore is the database where the relationships and tombstones are stored for a requested item.

DigitalTwinRegistry

The DigitalTwinRegistry is the central database of registered assets. In a decentralized network, the registry is no longer central, but every provider has its own registry.

ExecutorService

The ExecutorService enables the simultaneous execution of requests of transfer processes.

AASTransferProcessManager

The AASTransferProcessManager coordinates creation of Runnables which are then passed to the ExecutorService for asynchronous and parallel execution. The Runnable consists of different Delegates which are each responsible for requesting certain types of data.

Component diagram

level 2 int transfer process delegate

Component description

Components

Description

DigitalTwinDelegate

Request the digital twin for the globalAssetId. The result is stored in "shells" of the job response.

RelationshipDelegate

Request the payload for relationship aspects, found in the DTR. Relationships are mapped to the internal linkedItem data structure of IRS and validated to be within the supported major Traversal Aspect version range which can be found in the technical context. The result is stored in "relationships" of the job response.

SubmodelDelegate

Request the payload for the other semantic models requested by the Job. The result is stored in "submodels" of the job response.

ESS controller

The ESS REST controller is used to provide a RESTful web service to related Environmental and Social Standards functionalities.

Component diagram

level 2 ess controller

Component description

Components Description

EssService

Service contains business logic for investigation if part is inside supply chain.

IrsItemGraphQueryService

Service for retrieving item graph.

BpnInvestigationJobCache

Interface for storing incident data blobs.

EssRecursiveNotificationHandler

Business logic handling recursive investigation and results calculation. Responsible for sending and receiving EDC notifications.