...
Here are sequence diagrams describing complete HTTP request/response sequence of successful scenario for both input-ports and output-ports. Other semi-normal and error cases are described in Interaction Scenarios.
input-ports/
PlantUML |
---|
actor A_component actor HttpClient actor HttpClientTransaction actor SiteToSiteRestApiUtil actor SiteToSiteResource ' comment: initialize A_component -> HttpClient: createTransaction HttpClient -> SiteToSiteRestApiUtil: initiateTransaction SiteToSiteRestApiUtil -> SiteToSiteResource: POST /site-to-site/input-ports/{portId}/transactions SiteToSiteRestApiUtil <-- SiteToSiteResource: transactionUrl-1, transactionProtocolVersion HttpClient <-- SiteToSiteRestApiUtil HttpClient -> HttpClientTransaction: new HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_STARTED HttpClientTransaction -> SiteToSiteRestApiUtil: openConnectionForSend SiteToSiteRestApiUtil -> SiteToSiteResource: POST /site-to-site/input-ports/{portId}/transactions/{transactionId-1} HttpClient <-- HttpClientTransaction A_component <-- HttpClient: Transaction 'comment: receive alt while there is data packet to send A_component -> HttpClientTransaction: send HttpClientTransaction -> SiteToSiteResource: writes data to outputstream HttpClientTransaction -> HttpClientTransaction: state = DATA_EXCHANGED A_component <-- HttpClientTransaction end 'comment: confirm A_component -> HttpClientTransaction: confirm HttpClientTransaction -> SiteToSiteRestApiUtil: finishTransferFlowFiles SiteToSiteRestApiUtil <-- SiteToSiteResource: 201 Created: transactionId-2, serverChecksum HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_CONFIRMED A_component <-- HttpClientTransaction 'comment: complete A_component -> HttpClientTransaction: complete HttpClientTransaction -> SiteToSiteRestApiUtil: commitTransferFlowFiles SiteToSiteRestApiUtil -> SiteToSiteResource: DELETE /site-to-site/input-ports/{portId}/transactions/{transactionId-2} SiteToSiteRestApiUtil <-- SiteToSiteResource: 200 OK HttpClientTransaction <-- SiteToSiteRestApiUtil HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_COMPLETED A_component <-- HttpClientTransaction |
...
PlantUML |
---|
actor A_component actor HttpClient actor HttpClientTransaction actor SiteToSiteRestApiUtil actor SiteToSiteResource ' comment: initialize A_component -> HttpClient: createTransaction HttpClient -> SiteToSiteRestApiUtil: initiateTransaction SiteToSiteRestApiUtil -> SiteToSiteResource: POST /site-to-site/output-ports/{portId}/transactions SiteToSiteRestApiUtil <-- SiteToSiteResource: transactionUrl-1, transactionProtocolVersion HttpClient <-- SiteToSiteRestApiUtil HttpClient -> HttpClientTransaction: new HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_STARTED HttpClientTransaction -> SiteToSiteRestApiUtil: openConnectionForReceive SiteToSiteRestApiUtil -> SiteToSiteResource: GET /site-to-site/output-ports/{portId}/transactions/{transactionId-1} SiteToSiteRestApiUtil <-- SiteToSiteResource: 201 Created: transactionUrl-2 HttpClientTransaction <-- SiteToSiteRestApiUtil HttpClient <-- HttpClientTransaction A_component <-- HttpClient: Transaction 'comment: receive alt while there is data packet to receive A_component -> HttpClientTransaction: receive HttpClientTransaction <-- SiteToSiteResource: read from inputstream HttpClientTransaction -> HttpClientTransaction: state = DATA_EXCHANGED A_component <-- HttpClientTransaction: data packet end 'comment: confirm A_component -> HttpClientTransaction: confirm HttpClientTransaction -> SiteToSiteRestApiUtil: commitReceivingFlowFiles(checksum) SiteToSiteRestApiUtil -> SiteToSiteResource: DELETE /site-to-site/output-ports/{portId}/transactions/{transactionId-2} SiteToSiteRestApiUtil <-- SiteToSiteResource: 200 OK HttpClientTransaction <-- SiteToSiteRestApiUtil HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_CONFIRMED A_component <-- HttpClientTransaction 'comment: complete A_component -> HttpClientTransaction: complete HttpClientTransaction -> HttpClientTransaction: state = TRANSACTION_COMPLETED A_component <-- HttpClientTransaction |
Anchor scenarios scenarios
scenarios | |
scenarios |
REST interactions and scenarios
input-ports/
Scenario Type | {portId}/transactions | {portId}/transactions/{transactionId} | {portId}/transactions/{transactionId} |
---|---|---|---|
Transaction Initiation Failure |
| N/A | N/A |
Normal Case |
|
|
|
Normal Case - Destination becomes full | (after above interactions) | (after above interactions) | (branched from above interactions)
|
BAD_CHECKSUM | (after above interactions) | (after above interactions) |
|
Cancel transaction | (after above interactions) | (after above interactions) |
|
Defunct transaction | (after above interactions) | (after above interactions) |
|
Expired transaction | (after above interactions) | (after above interactions) |
|
Transaction Initiation Failure | (after above interactions) | (after above interactions) |
|
Defunct transaction | (after above interactions) |
| N/A |
Expired transaction | (after above interactions) |
| N/A |
Transaction Initiation Failure | (after above interactions) |
| N/A |
...