SlideShare a Scribd company logo
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
OWIN Web API with Linky
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

PDF
OWIN Why should i care?
Terence Kruger
 
PPT
OWIN (Open Web Interface for .NET)
Folio3 Software
 
PPT
OWASP WebGoat and PANTERA Web Assessment Studio Project.
Philippe Bogaerts
 
PPTX
Introduction to OWIN
Saran Doraiswamy
 
PPTX
Mini-Training Owin Katana
Betclic Everest Group Tech Team
 
PPTX
OWIN and Katana Project - Not Only IIS - NoIIS
Bilal Haidar
 
PPTX
Owin and katana
Udaiappa Ramachandran
 
PPTX
ASP.NET: Present and future
Hrvoje Hudoletnjak
 
OWIN Why should i care?
Terence Kruger
 
OWIN (Open Web Interface for .NET)
Folio3 Software
 
OWASP WebGoat and PANTERA Web Assessment Studio Project.
Philippe Bogaerts
 
Introduction to OWIN
Saran Doraiswamy
 
Mini-Training Owin Katana
Betclic Everest Group Tech Team
 
OWIN and Katana Project - Not Only IIS - NoIIS
Bilal Haidar
 
Owin and katana
Udaiappa Ramachandran
 
ASP.NET: Present and future
Hrvoje Hudoletnjak
 

What's hot (19)

PPTX
Owin katana en
Hrvoje Hudoletnjak
 
PPTX
Owin & katana
Fabian Vilers
 
PPTX
Owin from spec to application
damian-h
 
PPTX
Container Infrastructure Security for Cloud Native Infrastructure
Somik Behera
 
PPTX
Azure web sites
Aymeric Weinbach
 
PPTX
Building HTTP APIs with ASP.NET Core
Filip W
 
PDF
Implementing the Top 10 AWS Security Best Practices
Sebastian Taphanel CISSP-ISSEP
 
PPTX
Moving forward with ASP.NET Core
Enea Gabriel
 
PPTX
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
PPTX
Build PWA with Ionic Toolkit
Pavel Kurnosov
 
PPTX
ASP.NET Core 2.1: The Future of Web Apps
Shahed Chowdhuri
 
PDF
Understanding meteor
M A Hossain Tonu
 
PDF
WSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2
 
PDF
Build your website with angularjs and web apis
Chalermpon Areepong
 
PPTX
Building Chatbots
Tessa Mero
 
PPTX
DevSecCon Tel Aviv 2018 - Serverless Security
Avi Shulman
 
PPTX
Meteor Angular
Pavel Kurnosov
 
PPTX
Chatbots
Tessa Mero
 
PDF
The Journey from Monolith to Microservices: a Guided Adventure
VMware Tanzu
 
Owin katana en
Hrvoje Hudoletnjak
 
Owin & katana
Fabian Vilers
 
Owin from spec to application
damian-h
 
Container Infrastructure Security for Cloud Native Infrastructure
Somik Behera
 
Azure web sites
Aymeric Weinbach
 
Building HTTP APIs with ASP.NET Core
Filip W
 
Implementing the Top 10 AWS Security Best Practices
Sebastian Taphanel CISSP-ISSEP
 
Moving forward with ASP.NET Core
Enea Gabriel
 
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
Build PWA with Ionic Toolkit
Pavel Kurnosov
 
ASP.NET Core 2.1: The Future of Web Apps
Shahed Chowdhuri
 
Understanding meteor
M A Hossain Tonu
 
WSO2 ESB - The Fastest Open Source ESB with Superior Integration Capabilities
WSO2
 
Build your website with angularjs and web apis
Chalermpon Areepong
 
Building Chatbots
Tessa Mero
 
DevSecCon Tel Aviv 2018 - Serverless Security
Avi Shulman
 
Meteor Angular
Pavel Kurnosov
 
Chatbots
Tessa Mero
 
The Journey from Monolith to Microservices: a Guided Adventure
VMware Tanzu
 
Ad

Similar to OWIN Web API with Linky (20)

PPTX
Owin and-katana-overview
sonia merchant
 
PPTX
Owin and katana overview
Pooja Gaikwad
 
PDF
ASP NET Web API 2 Building a REST Service from Start to Finish 2nd Edition Ja...
prienmance8p
 
PDF
Type of Web server.pdf
Host It Smart
 
PPTX
Food borne human diseases
AmalMohammedNasserSa
 
PDF
Web Development Presentation
TurnToTech
 
PPTX
Getting started with dotnet core Web APIs
Knoldus Inc.
 
ODP
Spring Mvc,Java, Spring
ifnu bima
 
PPT
Introduction to soapui and webservices
Anil Yadav
 
PPT
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
PPT
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
PDF
Asp.net Vs Vue.js.pdf
Integrated IT Solutions
 
PDF
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Integrated IT Solutions
 
PDF
What's New in AppFuse 2.0
Matt Raible
 
PPTX
Owin and Katana
Ugo Lattanzi
 
PPT
Smart Clients Deployment With Microsoft Windows Forms
gwarloki1
 
PDF
ASP.NET Web API Interview Questions By Scholarhat
Scholarhat
 
PDF
[Jun AWS 201] Elastic Beanstalk for Startups
Amazon Web Services Korea
 
PPTX
Web 2.0 Presentation
riddletonm
 
PDF
Purpose and principles of web server and application server
James Brown
 
Owin and-katana-overview
sonia merchant
 
Owin and katana overview
Pooja Gaikwad
 
ASP NET Web API 2 Building a REST Service from Start to Finish 2nd Edition Ja...
prienmance8p
 
Type of Web server.pdf
Host It Smart
 
Food borne human diseases
AmalMohammedNasserSa
 
Web Development Presentation
TurnToTech
 
Getting started with dotnet core Web APIs
Knoldus Inc.
 
Spring Mvc,Java, Spring
ifnu bima
 
Introduction to soapui and webservices
Anil Yadav
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
Asp.net Vs Vue.js.pdf
Integrated IT Solutions
 
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Integrated IT Solutions
 
What's New in AppFuse 2.0
Matt Raible
 
Owin and Katana
Ugo Lattanzi
 
Smart Clients Deployment With Microsoft Windows Forms
gwarloki1
 
ASP.NET Web API Interview Questions By Scholarhat
Scholarhat
 
[Jun AWS 201] Elastic Beanstalk for Startups
Amazon Web Services Korea
 
Web 2.0 Presentation
riddletonm
 
Purpose and principles of web server and application server
James Brown
 
Ad

More from Tomas Jansson (12)

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

Recently uploaded (20)

PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 

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 [email protected] 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
  • 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

  • #2: Present the topic
  • #3: Keep it short