From 0bb311116c107772890874a977737ec23539f02f Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Thu, 15 Aug 2024 12:42:14 +0200 Subject: [PATCH] chore(release): xxx - high scaling part resolving tracex --- ...sumption-process_part1_tracex_scaling.puml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/src/uml-diagrams/arc42/runtime-view/data-consumption-process_part1_tracex_scaling.puml diff --git a/docs/src/uml-diagrams/arc42/runtime-view/data-consumption-process_part1_tracex_scaling.puml b/docs/src/uml-diagrams/arc42/runtime-view/data-consumption-process_part1_tracex_scaling.puml new file mode 100644 index 0000000000..8f69f3f2cd --- /dev/null +++ b/docs/src/uml-diagrams/arc42/runtime-view/data-consumption-process_part1_tracex_scaling.puml @@ -0,0 +1,56 @@ +@startuml +'https://plantuml.com/sequence-diagram +autonumber +participant TraceXFE +participant TraceX +participant "DiscoveryService" as DS +participant "Eclipse Dataspace Connector" as EDC +participant "Digital Twin Registry" as DTR + +participant IRS +rnote right TraceX +Blackbox view on EDC +end rnote +TraceX -> DS: Get EDCS for BPN +DS -> TraceX: Provide EDC Urls +TraceX -> EDC: Query for catalog offer of DTR +EDC -> TraceX: Return catalog offer +TraceX -> EDC: Negotiation of contract +EDC -> TraceX: Complete negotiation +TraceX -> DTR: Query for aasIDs by bpn +DTR -> TraceX: Retrieve aasIDs by bpn +rnote right TraceX +Current state: TraceX requests for each aasID the shellDescriptor via EDC / DTR. +Because we need to know the BOMLifecycle Type (asBuilt/asPlanned) before requesting IRS with the globalAssetId. +Then for each BOMLifecycle Type we do two requests (upward/downward) to the IRS job API +end rnote +rnote right TraceX +Optimization: Since IRS can autodetect the BOMLifecycle Type. TraceX could simply use the aasID to reduce a huge amount of load to the EDC / DTR +Afterwards we switching from the IRS Job API to the IRS Order APi which lets us define batch strategies and call IRS only two times (upward/downward) for all aasIDs +end rnote +TraceX -> IRS: Register order for parts to get semantic models and traversal aspects for all aasIds (e.g. 200.000) +rnote right TraceX +TraceX provides a callback url which will be requested by IRS once a batch of the previous registered order is completed. +This results in multiple callbacks until the full list of aasIDs has been processed by the IRS. +end rnote +TraceX <-- IRS: Receive callback request by IRS including order ID. +rnote right TraceX +Current state: TraceX extracts semantic models and traversal aspects and directly map and persists them into the database +end rnote +TraceX -> TraceX: Store jobIds completed into a separate database table and set status to JOB_COMPLETED +rnote right TraceX +Introducing states to manage data records (JOB_COMPLETED, PERSISTENCE_COMPLETED) +Sequential processing of data records and transitioning them to the correct status. +end rnote +TraceX -> IRS: Jobs within the order of irs will be requested when they have the state JOB_COMPLETED +IRS -> TraceX: Provide associated semantic models and traversal aspects +TraceX -> TraceX: Semantic models and traversal aspects will be extracted, mapped to parts and persisted into database. +TraceX -> TraceX: Update status of new data record table for the completed entry to PERSISTENCE_COMPLETED + +rnote right TraceXFE +Expectation: This request assumes that all data processing in TraceX has been completed and the data is available. +end rnote +TraceXFE -> TraceX: Get parts +TraceX -> TraceXFE: List + +@enduml