Good Fences Make Good Neighbors 1 Middleware for Aleph’s REST API Rich Wenger, E-resource Systems Manager MIT Libraries 1. Frost, Robert. “Mending Wall”

Slides:



Advertisements
Similar presentations
Introduction to Web Bill of Lading Q Proprietary and Confidential Copyright © 2005 INTTRA Inc. 2 Agenda Industry Challenges INTTRA Solution Value.
Advertisements

IS 6116 Introduction – 10 Jan Lecturer Details Aonghus Sugrue Website: aonghussugrue.wordpress.com
Datamax/MCL Off-Line License Activation Method
Virtual Trunk Protocol
Behzad Samin 0 An End-to-End Overview of a RESTful Web Service.
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 9 Using Perl for CGI Programming.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
An Overview of the Integration of the UCSF Dept. of Radiology Teaching File with MIRC Wyatt M. Tellis University of California San Francisco Departments.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
EVERY CONNECTION has a starting point. EVERY CONNECTION has a starting point. WorldCat Navigator - Authentication Library Hosted Navigator EZproxy and.
Overview Environment for Internet database connectivity
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Representational State Transfer (REST): Representing Information in Web 2.0 Applications this is the presentation Emilio F Zegarra CS 2650.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Applied Architectures Software Architecture Lecture 17.
CIS* Service-Oriented Computing
Server Access The REST of the Story David Cleary
REST and the Exchange Network 5/30/ REST REST stands for Representational State Transfer 2.
CS 4720 RESTfulness CS 4720 – Web & Mobile Systems.
Written by Liron Blecher
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
Welcome to Middleware Joseph Amrithraj
Chapter 1: Introduction to Scaling Networks
Naming, Addressing, & Discovery
Copyright © Open Text Corporation. All rights reserved. Slide 1 Automatic Routing With Captaris FaxPress and FaxPress Premier Darin McGinnes Sales Engineer.
MIT Lincoln Laboratory A Service-Oriented Approach to Application Development Robert Darneille & Gary Schorer WPI MQP Presentations ICS Group 10 October.
Introduction for University Staff
Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
South Dakota Library Network ALEPH v20 Tables © South Dakota Library Network, 2012 ©Ex Libris (USA), 2009 Modified for SDLN Version Last Update:
FitNesse in Fifty Minutes Chris Harbert Resonate 1.
Introduction for University Staff CiCS welcomes you to the University of Sheffield 12/06/2014Allan Wright © The University of Sheffield 1.
Request Tracker IT Partners Conference Oliver Thomas 19 April 2005.
ICS 434 Advanced Database Systems
CS 22: Enhanced Web Site Design - Week 8Slide 1 of 15 Enhanced Web Site Design Stanford University Continuing Studies CS 22 Mark Branom
2006 © SWITCH Group Management Tool Lukas Haemmerle
Addition 1’s to 20.
25 seconds left…...
Week 1.
05/10/2011http:// 1/15 Connected! How we Integrated our Collections in WordPress using the EMu API Paul Trafford
South Dakota Library Network MetaLib Management Basics Updating Resources South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Presentation 10 SOAP on the Microsoft Platform (.NET)
PDS User Management DigiTool Version 3.0. User Management 2 PDS Overview PDS Setup Single Sign On Agenda.
Self-registration of non-institute patron identifiers in Aleph.
Two From the SFX Toolbox: A Plugin and an Target Parser Rich Wenger, E-resource Systems Manager MIT Libraries.
Technical Architectures
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Peoplesoft: Building and Consuming Web Services
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
CSCI 6962: Server-side Design and Programming Web Services.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
Shibboleth: An Introduction
© 2004 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. ARMing Apache David Carter.
Integrating and Troubleshooting Citrix Access Gateway.
Aleph Restful APIs Ori Miller June 2012.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
Client – Server Architecture A Basic Introduction 1.
Integrating ArcSight with Enterprise Ticketing Systems
Aleph Restful APIs Yoel Kortick January 2010.
Interoperability Between Aleph and Primo: Aleph Restful APIs
Securing web applications Externally
Presentation transcript:

Good Fences Make Good Neighbors 1 Middleware for Aleph’s REST API Rich Wenger, E-resource Systems Manager MIT Libraries 1. Frost, Robert. “Mending Wall” Collected Poems of Robert Frost. New York, Henry Holt and Co., Print

Agenda 1.Short review of Aleph XML APIs 2.What is the API adapter? 3.Why did we build it? 4.Design criteria 5.How does it work? 6.Use cases Aleph IGeLU 2014 Page 2

Aleph XML APIs: X-server Aleph IGeLU 2014 Page 3

Aleph XML APIs: REST* * REpresentational State Transfer - rest-web-servicesrest-web-services Aleph IGeLU 2014 Page 4

Aleph XML APIs Aleph IGeLU 2014 Page 5 Aleph REST API External system Standard access configuration

What is the API adapter? 1.A thin layer of programming between the Aleph REST API and external systems that use the API. 2.A Perl program that runs from Aleph’s cgi-bin directory. Aleph IGeLU 2014 Page 6

What is the API adapter? Aleph IGeLU 2014 Page 7 Aleph REST API External system Adapter Access configuration with adapter installed

Why did we build it?  To insulate Aleph and the calling system from each other, particularly in the case of a competing vendor. The software reflects the business model.  To provide an avenue for problem circumvention that does not depend on either Aleph or the calling system. Aleph IGeLU 2014 Page 8

Why did we build it?  To minimize the latency of network traffic by bringing multiple calls to the API inboard on the Aleph server instead of extending them across the network.  APIs change over time and between releases. An intermediate layer can mask such changes unless or until they prove useful. Aleph IGeLU 2014 Page 9

Why did we build it?  Simplifies access control. There is one place to whitelist external servers instead of multiple Aleph configuration files.  Provides the flexibility to augment Aleph data from other local systems if so desired. Aleph IGeLU 2014 Page 10

Design – the adapter should..  Integrate easily into the Aleph server environment.  Have a small footprint and be unobtrusive in its operation.  Return results ~identical to those generated by the Aleph REST API. before and after before and after Aleph IGeLU 2014 Page 11

Design – the adapter should..  Not interfere in any way with the standard use of the Aleph REST API through the Tomcat/JBOSS server and port.  Consume Aleph REST API URL syntax without modification. Aleph IGeLU 2014 Page 12

Design – the adapter should..  Function in a transparent pass-through mode for all REST API services except for those intentionally modified by the host site. Aleph IGeLU 2014 Page 13

How does it work?  The adapter uses an Apache rewrite rule to direct REST URLs to itself running on port 80.  The external system sends its REST calls to port 80 instead of  The adapter parses the incoming URL and sends the request to the Aleph REST API via ‘localhost’.  Output from the REST API is passed back to the caller after any desired processing. Aleph IGeLU 2014 Page 14

Use case 1, ID translation  For patron functions, the REST API requires the patron’s Aleph id. Few, if any, authentication systems return an Aleph id as an identifier.  The REST API has no function to convert an alias to the corresponding Aleph id, but the X-server does.  This forces calling systems to use two calls across the network instead of one, and two different API’s. Aleph IGeLU 2014 Page 15

External System Aleph server JBOSS REST API Port 1891 Apache Ports 80, 443 Calls to Aleph REST API without the adapter installed. Two calls. X-server API XML

External System Aleph server JBOSS REST API Port 1891 Apache Ports 80, 443 Calls to Aleph REST API with the adapter installed in passive mode. Two calls. X-server API / XML Adapter

External System Calls to Aleph REST API with the adapter installed and using the X- server transparently. One call. XML Aleph server Apache Rewrite rule Adapter JBOSS REST API Port 1891 X-server API

Use case 2, data filtering  When using the adapter with the X-server.  The bor-info method returns historical data, including paid fines.  The adapter can filter paid fines from the response XML. Aleph IGeLU 2014 Page 19

Good Fences Make Good Neighbors Aleph IGeLU 2014 Page 20 Aleph REST API External system Maintain control of the terrain where systems meet.

Useful Links  REST architecture  Aleph REST API  Aleph X-server  Ex Libris Developer Network Aleph IGeLU 2014 Page 21

Finis Rich Wenger Phone Fax Aleph IGeLU 2014 Page 22