The Earth Observing System (EOS) Clearing House (ECHO) was formerly known as EOSDIS Independent Information Management System (IIMS). This document is intended to communicate the Application Programmers Interface (API) for the Earth Observing System
(EOS) Clearing House (ECHO). The ECHO architecture and associated programmatic interfaces have been designed to accommodate extensibility across a wide range of protocols and computing platforms. This extensibility is accomplished through the utilization
of a standardized collection of XML based messages, associated transactions, and protocol-specific messaging adapters.
The target audience for this document includes any Earth scientist, data provider, or developer who is interested in creating a programmatic software client that utilizes the functionality provided by ECHO. That desired functionality may include
searching for and ordering Earth Science granules, or retrieving and manipulating granule metadata. This document is intended for readers who have a technical background and are interested in writing software that interfaces with the ECHO system.
This specification defines the external interfaces, communication mechanisms, and messaging semantics that are supported by ECHO. While the document may expose trade-offs and architectural decisions made in order to support the system drivers, the
internal design and underlying architecture of ECHO is outside the scope of this API specification.
Throughout this API specification, a working knowledge of the Unified Modeling Language (UML) is assumed. This document will utilize UML class, state, interaction, and activity diagrams extensively in communicating the programmatic ECHO interfaces.
The ECHO API is based, in part, upon a "General Model" defined in the Open GIS Consortium (OGC) Catalog Interface Implementation Specification. That model closely matches several of the functional requirements of ECHO, particularly with regard to
geo-spatial data searching. The OGC Catalog Interface specification serves as a domain-basis for this ECHO API specification; however, the ECHO specification adds many stateful services and persistent data management mechanisms. These extensions allow
ECHO to perform e-commerce-like activities such as maintaining user accounts or a shopping cart.