Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Clarifies the constraints placed on possible solutions

...

Beyond the general constraints on architectural decisions (listed above), I've imposed the following constraints to limit the option space:

  • No changes to the current user experience
  • No changes to the current circulation (or associated) domain models
  • No changes to the check out process
  • No changes to the client interface of the circulation APIs
    • excludes using hypermedia controls to defer fetching some data
  • Only existing infrastructure can be used (I'm including Kafka in this, even though it isn't official yet)
    • excludes options which including changing the storage technology e.g. MongoDB or integration mechanism e.g. gRPC

This means that there are a set of potentially interesting options are not presented here. These include (but not limited to):

  • Changing the circulation and domain models to have separate definitions of an item
  • Changing the check out process to consider batches of items being checked out to the same patron
  • Changing the check out user experience to allow multiple items to be submitted for check out prior to feedback on any being given

Acknowledgements to Vince Bareau for providing some of these suggestions.

Analysis

Limitations of Analysis

...