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.