The Aleph API Adapter is a middleware script positioned between the Aleph REST API and any external system that calls the REST API for services. It has a small footprint, is easy to install, and is unobtrusive in operation. Use of the adapter confers these benefits on Aleph customers.
Insulates an external system from a competing vendor’s product and provides an avenue for problem circumvention that does not depend on either Aleph or the vendor.
Can minimize the latency of web traffic. Some queries require several separate operations against the Aleph API. If the external system’s code runs directly against the Aleph API, every one of those queries must make a round trip between the external server and the Aleph server. With the intermediate layer, one call from the external server to the adapter can result in several calls to the Aleph API, all of which are done on the Aleph server using ‘localhost’. None of the ‘localhost’ API calls goes out on the wire and consequently are very fast.
APIs change over time and across releases, contain bugs, and sometimes are incomplete. An intermediate layer can mask changes unless or until they prove useful, and can compensate for missing functionality.
Simplifies access control. Aleph controls access to APIs via IP addresses. Since the X-server is required in order to get Aleph ids for use with the REST API, IP addresses for external servers must be maintained in two places within Aleph: in $alephe_tab/server_ip_allowed and in the Tomcat/JBoss configuration. It is easier to maintain whitelists of approved IP addresses in one place, the adapter, than it is in Aleph. It also gives the adapter more flexibility in serving other processes.
Provides more flexibility for the external system. If there is a need for Aleph data to be filtered, or augmented from other local systems, the adapter is a perfect place to do this without requiring special programming on the external server.