The HDF Group
1 www.hdfgroup.orgJuly 8, 2014 2014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII
Adding new services for HDF in THREDDS Data Server (TDS)
Hyo-Kyung Joe Lee and Ted HabermannThe HDF Group
www.hdfgroup.org2014 Summer ESIP Federation Meeting 2
A User Story
I would like to examine a big HDF file X with command line tool Y that runs on platform Z.
However, my mobile platform is not Z. So, I can’t run Y. X is too big for my device as well.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 3
Web Service is the answer.
Almost all platforms support web browser.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 4
Web Service Solution
Run web server on Z.The server executes command Y on X.Send output over the web. THREDDS Data Server is a good candidate.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 5
Why THREDDS Data Server?
Portable – 100% JavaEasy to add a new serviceData and services go together.Maximum control on services with data
www.hdfgroup.org2014 Summer ESIP Federation Meeting 6
How to add a new service
1. Create a YServiceController class (e.g., H4MapServiceController.java)
2. handleRequest() method Invokes runtime.exec(command).
3. Read stdout and build a string outStr.4. Return ResponseEntity<string>(outStr,…)5. Set up catalog for Y service for X data.6. Run the custom TDS on Z.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 7
New HDF Services for non-Java apps
• HDF4 File Content Map (h4map)• For HDF4 files only• C / Linux & Mac
• HDF5 JSON (h5json)• For HDF5 files only• C++
• NCO/CF checker (ncdismember)• For both HDF4 and HDF5• C/C++/Python
www.hdfgroup.org2014 Summer ESIP Federation Meeting 8
Quick Demo
http://eosdap.hdfgroup.uiuc.edu:8887/thredds/catalog.html
Some files are located at FTP server and mounted via NFS, not at TDS.
Services are triggered based on file extension.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 9
Benefit
Try URLs with online XML / JSON browser.• xmlgrid.net• jsonviewer.stack.hu
You can develop your own XML/JSON apps on top of the new HDF web services.
Run command while browsing data – a good testbed for a new product.
www.hdfgroup.org2014 Summer ESIP Federation Meeting 10
Future Work
Supplying command line options?
Generalization of CLI services through Catalog?
What other HDF services do you want to see?(e.g., GeoJSON)
www.hdfgroup.org2014 Summer ESIP Federation Meeting 11
Acknowledgement
This work was supported by Subcontract number 114820 under Raytheon Contract number NNG10HP02C, funded by the National Aeronautics and Space Administration (NASA). Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of Raytheon or the National Aeronautics and Space Administration.
Top Related