
@startuml
title TransactionHistoryLogger.TransactionHistoryLogger
actor Client

group <font color=#FF0090><b> TransactionHistoryLogger  
Client->TIBCO:TransactionHistoryLogger
alt <font color=#FF8C00> if appdata exists and appdata>0
TIBCO->TIBCO:Parse XML
TIBCO->TIBCO: Mask Data
end
TIBCO->Cache:Retrieve from cache
Cache->TIBCO:Response
alt <font color=#FF8C00>Cache not Found
TIBCO->DB:Query Transaction Step
DB->TIBCO:Response
TIBCO->Cache:Store Record in Cache
end
alt <font color=#FF8C00> Tracking value from cache='Y'
TIBCO->DB: Insert Transactionhistory details
end
TIBCO->Cache:Retrieve BPM
Cache->TIBCO:Response
alt <font color=#FF8C00>Cache exists
TIBCO->Cache:Retrieve BPM Envelope Details
Cache->TIBCO:Response
else otherwise
TIBCO->DB:Get Transction step details
DB->TIBCO:Response
TIBCO->Cache:Store flag in Cache
alt <font color=#FF8C00>if BPM='Y'
TIBCO->Cache:Store BPM Envelope in Cache
end
end
TIBCO->TIBCO:parse envelope and render event Message
TIBCO->JMS:send Event


end group




@endum1




