Download as .zip Download as .tar.gz View on GitHub Jump to Google Forum

The Internationalization (i18n) Product Retrieval Service (iPReS)


Project Overview

The Internationalization (i18n) Product Retrieval Service is a web service and client providing i18n-type access to products and product metadata contained within NASA JPL's Physical Oceanography Distributed Active Archive Center, otherwise known as PO.DAAC.

The software implements a RESTful web-service and client to obtain data from the PO.DAAC Web-Services API. It then translates the product metadata into a target language provided along with the intial call to the service.


Project News


Supported Product Translations

We aim to support the following list of language translations:

Project Members


Requirements To Be Finished

( (): Indicates corresponding requirement in the Project Requirements Document. )

Requirements finished on 9th February, 2015

  1. The system shall be able to break down each piece of a request, and understand which portions of PO.DAAC data sets are being requested. (6)
  2. The system shall be able to filter and merge PO.DAAC data sets based on request information from Requirement 6. (7)
  3. The system shall contain extensive tests to verify Requirement 6. (29)
  4. The system shall contain extensive tests to verify Requirement 7. (8)
  5. The system shall make use of Apache Tika to translate PO.DAAC data and metadata into a target language. (10)
  6. The system shall contain a Distributed Cache on the PO.DAAC-facing layer which caches data and metadata which hasalready been translated. This will be based on popularity, if requested data is a subset of other data sets, etc. (14)
  7. The system shall recognize which data sets are to be cached, or which information is already cached (this information is still pending due to the need to communicate with the scientific community about their desires). (15)
  8. The system shall make use of Ring, a mature HTTP abstraction library for writing web servers. (21)
  9. The system shall use Leiningen (preferred) or Maven for build automation. (22)

Requirements finished by 17th March, 2015

  1. The system shall contain extensive Unit tests to verify Requirement 10.(12)
  2. The system shall contain extensive Unit Tests for Requirements 14 and 15.(16)
  3. The system shall be capable of merging translated data sets from the cache and PO.DAAC/Tika services based on client requests. (17)
  4. The system shall contain extensive Unit Tests for Requirement 17. (18)
  5. The system shall contain an Integration Test which verifies the pieces of the system specified by Requirements 6, 7, 9, 10, 13, 14, and 15 communicate correctly. (19)
  6. The system shall make use of Compojure for handling API routing.(20)
  7. The system shall be capable of handling multiple clients. At the minimum, data requested shall be serviced to the correct client under concurrent request scenarios. (3)
  8. The client-facing layer shall be capable of exposing requested data sets in Scientific Data Formats Oceanographers are used to using (HDF4, HDF5, etc). The specific data formats will be determined in the future based on the demand for the system. (23)
  9. The system shall adhere to REST methodology, and aim for being easily-integrated into future mobile applications focused on data analysis. (27)

To Be Finished By Expo - 15th May, 2015 (Bugs fixed, tested, scalable, etc)

  1. The system shall ideally support all of the languages mentioned in the supported translations list (1)
  2. The system shall be able to handle at least 25 concurrent requests without experiencing some kind of error. (4)
  3. The system shall contain extensive tests to verify Requirements 3 and 4. (5)
  4. The system shall make use of Apache Tika to translate PO.DAAC data and metadata into a target language. (10)
  5. The system shall aim to tie in with other software tools available within the PO.DAAC development components and sandbox. The aim is to further increase the usefulness of the iPReS service. (26)
  6. The system shall contain a System Load Test which attempts to crash the service when all pieces are connected. (28)

Google Forum


Back to top