Table of Contents

IT:AD:OWin

Summary

Owin is a Standard, whereas Katana – and ASP.NET Core are implementations of Owin.

Owin stands for “Open Web INterface”.

Notes

Why OWIN

It's that last part – the attractiveness of the ability to host services in a variety of different lightweight hosts – that surfaced another problem: lots of different hosts are more difficult to start/stop/manage idependently, than one general management system. Like IIS. Just wasn't a realistic roadmap.

What was needed was a single hosting abstraction that would enable a developer to compose an application from a variety of different components and frameworks, and then run that application on a supporting host. Whether IIS, or not.

Hence OWIN.

Design

To be portable, the resulting abstraction is almost comically rudimentary. All it consists of of are two core elements: * An IDictionary<string,object> environment dictionary.

* Func<IDictionary<string, object>, Task>;, the application delegate.

This simplicity of the OWIN design has several implications for developers:

Resources

* Good: http://coding.abel.nu/2014/05/whats-this-owin-stuff-about/ * http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana * http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection * http://owin.org/spec/spec/owin-1.0.0.html