Product Designer Hub –
Taking HPD to the Web
1
Ted Habermann
Director of Earth Science
thabermann@hdfgroup.org
HPD System Overview
2
Data Store
(users, projects, file
structures, metadata)
Desktop Client
(Easy Install)
Restful Server
Export
Options
HDF5
JSON
HDF4
MAP
NcML
(Remote)
HDF online
(files, data)
OPeNDAP
DMR
CDLHDF5
Excel
Text (CSV)
DB
HDF
JSON
Import Options
IDL MATLAB Python
Description
File (doc)
HDF5
Template
HDF
JSON
HPD System Overview
3
Data Store
(users, projects, file
structures, metadata)
Desktop Client
(Easy Install)
Restful Server
Export
Options
HDF5
JSON
HDF4
MAP
NcML
(Remote)
HDF online
(files, data)
OPeNDAP
DMR
CDLHDF5
Excel
Text (CSV)
DB
HDF
JSON
Import Options
IDL MATLAB Python
Description
File (doc)
HDF5
Template
HDF
JSON
Product Designer Hub - Overview
Browser WebService
HDF
JSON
XML
ISO / NcML / WaterML / SensorML / EML
HDF online
(files, data)
IDL MATLAB Python
Description
File (doc)
HDF5
Template
HDF
JSON
Validators / Evaluators
GeoNetwork
Annotators
File Browser / Compass
Community Metadata in HDF
1) Many communities use metadata dialects that include XML representations.
2) There is a straightforward correspondence between XML structures and HDF groups and
attributes.
3) We can create a web service that
A. ingests metadata in XML
B. transforms that XML into HDF Groups and Attributes (either HDF-XML or NcML)
C. creates an HDF file that includes the metadata
D. use that file to create
A. HDF-JSON
B. code in IDL, matlab, or python
C. A design document in Word
Community Metadata in HDF
6
Product Designer Hub – V0
Browser
XML
ISO / NcML / WaterML / SensorML / TSML
HDF online
(files, data)
Local
Disk
The web service:
1. receives the uploaded file
2. checks the XML dialect
3. if is is one of the known dialects:
1. translate the XML to NcML
2. ingest the NcML into HDF
3. return HDF file to user
HDF5
Template
XML
EML
Client/Server Architecture
Client Software Stack HDF Service (h5serv or …)
HDF5 Lib REST VOL
NetCDF4
Lib
C/Fortran
Application
h5pyd
REST
Backend
Python
Applications
CMD Line
Tools
Note: Clients don’t
need to know
what’s going on
inside this box!
Browser
Web
Application
HDF REST API
(http)
S3 VFD
Web UI – Display HDF Content in a browser
https://data.hdfgroup.org
Thank You!
Questions?
10
thabermann@hdfgroup.org

Product Designer Hub - Taking HPD to the Web

  • 1.
    Product Designer Hub– Taking HPD to the Web 1 Ted Habermann Director of Earth Science thabermann@hdfgroup.org
  • 2.
    HPD System Overview 2 DataStore (users, projects, file structures, metadata) Desktop Client (Easy Install) Restful Server Export Options HDF5 JSON HDF4 MAP NcML (Remote) HDF online (files, data) OPeNDAP DMR CDLHDF5 Excel Text (CSV) DB HDF JSON Import Options IDL MATLAB Python Description File (doc) HDF5 Template HDF JSON
  • 3.
    HPD System Overview 3 DataStore (users, projects, file structures, metadata) Desktop Client (Easy Install) Restful Server Export Options HDF5 JSON HDF4 MAP NcML (Remote) HDF online (files, data) OPeNDAP DMR CDLHDF5 Excel Text (CSV) DB HDF JSON Import Options IDL MATLAB Python Description File (doc) HDF5 Template HDF JSON
  • 4.
    Product Designer Hub- Overview Browser WebService HDF JSON XML ISO / NcML / WaterML / SensorML / EML HDF online (files, data) IDL MATLAB Python Description File (doc) HDF5 Template HDF JSON Validators / Evaluators GeoNetwork Annotators File Browser / Compass
  • 5.
    Community Metadata inHDF 1) Many communities use metadata dialects that include XML representations. 2) There is a straightforward correspondence between XML structures and HDF groups and attributes. 3) We can create a web service that A. ingests metadata in XML B. transforms that XML into HDF Groups and Attributes (either HDF-XML or NcML) C. creates an HDF file that includes the metadata D. use that file to create A. HDF-JSON B. code in IDL, matlab, or python C. A design document in Word
  • 6.
  • 7.
    Product Designer Hub– V0 Browser XML ISO / NcML / WaterML / SensorML / TSML HDF online (files, data) Local Disk The web service: 1. receives the uploaded file 2. checks the XML dialect 3. if is is one of the known dialects: 1. translate the XML to NcML 2. ingest the NcML into HDF 3. return HDF file to user HDF5 Template XML EML
  • 8.
    Client/Server Architecture Client SoftwareStack HDF Service (h5serv or …) HDF5 Lib REST VOL NetCDF4 Lib C/Fortran Application h5pyd REST Backend Python Applications CMD Line Tools Note: Clients don’t need to know what’s going on inside this box! Browser Web Application HDF REST API (http) S3 VFD
  • 9.
    Web UI –Display HDF Content in a browser https://data.hdfgroup.org
  • 10.