Main Services Overview:
Summary:
Technologies used
- Frontend:
- perl (Koha)
- javascript (Patron-client, Catalinker)
- Backend:
- nodejs (Patron-client, Catalinker)
- golang (rfidhub, sip-proxy, koha-indexer)
- perl (Koha REST api)
- Services:
- java (services, elasticsearch, fuseki)
- golang
- ruby (testing)
Front-end
Koha
Koha is an open source, community driven Integrated Library System Deichman uses this mainly for circulation of items and bookeeping item and patron data, as well as statistics on circulation. It is maintained as a "fork" from community edition with a bunch of local patches on top.
Responsibilities:
- circulation
- patron and staff users
- items
- fees
- statistics
- sip
- ncip
Description:
Koha is an open source, community driven Integrated Library System
Deichman uses this mainly for circulation of items and bookeeping item and
patron data, as well as statistics on circulation.
It is maintained as a "fork" from community edition with a bunch of local
patches on top
Technologies:
- perl
- mysql
- docker
Ports:
- 8081 (koha intra)
- 6001 (SIP)
- 6009 (NCIP)
Docker:
Image: digibib/koha:<gitref>
Volumes:
- koha_mysql_data
- koha_index (local bibliographic index)
- koha_state (reports, etc.)
Sources:
- https://gitlab.deichman.no/digibib/koha
- https://gitlab.deichman.no/digibib/koha-docker
Patron-Client
A WebApp driving the Personal profile page for patrons, and a frontend for the search in our catalogue, and for placing and managing holds and loans.
Responsibilities:
- patron profile
- search
- reservation
Description:
A WebApp driving the Personal profile page for patrons, and a frontend for the
search in our catalogue, and for placing and managing holds and loans.
Technologies:
- nodejs
- reactjs
- docker
Ports:
- 8000
Docker:
Image: digibib/patron-client:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/ls.ext/redef/patron-client
Catalinker
The metadata production WebApp for maintaining and producing new work and publication records in the RDF format. Connects to various sources (through services) to collect information on items.
Responsibilities:
- metadata production
Description:
The metadata production WebApp
Technologies:
- nodejs (backend)
- ractivejs (frontend)
- docker
Ports:
- 8010
Docker:
Image: digibib/catalinker:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/ls.ext/redef/catalinker
Backend services (Inhouse made)
These are services built and maintained by Deichman for various needs. Preferred technologies are decided by actual need.
Services
A metadata transformation and extraction service, serving as an api between Catalinker - the frontend for metadata editing, and Fuseki - the RDF triplestore and the ES search engine
Responsibilities:
- metadata
- search indexing
Description:
A metadata transformation and extraction service, serving as an api between
Catalinker - the frontend for metadata editing, and Fuseki - the RDF triplestore
and the ES search engine
Technologies:
- java
- docker
Ports:
- 8005
Docker:
Image: digibib/services:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/ls.ext/redef/services
Rfidhub
Responsibilities:
- RFID and SIP integration
- interaction with staff interface
Description:
A relaying service for managing the communication between the Self Checkout
machines (using SIP for transaction) and the staff interface PCs with RFID
reader and writers (using websockets) and Koha circulation
Technologies:
- go
- websockets
- docker
Ports:
- 6006
- 8899 (api)
Docker:
Image: digibib/rfidhub2:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/rfidhub2
Sip_proxy
A transformation and relay service for SIP transactions. Mainly used to fix shortcomings in the protocol and communication, as well as a "session" which the protocol doesn't support.
Responsibilities:
- SIP relaying
- translation of messages
Description:
A transformation and relay service for SIP transactions. Mainly used to fix
shortcomings in the protocol and communication, as well as a "session" which
the protocol doesn't support
Technologies:
- go
- docker
Ports:
- 6002
Docker:
Image: digibib/sip2proxy:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/sip2proxy
Koha_indexer
Responsibilities:
- indexing items and availability
Technologies:
- go
- docker
Ports:
- 8009
Volumes:
- koha_state
Sms_proxy
Responsibilities:
- SMS message relaying
Technologies:
- go
- docker
Docker:
Image: digibib/proximity:<gitref>
Sources:
- https://gitlab.deichman.no/digibib/proximity
Intermediate Services (Open source)
Elasticsearch
Responsibilities:
- search index
Technologies:
- java
- docker
Ports:
- 9200
Volumes:
- elasticsearch_data
Docker:
Image: digibib/elasticsearch:<gitref>
Fuseki
Responsibilities:
- metadata store
Technologies:
- java
- rdf/sparql
- docker
Ports:
- 3030
Volumes:
- fuseki_data
TESTING
Cuke_tests:
Responsibilities:
- integration testing
Technologies:
- ruby
- cucumber
- docker
Ports:
- 9200
Sources:
- https://gitlab.deichman.no/ls.ext/test