Top Banner
Hrvoje Hudoletnjak Software developer New ASP .NET
18
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Owin katana en

Hrvoje HudoletnjakSoftware developer

New ASP.NET

Page 2: Owin katana en

AGENDA

MotivationWhy now?

What future brings

SpecsWhat is OWIN

Katana and Helios

Architecture

DemoCreate most basic OWIN app

Create some middleware

Hook up WebAPI and NancyFx middlewares

Page 3: Owin katana en

MOTIVATION

System.Web 12+ years old

WebForms framework

Regression bugs

„We fix one bug and open new ones”

Monolith architecture

Slow release cycle

Different types of apps today

Page 4: Owin katana en

MOTIVATION

PerformanceIIS stays

„IIS is the fastest web server, as long you don’t load System.Web”

Evolutionary steps: MVC, WebAPI

Released out of band

Transition from big server apps to small client and device centric apps with Javascript/HTML/CSS and microservicearchitecture

Page 5: Owin katana en

MOTIVATION

NodeJS simplicity:

start simple and add just what you need

Page 6: Owin katana en
Page 7: Owin katana en

OWIN: what's that really

Page 8: Owin katana en

OWIN

Open Web Interface for dot Net

Defines interface between server and apps components

One goal is to decouple server and host from an app

Simple modules

Open standard

Not revolution but evolution

Page 9: Owin katana en

ARCHITECTURE

OWIN SERVER

Page 10: Owin katana en

OWIN SPEC

using AppFunc = Func<

IDictionary<string, object>, // Environment

Task>; // Done

Page 11: Owin katana en

KATANA

Microsoftovs implementation of OWIN

So we can run OWIN stuff on System.Web

Several hosts and servers

IIS or self-host

Helper classes

OwinContext, OwinRequest, OwinResponse, ...

Middleware components

Auth, static content, CORS

Page 12: Owin katana en

Katana hosts and servers

IIS

• SystemWeb

• Helios

Non-IIS

• OwinHost

• Self-host

Page 13: Owin katana en

OWIN

Servers and hosts

o Katana

o Nowin

o Helios

o Kestrel

Frameworks

o WebAPI

o SignalR

o ASP.NET Identity

o Nancy

o Simple.Web

Page 14: Owin katana en

HELIOS

System.Web problems

auth mixing, 401 -> 302, req. validation...

Need for agile framework

pay-for-play model

Goal: speed, agility, out-of-band, simplicity

Not goal: 100% backward compatibility

Nuget: Microsoft.Owin.Host.IIS

Mem consumption: 30kb/req vs 1kb/req

Page 15: Owin katana en
Page 16: Owin katana en

Inspirirani ljudima.

Pitanja i odgovori.

Page 17: Owin katana en
Page 18: Owin katana en