30 likes | 165 Views
Application Repository. Example repository interface using URL as an identifier. (1) The repository should expose a list of protocols supported as a resource property. SwA*, file, http, https, ftp, gridftp, …. <s12:Envelope> .... <s12:Body> <ari:GetContents>
E N D
Application Repository Example repository interface using URL as an identifier. (1) The repository should expose a list of protocols supported as a resource property. SwA*, file, http, https, ftp, gridftp, … <s12:Envelope> .... <s12:Body> <ari:GetContents> <ari:protocol>http</ari:protocol> <ari:contentType>aaf:DD</ari:contentType> </ari:GetContents> </s12:Body> </s12:Envelope> (2) The client specifies a preferred one from the list as a parameter in GetContents * SwA = Soap with Attachment Client <s12:Envelope> .... <s12:Body> <ari:GetContentsResponse> <ari:contentRef> <ari:url>http://example.org/XX/DD</ari:url> </ari:contentRef> </ari:GetContentsResponse> </s12:Body> </s12:Envelope> (3) The repository returns an uri that fits to the specified protocol. NOTE: These message schema are tentative. “ari” stands for Application Repository Interface. (4) The client resolves the reference (i.e. get actual contents) from the uri. This procedure depends on each protocol used and remains unspecified in ACS. ACS data transport discussion
In case of using HTTP as transport protocol ... Client Component Archive Repository Http Server GetResourceProperty(AAEPR, supported_protocols) supported_protocols = SwA, http, ftp, gridftp, ... any interaction ? GetContents(AAEPR, protocol = 'http', key = 'aaf:DD') uri = http://example.org/XXX/DD security token = ???? http request (GET /XXX/DD HTTP/1.1) DD file NOTE: Archive Repository and Http Server may run either on the same node or separate nodes. NOTE: The first step (inquiry for supported protocols) may be performed just once. ACS data transport discussion
In case of using SwA as transport protocol ... Client Component Archive Repository GetResourceProperty(AAEPR, supported_protocols) supported_protocols = SwA, http, ftp, gridftp, ... GetContents(AAEPR, protocol = 'SwA', key = 'aaf:DD') base64 encoded data The real data is included in the response message. ACS data transport discussion