SlideShare a Scribd company logo
Everybody loves Swagger
Everybody loves Swagger
Nice to meet you
Massimo Crippa
Integration Architect at Codit
 BizTalk D/I
 Api Management
massimo.crippa@codit.eu
codit.eu/blog
@mas_que_crippa
linkedin.com/in/massimocrippa
Agenda
Why APIs are trending
➔ Open Innovation and New
Markets. Enable firms to use internal as well as
external ideas and find new market paths
➔ Consume, Switch or Upgrade
Seamlessly. Drive both the API Consumer and
Provider towards a continuous improvement of quality
➔ Build on Partner Capabilities
➔ Increase Brand Presence
➔ Generate New Revenue Streams
➔ Enable Composite Enterprise
Approach where business functionalities become
small configurable blocks.
➔ Reduce time-to-market
➔ Fueled by mobile, cloud, big data
& IoT
The successful API
➔ Easy to consume (TTFSC, TTFHW)
➔ Understand the use, prevent the misuse (Data formats, authentication, error codes)
➔ Upgrade seamlessly
➔ Getting started, Multi language code samples, SDKs (DevEx)
The documentation is CRUCIAL
What is Swagger?
Edit the API specification in
YAML to produce the JSON
Editor
Layout, describe and
document your API
Specification
A dependency-free collection
of HTML / JS / CSS that
consumes the swagger.json
UI
Consume the swagger.json to
create client and server code
Code-Gen
The specification
Definition language to describe and document RESTful API
➔ Metadata
➔ info, basepath, consumes, produces, etc..
➔ Controllers (paths)
➔ Operations, HTTP verbs, status codes, schema refs
➔ Objects Definition (definitions)
➔ Parameters (e.g. skip)
➔ Responses
➔ Security (e.g. oauth)
The editors
API Specification-First
➔ Swagger Editor
➔ editor.swagger.io
➔ Editor + swagger.js
➔ apistudio.io
➔ Restlet studio (cross-format editor)
➔ studio.restlet.com
The Swagger UI
It’s a dependency-free collection of HTML / JavaScript / CSS
➔ List of APIs
➔ description, version, base path
➔ Drill-down to the operations
➔ http methods
➔ Description, Parameters, Types
➔ Try-out the API
Tools
Community-driven tools
Whole world of open source tools out there!
Swashbuckle
.NET library to auto-generate the swagger.json
➔ ApiExplorer to keep implementation and documentation in-sync
➔ Auto-generate as much as possible + extensibility points
➔ Discoverable (one endpoint per version)
➔ Minimal impact to your API
➔ Shashbuckle.core
➔ Shashbuckle
➔ Version 5.2.1
➔ vNext 6.0.0 beta7
Integrations
API Management
API Management
Azure API Management service
➔ Produces swagger 2.0
➔ Consumes 1.2 and 2.0
Sentinet by Nevatech
➔ Introduced with the version 4.6 (October 2015)
➔ Produces swagger 2.0
➔ Consumes 2.0
Takeaways
➔ A good developer experience is crucial to build a successful API
➔ Swagger is the de facto standard to describe modern APIs
➔ Swashbuckle: discoverable swagger.json + UI for devs
➔ Large number of applications and services that consume swagger
References
➔ Swagger
http://swagger.io/
➔ Swashbuckle
https://github.com/domaindrivendev/Swashbuckle/
➔ Microsoft Azure API Management
http://azure.microsoft.com/en-us/services/api-management/
➔ Sentinet by Nevatech
http://www.nevatech.com/
Thank you!

More Related Content

What's hot

A Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with JavascriptA Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with JavascriptAll Things Open
 
Design Driven API Development
Design Driven API DevelopmentDesign Driven API Development
Design Driven API DevelopmentSokichi Fujita
 
Consuming Restful APIs using Swagger v2.0
Consuming Restful APIs using Swagger v2.0Consuming Restful APIs using Swagger v2.0
Consuming Restful APIs using Swagger v2.0Pece Nikolovski
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIsAllen Dean
 
Building APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerBuilding APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerJeremy Whitlock
 
Net core path by Ibon Landa
Net core path by Ibon LandaNet core path by Ibon Landa
Net core path by Ibon LandaPlain Concepts
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJSLuigi Saetta
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014JWORKS powered by Ordina
 
Open API Specifications - formerly swagger
Open API Specifications - formerly swaggerOpen API Specifications - formerly swagger
Open API Specifications - formerly swaggerPradeep Kumar
 
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
CI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipelineCI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipeline
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipelinegenesesoftware
 
Writer APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger InflectorWriter APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger InflectorTony Tam
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-apiTony Tam
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessibleVictor Trakhtenberg
 
Streamlining API with Swagger.io
Streamlining API with Swagger.ioStreamlining API with Swagger.io
Streamlining API with Swagger.ioVictor Augusteo
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
 
Implement Web API with Swagger
Implement Web API with SwaggerImplement Web API with Swagger
Implement Web API with SwaggerJiang Wu
 
Quick run in with Swagger
Quick run in with SwaggerQuick run in with Swagger
Quick run in with SwaggerMesh Korea
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start GuideAndrii Gakhov
 
Develop Security & Compliances in Azure
Develop Security & Compliances in AzureDevelop Security & Compliances in Azure
Develop Security & Compliances in AzureSeven Peaks Speaks
 

What's hot (20)

A Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with JavascriptA Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with Javascript
 
Design Driven API Development
Design Driven API DevelopmentDesign Driven API Development
Design Driven API Development
 
Consuming Restful APIs using Swagger v2.0
Consuming Restful APIs using Swagger v2.0Consuming Restful APIs using Swagger v2.0
Consuming Restful APIs using Swagger v2.0
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIs
 
Building APIs with Node.js and Swagger
Building APIs with Node.js and SwaggerBuilding APIs with Node.js and Swagger
Building APIs with Node.js and Swagger
 
Net core path by Ibon Landa
Net core path by Ibon LandaNet core path by Ibon Landa
Net core path by Ibon Landa
 
Swagger
SwaggerSwagger
Swagger
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014
 
Open API Specifications - formerly swagger
Open API Specifications - formerly swaggerOpen API Specifications - formerly swagger
Open API Specifications - formerly swagger
 
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
CI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipelineCI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipeline
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
 
Writer APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger InflectorWriter APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger Inflector
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-api
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
 
Streamlining API with Swagger.io
Streamlining API with Swagger.ioStreamlining API with Swagger.io
Streamlining API with Swagger.io
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...
 
Implement Web API with Swagger
Implement Web API with SwaggerImplement Web API with Swagger
Implement Web API with Swagger
 
Quick run in with Swagger
Quick run in with SwaggerQuick run in with Swagger
Quick run in with Swagger
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start Guide
 
Develop Security & Compliances in Azure
Develop Security & Compliances in AzureDevelop Security & Compliances in Azure
Develop Security & Compliances in Azure
 

Viewers also liked

Researching the market place 2
Researching the market place 2Researching the market place 2
Researching the market place 2haegf
 
Ноутбук та його характеристика
Ноутбук та його характеристикаНоутбук та його характеристика
Ноутбук та його характеристикаnikolyuk22pgf
 
2014 10-30 presentatie wijzigingen zorg dorpsraad 2
2014 10-30 presentatie wijzigingen zorg dorpsraad 22014 10-30 presentatie wijzigingen zorg dorpsraad 2
2014 10-30 presentatie wijzigingen zorg dorpsraad 2Pieter Sande
 
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...Codit
 
slideshare.photo
slideshare.photoslideshare.photo
slideshare.photojonnah18
 
Future simple
Future simpleFuture simple
Future simpleTLeeTSIS
 
Vocabulary week nine - term three
Vocabulary   week nine - term threeVocabulary   week nine - term three
Vocabulary week nine - term threeTLeeTSIS
 
Nana diary of p5 faith
Nana diary of p5 faithNana diary of p5 faith
Nana diary of p5 faithTLeeTSIS
 
Yan yan diary
Yan yan diaryYan yan diary
Yan yan diaryTLeeTSIS
 
Peti-Déj du Digital N°2 : Digital Learning
Peti-Déj du Digital N°2 : Digital LearningPeti-Déj du Digital N°2 : Digital Learning
Peti-Déj du Digital N°2 : Digital LearningMAGENCY DIGITAL
 
الواقع الافتراضي
الواقع الافتراضيالواقع الافتراضي
الواقع الافتراضيmuhanad03
 
Presentation1 jack
Presentation1   jackPresentation1   jack
Presentation1 jackTLeeTSIS
 
Naranjilla Micro-Propagation
Naranjilla Micro-PropagationNaranjilla Micro-Propagation
Naranjilla Micro-PropagationAdrianne Seiden
 

Viewers also liked (20)

Researching the market place 2
Researching the market place 2Researching the market place 2
Researching the market place 2
 
Listrik Statis
Listrik StatisListrik Statis
Listrik Statis
 
Ноутбук та його характеристика
Ноутбук та його характеристикаНоутбук та його характеристика
Ноутбук та його характеристика
 
Manifesto
ManifestoManifesto
Manifesto
 
04 італія неаполь_лігурія_2014
04 італія неаполь_лігурія_201404 італія неаполь_лігурія_2014
04 італія неаполь_лігурія_2014
 
2014 10-30 presentatie wijzigingen zorg dorpsraad 2
2014 10-30 presentatie wijzigingen zorg dorpsraad 22014 10-30 presentatie wijzigingen zorg dorpsraad 2
2014 10-30 presentatie wijzigingen zorg dorpsraad 2
 
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
 
slideshare.photo
slideshare.photoslideshare.photo
slideshare.photo
 
My Awesome Name
My Awesome NameMy Awesome Name
My Awesome Name
 
Future simple
Future simpleFuture simple
Future simple
 
Question 4
Question 4Question 4
Question 4
 
Vocabulary week nine - term three
Vocabulary   week nine - term threeVocabulary   week nine - term three
Vocabulary week nine - term three
 
It kpi template
It kpi templateIt kpi template
It kpi template
 
Nana diary of p5 faith
Nana diary of p5 faithNana diary of p5 faith
Nana diary of p5 faith
 
Yan yan diary
Yan yan diaryYan yan diary
Yan yan diary
 
Peti-Déj du Digital N°2 : Digital Learning
Peti-Déj du Digital N°2 : Digital LearningPeti-Déj du Digital N°2 : Digital Learning
Peti-Déj du Digital N°2 : Digital Learning
 
Informe Final
Informe FinalInforme Final
Informe Final
 
الواقع الافتراضي
الواقع الافتراضيالواقع الافتراضي
الواقع الافتراضي
 
Presentation1 jack
Presentation1   jackPresentation1   jack
Presentation1 jack
 
Naranjilla Micro-Propagation
Naranjilla Micro-PropagationNaranjilla Micro-Propagation
Naranjilla Micro-Propagation
 

Similar to Everybody loves Swagger (Massimo Crippa @ Integration Monday)

Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureAlberto Diaz Martin
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixDev_Events
 
Flipping the script: How to take the first step towards internal developer pl...
Flipping the script: How to take the first step towards internal developer pl...Flipping the script: How to take the first step towards internal developer pl...
Flipping the script: How to take the first step towards internal developer pl...Abigail Bangser
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntAshley Roach
 
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web APISinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web APIRadenko Zec
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated PlatformsBill Doerrfeld
 
APIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web APIAPIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web APIRestlet
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBrandenTimm1
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'Restlet
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadTed Epstein
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure FunctionsChristos Matskas
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesAmazon Web Services
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsNicholas Jansma
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryAmazon Web Services
 
All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net coreGrayCell Technologies
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarAmazon Web Services
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdfKamal Acharya
 

Similar to Everybody loves Swagger (Massimo Crippa @ Integration Monday) (20)

Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
Flipping the script: How to take the first step towards internal developer pl...
Flipping the script: How to take the first step towards internal developer pl...Flipping the script: How to take the first step towards internal developer pl...
Flipping the script: How to take the first step towards internal developer pl...
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
 
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web APISinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
APIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web APIAPIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web API
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure Functions
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 
All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStar
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
 

More from Codit

Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Codit
 
Getting started with IoT
Getting started with IoTGetting started with IoT
Getting started with IoTCodit
 
What's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerWhat's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerCodit
 
Introduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureIntroduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureCodit
 
CI/CD for a Data Platform
CI/CD for a Data PlatformCI/CD for a Data Platform
CI/CD for a Data PlatformCodit
 
AI-Driven Fraud Detection
AI-Driven Fraud DetectionAI-Driven Fraud Detection
AI-Driven Fraud DetectionCodit
 
Blockchain in Practice
Blockchain in PracticeBlockchain in Practice
Blockchain in PracticeCodit
 
Exploring IoT Edge
Exploring IoT EdgeExploring IoT Edge
Exploring IoT EdgeCodit
 
The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020Codit
 
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Codit
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?Codit
 
Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Codit
 
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Codit
 
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Codit
 
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Codit
 
AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19Codit
 
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Codit
 
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19Codit
 
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Codit
 
The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19Codit
 

More from Codit (20)

Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!
 
Getting started with IoT
Getting started with IoTGetting started with IoT
Getting started with IoT
 
What's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk ServerWhat's Next for Microsoft's BizTalk Server
What's Next for Microsoft's BizTalk Server
 
Introduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft AzureIntroduction to Time Series Analytics with Microsoft Azure
Introduction to Time Series Analytics with Microsoft Azure
 
CI/CD for a Data Platform
CI/CD for a Data PlatformCI/CD for a Data Platform
CI/CD for a Data Platform
 
AI-Driven Fraud Detection
AI-Driven Fraud DetectionAI-Driven Fraud Detection
AI-Driven Fraud Detection
 
Blockchain in Practice
Blockchain in PracticeBlockchain in Practice
Blockchain in Practice
 
Exploring IoT Edge
Exploring IoT EdgeExploring IoT Edge
Exploring IoT Edge
 
The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020The Future of Integration | Webinar of the 24th of April 2020
The Future of Integration | Webinar of the 24th of April 2020
 
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365Lessons learned when integrating with Dynamics 365
Lessons learned when integrating with Dynamics 365
 
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
Five Reasons IoT Projects Fail - CTO Sam Vanhoutte @ IoT Convention 2019
 
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
Real time Analytics in IoT - Marcel Lattmann Codit Switzerland @.NET Day 2019
 
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
Unlock a Smarter Business with Digital Identity - Sylvia Vandevelde @CONNECT19
 
AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19AI as Driver of Transformation - Didier Ongena @CONNECT19
AI as Driver of Transformation - Didier Ongena @CONNECT19
 
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
Extending Operations from On-premises Solutions Towards Hybrid and Cloud - Da...
 
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19Why your business needs an API driven strategy -  Massimo Crippa @CONNECT19
Why your business needs an API driven strategy - Massimo Crippa @CONNECT19
 
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
Pushing the boundaries with IoT - Glenn Colpaert @CONNECT19
 
The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19The Future of Integration - Toon Vanhoutte @CONNECT19
The Future of Integration - Toon Vanhoutte @CONNECT19
 

Recently uploaded

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 

Recently uploaded (20)

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 

Everybody loves Swagger (Massimo Crippa @ Integration Monday)

  • 3. Nice to meet you Massimo Crippa Integration Architect at Codit  BizTalk D/I  Api Management massimo.crippa@codit.eu codit.eu/blog @mas_que_crippa linkedin.com/in/massimocrippa
  • 5. Why APIs are trending ➔ Open Innovation and New Markets. Enable firms to use internal as well as external ideas and find new market paths ➔ Consume, Switch or Upgrade Seamlessly. Drive both the API Consumer and Provider towards a continuous improvement of quality ➔ Build on Partner Capabilities ➔ Increase Brand Presence ➔ Generate New Revenue Streams ➔ Enable Composite Enterprise Approach where business functionalities become small configurable blocks. ➔ Reduce time-to-market ➔ Fueled by mobile, cloud, big data & IoT
  • 6. The successful API ➔ Easy to consume (TTFSC, TTFHW) ➔ Understand the use, prevent the misuse (Data formats, authentication, error codes) ➔ Upgrade seamlessly ➔ Getting started, Multi language code samples, SDKs (DevEx) The documentation is CRUCIAL
  • 7. What is Swagger? Edit the API specification in YAML to produce the JSON Editor Layout, describe and document your API Specification A dependency-free collection of HTML / JS / CSS that consumes the swagger.json UI Consume the swagger.json to create client and server code Code-Gen
  • 8. The specification Definition language to describe and document RESTful API ➔ Metadata ➔ info, basepath, consumes, produces, etc.. ➔ Controllers (paths) ➔ Operations, HTTP verbs, status codes, schema refs ➔ Objects Definition (definitions) ➔ Parameters (e.g. skip) ➔ Responses ➔ Security (e.g. oauth)
  • 9. The editors API Specification-First ➔ Swagger Editor ➔ editor.swagger.io ➔ Editor + swagger.js ➔ apistudio.io ➔ Restlet studio (cross-format editor) ➔ studio.restlet.com
  • 10. The Swagger UI It’s a dependency-free collection of HTML / JavaScript / CSS ➔ List of APIs ➔ description, version, base path ➔ Drill-down to the operations ➔ http methods ➔ Description, Parameters, Types ➔ Try-out the API
  • 11. Tools
  • 12. Community-driven tools Whole world of open source tools out there!
  • 13. Swashbuckle .NET library to auto-generate the swagger.json ➔ ApiExplorer to keep implementation and documentation in-sync ➔ Auto-generate as much as possible + extensibility points ➔ Discoverable (one endpoint per version) ➔ Minimal impact to your API ➔ Shashbuckle.core ➔ Shashbuckle ➔ Version 5.2.1 ➔ vNext 6.0.0 beta7
  • 16. API Management Azure API Management service ➔ Produces swagger 2.0 ➔ Consumes 1.2 and 2.0 Sentinet by Nevatech ➔ Introduced with the version 4.6 (October 2015) ➔ Produces swagger 2.0 ➔ Consumes 2.0
  • 17. Takeaways ➔ A good developer experience is crucial to build a successful API ➔ Swagger is the de facto standard to describe modern APIs ➔ Swashbuckle: discoverable swagger.json + UI for devs ➔ Large number of applications and services that consume swagger
  • 18. References ➔ Swagger http://swagger.io/ ➔ Swashbuckle https://github.com/domaindrivendev/Swashbuckle/ ➔ Microsoft Azure API Management http://azure.microsoft.com/en-us/services/api-management/ ➔ Sentinet by Nevatech http://www.nevatech.com/