Interoperable REST APIs
with OpenAPI3 and connexion
EuroPython 2019
Basel, 9th July 2019
ROBERTO POLLI TEAM PER LA TRASFORMAZIONE DIGITALE
—
The Italian Digital Team
API Interoperability 101
& Training setup
OpenAPI Modeling
Implementing APIs with Connexion
Using YAML features to improve interoperability
Authorization & Throttling
Pagination & Validation
Agenda
Make public services
for citizens and businesses accessible in an easy manner,
via a mobile first approach,
with reliable, scalable and fault tolerant architectures,
based on clearly defined APIs.
Team
Mission
Roberto Polli - I love writing in Python, C and Java
RHC{E,VA}, MySQL|MongoDB Certified DBA
API Ecosystem @ TeamDigitale
Who am I
Course Setup
Training materials
API 101
REST in the New Italian Interoperability Framework
The Quest: an Italian API Ecosystem
OpenAPI v3
Describing APIs
API-First:
Communicate:
OpenAPI 3.0 aka OAS3
Initiative under the Linux Foundation, participated by gov & co (gov.uk, Microsoft, Google, Oracle, IBM, ..)
Driver for API adoption
WSDL for REST APIs
Evolution of Swagger 2.0
OpenAPI aka OAS3
Lightweight format: YAML
Generates docs & code via tools (swagger-editor, apicur.io)
Reusable components via hyperlink (eg. $ref)
A set of curated objects available on github: interoperability by reuse!
References
https://docs.italia.it/italia/piano-triennale-ict/lg-modellointeroperabilita-docs/
https://forum.italia.it/c/piano-triennale/interoperabilita
https://forum.italia.it/t/modi2018-il-modello-di-interoperabilita-2018/3762
New (ongoing) Italian Framework
Roberto Polli
roberto@teamdigitale.governo.it
@ioggstream
@teamdigitaleIT
@team-per-la-trasformazione-digitale
teamdigitale.governo.it