Part III. Individual Evergreen Components

Table of Contents

8. Easing gently into OpenSRF
Introducing OpenSRF
Programming language support
OpenSRF communication flows over XMPP
OpenSRF communication flows over HTTP
Stateless and stateful connections
Enough jibber-jabber: writing an OpenSRF service
Registering a service with the OpenSRF configuration files
Calling an OpenSRF method
Accepting and returning more interesting data types
Accepting and returning Evergreen objects
Returning streaming results
Error! Warning! Info! Debug!
Caching results: one secret of scalability
Initializing the service and its children: child labour
Retrieving configuration settings
Getting under the covers with OpenSRF
Get on the messaging bus - safely
Message body format
Registering OpenSRF methods in depth
Evergreen-specific OpenSRF services
Evergreen after one year: reflections on OpenSRF
Strengths of OpenSRF
Appendix: Python client
9. Support Scripts
marc_export: Exporting Bibliographic Records into MARC files
Importing Authority Records from Command Line
Juvenile-to-adult batch script
MARC Stream Importer
Processing Action Triggers
10. Daemons and services
Starting and Stopping the Reporter Daemon
Starting the Reporter Daemon
Stopping the Reporter Daemon
ebook_api service
hold-targeter service
QStore service
11. Developing with pgTAP tests
Setting up pgTAP on your development server
Running pgTAP tests