# OWIN and Katana - what's the big deal?

Date: September 20, 2013

OWIN stands for The Open Web Interface for .NET. It is a standard for communication between .NET web servers and web applications. It defines required elements for HTTP request (details). It is inspired by Rack from Ruby on Rails World. Katana is implementation of this standard. We can say that it is a lightweight web server for .NET. In fact, it is more than that (more info here).

#### Demo

First, we need to create application project. Let's create 'Empty Web Application' (it might be also Console App).

Next, we will install two NuGet packages (using Package Manager Console):

Install-Package Microsoft.Owin.Host.SystemWeb

Install-Package Owin.Extensions

Then, we need to create 'Startup class'.

Now we are ready to run our web server, but you may get following error:

Fortunately there is easy fix for that. You need to modify Web.config file, adding following code in configuration section:

Then you can run server (CTRL+F5) and you should see:

#### Summary

So, what is big deal? We have web server in 7 lines of code! We do not need IIS as only one, right choice.

Of course we can do much more sophisticated things. Such as routing, WebAPI or even SignalR. You can also debug it easily.