owin & katana

18
OWIN & Katana Fabian Vilers @fvilers http :// www.linkedin.com/in/fvilers

Upload: fabian-vilers

Post on 18-Dec-2014

238 views

Category:

Technology


2 download

DESCRIPTION

As Web application development takes its next evolutionary step into the world of cloud computing, project Katana provides the underlying set of components to ASP.NET applications, enabling them to be flexible, portable, lightweight, and provide better performance – put another way, project Katana cloud optimizes your ASP.NET applications.

TRANSCRIPT

Page 1: Owin & katana

OWIN & KatanaFabian Vilers

@fvilershttp://www.linkedin.com/in/fvilers

Page 2: Owin & katana

Who am I ? Entrepreneur

.NET Software Craftsman

Role Play Gamer

Music Addict

Basket-Ball Fan

Poker Player

Page 3: Owin & katana

Who are you ?

Page 4: Owin & katana

Motivations

Source: http://xkcd.com/844

Page 5: Owin & katana

Motivations Challenges raised by the historical model Classic ASP (1996) ASP.NET (2002)

Evolutionary steps ASP.NET MVC (2009) & ASP.NET Web API (2012)

The future A nimble framework Equally simple as starting with Node.js

Page 6: Owin & katana

Classic ASP

Page 7: Owin & katana

Classic ASP Dynamic and data-driven

Server-side scripts

Abstraction of HTTP protocol and web server

Challenging as growing in size and complexity

Lack of structure

Duplication of code

Page 8: Owin & katana

ASP.NET

Page 9: Owin & katana

ASP.NET Object-oriented

Similar design time experience for WinForms developers

Rich set of user interface controls and infrastructure features

Server-side event model

Hide as much as possible the web’s stateless nature

Tighly coupled with System.Web.dll and IIS

Included as part of the .NET framework

Page 10: Owin & katana

ASP.NET MVC

Page 11: Owin & katana

ASP.NET MVC Small, focused and pluggable components

Greater control over application and markup

Not included in .NET framework and released as an independant download

Static markup with dynamic sections

Client scripting and AJAX friendly

Page 12: Owin & katana

ASP.NET Web API ASP.NET MVC helped the rise of Web APIs

Evolved from ASP.NET MVC as a more modular framework

Released via NuGet packages and iterated more indenpendently

No dependencies to System.Web.dll thus, no dependencies to IIS

Capable to run in a custom host

Page 13: Owin & katana

OWIN Open Web Interface for .NET

Decouple server and application to create an abstraction

As few as possible dependencies on other framework types New components could be more easily developed and consumed Applications are more easily ported between hosts, plateforms and operating

systems

Stimulate the open source ecosystem

Inspired by the benefits achieved by Rack (Ruby community)

Page 14: Owin & katana

OWIN Two core elements Environment dictionary populated by the OWIN web server Application delegate that accepts the environment dictionary as input and

output a task

Very small number of dependencies

Asynchronous design

Atomic unit of execution

Page 15: Owin & katana

OWIN PipelineHost

• IIS• Owin

Host.exe

• Custom

Server

• System.Web

• HttpListener

• WebListener

Middleware

• Authentication

Middleware

• Logging

Page 16: Owin & katana

Project Katana Building and hosting OWIN-based web applications

Portable Components should be substituable for new components

Modular, flexible Components should be small and focused

Lightweight, performant, scalable Components are explicitly added to the pipeline Consume fewer resources and handle more load

Page 17: Owin & katana

Let’s write some code!

Page 18: Owin & katana

Links OWIN Specification: http://owin.org/spec/owin-1.0.0.html

Katana Project: http://katanaproject.codeplex.com

Code from the demo: https://github.com/fvilers/OWIN-Katana