SlideShare a Scribd company logo
1 of 25
OWIN AND WEB API 2.2
Oslo/NNUG
Tomas Jansson
26/08/2014
THIS IS ME
Tomas Jansson
Manager & Practice Lead .NET
BEKK Oslo
@TomasJansson
tomas.jansson@bekk.no
github.com/mastoj
blog.tomasjansson.com
AGENDA
What is OWIN
Show me MORE
CODE!
Terminology
Show me the
code!
RESTWeb API 2.2
WHAT IS OWIN?
OWIN defines a standard interface between .NET web servers
and web applications.
The goal of the OWIN interface is to decouple server and
application, encourage the development of simple modules
for .NET web development, and, by being an open standard,
stimulate the open source ecosystem of .NET web
development tools.
http://owin.org/
WHAT IS OWIN?
OWIN defines a standard interface between .NET
web servers and web applications.
The goal of the OWIN interface is to decouple server and
application, encourage the development of simple modules
for .NET web development, and, by being an open standard,
stimulate the open source ecosystem of .NET web
development tools.
http://owin.org/What
OWIN is
WHAT IS OWIN?
OWIN defines a standard interface between .NET web servers
and web applications.
The goal of the OWIN interface is to decouple server
and application, encourage the development of
simple modules for .NET web development, and, by
being an open standard, stimulate the open source
ecosystem of .NET web development tools.
http://owin.org/
The goal
TERMINOLOGY
Actors Environment AppFunc
ACTORS
Host: The process an application and server execute inside of, primarily
responsible for application startup.
Example: Self-host, Nowin, IIS
http://owin.org/spec/owin-1.0.0.html
ACTORS
http://owin.org/spec/owin-1.0.0.html
Server: The HTTP server that directly communicates with the client and then
uses OWIN semantics to process requests.
Examples: SystemWeb, Self-Host, Nowin
Host: The process an application and server execute inside of, primarily
responsible for application startup.
Example: Self-host, Nowin, IIS
ACTORS
Middleware: A pass through component that handles cross cutting concerns.
Acts as a pipeline between server and application.
Example: Security stuff
http://owin.org/spec/owin-1.0.0.html
Server: The HTTP server that directly communicates with the client and then
uses OWIN semantics to process requests.
Examples: SystemWeb, Self-Host, Nowin
Host: The process an application and server execute inside of, primarily
responsible for application startup.
Example: Self-host, Nowin, IIS
ACTORS
Middleware: A pass through component that handles cross cutting concerns.
Acts as a pipeline between server and application.
Example: Security stuff
Web Framework: Self-contained components that you can base your application
on.
Example: Web API, NancyFx, SignalR
http://owin.org/spec/owin-1.0.0.html
Server: The HTTP server that directly communicates with the client and then
uses OWIN semantics to process requests.
Examples: SystemWeb, Self-Host, Nowin
Host: The process an application and server execute inside of, primarily
responsible for application startup.
Example: Self-host, Nowin, IIS
ACTORS
Middleware: A pass through component that handles cross cutting concerns.
Acts as a pipeline between server and application.
Example: Security stuff
Web Framework: Self-contained components that you can base your application
on.
Example: Web API, NancyFx, SignalR
Web Application: This is the stuff you’re most likely to write.
http://owin.org/spec/owin-1.0.0.html
Server: The HTTP server that directly communicates with the client and then
uses OWIN semantics to process requests.
Examples: SystemWeb, Self-Host, Nowin
Host: The process an application and server execute inside of, primarily
responsible for application startup.
Example: Self-host, Nowin, IIS
ENVIRONMENT
http://mashable.com/2013/06/13/dictionary-new-words-2013/
ENVIRONMENT
The Environment dictionary stores information about the request,
the response, and any relevant server state.
The server is responsible for providing body streams and header
collections for both the request and response in the initial call.
The application then populates the appropriate fields with response
data, writes the response body, and returns when done.
APPFUNC – THE APPLICATION DELEGATE
http://casopisinterfon.org/2014/03/11/da-li-funk-od-balkana-pravi-pesme-ili-balkan-od-funka-pravi-slona/
APPFUNC – THE APPLICATION DELEGATE
using AppFunc = Func<IDictionary<string, object>, // Environment
Task>; // Done
WEB API 2.2
Full OWIN support
Attribute routing
Global error handling
Multiple OData improvements
REST/RICHARDSON’S MATURITY MODEL
http://martinfowler.com/articles/images/richardsonMaturityModel/overview.png
REST/RICHARDSON’S MATURITY MODEL
This is our goal today!
http://martinfowler.com/articles/images/richardsonMaturityModel/overview.png
https://github.com/mastoj/OwinLinkyApi
Summary
Time to pick
up OWIN
Key
components
of OWIN:
Environment
and AppFunc
REST level 3
is doable!
RESOURCES
OWIN: http://owin.org/
Katana: https://katanaproject.codeplex.com/
Presentation: http://www.slideshare.net/mastoj/owin-web-api-with-linky
Source code: https://github.com/mastoj/OwinLinkyApi
Linky: https://github.com/zudio/Linky
Questions?
Thank you!
@TomasJansson

More Related Content

What's hot

Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to applicationdamian-h
 
Container Infrastructure Security for Cloud Native Infrastructure
Container Infrastructure Security for Cloud Native InfrastructureContainer Infrastructure Security for Cloud Native Infrastructure
Container Infrastructure Security for Cloud Native InfrastructureSomik Behera
 
Building HTTP APIs with ASP.NET Core
Building HTTP APIs with ASP.NET CoreBuilding HTTP APIs with ASP.NET Core
Building HTTP APIs with ASP.NET CoreFilip W
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET CoreEnea Gabriel
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Build PWA with Ionic Toolkit
Build PWA with Ionic ToolkitBuild PWA with Ionic Toolkit
Build PWA with Ionic ToolkitPavel Kurnosov
 
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsShahed Chowdhuri
 
WSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2 ESB - The Fastest Open Source ESB with Superior Integration CapabilitiesWSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2 ESB - The Fastest Open Source ESB with Superior Integration CapabilitiesWSO2
 
Build your website with angularjs and web apis
Build your website with angularjs and web apisBuild your website with angularjs and web apis
Build your website with angularjs and web apisChalermpon Areepong
 
Building Chatbots
Building ChatbotsBuilding Chatbots
Building ChatbotsTessa Mero
 
DevSecCon Tel Aviv 2018 - Serverless Security
DevSecCon Tel Aviv 2018 - Serverless SecurityDevSecCon Tel Aviv 2018 - Serverless Security
DevSecCon Tel Aviv 2018 - Serverless SecurityAvi Shulman
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureVMware Tanzu
 

What's hot (19)

Owin katana en
Owin katana enOwin katana en
Owin katana en
 
Owin & katana
Owin & katanaOwin & katana
Owin & katana
 
Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to application
 
Container Infrastructure Security for Cloud Native Infrastructure
Container Infrastructure Security for Cloud Native InfrastructureContainer Infrastructure Security for Cloud Native Infrastructure
Container Infrastructure Security for Cloud Native Infrastructure
 
Azure web sites
Azure web sitesAzure web sites
Azure web sites
 
Building HTTP APIs with ASP.NET Core
Building HTTP APIs with ASP.NET CoreBuilding HTTP APIs with ASP.NET Core
Building HTTP APIs with ASP.NET Core
 
Implementing the Top 10 AWS Security Best Practices
Implementing the Top 10 AWS Security Best PracticesImplementing the Top 10 AWS Security Best Practices
Implementing the Top 10 AWS Security Best Practices
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET Core
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Build PWA with Ionic Toolkit
Build PWA with Ionic ToolkitBuild PWA with Ionic Toolkit
Build PWA with Ionic Toolkit
 
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web Apps
 
Understanding meteor
Understanding meteorUnderstanding meteor
Understanding meteor
 
WSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2 ESB - The Fastest Open Source ESB with Superior Integration CapabilitiesWSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
 
Build your website with angularjs and web apis
Build your website with angularjs and web apisBuild your website with angularjs and web apis
Build your website with angularjs and web apis
 
Building Chatbots
Building ChatbotsBuilding Chatbots
Building Chatbots
 
DevSecCon Tel Aviv 2018 - Serverless Security
DevSecCon Tel Aviv 2018 - Serverless SecurityDevSecCon Tel Aviv 2018 - Serverless Security
DevSecCon Tel Aviv 2018 - Serverless Security
 
Meteor Angular
Meteor AngularMeteor Angular
Meteor Angular
 
Chatbots
ChatbotsChatbots
Chatbots
 
The Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided AdventureThe Journey from Monolith to Microservices: a Guided Adventure
The Journey from Monolith to Microservices: a Guided Adventure
 

Similar to OWIN Web API with Linky

Owin and-katana-overview
Owin and-katana-overviewOwin and-katana-overview
Owin and-katana-overviewsonia merchant
 
Owin and katana overview
Owin and katana overviewOwin and katana overview
Owin and katana overviewPooja Gaikwad
 
Type of Web server.pdf
Type of Web server.pdfType of Web server.pdf
Type of Web server.pdfHost It Smart
 
Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Amazon Web Services
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIsKnoldus Inc.
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Springifnu bima
 
Introduction to soapui and webservices
Introduction to soapui  and webservicesIntroduction to soapui  and webservices
Introduction to soapui and webservicesAnil Yadav
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeGiuliano Prati
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeTommaso Sorchiotti
 
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdfAsp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdfIntegrated IT Solutions
 
What's New in AppFuse 2.0
What's New in AppFuse 2.0What's New in AppFuse 2.0
What's New in AppFuse 2.0Matt Raible
 
[Jun AWS 201] Elastic Beanstalk for Startups
[Jun AWS 201] Elastic Beanstalk for Startups[Jun AWS 201] Elastic Beanstalk for Startups
[Jun AWS 201] Elastic Beanstalk for StartupsAmazon Web Services Korea
 
Web 2.0 Presentation
Web 2.0 PresentationWeb 2.0 Presentation
Web 2.0 Presentationriddletonm
 
Purpose and principles of web server and application server
Purpose and principles of web server and application serverPurpose and principles of web server and application server
Purpose and principles of web server and application serverJames Brown
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 

Similar to OWIN Web API with Linky (20)

Owin and-katana-overview
Owin and-katana-overviewOwin and-katana-overview
Owin and-katana-overview
 
Owin and katana overview
Owin and katana overviewOwin and katana overview
Owin and katana overview
 
Type of Web server.pdf
Type of Web server.pdfType of Web server.pdf
Type of Web server.pdf
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 
Introduction to soapui and webservices
Introduction to soapui  and webservicesIntroduction to soapui  and webservices
Introduction to soapui and webservices
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion Hinchliffe
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
 
Asp.net Vs Vue.js.pdf
Asp.net Vs Vue.js.pdfAsp.net Vs Vue.js.pdf
Asp.net Vs Vue.js.pdf
 
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdfAsp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
 
What's New in AppFuse 2.0
What's New in AppFuse 2.0What's New in AppFuse 2.0
What's New in AppFuse 2.0
 
Owin and Katana
Owin and KatanaOwin and Katana
Owin and Katana
 
[Jun AWS 201] Elastic Beanstalk for Startups
[Jun AWS 201] Elastic Beanstalk for Startups[Jun AWS 201] Elastic Beanstalk for Startups
[Jun AWS 201] Elastic Beanstalk for Startups
 
Web 2.0 Presentation
Web 2.0 PresentationWeb 2.0 Presentation
Web 2.0 Presentation
 
Purpose and principles of web server and application server
Purpose and principles of web server and application serverPurpose and principles of web server and application server
Purpose and principles of web server and application server
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
Best node js course
Best node js courseBest node js course
Best node js course
 

More from Tomas Jansson

Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveTomas Jansson
 
F# as our day job by 2016
F# as our day job by 2016F# as our day job by 2016
F# as our day job by 2016Tomas Jansson
 
What does the future hold for us in asp.net 5
What does the future hold for us in asp.net 5What does the future hold for us in asp.net 5
What does the future hold for us in asp.net 5Tomas Jansson
 
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
File -> new project to deploy in 10 minutes with TeamCity and Octopus DeployFile -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
File -> new project to deploy in 10 minutes with TeamCity and Octopus DeployTomas Jansson
 
Getting started with Elasticsearch and .NET
Getting started with Elasticsearch and .NETGetting started with Elasticsearch and .NET
Getting started with Elasticsearch and .NETTomas Jansson
 
Deployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityDeployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityTomas Jansson
 
NServiceBus workshop presentation
NServiceBus workshop presentationNServiceBus workshop presentation
NServiceBus workshop presentationTomas Jansson
 
SignalR - Building an async web app with .NET
SignalR - Building an async web app with .NETSignalR - Building an async web app with .NET
SignalR - Building an async web app with .NETTomas Jansson
 
REST for .NET - Introduction to ASP.NET Web API
REST for .NET - Introduction to ASP.NET Web APIREST for .NET - Introduction to ASP.NET Web API
REST for .NET - Introduction to ASP.NET Web APITomas Jansson
 

More from Tomas Jansson (12)

Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suave
 
F# as our day job by 2016
F# as our day job by 2016F# as our day job by 2016
F# as our day job by 2016
 
What does the future hold for us in asp.net 5
What does the future hold for us in asp.net 5What does the future hold for us in asp.net 5
What does the future hold for us in asp.net 5
 
Polyglot heaven
Polyglot heavenPolyglot heaven
Polyglot heaven
 
Roslyn
RoslynRoslyn
Roslyn
 
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
File -> new project to deploy in 10 minutes with TeamCity and Octopus DeployFile -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
 
Getting started with Elasticsearch and .NET
Getting started with Elasticsearch and .NETGetting started with Elasticsearch and .NET
Getting started with Elasticsearch and .NET
 
Deployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCityDeployment taken seriously with Octopus Deploy and TeamCity
Deployment taken seriously with Octopus Deploy and TeamCity
 
State or intent
State or intentState or intent
State or intent
 
NServiceBus workshop presentation
NServiceBus workshop presentationNServiceBus workshop presentation
NServiceBus workshop presentation
 
SignalR - Building an async web app with .NET
SignalR - Building an async web app with .NETSignalR - Building an async web app with .NET
SignalR - Building an async web app with .NET
 
REST for .NET - Introduction to ASP.NET Web API
REST for .NET - Introduction to ASP.NET Web APIREST for .NET - Introduction to ASP.NET Web API
REST for .NET - Introduction to ASP.NET Web API
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

OWIN Web API with Linky

  • 1. OWIN AND WEB API 2.2 Oslo/NNUG Tomas Jansson 26/08/2014
  • 2. THIS IS ME Tomas Jansson Manager & Practice Lead .NET BEKK Oslo @TomasJansson tomas.jansson@bekk.no github.com/mastoj blog.tomasjansson.com
  • 3. AGENDA What is OWIN Show me MORE CODE! Terminology Show me the code! RESTWeb API 2.2
  • 4. WHAT IS OWIN? OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools. http://owin.org/
  • 5. WHAT IS OWIN? OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools. http://owin.org/What OWIN is
  • 6. WHAT IS OWIN? OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools. http://owin.org/ The goal
  • 8. ACTORS Host: The process an application and server execute inside of, primarily responsible for application startup. Example: Self-host, Nowin, IIS http://owin.org/spec/owin-1.0.0.html
  • 9. ACTORS http://owin.org/spec/owin-1.0.0.html Server: The HTTP server that directly communicates with the client and then uses OWIN semantics to process requests. Examples: SystemWeb, Self-Host, Nowin Host: The process an application and server execute inside of, primarily responsible for application startup. Example: Self-host, Nowin, IIS
  • 10. ACTORS Middleware: A pass through component that handles cross cutting concerns. Acts as a pipeline between server and application. Example: Security stuff http://owin.org/spec/owin-1.0.0.html Server: The HTTP server that directly communicates with the client and then uses OWIN semantics to process requests. Examples: SystemWeb, Self-Host, Nowin Host: The process an application and server execute inside of, primarily responsible for application startup. Example: Self-host, Nowin, IIS
  • 11. ACTORS Middleware: A pass through component that handles cross cutting concerns. Acts as a pipeline between server and application. Example: Security stuff Web Framework: Self-contained components that you can base your application on. Example: Web API, NancyFx, SignalR http://owin.org/spec/owin-1.0.0.html Server: The HTTP server that directly communicates with the client and then uses OWIN semantics to process requests. Examples: SystemWeb, Self-Host, Nowin Host: The process an application and server execute inside of, primarily responsible for application startup. Example: Self-host, Nowin, IIS
  • 12. ACTORS Middleware: A pass through component that handles cross cutting concerns. Acts as a pipeline between server and application. Example: Security stuff Web Framework: Self-contained components that you can base your application on. Example: Web API, NancyFx, SignalR Web Application: This is the stuff you’re most likely to write. http://owin.org/spec/owin-1.0.0.html Server: The HTTP server that directly communicates with the client and then uses OWIN semantics to process requests. Examples: SystemWeb, Self-Host, Nowin Host: The process an application and server execute inside of, primarily responsible for application startup. Example: Self-host, Nowin, IIS
  • 14. ENVIRONMENT The Environment dictionary stores information about the request, the response, and any relevant server state. The server is responsible for providing body streams and header collections for both the request and response in the initial call. The application then populates the appropriate fields with response data, writes the response body, and returns when done.
  • 15. APPFUNC – THE APPLICATION DELEGATE http://casopisinterfon.org/2014/03/11/da-li-funk-od-balkana-pravi-pesme-ili-balkan-od-funka-pravi-slona/
  • 16. APPFUNC – THE APPLICATION DELEGATE using AppFunc = Func<IDictionary<string, object>, // Environment Task>; // Done
  • 17.
  • 18. WEB API 2.2 Full OWIN support Attribute routing Global error handling Multiple OData improvements
  • 20. REST/RICHARDSON’S MATURITY MODEL This is our goal today! http://martinfowler.com/articles/images/richardsonMaturityModel/overview.png
  • 22. Summary Time to pick up OWIN Key components of OWIN: Environment and AppFunc REST level 3 is doable!
  • 23. RESOURCES OWIN: http://owin.org/ Katana: https://katanaproject.codeplex.com/ Presentation: http://www.slideshare.net/mastoj/owin-web-api-with-linky Source code: https://github.com/mastoj/OwinLinkyApi Linky: https://github.com/zudio/Linky

Editor's Notes

  1. Present the topic
  2. Keep it short