Andrew Yuen and Michelle Ibarra EPAOffice of Environmental Information Digital Services Division US Environmental Protection Agency Who we are We work in EPAs IT Shop the Office of Environmental Information ID: 917250
Download Presentation The PPT/PDF document "SDWIS: API Proof of Concept and Demo" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
SDWIS: API Proof of Concept and Demo
Andrew Yuen and Michelle IbarraEPA/Office of Environmental Information Digital Services Division
Slide2U.S. Environmental Protection Agency
Who we are
We work in EPA’s IT Shop
, the Office of Environmental Information.
Provide IT consulting
(recommendations and insight) to EPA IT Development teams.Host EPA’s Developers’ Guild, a monthly webinar available to EPA, State and Tribe Partner Developers, IT Professionals, and Project Managers.
2
Slide3U.S. Environmental Protection Agency
What we are going to share today
Why REST APIs were used
What was developed: REST API proof of concept
What issues we ran into
Suggestions for reuse
Looking Ahead
Contact
3
Slide4U.S. Environmental Protection Agency
Why REST APIs were used
Flexibility
REST API can handle multiple data calls.
Return data in different formats.
Developers are familiar with REST APIs.Most modern languages have tooling to support REST APIs.Conclusion: Satisfy the need for Primacy Agencies to easily submit data to the EPA.
4
Slide5U.S. Environmental Protection Agency
What was developed: API Proof of Concept
The user interface was developed to:
Make various
GET request
to an endpoint to make it easy to look up identifiers such as Water System ID, Facility ID, Sample Point ID, and Lab ID.Make a POST request to send data of a Negative Coliform Test Sample.
Demo AssumptionsPHP and Bootstrap were used to develop the API and UI.Mock basic authentication.Not all Primacy Agencies have Sampling Point ID or Lab IDs.Estimated time to develop the UI: 1 Developer part-time, 3-4 weeks
5
Slide6Demo: API Proof of concept
- Failed Submission - total coliform negative sample submission- Seeing Submission in SDWIS Database
U.S. Environmental Protection Agency
6
Slide7U.S. Environmental Protection Agency
Issues Encountered
The APIs for the get requests that we used to populate the typeaheads were returning additional information that we did not need.
The API by default was returning data in XML and not JSON format.
The API was expecting dates in ISO-8601 format which meant we had to convert to that format.
7
Slide8U.S. Environmental Protection Agency
Recommendations Moving Forward
Proof of Concept
Implement OAuth authentication
Community Code Reuse and Maintenance
User testing
8
Slide9U.S. Environmental Protection Agency
Recommendations: Proof of Concept
This
proof of concept
was developed to demonstrate how to quickly set up a UI with the current SDWIS PRIME APIs.
Any part of the code developed from this proof of concept can be reused by Primacy Agencies at their discretion and coordinated with the SDWIS Prime team.
9
Slide10U.S. Environmental Protection Agency
Recommendations: Implement OAuth
There is
a lot of work
that needs to be done in order to implement a REST based API model for submitting data to SDWIS PRIME.
In order to be able to use these APIs in production, the API must be secured and proper OAuth authentication must be implemented.Coordinate with EPA’s SDWIS Prime team, EPA’s CDX team, Cybersecurity Specialist, etc.
10
Slide11U.S. Environmental Protection Agency
Recommendation: Code Reuse
Where possible, the Primacy Agency’s should consider developing common code based on the SDWIS APIs for reuse.
With limited resources, this approach will help establish a community of developers to collectively maintain, improve, and reuse code.
11
Slide12U.S. Environmental Protection Agency
Recommendations: Usability Testing
Extensive
user testing involving SDWIS Prime team and the Primacy Agencies
to design and implement the API and any UIs that are developed as examples.
Validate your submission workflows.Draw mock wireframes before spending funds on development.Test with real users.Improve the UI will real feedback.
12
Slide13U.S. Environmental Protection Agency
Looking Ahead
OpenAPI
Specifications
API description format for REST APIs.
Standardization to this modern approach increases usability and consumption of REST APIs.API GatewayCode reuseWhere possible, create open source code to increase the ability for developers to work together, foster collaborative development, share and maintain code together.
13
Slide14Contacts
API Proof of Concept
Andrew Yuen (
yuen.andrew@epa.gov
)
Michelle Ibarra (ibarra.michelle@epa.gov) SDWIS Prime ContactsKristen Gastner (Gastner.Kristen@epa.gov) Elinor Keith (
keith.Elinor@epa.gov) Resources
Code Repository:https://github.com/USEPA/SDWIS-PHP-REST-API-DEMO Developer Central:
https://developer.epa.gov/
U.S. Environmental Protection Agency
14
Thank you!