SlideShare a Scribd company logo
1 of 11
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

What's hot

An Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on KubernetesAn Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on KubernetesDataWorks Summit
 
Text Processing with KNIME
Text Processing with KNIMEText Processing with KNIME
Text Processing with KNIMEKNIMESlides
 
The New Open Distributed Application Architecture
The New Open Distributed Application ArchitectureThe New Open Distributed Application Architecture
The New Open Distributed Application ArchitectureGordon Haff
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020Redis Labs
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020Redis Labs
 
Accelerate Analytics and ML in the Hybrid Cloud Era
Accelerate Analytics and ML in the Hybrid Cloud EraAccelerate Analytics and ML in the Hybrid Cloud Era
Accelerate Analytics and ML in the Hybrid Cloud EraAlluxio, Inc.
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsAlluxio, Inc.
 
Hedvig slides from VMworld 2016
Hedvig slides from VMworld 2016Hedvig slides from VMworld 2016
Hedvig slides from VMworld 2016Eric Carter
 
Running Zeppelin in Enterprise
Running Zeppelin in EnterpriseRunning Zeppelin in Enterprise
Running Zeppelin in EnterpriseDataWorks Summit
 
Hedvig & Docker Datacenter
Hedvig & Docker DatacenterHedvig & Docker Datacenter
Hedvig & Docker DatacenterEric Carter
 

What's hot (20)

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

Similar to HDF-Java Overview

Improving long-term preservation of EOS data by independently mapping HDF4 da...
Improving long-term preservation of EOS data by independently mapping HDF4 da...Improving long-term preservation of EOS data by independently mapping HDF4 da...
Improving long-term preservation of EOS data by independently mapping HDF4 da...The HDF-EOS Tools and Information Center
 

Similar to HDF-Java Overview (20)

HDF5 Software Process
HDF5 Software ProcessHDF5 Software Process
HDF5 Software Process
 
HDF-Java Products
HDF-Java ProductsHDF-Java Products
HDF-Java Products
 
NASA HDF/HDF-EOS Data Access Challenges
NASA HDF/HDF-EOS Data Access ChallengesNASA HDF/HDF-EOS Data Access Challenges
NASA HDF/HDF-EOS Data Access Challenges
 
HDF Town Hall
HDF Town HallHDF Town Hall
HDF Town Hall
 
HDF4 Mapping Project Update
HDF4 Mapping Project UpdateHDF4 Mapping Project Update
HDF4 Mapping Project Update
 
Support for NPP/NPOESS/JPSS by The HDF Group
 Support for NPP/NPOESS/JPSS by The HDF Group Support for NPP/NPOESS/JPSS by The HDF Group
Support for NPP/NPOESS/JPSS by The HDF Group
 
Integrating HDF5 with SRB
Integrating HDF5 with SRBIntegrating HDF5 with SRB
Integrating HDF5 with SRB
 
HDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and DemoHDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and Demo
 
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout MapsEnsuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
 
Easy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAPEasy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAP
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Improving long-term preservation of EOS data by independently mapping HDF4 da...
Improving long-term preservation of EOS data by independently mapping HDF4 da...Improving long-term preservation of EOS data by independently mapping HDF4 da...
Improving long-term preservation of EOS data by independently mapping HDF4 da...
 
HDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demoHDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demo
 
HDF Status and Development
HDF Status and DevelopmentHDF Status and Development
HDF Status and Development
 
Easy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAPEasy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAP
 
HDF5 Tools Updates
HDF5 Tools UpdatesHDF5 Tools Updates
HDF5 Tools Updates
 
Kscope11 recap
Kscope11 recapKscope11 recap
Kscope11 recap
 
Images of HDF5
Images of HDF5Images of HDF5
Images of HDF5
 
HDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSSHDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSS
 
HDF OPeNDAP project update and demo
HDF OPeNDAP project update and demoHDF OPeNDAP project update and demo
HDF OPeNDAP project update and demo
 

More from The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

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

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 
Leveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software TestingLeveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software Testing
 
Google Colaboratory for HDF-EOS
Google Colaboratory for HDF-EOSGoogle Colaboratory for HDF-EOS
Google Colaboratory for HDF-EOS
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
 
HDF Status Update
HDF Status UpdateHDF Status Update
HDF Status Update
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

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

  1. Providing a brief roadmap of Java development at The HDF Group. History, current status, possible future direction.
  2. 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.
  3. 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
  4. Add from 1 to 3 screen captures: image view (with graph?), table view, HDF-EOS plug-in? Animate?
  5. 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.
  6. - Decouple layers: easier to use for Java programming; more nimble with releases (currently once per year, all components simultaneously)
  7. Flashback to 1995 with the original Java mascot, “Duke”
  8. Add from 1 to 3 screen captures: image view (with graph?), table view, HDF-EOS plug-in? Animate?
  9. 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.