Page tree
Skip to end of metadata
Go to start of metadata

Title (Goal)

As a repository manager, I want to change which web service implements an API extension by pointing to a new address

Primary Actor

Repository Manager

Scope

 

Level

 

Author

Aaron Birkland

Story (A paragraph or two describing what happens)

My institution created a web service and configured the API Extension Architecture to direct requests from /path/to/object/viz:nifty to it. The implementing web service is running on one of our backend servers, at http://internal-net-12.example.org:8080/nifty-viz. We need to do some server maintenance on that machine, so we've put a new copy of the webapp up at http://internal-net-08.example.org/nifty-viz. We'd like to configure the API Extension architecture to direct requests to the new webapp instance, so we can take the old one down. Since this is a production system with lots of users, we do not want to have to re-start Fedora or the API Extension architecture. We would like to make a simple configuration change which causes the API Extension Architecture to immediately start sending requests to the new service instead of the old.

API Extension Architecture's role:

  • Route user's http requests from viz:nifty to a backend web service, and return its response
  • Provide a means for the repository manager to specify the address of the backend web service
  • Provide the ability to change the configuration of viz:nifty, and immediately enact those changes.

Web application's role:

  • Respond to requests directed from viz:nifty

Repository manager's role:

  • Deploy web applications
  • Specify the address of web application as configuration in the API Extension Architecture
  • Specify a new address of the web application to the API Extension Architecture by  configuration int the API Extension Architecture

Fedora's role:

  • Respond to requests from the web application, if any.