NASA’s OODT selected as an Apache Top Level Project
The Apache Software Foundation has selected the Object Oriented Data Technology architecture to become one of its Top-Level-Projects (TLP). Originally created by NASA’s Jet Propulsion Laboratory, Pasadena, OODT allows transparent integration of geographically distributed and disparate computing and data resources via metadata middleware.
The core challenge OODT tries to address comes from the scientific domain where large volumes of important data are produced and archived in independent data repositories at different geographic sites. When users need to analyze or retrieve these data, they must leverage various custom-built tools. To solve that problem, OODT provides transparent access to distributed resources, functionality for data discovery and query optimization, as well as distributed processing and virtual archives. Thus, applications using OODT can handle data from different sources in a uniform way. The implementation of OODT is mainly written in Java and, according to its developers, uses Maven “in order to automate component downloading and dependencies.”
OODT offers the following main functional areas:
- Catalog and Archive: functionality for extracting metadata from resources, storing these metadata in long-term archives, as well as versioning and retrieving data.
- Grid: components to describe or profile entities such as resources with metadata and “retrieve products (resources) or metadata in standard format.” In addition to CORBA and RMI, OODT also includes WebGrid which uses REST for providing profile and product services.
- Common: utility components that offer common functionality such as query expressions, single-sign-on and miscellaneous utilities such as IO streams, logging or XML.
- OODT Agility: Python reimplementation of Apache OODT with a focus on high performance as well as accelerated development and integration.
According to the ApacheOODT website, the solution is not only suitable for scientific computing but also provides a generic software architecture that comprises models for the processing of information. In addition, it introduces support for knowledge search and offers unification layers to hide the heterogeneity of data, technology and metadata.
In January 2010 the JPL had submitted OODT as an Incubation Project under the Apache License. An Incubation projects is supposed to validate whether a diverse community of developers shows commitment to enhance the quality and usability of the code. Only 11 months later OODT has been promoted to a TLP which implies that the Apache Foundation is considering OODT as an important part of its technology portfolio. It will be interesting in this context how Apache HADOOP (“open-source software for reliable, scalable, distributed computing”) and OODT will complement each other.