IRS controller
The IRS REST controller is used to provide a RESTful web service.
Component diagram
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
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
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
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
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
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. |