(Quick Reference)

1 Introduction - Reference Documentation

Authors: John Cartwright, Peter Elespuru, John LaRocque, Heather McCullough, Evan McQuinn, David Neufeld, Robert Prentice, Anju Shah, Ken Tanaka, Lisa Taylor, Richard Fozzard, Martin Aubrey

Version: 1.13.5+23

1 Introduction

The "Next" (NCEI Extract) system provides access to data within NCEI archives, using a simple and scalable retrieval architecture. NCEI users often want to be able to make a single request for multiple kinds of data that, behind the scenes, is retrieved from multiple systems. Something like: “Just give me all the data from this area.” One of the goals of the Next architecture is to support this type of use case by providing a unified ordering interface.

The Next web API can RESTfully receive requests for data, divide and delegate the work of fulfilling the request to the appropriate subsystems, collect and package the results, and then deliver them to the user.

This document targets programmers who are developing applications that are intended to use the Next data delivery system. The ordering process involves several steps. An overview of these steps is provided here. Various sections of this documentation delve into the individual steps in more detail.

Overview

Data within the NCEI archive is organized by dataset, each of which might be expected to be associated with a separate catalog-level metadata record. Each query or order made to the Next system is organized in terms of a list of items, with each item being associated with one of these datasets.

Interaction with the Next system involves the steps listed below. Each of these steps is supported by particular REST requests. This document focuses on describing this REST interface. Although there are numerous underlying programs running to support this web service by retrieving data and packaging them for delivery, an application utilizing the REST interface need not typically be aware of these.

Steps to Making a Next Order

  • querying catalog services to find data with search criteria,
  • requesting data as orders for one or more data items,
  • checking order status
  • downloading the order

'''Querying Catalog Services''': The catalog interface is used to determine the nature and amount of data that is available for ordering. This is done by specifying catalog requests with specified selection criteria. Separate REST requests are available for each dataset. The purpose of catalog services are to find selection criteria that are desirable for placing an order.

Some of these criteria, such as time and geographical location, are consistent across datasets, while others are specific to particular datasets. The amount of information provided within responses to catalog queries varies significantly between datasets. The Trackline dataset, for example, is organized by survey, and provides a significant amount of information about available surveys, as well as their sizes if ordered. It emphasizes providing a significant amount of feedback to users regarding what is available. Other datasets support a simpler approach of simply listing filenames and associated sizes, assuming that the filenames themselves are meaningful to users.

'''Placing An Order''': A request to order data provides the same type of criteria that were used in catalog requests to specify which data is being ordered. Additional ordering parameters are also typically available for specifying other characteristics of an order, such as desired file format. Each order consists of a list of items. The attributes associated with each item vary from dataset to dataset.

'''Checking Order Status''': A prompt response form the Next system is typically prorvided, confirming receipt of the order. The process of processing an order is asynchronous. The status associated with the response indicates its current status. Additional requests can be made thereafter, with the client application basically waiting for NOTIFIED status. The order is then available for retrieval via a specified URL. If the order fails for any reason, then the status response indicates why the order failed.

'''Downloading the Order''': The status response provides a URL link that can be used to directly download the order. Behind the scenes, the Next system keeps track of such access, updating status to PICKED UP once the order has been downloaded at least once. The order then remains available for a short time, just in case a user wants to download it more then once.

Reference Links

See the Next Project page in the NCEI-CO intranet for an overview, or view technical details in Next Development Notes