Tech Blog

Establishing Communication Protocol Between ASRS and Alma

A vital part of ASRS-Alma integration is establishing a proper communication protocol for the two systems. We at NTU(National Taiwan University) Library worked closely with Nippon Filing, our ASRS supplier, to develop an API to work in conjunction with Alma/Dematic APIs and establish the protocol to ensure all messages from ASRS and Alma are successfully delivered and understood by both systems.

Below are some of our configurations and logistics of the process:

Communication Process Overview

  • Communications are done via TCP/IP Sockets
  • Alma utilizes single port while ASRS utilizes two ports for communication
  • Requests are processed one at a time
  • Each action has its own associated command code that are converted through the API
  • Transaction response (TR) for every action to report the success/failure of each message delivery
  • Stunnel (SSL) is used to bridge the connection

How it works:

PR Request

  • Alma submits pick request
  • API returns TR
  • API sends retrieval command to ASRS
  • Return RF message to Alma
PR Retrieval

  • Confirm item status
  • Submits retrieval request if the item is retrievable
  • ASRS returns the retrieval result
  • API processes the retrieval result, sends to Alma
IA Add/Edit

  • Alma sends HM to API after add/edit job is performed
  • API receives HM, returns TR
  • Alma sends IA
  • API returns add/edit result back to Alma
IA Add/Edit

  • Submits add/edit command
  • No inventory on record -> perform Add
  • Inventory on record -> perform Edit
  • ASRS returns add/edit result to API
  • API processes add/edit result, sends to Alma

In general, our patrons place the request through Alma which then passes the message using APIs to ASRS for retrieval. Patrons will then be notified when their material is ready to be picked-up at the circulation desk.


Pick Request(PR) Process

Inventory Add(IA) Process

Stunnel Configuration

Challenges we had to overcome

  • Collaborating with suppliers to resolve potential technical issues, essential but can be time-consuming
  • Chinese locale conversion between two systems
  • Understanding the differences and capabilities of APIs and systems (not everything is documented)
  • Ensuring data integrity while handling large number of requests

One Reply to “Establishing Communication Protocol Between ASRS and Alma”

Leave a Reply