SlideShare a Scribd company logo
OpenAPI Extensions for OSLC
OSLCFest 2020
Luis Ramírez, Koneksys
luis.ramirez@koneksys.com
May 19, 2020
1
whoami
● Software Engineer @ Koneksys
since 2019
● Experienced with web API
Technologies
● Former co-founder of SISU
Technologies
● Lesson learned: Never
underestimate integrations
2
OpenAPI
● Specification to describe Web
API
● Endpoints and Resources
● Format: YAML or JSON
● Originated from Swagger
3
User
definition
User
endpoints
Swagger
4
Swagger Codegen: Code generation for server stubs and client SDKs.
( OpenAPI - Input)
Swagger UI: API Documentation ( OpenAPI - Input)
Swagger Core: Java Annotations ( OpenAPI - Output)
Set of tools around OpenAPI
Swagger Codegen
5
Link
Swagger UI
6
Link
Swagger Core (Annotations)
7
OpenAPI Initiative - Members
8
Development Approaches (Pipelines)
9
Code First API First
Code First Approach
● Write code with Swagger Core annotations, then generate OpenAPI.
10
API First Approach
● Write OpenAPI first, then generate code.
11
Eclipse Lyo Designer Support For Swagger
12
Lyo Designer Approach: Code First
13
OSLC & OpenAPI Integration
● OSLC: Structured endpoints and resources.
○ Swagger UI doesn’t reflect this.
● What if we could add OSLC concepts to OpenAPI?
● Possibilities:
○ Generate OSLC APIs using Swagger Codegen (Eclipse Lyo Designer Codegen  Other
platforms)
○ Meaningful documentation in Swagger UI
14
OpenAPI Extensions
● AKA Vendor Extensions
● Example:
○ AWS API Gateway extensions
15
OpenAPI Extensions
● Properties prefixed with x-
● Read by Swagger Tools
● Examples: Microsoft Flow, Amazon API Gateway, Azure API Management
16
● Operations:
○ x-OSLC-ResourceShapeEndpoint
○ x-OSLC-ServiceProvider
○ x-OSLC-Service
○ x-OSLC-QueryCapability
○ x-OSLC-CreationFactory
Proposed OpenAPI Extensions for OSLC
● Models:
○ x-OSLC-ResourceShape
● Model Properties:
○ x-OSLC-Name
○ x-OSLC-PropertyDefinition
○ x-OSLC-Occurs
○ x-OSLC-ValueType
○ x-OSLC-ReadOnly
○ x-OSLC-Range
17
Proposed OpenAPI Extensions for OSLC: Endpoints
18
Proposed OpenAPI Extensions for OSLC: Resources
19
Demo: OSLC OpenAPI Extensions  Swagger Codegen
● Input: OpenAPI spec file with extensions
● Output: OSLC API
● API First Approach
● Swagger tools have a degree of customization
● Swagger Codegen: Mustache template overrides for generators
○ Generator: JAX-RS Server
○ Output: Spring Boot
20
Swagger
Codegen
OpenAPI with
Extensions
Custom templates
OSLC
API
Demo
21
Next Steps
● Swagger Codegen: Include extensions in Swagger Core Annotations in
generated code.
○ The generated code can’t produce an OpenAPI spec with the OSLC extensions.
● Formally define and document the extensions.
● Customize Swagger UI (plugin) to show meaningful OSLC data based on
extensions.
● Potentially generate OSLC Clients.
22
Major Challenges
● Swagger UI: Design support for RDF formats in samples.
● No support for OAuth 1.0a.
23
Open invitation to collaborate!
https://github.com/cenobyte321/oslc_openapi_extensions
Questions?
luis.ramirez@koneksys.com

More Related Content

PDF
Angular2 - A story from the trenches
PDF
Develop & Deploy your Laravel Application on Google Cloud Platforms
PDF
Meetup 24/3/2016 - Node.js User Group Belgium
PDF
The working architecture of node js applications open tech week javascript ...
DOCX
Angular 4 Training | Angular Js training in Hyderabad
PDF
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
PDF
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
PDF
Android build process (1)
Angular2 - A story from the trenches
Develop & Deploy your Laravel Application on Google Cloud Platforms
Meetup 24/3/2016 - Node.js User Group Belgium
The working architecture of node js applications open tech week javascript ...
Angular 4 Training | Angular Js training in Hyderabad
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
Android build process (1)

What's hot (6)

PDF
Metadata and Access Control
PDF
Introduction to javascript technologies
PDF
Android Building, Testing and reversing
DOCX
Best Angular JS training in Hyderabad, India
PDF
Modular GraphQL with Schema Stitching
PPTX
React native introduction (Mobile Warsaw)
Metadata and Access Control
Introduction to javascript technologies
Android Building, Testing and reversing
Best Angular JS training in Hyderabad, India
Modular GraphQL with Schema Stitching
React native introduction (Mobile Warsaw)
Ad

Similar to OpenAPI Extensions for OSLC (20)

PDF
API workshop by AWS and 3scale
PDF
JSON API Specificiation
PDF
Openshift service broker and catalog ocp-meetup july 2018
PDF
Presentation at the 2016 Linux Foundation Collab Summit
PDF
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
PDF
OpenAPI development with Python
PDF
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
PDF
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
PPTX
APIdays Paris 2014 - The State of Web API Languages
PPTX
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
PDF
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
PDF
Get Your Node.js API Swaggering with OpenAPI Spec
PDF
A Snapshot of API Design Trends In 2019
PDF
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
PDF
@avanttic_meetup Oracle Technology MAD_BCN: Oracle Cloud API Platform evoluc...
PDF
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
PDF
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
PPTX
Delivering Developer Tools at Scale
PDF
Implementing OpenAPI and GraphQL services with gRPC
API workshop by AWS and 3scale
JSON API Specificiation
Openshift service broker and catalog ocp-meetup july 2018
Presentation at the 2016 Linux Foundation Collab Summit
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
OpenAPI development with Python
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Get Your Node.js API Swaggering with OpenAPI Spec
A Snapshot of API Design Trends In 2019
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
@avanttic_meetup Oracle Technology MAD_BCN: Oracle Cloud API Platform evoluc...
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
Delivering Developer Tools at Scale
Implementing OpenAPI and GraphQL services with gRPC
Ad

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Understanding Forklifts - TECH EHS Solution
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
System and Network Administraation Chapter 3
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
medical staffing services at VALiNTRY
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
Understanding Forklifts - TECH EHS Solution
wealthsignaloriginal-com-DS-text-... (1).pdf
Designing Intelligence for the Shop Floor.pdf
Operating system designcfffgfgggggggvggggggggg
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Reimagine Home Health with the Power of Agentic AI​
CHAPTER 2 - PM Management and IT Context
Adobe Illustrator 28.6 Crack My Vision of Vector Design
System and Network Administraation Chapter 3
Design an Analysis of Algorithms I-SECS-1021-03
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
medical staffing services at VALiNTRY
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development

OpenAPI Extensions for OSLC

  • 1. OpenAPI Extensions for OSLC OSLCFest 2020 Luis Ramírez, Koneksys luis.ramirez@koneksys.com May 19, 2020 1
  • 2. whoami ● Software Engineer @ Koneksys since 2019 ● Experienced with web API Technologies ● Former co-founder of SISU Technologies ● Lesson learned: Never underestimate integrations 2
  • 3. OpenAPI ● Specification to describe Web API ● Endpoints and Resources ● Format: YAML or JSON ● Originated from Swagger 3 User definition User endpoints
  • 4. Swagger 4 Swagger Codegen: Code generation for server stubs and client SDKs. ( OpenAPI - Input) Swagger UI: API Documentation ( OpenAPI - Input) Swagger Core: Java Annotations ( OpenAPI - Output) Set of tools around OpenAPI
  • 10. Code First Approach ● Write code with Swagger Core annotations, then generate OpenAPI. 10
  • 11. API First Approach ● Write OpenAPI first, then generate code. 11
  • 12. Eclipse Lyo Designer Support For Swagger 12
  • 13. Lyo Designer Approach: Code First 13
  • 14. OSLC & OpenAPI Integration ● OSLC: Structured endpoints and resources. ○ Swagger UI doesn’t reflect this. ● What if we could add OSLC concepts to OpenAPI? ● Possibilities: ○ Generate OSLC APIs using Swagger Codegen (Eclipse Lyo Designer Codegen  Other platforms) ○ Meaningful documentation in Swagger UI 14
  • 15. OpenAPI Extensions ● AKA Vendor Extensions ● Example: ○ AWS API Gateway extensions 15
  • 16. OpenAPI Extensions ● Properties prefixed with x- ● Read by Swagger Tools ● Examples: Microsoft Flow, Amazon API Gateway, Azure API Management 16
  • 17. ● Operations: ○ x-OSLC-ResourceShapeEndpoint ○ x-OSLC-ServiceProvider ○ x-OSLC-Service ○ x-OSLC-QueryCapability ○ x-OSLC-CreationFactory Proposed OpenAPI Extensions for OSLC ● Models: ○ x-OSLC-ResourceShape ● Model Properties: ○ x-OSLC-Name ○ x-OSLC-PropertyDefinition ○ x-OSLC-Occurs ○ x-OSLC-ValueType ○ x-OSLC-ReadOnly ○ x-OSLC-Range 17
  • 18. Proposed OpenAPI Extensions for OSLC: Endpoints 18
  • 19. Proposed OpenAPI Extensions for OSLC: Resources 19
  • 20. Demo: OSLC OpenAPI Extensions  Swagger Codegen ● Input: OpenAPI spec file with extensions ● Output: OSLC API ● API First Approach ● Swagger tools have a degree of customization ● Swagger Codegen: Mustache template overrides for generators ○ Generator: JAX-RS Server ○ Output: Spring Boot 20 Swagger Codegen OpenAPI with Extensions Custom templates OSLC API
  • 22. Next Steps ● Swagger Codegen: Include extensions in Swagger Core Annotations in generated code. ○ The generated code can’t produce an OpenAPI spec with the OSLC extensions. ● Formally define and document the extensions. ● Customize Swagger UI (plugin) to show meaningful OSLC data based on extensions. ● Potentially generate OSLC Clients. 22
  • 23. Major Challenges ● Swagger UI: Design support for RDF formats in samples. ● No support for OAuth 1.0a. 23
  • 24. Open invitation to collaborate! https://github.com/cenobyte321/oslc_openapi_extensions Questions? luis.ramirez@koneksys.com