You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

This is an initial list of use cases for discussion and possible consideration as part of the design and requirements gathering process for the API extension architecture.  Please edit this page to add additional use cases relevant to your institution, along with a brief description

  1. Sharing & Deploying
    1. Deploying extensions to one's own repository
      1. Simple configuration-based approach which associates a URI pattern on compliant resources with the URI of some existing backend web service, effectively acting like a reverse proxy
      2. Provide a JAX-RS class which implements an extension.
      3. Provide camel route(s) which implement an extension, or filter the representation of a resources exposed by the extension framework.
      4. Run extensions in an instance of Karaf (or cluster of karaf instances), separate from the repository
      5. Hot deploy or re-configure an extension
    2. Authoring API extensions for others to use
  2. Service Discovery & Linking
    1. Listing URIs of services available on a given object
  3. Asynchronous services or workflows
    1. Ingesting a package of objects
    2. Preparing and shipping a package of objects to some other storage (e.g. APTrust, DPN, Amazon Glacier, etc.)
  4. Constraint enforcement & reporting
    1. Validation with respect to a model as a prerequisite to successful write operations
    2. Validation reports
  5. Domain Models & APIs
    1. Complex/multi-part objects
    2. IIIF
  6. Transformation & Representations
    1. Return a representation that uses information from a graph of objects
    2. Return a representation that is stable regardless of changes in the underlying object or objects
    3. Return a representation that is created using a model of the essential characteristics of one or a graph of objects
    4. Return an emulation of the data and behavior of an object or graph of objects
  7. External access control
  • No labels