29
Page With thanks to our sponsors

Owin, Katana, and Helios

Embed Size (px)

DESCRIPTION

The presentation explains what OWIN is, why it came about, what it is trying to fix, and how it works. Also explains Microsoft's implementation of OWIN over IIS and ASP.NET code-name Katana, and the implementation on IIS only without ASP.NET code-name Helios. This presentation was part of DDD Melbourne 2014

Citation preview

Page 1: Owin, Katana, and Helios

Page

With thanks to our sponsors

Page 2: Owin, Katana, and Helios

Page

Emad Alashi

http://EmadAshi.com@emadashi

Page 3: Owin, Katana, and Helios

OWINKatanaHelios

Emad Alashi

Page 4: Owin, Katana, and Helios

Page

History› HTML web pages

› Powerful BIG system

› Waterfallish

Page 5: Owin, Katana, and Helios

Page

Things changed!› API’s

› Flexibility & Compatibility

› Agility

Page 6: Owin, Katana, and Helios

Page

Obstacles› System.Web

Page 7: Owin, Katana, and Helios

PagePage

Page 8: Owin, Katana, and Helios

Page

Obstacles› System.Web

› Long release cycles (.net Framework)

Page 9: Owin, Katana, and Helios

Page

OWIN

Page 10: Owin, Katana, and Helios

Page

owin.org

Page 11: Owin, Katana, and Helios

Page

OWIN› Compatible Server/Components

› Pay-Per-Use

› Simple

Page 12: Owin, Katana, and Helios

Page

Invoke(IOwinContext con){

Inspect Request ()

base.Next.Invoke(con);

AlterResponse ()

}

Middleware 1

Middleware 2Middleware 3

12

Page 13: Owin, Katana, and Helios

Page

Key Value

"owin.RequestBody"

"owin.RequestHeaders"

"owin.RequestQueryString"

….

"owin.ResponseBody"

"owin.ResponseHeaders"

IDictionary<string, object>

Page 14: Owin, Katana, and Helios

Page

Func<IDictionary<string, object>, Task>;

Page 15: Owin, Katana, and Helios

Page

Demo

Page 16: Owin, Katana, and Helios

Page

IIS & ASP.NET ?!

Page 17: Owin, Katana, and Helios

Page

KatanaIIS & ASP.NET speaks OWIN!

Page 18: Owin, Katana, and Helios

Page

Page 19: Owin, Katana, and Helios

Page

IIS

ASP.NET

Katana

Page 20: Owin, Katana, and Helios

Page

Page 21: Owin, Katana, and Helios

Page

But…not in vNext! ;)

OWIN

ASP.NET

ASP.NET

OWIN

Page 22: Owin, Katana, and Helios

Page

Demo

Page 23: Owin, Katana, and Helios

Page

So self-host…

Or Katana…

No other option?!

Page 24: Owin, Katana, and Helios

Page

HeliosOWIN on IIS…only

Page 25: Owin, Katana, and Helios

Page

IIS

Helios

Page 26: Owin, Katana, and Helios

Page

IIS Brings› Content Compression & Caching

› Application Lifetime Management

› Logging

› Management tools

› …

Page 27: Owin, Katana, and Helios

Page

Demo

Page 28: Owin, Katana, and Helios

Page

Conclusion› OWIN : Open Web Interface for .net

› Katana: OWIN on ASP.NET and IIS

› Helios : OWIN on IIS

Page 29: Owin, Katana, and Helios

Page

Thank you!

@emadashi