14
S Expanding Access To Department of Labor (DOL) Data Building APIs Tyrone Grandison, PhD Presidential Innovation Fellow Department of Labor (DOL) Data Innovation DC March 4 th , 2015

Expanding Access To Department of Labor (DOL) data

Embed Size (px)

Citation preview

S

Expanding Access To

Department of Labor

(DOL) DataBuilding APIs

Tyrone Grandison, PhD

Presidential Innovation Fellow

Department of Labor (DOL)

Data Innovation DC

March 4th, 2015

What is the DOL?

S A system of systems:

S Many moving parts. Some connected. Some not.

1. Administrative Review Board (ARB)

2. Benefits Review Board (BRB)

3. Bureau of International Labor Affairs (ILAB)

4. Bureau of Labor Statistics (BLS)

5. Center for Faith-Based &Neighborhood Partnerships

(CFBNP)

6. Employee Benefits Security Administration (EBSA)

7. Employees' Compensation Appeals Board (ECAB)

8. Employment & Training Administration (ETA)

9. Job Corps

10. Mine Safety &Health Administration (MSHA)

11. Occupational Safety & Health Administration (OSHA)

12. Office of Administrative Law Judges (OALJ)

13. Office of Congressional & Intergovernmental Affairs

(OCIA)

14. Office of the Assistant Secretary for Administration &

Management (OASAM)

15. Civil Rights Center

16. Office of the Assistant Secretary for Policy (OASP)

17. Office of the Chief Financial Officer(OCFO)

18. Office of Disability Employment Policy (ODEP)

19. Office of Federal Contract Compliance Programs (OFCCP)

20. Office of Inspector General (OIG)

21. Office of Labor-Management Standards (OLMS)

22. Office of Public Engagement (OPE)

23. Office of the Solicitor(SOL)

24. Office of Workers' Compensation Programs (OWCP)

25. Ombudsman for the Energy Employees Occupational

Illness Compensation Program (EEOMBD)

26. Pension Benefit Guaranty Corporation (PBGC)

27. Veterans' Employment & Training Service (VETS)

28. Wage and Hour Division (WHD)

29. Women's Bureau (WB)

30. Office Of Public Affairs (OPA)

Organizational Structure

Current Landscape

S Some agencies provide raw data through text files, Excel

sheets and or API

S Examples: MSHA, BLS, OSHA, ETA, VETS, WHD, OPA

S Current API*

S Covers over 200 datasets.

S Created by OPA Division of Enterprise Communications.

S Sole mission is to provide developers with access to DOL

data.

S api.dol.gov currently runs on Windows 2008.*The current API is often referred to as APIv1 or “the legacy API

APIv1 Backend

S Built using OData.

S Solution also

contains:

S Drupal

S Software development

kits - not required, but

eases the

development of

applications

S Databases

Sources

S Department of Labor (DOL) data primarily available at:

S DOL’s developer site

S Data.gov

Other Sources

S Career One Stop

S AJC locations; licensing, certification, education,

apprenticeship, community college and training info; job

listings and job count info.

S Occupational Information Network (O*NET)

S Detailed profiles of occupations; translations from military

occupations, profiles of interests

One Last Source

S Bureau of Labor Statistics

S Labor Market Information

Using APIv1

S Register

S Visit https://devtools.dol.gov/developer

S Click the Register link.

S Fill in the registration form and submit it.

S A confirmation email will be sent to the

address you provided during registration.

S Click on the link in the email to activate

your developer account.

S Create API Key (Token)

S Visit https://devtools.dol.gov/developer

S At the login page, enter your username

and password

S Click on the My Tokens link

S Click "Create New Token"

S Provide a Shared Secret (deprecated, but

for the moment still required for the

registration process), Application Name,

and a Description

S The token value will be auto-generated

and added to your tokens list.

S Access the API

S The API is exposed as an OData

producer, with the addition of

request authorizations.

S To make API calls you must

supply a valid Token as the

"KEY" parameter on the query

string with every request.

Example

For DOLAgency and token d9c6c290-

da4c-424e-a378-fb4bd027b58b, the

direct link to Agency data is:

http://api.dol.gov/V1/DOLAgency/Agen

cies/?KEY=d9c6c290-da4c-424e-

a378-fb4bd027b58b

Result Format

By default, the DOL API's responses

are in XML format. To receive the data

in JSON, send an "Accept" header

with "application/json.”

FYI

S A lot of the assets are utilizing APIv1.

S Some are using their own API standard.

S By Q4 2015, all (participating) agencies will move to

APIv2.

APIv2 Desired Features

1. Single sign-on and authentication for datasets with private or

sensitive data.

2. Improved readability and usability of dataset documentation for all

skill levels of developers.

3. Create Internal API with legacy functions, plus CRUD and account

deactivation.

4. Modifying External API and SDKs to facilitate end-user development.

5. Enable all open data that is available via the API to be available in

one of the accepted bulk downloadable formats with options for

filtering.

6. Update Token self-service app to integrate with APIv2, mobile

support and new datasets.

7. Expose DOL web content as structured data via the API.APIv2 is backwards-compatible with APIv1

APIv2 High Level Requirements

S Support requests over SSL/TLS

S Support read/write transactions (it is currently read-only)

S Continue to require and support API Keys

S Continue to be a centralized API

S Should not break existing apps using the DOL API

S Support the myUSA (if available or equivalent) authentication

service

S Continue to be a RESTful service that supports all platforms

S Same codebase for internal and external deployments

S Conform to the 18F API standards to the highest degree

practicable

APIv2 Backend

S Based on the GitHub - Project Open

Data community contributed code

S Will run on the LAMP stack.

S Will also consist of:S Code Igniter (Ellis Lab) Application

Framework

S Server Clustering using a Beowulf Cluster

to leverage load balancing and parallel

processing

S Caching using Varnish Cache

S Will incorporate Object Oriented

Design

S Results default to JSON