Child pages
  • Simple Use of GetFileIDs with Result in Complete Message
Skip to end of metadata
Go to start of metadata

In the simple user story, we use the Identify Primitive to identify pillars; we use the GetFileIDs Primitive to request the FileIDs from the pillar with the shortest TimeToDeliver; we return the FileIDs in the Complete message; there are no error messages or alarms.

In the Use of GetFileIDs by Integrity Client user story the Integrity Client requests FileIDs from all pillars in an collection; it requests FileIDs results via File Exchange; and it includes an error message and an alarm.

In this simple user story we follow the Get File pattern closely. We have the following steps:

  • Identify pillars request from GetFileIDs Client to pillars in collection.
  • Identify pillars response from pillars to Client via destination specified in request
  • GetFileIDs request from Client to Pillar with shortest TimeToDeliver via destination specified in identify pillars response
  • GetFileIDsResponse from Pillar to Client via queue specified in request
  • GetFileIDsComplete with ResultingFileIDs from Pillar to Client via queue specified in request

The scenario corresponds to the simple test in GetFileIDsClientTest.java.

The simple test uses the same queue for all communication at the moment (2011-04-14)

The scenario uses the following messages using the message formats specified in our bitrepository-message-xml xsd's.

IdentifyPillarsForGetFileIDsRequest via General Topic

<bro:IdentifyPillarsForGetFileIDsRequest
        version="1" minVersion="1" xmlns:bro='http://bitrepository.org/BitRepositoryMessages.xsd'
        xmlns="http://bitrepository.org/BitRepositoryElements.xsd">
  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>GetFileIDsClientQueue</ReplyTo>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
</bro:IdentifyPillarsForGetFileIDsRequest>

IdentifyPillarsForGetFileIDsResponse From Pillar1 via GetFileIDsClientQueue

<bro:IdentifyPillarsForGetFileIDsResponse
        version="1" minVersion="1" xmlns:bro='http://bitrepository.org/BitRepositoryMessages.xsd'
        xmlns="http://bitrepository.org/BitRepositoryElements.xsd">
  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>Pillar1Queue</ReplyTo>
  <PillarID>Pillar1</PillarID>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
  <TimeToDeliver>
    <TimeMeasureUnit>MILLISECONDS</TimeMeasureUnit>
    <TimeMeasureValue>1000</TimeMeasureValue>
  </TimeToDeliver>
</bro:IdentifyPillarsForGetFileIDsResponse>

IdentifyPillarsForGetFileIDsResponse From Pillar2 via GetFileIDsClientQueue

<bro:IdentifyPillarsForGetFileIDsResponse
        version="1" minVersion="1" xmlns:bro='http://bitrepository.org/BitRepositoryMessages.xsd'
        xmlns="http://bitrepository.org/BitRepositoryElements.xsd">
  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>Pillar2Queue</ReplyTo>
  <PillarID>Pillar2</PillarID>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
  <TimeToDeliver>
    <TimeMeasureUnit>HOURS</TimeMeasureUnit>
    <TimeMeasureValue>24</TimeMeasureValue>
  </TimeToDeliver>
</bro:IdentifyPillarsForGetFileIDsResponse>

GetFileIDsRequest via Pillar1Queue

<bro:GetFileIDsRequest version="1" minVersion="1" xmlns:bro='http://bitrepository.org/BitRepositoryMessages.xsd'
                       xmlns="http://bitrepository.org/BitRepositoryElements.xsd">
  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>GetFileIDsClientQueue</ReplyTo>
  <PillarID>Pillar1</PillarID>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
</bro:GetFileIDsRequest>

GetFileIDsResponse From Pillar1 via GetFileIDsClientQueue

  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>Pillar1Queue</ReplyTo>
  <PillarID>Pillar1</PillarID>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
  <ResponseInfo>
    <ResponseCode>460</ResponseCode>
    <ResponseText>Message request has been received and is expected to be met successfully</ResponseText>
  </ResponseInfo>

GetFileIDsComplete From Pillar1 via GetFileIDsClientQueue

<bro:GetFileIDsComplete version="1" minVersion="1"  xmlns:bro='http://bitrepository.org/BitRepositoryMessages.xsd'
                        xmlns="http://bitrepository.org/BitRepositoryElements.xsd">
  <CorrelationID>CorrIDsimpleGetFileIDs</CorrelationID>
  <SlaID>SlaID321</SlaID>
  <ReplyTo>Pillar1Queue</ReplyTo>
  <PillarID>Pillar1</PillarID>
  <FileIDs>
    <FileID>ID1</FileID>
    <FileID>ID2</FileID>
  </FileIDs>
  <CompleteInfo>
    <CompleteCode>480</CompleteCode>
    <CompleteText>successful completion</CompleteText>
  </CompleteInfo>
  <ResultingFileIDs>
    <FileIDsData>
      <NoOfItems>2</NoOfItems>
    <FileIDsDataItems>
      <FileIDsDataItem>
        <FileID>ID1</FileID>
        <CalculationTimestamp>2011-02-17T09:47:00</CalculationTimestamp>
      </FileIDsDataItem>
      <FileIDsDataItem>
        <FileID>ID2</FileID>
        <CalculationTimestamp>2011-02-17T09:47:00</CalculationTimestamp>
      </FileIDsDataItem>
    </FileIDsDataItems>
  </FileIDsData>
  </ResultingFileIDs>
</bro:GetFileIDsComplete>
  • No labels