ECHO Architecture Overview

Figure 1: ECHO Overview
Image echo_arch
ECHO[2] was designed to provide a message-passing infrastructure. The assumption is that the API functions by allowing an eXtensible Markup Language (XML) message to be passed to it, and then it responds with an XML message of its own.
Messages passed in and received from the ECHO API interface conform to a set of Data Type Definitions (DTDs) that correspond to the particular messages involved. Similarly,metadata updates which go directly into the spatially-enabled Oracle database (Figure 1) are also expressed in XML according to two DTDs, one for granules (or inventory) and one for collections (or datasets).

Our Jiboia interface allows a client to search for data whose spatial extent is described within the system. A user can associate boxes, circles and polygons with a granule or a collection. A user can then construct a search and the API responds with data whose spatial region intersects the described region.
Queries can be performed and result formats can be specified (what fields should be returned), and the resulting data sets can be incrementally accessed so that large return sets can be handled gracefully. ECHO supports the embedding of a Uniform Resource Locator (URL) within the metadata for accessing the data (which the user simply accesses via Hypertext Transfer Protocol [HTTP]). The query language can be specified and must be embedded within a query transaction as a string. Query language specification allows the system to support multiple query languages. Currently only one is implemented, which is a domain-based query language built on XML and modeled after the V0 Object Description Language (ODL) queries.



Subsections
vern 2006-10-25