What is Owin ?

OWIN is an acronym for Open Web Interface for .Net. It is a specification used to define API standards for frameworks/servers.

The purpose of OWIN is to promote compatibility between API frameworks (middleware) and web servers. - creating a "plug-n-play" architecture where middlewares can be combined to form a processing pipeline that serves as .Net web servers.

What is Katana?

Katana is Microsoft's implementation of OWIN being applied to the .Net's System.web API. This involves adapting Microsoft features of ASP.Net to conform to OWIN standards. This enables us to build lightweight self-hosted HTTP servers and middlewares that make use of the existing ASP.Net features.

As a result of splitting apart of the ASP.Net framework, Katana enables us to host ASP.Net applications without IIS.

Image shows how OWIN and Katana are separated from the host thus enabling applications to be developed independent of the hosting server.


IIS is unaware of OWIN or Katana frameworks which allows applications using OWIN and Katana to be host technology agnostic. However, IIS can be used as a host for OWIN applications because at run time Katana scans assembly for Startup.cs and code is injected so that OWIN is setup to handle the request from the IIS host.

source - OWIN Katana middleware info
source - IIS and OWIN example