SlideShare a Scribd company logo
www.hdfgroup.org
The HDF Group
ESIP Summer Meeting
HDF-Java Overview
Joel Plutchak
The HDF Group
1July 8 – 11, 2014
www.hdfgroup.orgESIP Summer MeetingJuly 8 – 11, 2014 2
Jan
1996
Java
1.0
JHV
& JHI
1996
Fall 1997
Java
Proposal
HDF5
Object
Layer
Spring
1999
Summer
2002
Common
Object
Model
Editing
Spring
2003
Summer
2003
Abstract
Interfaces
& plug-in
framework
NPOESS:
regions
references
& bitfields
Summer
2009
Summer
2013
CF
Conven-
tions
An HDF-Java Timeline
www.hdfgroup.orgESIP Summer Meeting
HDF-Java Architecture
High-level architecture:
• Java Application
• Java Object Layer API
• Format-specific / Java
Native Interface (JNI)
implementations
• HDFView
July 8 – 11, 2014 3
www.hdfgroup.orgESIP Summer Meeting
HDFView
July 8 – 11, 2014 4
www.hdfgroup.orgESIP Summer Meeting
Current Status
Basic capabilities & limitations
HDFView:
• Image & table views, editing, animation, some metadata convention support
• Plug-in architecture for I/O and GUI (netCDF, FITS, HDF-EOS2/5)
• Outdated graphical interface; scope creep
Java Object Layer:
• Abstraction of HDF & generic dataset concepts
• Data type mapping issues from HDF representation to Java
• Memory model: monolithic
HDF4/HDF5 JNI Layer:
• Most HDF functionality and data types supported
• Some missing: e.g., variable length types, compound compound
July 8 – 11, 2014 5
http://www.hdfgroup.org/products/java/
www.hdfgroup.orgESIP Summer Meeting
Future Direction
July 8 – 11, 2014 6
Near-term work
• Data types & functionality: fully realize in HDF Object and JNI
Layers
• Decouple layers: easier packaging and distribution
• Memory model: redesign to support large(r) datasets
• Prepare to support new HDF5 features: HDF5 1.10
The Future
www.hdfgroup.orgESIP Summer Meeting
Questions?
Thank you!
July 8 – 11, 2014 7
This work was supported by subcontract 114820 under prime contract NNG10HP02C, funded by the National
Aeronautics and Space Administration (NASA). Any opinions, findings, or conclusions expressed in this material
are those of the author and do not necessarily reflect the views of NASA.
Joel Plutchak
plutchak@hdfgroup.org
www.hdfgroup.orgESIP Summer Meeting
Supplemental Slides
July 8 – 11, 2014 8
www.hdfgroup.orgESIP Summer Meeting
HDF-Java Object Classes
July 8 – 11, 2014 9
www.hdfgroup.orgESIP Summer Meeting
HDFView
July 8 – 11, 2014 10
www.hdfgroup.org
The HDF Group
ESIP Summer Meeting
Earth Science Group
Ted Habermann
Aleksandar Jelenak
H. Joe Lee
Joel Plutchak
Kent Yang
11July 8 – 11, 2014

More Related Content

PPSX
Adding new servicees for HDF in THREDDS Data Server (TDS)
PPSX
HDF and ENVI Services Engine
PPTX
PPTX
HDF Workshop SlideShare Experiment
Adding new servicees for HDF in THREDDS Data Server (TDS)
HDF and ENVI Services Engine
HDF Workshop SlideShare Experiment

What's hot (20)

PPTX
Make CERES products user-friendly
PPTX
Hierarchical Data Formats (HDF) Update
PPTX
An Early Evaluation of Running Spark on Kubernetes
PPSX
HDFEOS.org User Analsys, Updates, and Future
PPTX
Parallel Computing with HDF Server
PPTX
HDF & HDF-EOS Data & Support at NSIDC
PPTX
HDF - Current status and Future Directions
PDF
Text Processing with KNIME
PDF
The New Open Distributed Application Architecture
PPTX
SDLC with Apache NiFi
PPSX
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
PPTX
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
PPTX
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
PPTX
MATLAB Modernization on HDF5 1.10
PDF
HDF5 High Level and Lite Libraries
PDF
Accelerate Analytics and ML in the Hybrid Cloud Era
PDF
Apache Iceberg - A Table Format for Hige Analytic Datasets
PPTX
Hedvig slides from VMworld 2016
PDF
Running Zeppelin in Enterprise
PPTX
Hedvig & Docker Datacenter
Make CERES products user-friendly
Hierarchical Data Formats (HDF) Update
An Early Evaluation of Running Spark on Kubernetes
HDFEOS.org User Analsys, Updates, and Future
Parallel Computing with HDF Server
HDF & HDF-EOS Data & Support at NSIDC
HDF - Current status and Future Directions
Text Processing with KNIME
The New Open Distributed Application Architecture
SDLC with Apache NiFi
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
MATLAB Modernization on HDF5 1.10
HDF5 High Level and Lite Libraries
Accelerate Analytics and ML in the Hybrid Cloud Era
Apache Iceberg - A Table Format for Hige Analytic Datasets
Hedvig slides from VMworld 2016
Running Zeppelin in Enterprise
Hedvig & Docker Datacenter
Ad

Similar to HDF-Java Overview (20)

Ad

More from The HDF-EOS Tools and Information Center (20)

PDF
HDF5 2.0: Cloud Optimized from the Start
PDF
Using a Hierarchical Data Format v5 file as Zarr v3 Shard
PDF
Cloud-Optimized HDF5 Files - Current Status
PDF
Cloud Optimized HDF5 for the ICESat-2 mission
PPTX
Access HDF Data in the Cloud via OPeNDAP Web Service
PPTX
Upcoming New HDF5 Features: Multi-threading, sparse data storage, and encrypt...
PDF
Cloud-Optimized HDF5 Files
PDF
Accessing HDF5 data in the cloud with HSDS
PPTX
Highly Scalable Data Service (HSDS) Performance Features
PDF
Creating Cloud-Optimized HDF5 Files
PPTX
HDF5 OPeNDAP Handler Updates, and Performance Discussion
PPTX
Hyrax: Serving Data from S3
PPSX
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
PDF
HDF - Current status and Future Directions
PDF
H5Coro: The Cloud-Optimized Read-Only Library
PPTX
HDF for the Cloud - Serverless HDF
PPTX
HDF for the Cloud - New HDF Server Features
PPTX
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
PPTX
HDF5 2.0: Cloud Optimized from the Start
Using a Hierarchical Data Format v5 file as Zarr v3 Shard
Cloud-Optimized HDF5 Files - Current Status
Cloud Optimized HDF5 for the ICESat-2 mission
Access HDF Data in the Cloud via OPeNDAP Web Service
Upcoming New HDF5 Features: Multi-threading, sparse data storage, and encrypt...
Cloud-Optimized HDF5 Files
Accessing HDF5 data in the cloud with HSDS
Highly Scalable Data Service (HSDS) Performance Features
Creating Cloud-Optimized HDF5 Files
HDF5 OPeNDAP Handler Updates, and Performance Discussion
Hyrax: Serving Data from S3
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
HDF - Current status and Future Directions
H5Coro: The Cloud-Optimized Read-Only Library
HDF for the Cloud - Serverless HDF
HDF for the Cloud - New HDF Server Features
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
Advanced methodologies resolving dimensionality complications for autism neur...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks

HDF-Java Overview

  • 1. www.hdfgroup.org The HDF Group ESIP Summer Meeting HDF-Java Overview Joel Plutchak The HDF Group 1July 8 – 11, 2014
  • 2. www.hdfgroup.orgESIP Summer MeetingJuly 8 – 11, 2014 2 Jan 1996 Java 1.0 JHV & JHI 1996 Fall 1997 Java Proposal HDF5 Object Layer Spring 1999 Summer 2002 Common Object Model Editing Spring 2003 Summer 2003 Abstract Interfaces & plug-in framework NPOESS: regions references & bitfields Summer 2009 Summer 2013 CF Conven- tions An HDF-Java Timeline
  • 3. www.hdfgroup.orgESIP Summer Meeting HDF-Java Architecture High-level architecture: • Java Application • Java Object Layer API • Format-specific / Java Native Interface (JNI) implementations • HDFView July 8 – 11, 2014 3
  • 5. www.hdfgroup.orgESIP Summer Meeting Current Status Basic capabilities & limitations HDFView: • Image & table views, editing, animation, some metadata convention support • Plug-in architecture for I/O and GUI (netCDF, FITS, HDF-EOS2/5) • Outdated graphical interface; scope creep Java Object Layer: • Abstraction of HDF & generic dataset concepts • Data type mapping issues from HDF representation to Java • Memory model: monolithic HDF4/HDF5 JNI Layer: • Most HDF functionality and data types supported • Some missing: e.g., variable length types, compound compound July 8 – 11, 2014 5 http://www.hdfgroup.org/products/java/
  • 6. www.hdfgroup.orgESIP Summer Meeting Future Direction July 8 – 11, 2014 6 Near-term work • Data types & functionality: fully realize in HDF Object and JNI Layers • Decouple layers: easier packaging and distribution • Memory model: redesign to support large(r) datasets • Prepare to support new HDF5 features: HDF5 1.10 The Future
  • 7. www.hdfgroup.orgESIP Summer Meeting Questions? Thank you! July 8 – 11, 2014 7 This work was supported by subcontract 114820 under prime contract NNG10HP02C, funded by the National Aeronautics and Space Administration (NASA). Any opinions, findings, or conclusions expressed in this material are those of the author and do not necessarily reflect the views of NASA. Joel Plutchak plutchak@hdfgroup.org
  • 9. www.hdfgroup.orgESIP Summer Meeting HDF-Java Object Classes July 8 – 11, 2014 9
  • 11. www.hdfgroup.org The HDF Group ESIP Summer Meeting Earth Science Group Ted Habermann Aleksandar Jelenak H. Joe Lee Joel Plutchak Kent Yang 11July 8 – 11, 2014

Editor's Notes

  • #2: Providing a brief roadmap of Java development at The HDF Group. History, current status, possible future direction.
  • #3: mention HDF-EOS plug-in, FITS I/O module, netCDF (native Java) The JHV and JHI grew out of (was influenced by?) work on the NASA-funded Project Horizon, in conjunction with the Univ of Illinois departments of Astronomy and Atmospheric Sciences. They led to the proposal for what is now collectively known as HDF-Java. The original work was based on the original Hierarchical File Format, now known as HDF4. The first version of HDF5 was released in 1998; support for HDF5 followed in 1999 with a separate object model parallel to that of HDF4. By summer of 2002 the two models were abstracted into a single object model with different implementations, adding to the sustainability of the software by bridging the gap between HDF4 and HDF5, and allowing support for additional file formats A bit later editing capabilities were added to the main functionality. Building on the abstraction of the underlying object model and I/O, GUI components of the HDFView application were abstracted and redesigned as interfaces, allowing overriding of those components (tree, image, table, palette, ??????). A lot of small enhancements and fixes took place after 2003; a couple of note were additions to support the NPOESS (now JPSS) project, and the ESDIS project. In August of 2013 the Java task lead and programmer left the company.
  • #4: A Java application that accesses HDF (or other) format files is built on top of an Object Layer interface (aka Common Object Package) that encapsulates data format objects; plus a lower layer that includes: An implementation for each file format supported A JNI interface to each native library (if necessary) for each file format Additional file formats include a netCDF (pure Java) interface, a FITS interface, HDF-EOS2, HDF-EOS5 (Raytheon/ESDIS) The plug-in architecture for HDFView also includes the GUI interfaces, in order to add capabilities that extend or differ from the default implementations (Tree, Image, Table, Text, Palette) Combined HDF-EOS2/5 implementations for Tree, Image, Table
  • #5: Add from 1 to 3 screen captures: image view (with graph?), table view, HDF-EOS plug-in? Animate?
  • #6: Views for image, table, palette, attributes, and text; editing of everything (attribute and dataset values, group and dataset names, etc.) Scope creep without considering redesign/rescope has led to some delicate code interconnections Data type: Java supports more restricted set of data types, so mapping necessary; e.g., Extended ASCII  Unicode/ASCII Abstraction and plug-in architecture promotes sustainability by allowing to keep up with changing and new formats and display options Data type mapping in some cases one-way; can’t save changes, etc. Monolithic memory model, so limited by system and/or Java VM memory.
  • #7: - Decouple layers: easier to use for Java programming; more nimble with releases (currently once per year, all components simultaneously)
  • #8: Flashback to 1995 with the original Java mascot, “Duke”
  • #11: Add from 1 to 3 screen captures: image view (with graph?), table view, HDF-EOS plug-in? Animate?
  • #12: The Earth Science Group is a subgroup within The HDF Group formed to concentrate on issues like these. We’re excited by the opportunity to join in the conversation and help form the emerging landscape in Earth Sciences software, data and metadata conventions and their uses in current and upcoming missions.