For the OR 2016 Demo, the development team was able to demonstrate the proof of concept of an asynchronous storage proxy and storage proxy client. This was done by building the storage proxy functionality in a simple Rails application, and then building a thin client library within the HydraDAM application to interact with it.
From the client's point of view, the process is simple:
- Use the API to get status of a file in the cache
- Use the API to create a job to stage a file or run a fixity check on a file
- Keep using the API to get the status of the file
- Use the API to get the desired details (i.e download url or fixity info)
- Optionally, use the API to "unstage" and reset a file's status
This "mock" storage proxy is still deployed on the HydraDAM shared server at: http://helium.dlib.indiana.edu:3001/storage_api . The available interactions and their responses are documented below.
Get status and detail for a named file in the cache
List all files and their status in the cache called 'SDADisk'
Post a job to mimic staging of file in the store to the cache, then view changed status
Post a job to mimic unstaging of file from the cache, then view changed status