...
- Docker
- SCSB
- SCSB-UI
- SCSB-CIRC
- SCSB-SOLR-CLIENT
- SCSB-ETL
- SCSB-CAS
- SCSB-BATCH-SCHEDULER
- SCSB-SHIRO
- CUCUMBER-AUTOMATION
DOCKER
GitHub Link - 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.
...
Code Block | ||||
---|---|---|---|---|
| ||||
docker run --name {container-name} -v /path-to-local-directory:/path-to-container-directory -p {localhost port}:{container port} -d {image-name} |
The images available under this Docker repository are :
1.scsb-base
2.scsb-mysql
3.scsb-solr-base
4.scsb-solr-server
5.scsb-cas
6.scsb-activemq-base
7.scsb-activemq
8.scsb-zookeeper-base
9.scsb-zookeeper
10.scsb
11.scsb-solr-client
12.scsb-circ
13.scsb-etl
14.scsb-shiro
15.scsb-ui
16.scsb-batch-scheduler
17.jenkins
18.scsb-javadocs
scsb-log4j
scsb-persistence -- This is no longer used.
SCSB
GitHub Link -
...
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 service :
Code Block | ||||
---|---|---|---|---|
| ||||
cd /docker/scsb/ |
...
Code Block | ||||
---|---|---|---|---|
| ||||
docker run --name scsb -v /data:/recap-vol -p 9093:9093 -d scsb |
API's are exposed through Swagger User Interface
The exposed API's are documented in the confluence : Restful Web Services
SCSB-UI
GitHub Link - 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.UI
The SCSB UI project houses the source code relevant to the Graphical User Interface (GUI) of SCSB. The SCSB UI was built with Spring Thymeleaf and other JavaScript frameworks to ensure seamless integration with the other SCSB components. The GUI is accessible to staff in the warehouse and library after successfully authenticating through their institutional credentials. The users are authorized as per their roles and allowed access to the different modules of the application, viz. Search Items, Collection Maintenance, Request Creation, Report Generation, User Management and Schedule Batch Jobs.
The functionalities provided are documented in the confluence under User Guide :
SCSB-CIRC
GitHub Link - 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... (in progress), 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.
All the major functionalities are documented in the Confluence.
SCSB-SOLR-CLIENT
GitHub Link - 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, Accession Batch, Matching - Algorithm, Transfer -APIHoldings and Items, Deaccession-Services Deaccession, Solr Indexing Guide, Generation reports.
The major functionalities are documented in the Confluence.
SCSB-ETL
GitHub Link - 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.
The documentation for ETL guide using User Interface can be found in ETL Guide.
The documentation for the exposed API's can be found in Export Data Dump (through API), Export Data Dump , Export Data Dump (with To date).
SCSB-CAS
GitHub Link - 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
GitHub Link - 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.
The documentation for using batch scheduler in the User Interface is documented here Scheduled Batch Jobs.
SCSB-SHIRO
GitHub Link - 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.
The SCSB Shiro project contains code and dependencies that is required by the Apache Shiro framework. Apache Shiro is an open source software security framework that performs authentication, authorization and session management. This is implemented as a micro-service so that all security related aspects are modular and kept independent of the application. SCSB Shiro ensures authenticating an user, authorizing them with access for the various functionalities and maintaining the user session.
CUCUMBER-AUTOMATION
GitHub Link - 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.
...