Design should contain:
- Database Schema to support "Rows generations" with "changeNo" and "timestamp"
- Database schema should contain tables to store Job definitions, Rules/Actions Definitions, Jobs, Raw data for MARC records, MARC Records, Staging area to store invalid sources and MARCs;
- Tables which store MARC records should store history for all MARC records. MARC records should not be deleted, instead of that those must be marked as deleted;
- There should be the ability (at the table level) to recognize and check conflicts for simultaneously working jobs.
- Service to implement CRUD
- REST endpoints for CUD
- REST endpoint for R