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 Javascript
All Things Open
 
Design Driven API Development
Design Driven API DevelopmentDesign Driven API Development
Design Driven API Development
Sokichi 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.0
Pece Nikolovski
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIs
Allen 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 Swagger
Jeremy Whitlock
 
Net core path by Ibon Landa
Net core path by Ibon LandaNet core path by Ibon Landa
Net core path by Ibon Landa
Plain Concepts
 
Swagger
SwaggerSwagger
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
Luigi 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 2014
JWORKS powered by Ordina
 
Open API Specifications - formerly swagger
Open API Specifications - formerly swaggerOpen API Specifications - formerly swagger
Open API Specifications - formerly swagger
Pradeep 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 CodePipeline
genesesoftware
 
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
Tony Tam
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-api
Tony Tam
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
Victor Trakhtenberg
 
Streamlining API with Swagger.io
Streamlining API with Swagger.ioStreamlining API with Swagger.io
Streamlining API with Swagger.io
Victor 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 Swagger
Jiang Wu
 
Quick run in with Swagger
Quick run in with SwaggerQuick run in with Swagger
Quick run in with Swagger
Mesh Korea
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start Guide
Andrii Gakhov
 
Develop Security & Compliances in Azure
Develop Security & Compliances in AzureDevelop Security & Compliances in Azure
Develop Security & Compliances in Azure
Seven 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 2
haegf
 
Listrik Statis
Listrik StatisListrik Statis
Listrik Statis
Fita Permata
 
Ноутбук та його характеристика
Ноутбук та його характеристикаНоутбук та його характеристика
Ноутбук та його характеристика
nikolyuk22pgf
 
Manifesto
ManifestoManifesto
Manifesto
bobcatroom24
 
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
Pieter 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.photo
jonnah18
 
My Awesome Name
My Awesome NameMy Awesome Name
My Awesome Name
bobcatroom24
 
Future simple
Future simpleFuture simple
Future simple
TLeeTSIS
 
Question 4
Question 4Question 4
Question 4
oskarsundberg98
 
Vocabulary week nine - term three
Vocabulary   week nine - term threeVocabulary   week nine - term three
Vocabulary week nine - term three
TLeeTSIS
 
It kpi template
It kpi templateIt kpi template
It kpi template
vulapallidavis
 
Nana diary of p5 faith
Nana diary of p5 faithNana diary of p5 faith
Nana diary of p5 faith
TLeeTSIS
 
Yan yan diary
Yan yan diaryYan yan diary
Yan yan diary
TLeeTSIS
 
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
MAGENCY DIGITAL
 
Informe Final
Informe FinalInforme Final
Informe Final
Adrianne Seiden
 
الواقع الافتراضي
الواقع الافتراضيالواقع الافتراضي
الواقع الافتراضي
muhanad03
 
Presentation1 jack
Presentation1   jackPresentation1   jack
Presentation1 jack
TLeeTSIS
 
Naranjilla Micro-Propagation
Naranjilla Micro-PropagationNaranjilla Micro-Propagation
Naranjilla Micro-Propagation
Adrianne 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 DevPortals
Axway
 
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
Alberto 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 Bluemix
Dev_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 Hunt
Ashley 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 API
Radenko Zec
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
Bill Doerrfeld
 
Dot NET Solution Architect Roadmap By Scholarhat PDF
Dot NET Solution Architect Roadmap By Scholarhat PDFDot NET Solution Architect Roadmap By Scholarhat PDF
Dot NET Solution Architect Roadmap By Scholarhat PDF
Scholarhat
 
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
Restlet
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
Charlin Agramonte
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
BrandenTimm1
 
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 Ahead
Ted Epstein
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure Functions
Christos Matskas
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
Amazon 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.js
Nicholas 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 APIs
Apigee | Google Cloud
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
Amazon 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 core
GrayCell 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 CodeStar
Amazon Web Services
 

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
 
Dot NET Solution Architect Roadmap By Scholarhat PDF
Dot NET Solution Architect Roadmap By Scholarhat PDFDot NET Solution Architect Roadmap By Scholarhat PDF
Dot NET Solution Architect Roadmap By Scholarhat PDF
 
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
 

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 IoT
Codit
 
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
Codit
 
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
Codit
 
CI/CD for a Data Platform
CI/CD for a Data PlatformCI/CD for a Data Platform
CI/CD for a Data Platform
Codit
 
AI-Driven Fraud Detection
AI-Driven Fraud DetectionAI-Driven Fraud Detection
AI-Driven Fraud Detection
Codit
 
Blockchain in Practice
Blockchain in PracticeBlockchain in Practice
Blockchain in Practice
Codit
 
Exploring IoT Edge
Exploring IoT EdgeExploring IoT Edge
Exploring IoT Edge
Codit
 
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
Codit
 
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 365
Codit
 
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
Codit
 
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
Codit
 
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
Codit
 
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
Codit
 
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 @CONNECT19
Codit
 
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
Codit
 
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
Codit
 

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

Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 

Recently uploaded (20)

Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 

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/