Top Banner
DM_PPT_NP_v01 www.hdfgroup.o rg SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA
15

DM_PPT_NP_v01 SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

Jan 17, 2016

Download

Documents

Roderick Newton
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

HDF Server

HDF for the Web

John ReadeyThe HDF Group

Champaign Illinois USA

Page 2: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

2

HDF5 BackgroundHDF5 is…• A hierarchical file format• An API• A data model

HDF5 has not (until now)Provided a service that exposes the full extent of the API:• Read/write• Full data type support• Compression/Chunking• Hyperslab/point selection

Page 3: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

3

HDF Server (h5serv)

Page 4: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

4

HDF Server Highpoints• Written in Python using Tornado Framework• REST-based API• HTTP request/responses in JSON• Full CRUD (create/read/update/delete) support• Self-contained web server • Open Source• UUID identifiers for Groups/Datasets/Datatypes• Very easy to install/run

Page 5: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

5

Simple Diagram of REST API

Page 6: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

6

What makes it RESTful?• Client-server model• Stateless – (no client context stored on server)• Cacheable – clients can cache responses• Resources identified by URIs• Standard HTTP methods:

• GET – get a description of a resource• POST – create a new resource• PUT – create a named resource• DELETE – delete a resource

Page 7: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

7

Example Request

http://tall.data.hdfgroup.org:7253/datasets/34…d5e/value?select=[0:4,0:4]

scheme domain port resource Query param

• Scheme: the connection protocol• Domain: HDF5 files on the server can be viewed as domains• Port: this is the port the server is running on• Resource: identifier for the resource (dataset values in this case)• Query param: Modify how the data will be returned

• (e.g. hyperslab selection)

http://tall.data.hdfgroup.org:7253/datasets/feef70e8-16a6-11e5-994e-06fc179afd5e/value?select=[0:4,0:4]

Page 8: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

8

What’s next – client libraries• The REST api can be accessed directly, but it can be tedious• An HDF5 VOL library would provide the familiar HDF5 API• Current tools (e.g. h5dump) would work transparently

Page 9: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

9

What’s next – Web UIProvide a web interface using AJAX

Page 10: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

10

What’s next – access controlI’d like to trust you, but…

• Authentication (you are who you say you are)• HTTPS (cut out the man in the middle)• Authorization (who can do what)

• Per resource ACL’s

Page 11: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

11

What’s next – search/query• Support query language to filter results• FastBit/PyTables indexes• Find the objects you are interested in• Search over entire repository

Page 12: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

12

What’s next – Scalable Server

• Support any sized repository• Any number of users• Any request volume• Provide data as fast as the client can pull it in

Page 13: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

13

References & Sources• Source code: https://github.com/HDFGroup/h5serv • Project page: https://www.hdfgroup.org/projects/hdfserver/ • Documentation: http://h5serv.readthedocs.org/en/latest/ • White paper: https://

www.hdfgroup.org/pubs/papers/RESTful_HDF5.pdf

Page 14: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

14

The End

THANK YOU

Page 15: DM_PPT_NP_v01  SESIP_0715_JR HDF Server HDF for the Web John Readey The HDF Group Champaign Illinois USA.

DM_PPT_NP_v01

www.hdfgroup.orgSESIP_0715_JR

15

This work was supported by NASA/GSFC under Raytheon Co. contract number NNG10HP02C

Patrick Quinn
Presenter: Definitely Brett :-p