SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 2020Pratik 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 2017Patrice Krakow
 
The anypoint platform for API's
The anypoint platform for API'sThe anypoint platform for API's
The anypoint platform for API'sAchyuta 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 SolutionsBill 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 webinarLibbySchulze
 
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 endAdobeMarketingCloud
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Engineor
 
Introduction to google endpoints
Introduction to google endpointsIntroduction to google endpoints
Introduction to google endpointsShinto 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 SecondsWSO2
 
Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to ApigilityEngineor
 
Portable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache BeamPortable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache Beamconfluent
 
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 FrameworkOlga 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 2017Patrice Krakow
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with PythonTakuro 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
 

Semelhante a 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
 

Mais de Octavian Nadolu

YAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenYAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenOctavian 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 ScriptingOctavian Nadolu
 
OpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOctavian Nadolu
 
JSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIJSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIOctavian Nadolu
 
Create an Design JSON Schema
Create an Design JSON SchemaCreate an Design JSON Schema
Create an Design JSON SchemaOctavian Nadolu
 
Compare And Merge Scripts
Compare And Merge ScriptsCompare And Merge Scripts
Compare And Merge ScriptsOctavian Nadolu
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML LanguagesOctavian Nadolu
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenOctavian Nadolu
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing ValidationOctavian Nadolu
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronOctavian Nadolu
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to SchematronOctavian 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 ConvertOctavian 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 2019Octavian Nadolu
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessOctavian Nadolu
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentOctavian Nadolu
 

Mais de Octavian Nadolu (20)

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
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation Process
 
Schematron step-by-step
Schematron step-by-stepSchematron step-by-step
Schematron step-by-step
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
 

Último

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 

Último (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

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