Hi and welcome to the first video in OWIN Crash Course series
In this video i will go through the basics of OWIN what it is and what it can be used for
First: OWIN Stands for Open Web Interface for .NET and according to owin dot org: OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application and encourage the development of simple modules for .NET web development […]
Alright, Let's break this down: OWIN is an interface between the server and the application. Here the server means for example IIS, and the web application WebAPI. So, this means you can use your web application with any web server you'd like, maybe you use IIS or a simple console self hosting web server.
It also says it decouples the server and application. This means your application knows nothing of the web server. This is really good if you for example would need to move your web site or web app to another environment. And also makes testing more reliable, since a green test means it will work in any hosting environment.
Lastly it talks about simple modules for .NET web development. A module in OWIN world, is for example WebAPI, and if Microsoft is kind enough maybe ASP.NET MVC will be released as an OWIN module sometime in the future. But now you may think: Wait! These are not simple modules!? They contain lots and lots of functionality and MVC is an entire framework. And you would be right, they are big and complex. But it is possible to create an OWIN module that returns "Hello World" to the web browser, which is only around three or four lines of code.
Some popular OWIN compatible projects are NancyFX, SignalR and Katana.
NancyFX is a great project for routing and serving web pages with simple syntax and great extensibility.
SignalR is a persistent connection abstraction over HTTP with real time duplex communication between browser and web server.
Katana offers self hosting using the .NET HttpListener, IIS compatibility and also wide variety of authentication modules. I will talk more about authentication further into this series.
ASP.NET MVC is currently not available as an OWIN compatible module. But ASP.NET WebAPI is.
Thank you for watching and i hope this helped you understand a bit more about the OWIN project, and be sure to subscribe if you want to be notified when the next OWIN video comes up.
You can find me on the web chat JabbR which by the way is hosted using OWIN with Nancy and SignalR.