Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • L ls.ext
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • digibib
  • ls.ext
  • Wiki
  • deichman stack

Last edited by Benjamin Jan 25, 2018
Page history

deichman stack

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
Clone repository
  • Backup & restore
  • Catalinker
  • Development Patron client
  • Development Services
  • Documentation todo
  • HTTP flows
  • Home
  • JSON LD PATCH
  • Ontology
  • Patron Client todo
  • System component interfaces ports
  • System components overview
  • deichman stack