OCIO T&I Division

Open Innovation Program

APIs, Code, Data

Jason Duley

NASA Ames Research Center/HQ Detailee

7/17/2015

Topics

  • NASA API Program
  • Open Data Initiative
  • Code Sharing

Big (Data + Think) 2 - jason.duley@nasa.gov

Why APIs 

  • Enforces data re-usability
  • APIs should be standalone and not coupled with Apps! (commonly occurs at NASA)
    • e.g.: website/online system design should be two-fold:
      • develop API information access, then
      • develop a client that uses it
  • Deployment vs. Management
    • mgmt layer sits in front of deployment (e.g.: micro-services, AWS, etc.)

API Management

  • API.NASA.GOV - API Management/Catalog
  • Why API Management is needed
    • Ever increasing number of APIs
    • Desire for fine-grained resource allocation
    • API access control/Developer Keys
  • Features
    • Caching, Rate Limiting
    • Provides hooks for analytics
    • Developer Keys - Integrated with Federal Government-wide API effort

API Catalog

  • Built in collaboration with other Federal Agencies (GSA, FDA, OMB, NREL, NASA)
  • Leverages Open Source - API Umbrella
  • Promotes citizen contribution
  • Site dedicated to NASA Open APIs
  • Sign up for Developer Keys
  • Integrated live code editor -experiment with APIs
  • Templates for API documentation

Open Data Initiative

  • Why Open Data
    • Make datasets available to citizens
    • Meet OMB mandates to catalog open data (M-13-13)
  • How
    • data.nasa.gov Data Portal + automation
    • Public Data Listing and Federal Government Harvesting on data.gov

Open Data Initiative

  • NASA Open Data Portal
    • Dataset meta-data/links to authoritative source
    • Hosted orphaned datasets
    • Provides API Wrappers
    • Citizen Engagement / Feedback

Data -> API

data.nasa.gov contains features to host datasets and expose those datasets as APIs

Data -> API

Add some data and make it available to the masses as an API

Data -> API

Map a semi-structured XLS schema during import

-->

Data -> API

Add dataset meta-data and publish

Data -> API

Dataset is now hosted on data.nasa.gov and is available via RESTFUL API

Code Sharing

  • Several sub-areas within "Code Sharing"

    • Open Source Software publication

    • Challenge - Solution Incubation

    • Inter-Center Code Sharing Infratructure

    • Distributed Software Registry

GitHub.com

http://github.com/nasa 

NASA Organization

  • 80 Public Repositories
  • 130+ users
  • 50+ Development Teams
  • 18/50 Private Repositories
  • Multiple Organizations
  • and growing ...

Code Sharing

  • Internal NASA Code Sharing

  • Heterogenous Federated Code Sharing System Prototype

  • Repositories (GIT / SVN / Hg / CVS / Custom)

  • Distributed Repository Browsing

  • Full-text Search of Source Code

  • Faceted Search of Projects

  • Leverage Data Standards to model software projects (Distributed Software Registry)

Code Sharing

deck

By Jason Duley

deck

  • 539