SlideShare a Scribd company logo
OpenAPI/AsyncAPI
Support in Oxygen
© 2022 Syncro Soft SRL. All rights reserved.
Octavian Nadolu, Syncro Soft
octavian.nadolu@oxygenxml.com
@OctavianNadolu
OpenAPI/AsyncAPI in Oxygen
Agenda
 OpenAPI/AsyncAPI Specification
 Create OpenAPI/AsyncAPI Documents
 Edit and Validate OpenAPI/AsyncAPI
 Edit OpenAPI/AsyncAPI in Author Mode
 Generate Documentation for OpenAPI
 Test OpenAPI Service
OpenAPI/AsyncAPI in Oxygen
OpenAPI Specification(OAS)
 Is a format for describing and documenting
APIs
 Allows both humans and computers to
discover and understand the capabilities of a
service
www.openapis.org
OpenAPI/AsyncAPI in Oxygen
AsyncAPI Specification
 AsyncAPI started as an adaptation of the
OpenAPI specification
 Used for describing asynchronous messaging
APIs
www.asyncapi.com
OpenAPI/AsyncAPI in Oxygen
OpenAPI/AsyncAPI Documents
 Can be written in JSON or YAML
 Describes the inputs and outputs of an API
 Include information such as:
– where the API is hosted
– what authorization is required to access it
– details for consumers and producers
OpenAPI/AsyncAPI in Oxygen
OpenAPI Example
JSON YAML
"openapi": "3.1.0",
"info": {
"title": "Dog API",
"version": "1.0.0"
},
"servers": [
{"url": "https://dog.ceo/api"}
],
"paths": {}
openapi: 3.1.0
info:
title: Dog API
version: 1.0.0
servers:
- url: https://dog.ceo/api
paths:
OpenAPI/AsyncAPI in Oxygen
OpenAPI Example
JSON YAML
"paths": {
"/breed/{breedName}/images": {
"get": {
"description": "Get images",
"parameters": [],
"responses": {
"200": {
"description": "A list of images",
"content": {}
}
}
}
}
}
paths:
/breed/{breedName}/images:
get:
description: Get images
parameters:
responses:
"200":
description: A list of dog
content:
OpenAPI/AsyncAPI in Oxygen
OpenAPI Versions
● OpenAPI 3.1
● OpenAPI 3.0
● OpenAPI/Swagger 2.0
OpenAPI/AsyncAPI in Oxygen
OpenAPI 2.0 vs OpenAPI 3.0
OpenAPI/AsyncAPI in Oxygen
OpenAPI 3.0 vs OpenAPI 3.1
OpenAPI/AsyncAPI in Oxygen
AsyncAPI Versions
● AsyncAPI 1.x
● AsyncAPI 2.x
● AsyncAPI 3.x (pre-release)
www.asyncapi.com/docs
OpenAPI/AsyncAPI in Oxygen
OpenAPI vs AsyncAPI
OpenAPI/AsyncAPI in Oxygen
Question: Do you use/intend to use OpenAPI or AsyncAPI?
 Yes. OpenAPI
 Yes. AsyncAPI
 No. I define APIs using other languages
 No. I do not define APIs
OpenAPI/AsyncAPI in Oxygen
Create OpenAPI/AsyncAPI
● Generate API from code
● Design/Create API using an editor
OpenAPI/AsyncAPI in Oxygen
OpenAPI Tools
● Generate Documentation
● Generate Server
● Generate Client
OpenAPI/AsyncAPI in Oxygen
OpenAPI/AsyncAPI Editor
 New file templates
 Syntax highlights
 Content completion based on the
schema
 Validation conforms with the schema
 Outline view
 Search and replace
OpenAPI/AsyncAPI in Oxygen
Content completion
 Properties and values presented in the content completion window
 Annotations for properties
OpenAPI/AsyncAPI in Oxygen
Validation
 Validation based on the JSON Schema
 Create validation scenarios for each version
 Errors highlighted in editor
OpenAPI/AsyncAPI in Oxygen
Outline view
 Visualize the structure of the document
 Search for properties
 Synchronized with editor
OpenAPI/AsyncAPI in Oxygen
JSON Schema in OpenAPI/AsyncAPI
 You can use JSON Schema to describe data objects for both requests and
responses
OpenAPI/AsyncAPI in Oxygen
JSON Schema in OpenAPI/AsyncAPI
 OpenAPI uses JSON Schema specification version
2020-12
 AsyncAPI uses a superset of the JSON Schema
specification Draft 07
 OpenAPI uses JSON Schema specification version
2020-12
 AsyncAPI uses a superset of the JSON Schema
specification Draft 07
OpenAPI/AsyncAPI in Oxygen
JSON Schema Support in Oxygen
 JSON Schema Editor - specialized editor with various editing features
 Validation against JSON Schema
 Editing based on JSON Schema
 Tools
– Generate JSON Schema Documentation
– Generate Sample JSON Files from a JSON Schema
– Generate JSON Schema from a JSON File
– XSD to JSON Schema Converter
OpenAPI/AsyncAPI in Oxygen
Question: How do you create/intend to create your API?
 Edit/Design API
 Generate API from code
OpenAPI/AsyncAPI in Oxygen
OpenAPI/AsyncAPI Visual Editor
 Edit documentation
 Form controls to change values
 Collapsible sections
 Customize interface with CSS
OpenAPI/AsyncAPI in Oxygen
OpenAPI Documentation
 Tool for generating detailed documentation for a OpenAPI documents in HTML
format
OpenAPI/AsyncAPI in Oxygen
OpenAPI Documentation
 New design for the OpenAPI
documentation
 OpenAPI 3.1 Support
 Supports for YAML Files
 Generate documentation in one file
or split into multiple files
 Display the diagram image for each
component
OpenAPI/AsyncAPI in Oxygen
OpenAPI Documentation in DITA
oxygenxml.com/events/2022/webinar_integrating_various_document_formats.html
OpenAPI/AsyncAPI in Oxygen
OpenAPI Tester Tool
 GUI interface testing tool for OpenAPI files
 Execute API requests and validate responses
on the fly
 OpenAPI files in JSON or YAML format
OpenAPI/AsyncAPI in Oxygen
Run OpenAPI Test Scenarios
 Tool to run test scenarios
 Specialized framework for editing and
working with OpenAPI test scenario files
OpenAPI/AsyncAPI in Oxygen
Batch Validate OpenAPI/AsyncAPI
 Use the Validate action from project
 Use the Oxygen Scripting from CI/CD
 Use the Validate action from project
 Use the Oxygen Scripting from CI/CD
oxygenxml.com/doc/ug-editor/topics/scripting_oxygen_validate.html
OpenAPI/AsyncAPI in Oxygen
Conclusion
 Edit/Design OpenAPI and AsyncAPI
documents
 Edit/Design JSON Schema documents
 Edit documentation
 Generate Documentation for OpenAPI
 Test your OpenAPI
OpenAPI/AsyncAPI in Oxygen
Future Plans
 Validation for OpenAPI/AsyncAPI
references
 Better Authoring support for
OpenAPI/AsyncAPI
 Generate AsyncAPI documentation
 OpenAPI/AsyncAPI documentation from
scripting
 Create AsyncAPI test tool
 OpenAPI/AsyncAPI test scenario from
scripting
OpenAPI/AsyncAPI in Oxygen
Question: What features are the most important for you?
 Validation for OpenAPI/AsyncAPI
references
 Better Authoring support for OpenAPI/
AsyncAPI
 Generate AsyncAPI documentation
 OpenAPI/AsyncAPI documentation
from scripting
OpenAPI/AsyncAPI in Oxygen
Resources
 oxygenxml.com/xml_editor/openapi.html
 oxygenxml.com/doc/ug-editor/topics/openapi-tester.html
 oxygenxml.com/doc/ug-editor/topics/openapi-documentation-generator.html
 https://www.openapis.org
 https://json-schema.org/
 https://www.asyncapi.com
OpenAPI/AsyncAPI in Oxygen
Video Demos
 oxygenxml.com/demo/json_schema_palette.html
 oxygenxml.com/demo/introducing_the_json_schema_design.html
 oxygenxml.com/demo/json_author.html
 oxygenxml.com/demo/json_tools.html
 oxygenxml.com/demo/json_validation.html
 oxygenxml.com/demo/json_editing.html
 oxygenxml.com/demo/json_query.html
Questions?
Octavian Nadolu
Product Manager at Syncro Soft
octavian.nadolu@oxygenxml.com
Twitter: @OctavianNadolu
LinkedIn: octaviannadolu

More Related Content

Similar to OpenAPI/AsyncAPI Support in Oxygen

Open API (aka Swagger) - DDD by Night May 2020
Open API (aka Swagger) - DDD by Night May 2020Open API (aka Swagger) - DDD by Night May 2020
Open API (aka Swagger) - DDD by Night May 2020
Pratik Khasnabis
 
A Journey from API Versioning to Canary Release | APIDays Zurich 2017
A Journey from API Versioning to Canary Release | APIDays Zurich 2017A Journey from API Versioning to Canary Release | APIDays Zurich 2017
A Journey from API Versioning to Canary Release | APIDays Zurich 2017
Patrice Krakow
 
The anypoint platform for API's
The anypoint platform for API'sThe anypoint platform for API's
The anypoint platform for API's
Achyuta Lakshmi
 
Ultimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation SolutionsUltimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation Solutions
Bill Doerrfeld
 
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
Patrice Krakow
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinar
LibbySchulze
 
OpenAPI Extensions for OSLC
OpenAPI Extensions for OSLCOpenAPI Extensions for OSLC
OpenAPI Extensions for OSLC
LuisArmandoRamrezAgu
 
IMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back endIMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back end
AdobeMarketingCloud
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
Engineor
 
Mule api management
Mule  api managementMule  api management
Mule api management
Bhanu Chandra Nalleboyina
 
Appium solution
Appium solutionAppium solution
Appium solution
Nael Abd Eljawad
 
Introduction to google endpoints
Introduction to google endpointsIntroduction to google endpoints
Introduction to google endpoints
Shinto Anto
 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
WSO2
 
Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to Apigility
Engineor
 
Apimanagement
ApimanagementApimanagement
Apimanagement
chandu1443
 
Portable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache BeamPortable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache Beam
confluent
 
Workshop: Data Visualization for Corpus Linguistics via Shiny Framework
Workshop: Data Visualization for Corpus Linguistics via Shiny FrameworkWorkshop: Data Visualization for Corpus Linguistics via Shiny Framework
Workshop: Data Visualization for Corpus Linguistics via Shiny Framework
Olga Scrivner
 
API Versioning for Zero Downtime | Devoxx Belgium 2017
API Versioning for Zero Downtime | Devoxx Belgium 2017API Versioning for Zero Downtime | Devoxx Belgium 2017
API Versioning for Zero Downtime | Devoxx Belgium 2017
Patrice Krakow
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
Takuro Wada
 
Practices and tools for building better APIs
Practices and tools for building better APIsPractices and tools for building better APIs
Practices and tools for building better APIsNLJUG
 

Similar to OpenAPI/AsyncAPI Support in Oxygen (20)

Open API (aka Swagger) - DDD by Night May 2020
Open API (aka Swagger) - DDD by Night May 2020Open API (aka Swagger) - DDD by Night May 2020
Open API (aka Swagger) - DDD by Night May 2020
 
A Journey from API Versioning to Canary Release | APIDays Zurich 2017
A Journey from API Versioning to Canary Release | APIDays Zurich 2017A Journey from API Versioning to Canary Release | APIDays Zurich 2017
A Journey from API Versioning to Canary Release | APIDays Zurich 2017
 
The anypoint platform for API's
The anypoint platform for API'sThe anypoint platform for API's
The anypoint platform for API's
 
Ultimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation SolutionsUltimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation Solutions
 
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
A Journey from API Versioning to Canary Release | Nordic APIs Platform Summit...
 
Api clarity webinar
Api clarity webinarApi clarity webinar
Api clarity webinar
 
OpenAPI Extensions for OSLC
OpenAPI Extensions for OSLCOpenAPI Extensions for OSLC
OpenAPI Extensions for OSLC
 
IMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back endIMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back end
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
 
Mule api management
Mule  api managementMule  api management
Mule api management
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Introduction to google endpoints
Introduction to google endpointsIntroduction to google endpoints
Introduction to google endpoints
 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
 
Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to Apigility
 
Apimanagement
ApimanagementApimanagement
Apimanagement
 
Portable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache BeamPortable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache Beam
 
Workshop: Data Visualization for Corpus Linguistics via Shiny Framework
Workshop: Data Visualization for Corpus Linguistics via Shiny FrameworkWorkshop: Data Visualization for Corpus Linguistics via Shiny Framework
Workshop: Data Visualization for Corpus Linguistics via Shiny Framework
 
API Versioning for Zero Downtime | Devoxx Belgium 2017
API Versioning for Zero Downtime | Devoxx Belgium 2017API Versioning for Zero Downtime | Devoxx Belgium 2017
API Versioning for Zero Downtime | Devoxx Belgium 2017
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
 
Practices and tools for building better APIs
Practices and tools for building better APIsPractices and tools for building better APIs
Practices and tools for building better APIs
 

More from Octavian Nadolu

Verify Content With Artificial Intelligence
Verify Content With Artificial IntelligenceVerify Content With Artificial Intelligence
Verify Content With Artificial Intelligence
Octavian Nadolu
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
YAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenYAML Editing and Validation In Oxygen
YAML Editing and Validation In Oxygen
Octavian Nadolu
 
Oxygen JSON Editor
Oxygen JSON EditorOxygen JSON Editor
Oxygen JSON Editor
Octavian Nadolu
 
Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...
Octavian Nadolu
 
Validating XML and JSON Documents Using Oxygen Scripting
 Validating XML and JSON Documents Using Oxygen Scripting Validating XML and JSON Documents Using Oxygen Scripting
Validating XML and JSON Documents Using Oxygen Scripting
Octavian Nadolu
 
OpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and Documenting
Octavian Nadolu
 
JSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIJSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPI
Octavian Nadolu
 
Create an Design JSON Schema
Create an Design JSON SchemaCreate an Design JSON Schema
Create an Design JSON Schema
Octavian Nadolu
 
Compare And Merge Scripts
Compare And Merge ScriptsCompare And Merge Scripts
Compare And Merge Scripts
Octavian Nadolu
 
JSON Schema Design
JSON Schema DesignJSON Schema Design
JSON Schema Design
Octavian Nadolu
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML Languages
Octavian Nadolu
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in Oxygen
Octavian Nadolu
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing Validation
Octavian Nadolu
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO Schematron
Octavian Nadolu
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to Schematron
Octavian Nadolu
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
Octavian Nadolu
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and Convert
Octavian Nadolu
 
The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019
Octavian Nadolu
 

More from Octavian Nadolu (20)

Verify Content With Artificial Intelligence
Verify Content With Artificial IntelligenceVerify Content With Artificial Intelligence
Verify Content With Artificial Intelligence
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
YAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenYAML Editing and Validation In Oxygen
YAML Editing and Validation In Oxygen
 
Oxygen JSON Editor
Oxygen JSON EditorOxygen JSON Editor
Oxygen JSON Editor
 
Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...
 
Validating XML and JSON Documents Using Oxygen Scripting
 Validating XML and JSON Documents Using Oxygen Scripting Validating XML and JSON Documents Using Oxygen Scripting
Validating XML and JSON Documents Using Oxygen Scripting
 
OpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and Documenting
 
JSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIJSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPI
 
Create an Design JSON Schema
Create an Design JSON SchemaCreate an Design JSON Schema
Create an Design JSON Schema
 
Compare And Merge Scripts
Compare And Merge ScriptsCompare And Merge Scripts
Compare And Merge Scripts
 
JSON Schema Design
JSON Schema DesignJSON Schema Design
JSON Schema Design
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML Languages
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in Oxygen
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing Validation
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO Schematron
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to Schematron
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and Convert
 
The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019
 

Recently uploaded

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 

Recently uploaded (20)

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 

OpenAPI/AsyncAPI Support in Oxygen

  • 1. OpenAPI/AsyncAPI Support in Oxygen © 2022 Syncro Soft SRL. All rights reserved. Octavian Nadolu, Syncro Soft octavian.nadolu@oxygenxml.com @OctavianNadolu
  • 2. OpenAPI/AsyncAPI in Oxygen Agenda  OpenAPI/AsyncAPI Specification  Create OpenAPI/AsyncAPI Documents  Edit and Validate OpenAPI/AsyncAPI  Edit OpenAPI/AsyncAPI in Author Mode  Generate Documentation for OpenAPI  Test OpenAPI Service
  • 3. OpenAPI/AsyncAPI in Oxygen OpenAPI Specification(OAS)  Is a format for describing and documenting APIs  Allows both humans and computers to discover and understand the capabilities of a service www.openapis.org
  • 4. OpenAPI/AsyncAPI in Oxygen AsyncAPI Specification  AsyncAPI started as an adaptation of the OpenAPI specification  Used for describing asynchronous messaging APIs www.asyncapi.com
  • 5. OpenAPI/AsyncAPI in Oxygen OpenAPI/AsyncAPI Documents  Can be written in JSON or YAML  Describes the inputs and outputs of an API  Include information such as: – where the API is hosted – what authorization is required to access it – details for consumers and producers
  • 6. OpenAPI/AsyncAPI in Oxygen OpenAPI Example JSON YAML "openapi": "3.1.0", "info": { "title": "Dog API", "version": "1.0.0" }, "servers": [ {"url": "https://dog.ceo/api"} ], "paths": {} openapi: 3.1.0 info: title: Dog API version: 1.0.0 servers: - url: https://dog.ceo/api paths:
  • 7. OpenAPI/AsyncAPI in Oxygen OpenAPI Example JSON YAML "paths": { "/breed/{breedName}/images": { "get": { "description": "Get images", "parameters": [], "responses": { "200": { "description": "A list of images", "content": {} } } } } } paths: /breed/{breedName}/images: get: description: Get images parameters: responses: "200": description: A list of dog content:
  • 8. OpenAPI/AsyncAPI in Oxygen OpenAPI Versions ● OpenAPI 3.1 ● OpenAPI 3.0 ● OpenAPI/Swagger 2.0
  • 11. OpenAPI/AsyncAPI in Oxygen AsyncAPI Versions ● AsyncAPI 1.x ● AsyncAPI 2.x ● AsyncAPI 3.x (pre-release) www.asyncapi.com/docs
  • 13. OpenAPI/AsyncAPI in Oxygen Question: Do you use/intend to use OpenAPI or AsyncAPI?  Yes. OpenAPI  Yes. AsyncAPI  No. I define APIs using other languages  No. I do not define APIs
  • 14. OpenAPI/AsyncAPI in Oxygen Create OpenAPI/AsyncAPI ● Generate API from code ● Design/Create API using an editor
  • 15. OpenAPI/AsyncAPI in Oxygen OpenAPI Tools ● Generate Documentation ● Generate Server ● Generate Client
  • 16. OpenAPI/AsyncAPI in Oxygen OpenAPI/AsyncAPI Editor  New file templates  Syntax highlights  Content completion based on the schema  Validation conforms with the schema  Outline view  Search and replace
  • 17. OpenAPI/AsyncAPI in Oxygen Content completion  Properties and values presented in the content completion window  Annotations for properties
  • 18. OpenAPI/AsyncAPI in Oxygen Validation  Validation based on the JSON Schema  Create validation scenarios for each version  Errors highlighted in editor
  • 19. OpenAPI/AsyncAPI in Oxygen Outline view  Visualize the structure of the document  Search for properties  Synchronized with editor
  • 20. OpenAPI/AsyncAPI in Oxygen JSON Schema in OpenAPI/AsyncAPI  You can use JSON Schema to describe data objects for both requests and responses
  • 21. OpenAPI/AsyncAPI in Oxygen JSON Schema in OpenAPI/AsyncAPI  OpenAPI uses JSON Schema specification version 2020-12  AsyncAPI uses a superset of the JSON Schema specification Draft 07  OpenAPI uses JSON Schema specification version 2020-12  AsyncAPI uses a superset of the JSON Schema specification Draft 07
  • 22. OpenAPI/AsyncAPI in Oxygen JSON Schema Support in Oxygen  JSON Schema Editor - specialized editor with various editing features  Validation against JSON Schema  Editing based on JSON Schema  Tools – Generate JSON Schema Documentation – Generate Sample JSON Files from a JSON Schema – Generate JSON Schema from a JSON File – XSD to JSON Schema Converter
  • 23. OpenAPI/AsyncAPI in Oxygen Question: How do you create/intend to create your API?  Edit/Design API  Generate API from code
  • 24. OpenAPI/AsyncAPI in Oxygen OpenAPI/AsyncAPI Visual Editor  Edit documentation  Form controls to change values  Collapsible sections  Customize interface with CSS
  • 25. OpenAPI/AsyncAPI in Oxygen OpenAPI Documentation  Tool for generating detailed documentation for a OpenAPI documents in HTML format
  • 26. OpenAPI/AsyncAPI in Oxygen OpenAPI Documentation  New design for the OpenAPI documentation  OpenAPI 3.1 Support  Supports for YAML Files  Generate documentation in one file or split into multiple files  Display the diagram image for each component
  • 27. OpenAPI/AsyncAPI in Oxygen OpenAPI Documentation in DITA oxygenxml.com/events/2022/webinar_integrating_various_document_formats.html
  • 28. OpenAPI/AsyncAPI in Oxygen OpenAPI Tester Tool  GUI interface testing tool for OpenAPI files  Execute API requests and validate responses on the fly  OpenAPI files in JSON or YAML format
  • 29. OpenAPI/AsyncAPI in Oxygen Run OpenAPI Test Scenarios  Tool to run test scenarios  Specialized framework for editing and working with OpenAPI test scenario files
  • 30. OpenAPI/AsyncAPI in Oxygen Batch Validate OpenAPI/AsyncAPI  Use the Validate action from project  Use the Oxygen Scripting from CI/CD  Use the Validate action from project  Use the Oxygen Scripting from CI/CD oxygenxml.com/doc/ug-editor/topics/scripting_oxygen_validate.html
  • 31. OpenAPI/AsyncAPI in Oxygen Conclusion  Edit/Design OpenAPI and AsyncAPI documents  Edit/Design JSON Schema documents  Edit documentation  Generate Documentation for OpenAPI  Test your OpenAPI
  • 32. OpenAPI/AsyncAPI in Oxygen Future Plans  Validation for OpenAPI/AsyncAPI references  Better Authoring support for OpenAPI/AsyncAPI  Generate AsyncAPI documentation  OpenAPI/AsyncAPI documentation from scripting  Create AsyncAPI test tool  OpenAPI/AsyncAPI test scenario from scripting
  • 33. OpenAPI/AsyncAPI in Oxygen Question: What features are the most important for you?  Validation for OpenAPI/AsyncAPI references  Better Authoring support for OpenAPI/ AsyncAPI  Generate AsyncAPI documentation  OpenAPI/AsyncAPI documentation from scripting
  • 34. OpenAPI/AsyncAPI in Oxygen Resources  oxygenxml.com/xml_editor/openapi.html  oxygenxml.com/doc/ug-editor/topics/openapi-tester.html  oxygenxml.com/doc/ug-editor/topics/openapi-documentation-generator.html  https://www.openapis.org  https://json-schema.org/  https://www.asyncapi.com
  • 35. OpenAPI/AsyncAPI in Oxygen Video Demos  oxygenxml.com/demo/json_schema_palette.html  oxygenxml.com/demo/introducing_the_json_schema_design.html  oxygenxml.com/demo/json_author.html  oxygenxml.com/demo/json_tools.html  oxygenxml.com/demo/json_validation.html  oxygenxml.com/demo/json_editing.html  oxygenxml.com/demo/json_query.html
  • 36. Questions? Octavian Nadolu Product Manager at Syncro Soft octavian.nadolu@oxygenxml.com Twitter: @OctavianNadolu LinkedIn: octaviannadolu