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
- e.g.: website/online system design should be two-fold:
- 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