aleph restful apis ori miller june 2012
DESCRIPTION
Table of contents Content Introduction EL Commons and the APIs Functions vs. resources JBoss and jlog Retrieval of record item Bibliographic information Retrieval of patron information Retrieval of circulation actions Unlike our competitors, we did not release a new revolutionized system every few years but rather took the evolutionary approachTRANSCRIPT
Aleph Restful APIs
Ori Miller
June 2012
2
Table of contents
Content
IntroductionEL Commons and the APIsFunctions vs. resourcesJBoss and jlog
Retrieval of record itemBibliographic information Retrieval of patron informationRetrieval of circulation actions
3
Introduction• What is an API (Application Programming Interface)?
URL HTML
RESTful URL XML
4
Introduction
5
Introduction
6
Introduction
The nice thing is that this URL can be sent from any software, not only Primo.Such as VuFind, or even your local institution web-site.
http://yezreelac.exlibris.co.il:1891/rest-dlf/patron/111111165/patronInformation/address
7
Introduction• To see a full list of the Aleph Restful APIs:
http://www.exlibrisgroup.org/display/AlephOI/RESTful+APIs• An introduction to the Aleph Restful APIs (including
JBoss configuration) may be found at:http://www.exlibrisgroup.org/display/AlephOI/*Introduction+to+Aleph+RESTful+API
8
Introduction• This presentation will not attempt to restate what is
already in the previously mentioned documents.• It will instead show actual examples via standard
URL, with a stress on the Restful API syntax.• The presentation is designed to be an accompaniment
to a real live lecture.
9
Documentation Via EL Commons• Begin with the EL Commons CodeShare
10
Via EL Commons• One way to arrive to information about the
RESTful APIs is to choose Aleph > Open Interfaces from within CodeShare
11
Functions and Resources• From wikipedia:
See also: http://tomayko.com/writings/rest-to-my-wife
12
Functions and Resources• We don’t need documentation. Only the URL:• http://yezreelac.exlibris.co.il:1891/rest-dlf/
• For POST / PUT / DELETE:• http://yezreelac.exlibris.co.il:1891/rest_test/test_rest.html
13
Functions and Resources• The list of RESTful APIs contains both “functions” and
“resources”. • In general, verbs are “functions” and nouns are “resources”.
Thus:• “bookings” is a “resource” and has a corresponding URL: • http://il-aleph07:1893/rest-dlf/patron/00000036/circulationA
ctions/requests/bookings• “holds” is a “resource” and has a corresponding URL: • http://il-aleph07:1893/rest-dlf/patron/00000036/circulationA
ctions/requests/holds
• “Renew Loan” is a function. • It is activates, for example, when a patron renews his loans
from Primo
14
JBoss and jlogFor the APIs to work, the JBoss must be running.There is information regarding JBoss configuration on EL commons at http://www.exlibrisgroup.org/display/AlephOI/*Introduction+to+Aleph+RESTful+APIAnd: How to Configure JBoss in Aleph.pdf (including: how to accept requests from specific IP address, and how to compress the XML)
The JBoss log files are in the jlog directory.
See KB 33999 if you the log disappeared after SP 20.2.6
aleph(a20_1)> alias jlog
cd $aleph_dev/ng/aleph/home/system/thirdparty/openserver/server/default/log
15
Record items• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record
/USM01000052405/items• This URL shows the items related to a particular record
16
Record items• If we remove the /items at the end of the URL … • http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record
/USM01000052405/items• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record
/USM01000052405• Then we get a list of the possible additional URLs which may
be used for the API.• In this case the possibilities are “items” and “holdings” (as
we see in the next slide)
17
Record items
Possibilities to use with the “record” parameter
18
Bibliographic information• If we remove use the ?view=full option then we can see the
record in xml format• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/record
/USM01000052405?view=full
19
patron patronInformation address• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/31397
2002/patronInformation/address• This URL shows the address of the patron
20
patron
• If the URL is changed so that only “patron” and the “patron ID appear” (patronInformation is removed) …
• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/patronInformation/address
• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/
• Then a list of all possible options to use with “patron” will appear (as we see on the next slide)
21
patron
We see here four possible options which may be used with “patron”
22
patron
• Each of the four options on the previous slide also may have additional options.
• For example the third option http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/patronStatus/ gives two additional options: blocks and registration
Option one
Option two
23
Patron patronStatus blocks• Here we are using patron, patronStatus and Blocks
24
circulationActions cash• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/31397
2002/circulationActions/cash?institution=USM50• This URL shows cash transactions of the patron
25
circulationActions cash• Note that the results also include a link to each
specific cash transaction
26
circulationActions
• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/circulationActions/cash?institution=USM50
• http://il-aleph07.corp.exlibrisgroup.com:1893/rest-dlf/patron/313972002/circulationActions?institution=USM50
• If we remove the /cash from the URL …
• Then we will get a list of links to the possible options which may be used with circulationActions
27
Options with circulationActions
Links to the three options which may be used with circulationActions
POST, PUT and DELETELimit to IP and gzip
28
Thank [email protected]