sequenceDiagram participant UI participant proxy as Reverse Proxy participant ms as Microservice participant denormalize as Python Denormalize Function participant dbhandler as Python DB Abstraction Function participant arango as Arango participant nft as nft.storage UI->>proxy: Retrieve Component Version proxy->>ms: Retrieve Component Version activate dbhandler ms->>dbhandler: Search Type + Name dbhandler->>arango: Search Type + Name arango-->>dbhandler: Return Denormalized JSON alt full JSON found dbhandler->>ms: Return Denormalized JSON else full JSON not found dbhandler->>nft: Get full Denormalized JSON from IPFS nft-->>dbhandler: Return Denormalized JSON dbhandler-->>arango: Add Denormalized JSON for caching dbhandler-->>ms: Return Denormalized JSON end ms->>denormalize: Denormalize JSON denormalize-->>ms: "" deactivate dbhandler ms->>proxy: Return Denormalize JSON proxy->>UI: Return Denormalize JSON