GITHub Descriptions for “Research Collections and Preservation Consortium (ReCAP)”
Repositories
- Docker
- SCSB
- SCSB-UI
- SCSB-CIRC
- SCSB-SOLR-CLIENT
- SCSB-ETL
- SCSB-CAS
- SCSB-BATCH-SCHEDULER
- SCSB-SHIRO
- CUCUMBER-AUTOMATION
DOCKER
Docker is an open-source software platform to create, deploy and manage virtualized application containers on a common operating system (OS). The SCSB application runs with docker containers running up and dependent on each other. Each container provides a micro-service project which are built as separate images. All the micro services which are used are given under respective modules.
To build and run each micro-service, a docker build and docker run command must be used.
docker build -t {image-name} . (current directory)
docker run --name {container-name} -v /path-to-local-directory:/path-to-container-directory -p {localhost port}:{container port} -d {image-name}
GitHub Link - Docker
SCSB
SCSB application acts as a micro-service which exposes the core functionality API’s used in the application.Each API call made in SCSB application reaches this micro-service application as a starting point and this micro-service decides which micro-service(scsb-circ,scsb-solr-client,scsb-etl,scsb-batch-scheduler) to be redirected to make the received request complete successfully.
To run this micro-service :
cd /docker/scsb/
docker build -t scsb .
docker run --name scsb -v /data:/recap-vol -p 9093:9093 -d scsb
SCSB-UI
SCSB-UI is a micro-service application which provides the User Interface for the application.The User Interface has a user login on successful authentication based on the user privileges the User Interface provides Search functionality,Request,Reports,Batch Jobs accessibility and User Management.
SCSB-CIRC
SCSB-CIRC is a micro-service application which provides the core functionalities for Request Scenarios.All the request received are handled and process in this application.Other major process handled are Submit Collection,Bulk Request Process,Accession Reconciliation process ,Status Reconciliation process,Daily Reconciliation process.All the SIP call to ILS and GFA call are made through this application.
SCSB-SOLR-CLIENT
SCSB-SOLR-CLIENT is a micro-service application which is mainly used for indexing data to Solr-server.This application’s major functionalities are Accession, Matching-Algorithm, Transfer-API, Deaccession-Services, Generation reports.
SCSB-ETL
SCSB-ETL is a micro-service application which provides the major functionality for loading data into the database and exporting data as Incremental,Full or Deleted data dumps.
SCSB-CAS
CAS:The Central Authentication Service (CAS) is a single sign-on protocol for the web. Its purpose is to permit a user to access multiple applications while providing their credentials (such as userid and password) only once. It also allows web applications to authenticate users without gaining access to a user's security credentials, such as a password. The name CAS also refers to a software package that implements this protocol.
SCSB-CAS is a micro-service application which acts as authentication for SCSB application from HTC endpoint.
SCSB-BATCH-SCHEDULER
Spring-batch-job : Spring Batch is a processing framework designed for robust and parallel execution of multiple job. It follows the standard batch architecture in which a job repository takes care of scheduling and interacting with the job
SCSB-BATCH-SCHEDULER is a micro-service application where all the batch jobs in SCSB application are configured and managed here.
SCSB-SHIRO
Apache Shiro : Apache Shiro is an open source software security framework that performs authentication, authorisation, cryptography and session management. Shiro has been designed to be an intuitive and easy-to-use framework while still providing robust security features.
SCSB-SHIRO is micro-service application which uses APACHE-SHIRO to provide authentication,authorisation, cryptography and session management. All the user’s authentication and authorisation are done here before they can enter the application.
CUCUMBER-AUTOMATION
CUCUMBER : Cucumber is a software tool used by computer programmers for testing other software.It runs automated acceptance tests written in a behaviour-driven development (BDD) style.Central to the Cucumber BDD approach is its plain language parser called Gherkin. It allows expected software behaviours to be specified in a logical language that customers can understand. As such, Cucumber allows the execution of feature documentation written in business-facing text.
CUCUMBER-AUTOMATION is a scsb-application where most of the functionalities in SCSB are automated and tested.