Ready to Learn?Ex Libris products all provide open APIs

Dematic Automated Storage Retrieval System (ASRS)

An Automated Storage and Retrieval System (ASRS) is a system for storing library resources using special cost-effective storing techniques, and based on an automated system which is used whenever a resource needs to be retrieved from the storage. The ASRS utilizes an automated retrieval machine and a special integrated software control system to provide fully automated, high density media archiving.
The Automated Remote Storage must be notified each time items are added or removed from the remote storage.
Alma sends messages to the remote storage (TCP/IP based) so that the ASRS can update its own database of inventory stored in the remote storage.
 
To request an item in the ARS, a patron will simply use Alma’s and Primo’s requesting interfaces. Alma will automatically request items held by the ARS. In most instances, the item will be waiting for the patron at the designated circulation desk within the time it takes the patron to walk to the desk.

Returned items are collected at a library check-in location. Alma will determine if the items should be sent back to the shelves or returned to the Automated Remote Storage. Items to be returned to the ARS have their barcodes scanned at ARS workstations and the correct bin is automatically positioned in front of the operator for placement of the item in the bin. The bin is then automatically returned to its position in the ARS.
 

Events Table

Triggering Event and Event LocationInitiating ApplicationService InitiatedResponding ApplicationMessage Constraints
An item is added or updated in AlmaAlma

IA
(Inventory Added)

ASRSThe Dematic system attempts to add the item to its database or updates an existing item.
An item barcode is deleted from Alma or existing item is removed from the ARS collection.AlmaID (Inventory Delete)ASRSThe Dematic system attempts to remove the item from its database.

A title is requested by staff user via Alma screen or by patron via Primo

AlmaPR (Pick Request)ASRSThe Dematic system identifies the requested item by barcode and moves the robotic arm to retrieve the item from a compact storage bin. The item will be physically sent to the required location.
The Dematic system sends response to Alma RF (Request Filled).
In case where RF status code message is a failure. The hold request in Alma is deleted and a delete notice is produced to the patron.

An item is returned to ASRS.

ASRSIR (Item Returned)AlmaAlma updates the status of the item and its location.
 
A Transaction Response (TR) “handshaking” mechanism will be used to guarantee correct reporting as to the success or failure on the delivery of a message across the TCP full-duplex stream. The Transaction Response contains the transaction number of the message received. The sending system can then match the transaction number in the response with the sent message.

A Heart Beat (HM) message is sent by Alma prior to beginning processing the "Inventory Remote Storage Update Job" to verify that ASRS side is still active and alive. The expected response to the HM message is a TR message.

 

The following table describes the fields which are relevant for each service:

MessageFieldData TypeDescription
Inventory Add (IA)Message IDString (2)IA
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Item barcodeNumber (14)The requested item's barcode
 Call numberString (50)The requested item's call number.
 AuthorString (35)The requested item's author.
 TitleString (35)The requested item's title.
Inventory Delete (ID)Message IDString (2)ID
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Item barcodeNumber (14)The requested item's barcode
Pick Request (PR)Message IDString (2)PR
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Item barcodeNumber (14)The requested item's barcode
 Pickup locationString (6)The pickup location for which the item should be transferred from the remote storage
 Priority flagString (1)Y/N indication if the request is rush
 Call numberString (50)The requested item's call number
 AuthorString (35)The requested item's call author
 TitleString (35)The requested item's title
Request Filled (RF)Message IDString (2)RF
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Item barcodeNumber (14)The requested item's barcode
 StatusNumber (3)000 - request completion (no errors)
001-016, 999 - error occured
 Pickup locationString (6)As received in the PR message
Item Returned (IR)Message IDString (2)IR
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Item barcodeNumber (14)The requested item's barcode
 StatusNumber (3)Always 000
Transaction Response (TR)Message IDString (2)TR
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.
 Error CodeNumber (3)000 - No error
0001 - Wrong message type
Heart Beat (HM)Message IDString (2)HM
 Sequence NumberNumber (5)A unique message identifier number
 Date/time(ccyyddmmhhmmss)The Date and time of the message sending.

 

Required configuration in ASRS

The traffic between Alma and ASRS must be secured using an open source SSL encryption wrapper called Stunnel. Stunnel is a lightweight component installed locally on standard operating systems. This component creates a secure "tunnel" communication with Alma and also serves as a means to uniquely identify each institution.
The communication flow is as follows:
  • The ASRS local machines communicate with Stunnel software that is installed on the local Windows/Linux workstation.
  • The Stunnel encryption component encrypts the communication using a standard encryption method and a security certificate and sends the messages to the Alma cloud .
 
The following diagram describes this architecture:

See Stunnel Overview.

In order to allow communication using Stunnel, , the following should be done:

  1. Install Stunnel - see here for more information.
  2. Edit the Stunnel configuration, as follows:
  • Navigate to Stunnel Configuration > Edit Configuration. The configuration page opens.

  • Configure the parameters as depicted in the image above:

[Alma Outgoing- from Dematic ASRS to Alma section]

key = client.pem //File name for the certificate

cert = client.pem

client = yes

 accept = localhost:XXXX // Stunnel machine - receive messages from localhost in XXXX

connect = <Alma domain>:6443 //sends the message to Alma in 6443

TIMEOUTclose = 2

TIMEOUTconnect = 200 

[Alma Incoming- From Alma to Dematic ASRS section]

key = client.pem

cert = client.pem

client = no

accept =localhost:YYYY // Stunnel machine- same port in Integration Profile

connect = :ZZZZ //Dematic ASRS server

TIMEOUTclose = 2

TIMEOUTconnect = 200

In the above examples, customize the XXXX, YYYY, and ZZZZ ports, as follows:

  • XXXX: The port to which the Dematic ASRS system sends its messages (Stunnel is listening on this port)
  • YYYY: The local port that receives messages from Alma
  • ZZZZ: The local port that receives messages in the ASRS system

Note: The YYYY port must be open on the library's firewall.

  1. Download the certificate from the Alma's integration profile page.
  2. Reload the certificate to Stunnel.
  3. Reload Stunnel configuration by selecting Configuration > Reload Configuration on the Stunnel menu. If configuration is successful, the Configuration successful message displays in the Stunnel log.

See troubleshooting of Stunnel communication.

Note: When upgrading from Voyager to Alma, an upgrade of the Dematics software may be required. Please consult Dematic whether an upgrade is required for Alma interoperability.

Required configuration in Alma

In addition to the remote storage location, it is required to configure an external integration profile of “remote storage” type:

  • Integration type: Dematic ASRS
  • The host and port to which Alma should send the messages should be configured.

The Remote Storage Facility should be connected to the integration profile:

For more information regarding the required setup in Alma, refer to Alma Online Help.