250 likes | 456 Views
ECHO Services Integration ESI Case Study. ECHO Technical Interchange Meeting 2013 Timothy Goff Timothy.d.goff@nasa.gov. Introduction. What are ECHO services?. Background – Why Services?. Most data is readily available online D esirable to expose services on data .
E N D
ECHO Services Integration ESI Case Study ECHO Technical Interchange Meeting 2013 Timothy Goff Timothy.d.goff@nasa.gov Raytheon EED Program | ECHO Technical Interchange 2013
Introduction What are ECHO services? Raytheon EED Program | ECHO Technical Interchange 2013
Background – Why Services? • Most data is readily available online • Desirable to expose services on data. • Need for services to expose specific processing operations (e.g. reformat, re-project, subset). • Services should be available as close to on-demand as possible. • As opposed to queued orders • Service framework should be able to describe services available on each dataset. Raytheon EED Program | ECHO Technical Interchange 2013
ECHO Services • Utility written by a service provider to process science data on-demand • Subsetting • Reformatting • Reprojection • May operate against a granule or collection • ECHO service interface provides unified portal to disparate services • Allows providers to choose to expose services most appropriate to their data Raytheon EED Program | ECHO Technical Interchange 2013
ECHO Services vs. Orders Raytheon EED Program | ECHO Technical Interchange 2013 Service • Processed ‘on demand’ • Real time status updates • ‘progress bar’ • Access to resulting data via link in reverb • Submitted via service’s API Order May be queued indefinitely Status updates via email Access to data via email sent by provider Submitted via ECHO order API
The ESI Story A case study in ECHO services Raytheon EED Program | ECHO Technical Interchange 2013
In The Beginning Image URL: http://info.instockinc.com/Portals/15701/images/storagetek%209310%20a.jpg Raytheon EED Program | ECHO Technical Interchange 2013 Data stored primarily on Tape Archives. Delivered on physical media. Order fulfillment required significant processing and resource management. Orders were slow.
Today Image URL: http://www.dailybits.com/wp-content/uploads/2009/03/sites-to-download-everything.jpg Raytheon EED Program | ECHO Technical Interchange 2013 Most data on disk and internet accessible. Can be downloaded without need to place an order. Order fulfillment can be as quick as bandwidth allows. Need for mechanism for processing data on the fly
Simple Subset Wizard (SSW) • ESDIS developed API which federates service agents for common types of subsetting. • “REST-Style” API – All actions are via HTTP GET/POST requests. • Does not support all our needs (e.g. hierarchical data structure and reprojection). • Simple, open API is easily extended to support these capabilities. • SSW already integrated with some EOSDIS data services. • Compatibility of APIs will foster interoperability. Raytheon EED Program | ECHO Technical Interchange 2013
EOSDIS Service Interface (ESI) Raytheon EED Program | ECHO Technical Interchange 2013 • Custom API developed as extension to SSW. • After researching many other options. • Defines general API for common processing types. • Per dataset API conveyed by ESI XML file or ECHO Form. • Extensible to include new processing tools.
Sample ESI Request • Processing requests can be submitted as HTTP GETs or POSTs. Two representations of the same ESI request are below. POST GET Raytheon EED Program | ECHO Technical Interchange 2013
ESI Subagents Raytheon EED Program | ECHO Technical Interchange 2013 • Perform the actual work of an ESI request. • Processing tools can be integrated and exposed by ESI. • Develop custom ‘Tool Adapter’ to translate ESI API to tool’s native syntax. • All integrated tools exposed via single external API. • Hides internal complexity from end user.
ECHO Integration Raytheon EED Program | ECHO Technical Interchange 2013 • Use ECHO services to provide service as an option on search results in Reverb • Reverb integration of ESI services provides visibility to wide audience of Earth Science data users • Order options UI specified via ECHO Forms • Provides dynamic dataset specific options
ECHO Forms Raytheon EED Program | ECHO Technical Interchange 2013 • API developed by ECHO which facilitates the development of user input forms. • Based on W3C XForms 1.0 standard. • Separates data structure (model) from presentation (user interface). • Includes ability to conditionally display UI elements. • Options presented dependant on options already selected. • XML format facilitates automatic/programmatic generation of forms.
ECHO Forms Output Generated UI: XML Produced by user selections: Input validation (based on rules embedded in form definition): Raytheon EED Program | ECHO Technical Interchange 2013
Integrating a Service • Determine ECHO form output model • Provide request API • ECHO develops interface code • Converts model output XML to service API • Define service implementation • Defines service end point • Mapped to a service interface and datasets • Define order options (ECHO Forms) • Link options to service implementation and dataset Raytheon EED Program | ECHO Technical Interchange 2013
Service Configuration in PUMP Raytheon EED Program | ECHO Technical Interchange 2013
Defining a Service Raytheon EED Program | ECHO Technical Interchange 2013
Defining Service Options Raytheon EED Program | ECHO Technical Interchange 2013
Linking Services to Options/Datasets • Entire configuration process can be automated using ECHO REST and SOAP APIs • Option forms can be dynamically uploaded based on provider configuration Raytheon EED Program | ECHO Technical Interchange 2013
Placing a Request Raytheon EED Program | ECHO Technical Interchange 2013
Placing a Request Raytheon EED Program | ECHO Technical Interchange 2013
Putting it All Together Service Option in Reverb Cart Dataset Options Specified as ECHO Form ECHO Form rendered to solicit processing options Service Invoked Raytheon EED Program | ECHO Technical Interchange 2013
Conclusions • Tight coupling with a generic API along with per-dataset configuration facilitates integration with clients. • Allows API to be dynamic and extensible without breaking clients. • ECHO Forms is a great vehicle for conveying API capabilities and an associated UI. • ESI development provides template for integration of other services with Reverb. Raytheon EED Program | ECHO Technical Interchange 2013
Links • http://newsroom.gsfc.nasa.gov/esi/8.1/schemas/index.html Raytheon EED Program | ECHO Technical Interchange 2013