Chris Gomez

Development topics for the indie programmer

OWIN–What? Where? Why? – Philly.NET

“15 Minutes of Fame” nights at user groups are fun.  It’s challenging to provide value to your fellow developers in 15 minutes.  Thanks to everyone who saw my little piece of a series of great talks.

Lately, I’ve been working with SignalR and WebAPI, but self-hosted in my own application (not deployed to IIS).  The application is a thick client that other clients communicate with using standard web protocols (thanks to the self-hosting!).  This makes it awfully easy to deploy your app and NOT have to worry about whether your customers’ firewalls will allow the traffic or if they set up your server correctly.  The client IS the server!

What’s OWIN good for?  In short, you can use it to make your application portable between servers (at this time, this is likely saying “portable between IIS and self-hosted in your own app”). 

You can also use it to only take the frameworks or pipelines you want.  If you are using ASP.NET Web API, do you REALLY need the whole IIS pipeline and ASP.NET page cycle?  You might not.  Do you hate that to get simple membership you have to take all of System.Web?  As more frameworks and middleware support the OWIN specification, you’ll pick just what you want.  As Scott Hanselman would say: “The Lego pieces are the right size.”

Resources for you to learn more about OWIN:

This is still in prerelease, but you can learn a lot about the idea of separating frameworks from hosts and servers so that your applications are more portable and flexible.  Why be limited to IIS or even Windows for that matter?

The Katana Project - OWIN for ASP.NET – Video

An Overview of Project Katana – An overview of the need for OWIN and walks you through some simple examples.

How I am using OWIN – Damian Hickey shows you how his web applications are testable because OWIN eliminated the dependency on a network/http stack just to test.

OWIN, Katana, and getting started – Another short explanation, with some great visuals.  Also a simple getting started sample.

blog comments powered by Disqus