We’ve mentioned a few developments over the last couple of months leading up to this release – specifically, as part of updates to the MS Open Tech Hub projects, the new MVC 5 security feature based on OWIN authentication middleware was provided by the Katana team. Also, the new server implementation for IETF HTTP/2.0 Draft announced earlier this month made several new end points available using Katana server components.
There has also been news coverage of OWIN and Katana on ASP.NET and Michael Desmond at MSDN Magazine provides a good overview as well. You can also see a great video overview of Katana via Web Camps TV on Channel 9.
Introduction to Katana
Katana creates a server implementation of the work done in the independent open source project called the Open Web Interface for .NET (OWIN). OWIN defines interactions between Web servers and application components. The vision for Katana is a broad and vibrant ecosystem of Microsoft .NET Framework-based Web servers and application components. Katana adds some of these OWIN-based capabilities with built-in bindings to frameworks such as SignalR and the ASP.NET Web API.
Developers are able to pick and choose features that they want to use in their applications by selecting middleware components and installing them into their project via NuGet. Katana middleware are then added to an application pipeline where they can handle incoming requests. Steps for adding packages and configuring the pipeline are documents are here.
This model reduces interactions between Web servers and local applications to a very simple, portable interface. A great overview of the features and syntax are in this ASP.NET article – Getting Started with the Katana Project and more details for developers are in this White Paper.
Features of Katana 2.0
Katana 2.0.0 has a number of features of note for IT pros and Developers. A fill list is here in the project Roadmap, but here are some of the highlights:
Build your own OWIN Server: Microsoft.Owin.Hosting provides default services and helper types for building your own OWIN-compatible host and Microsoft.Owin provides a framework-agnostic set of types for working with HTTP and Web socket requests and responses. Also Microsoft.Owin.Host.HttpListener provides a non-IIS HTTP server to OWIN applications, which can be hosted on a Katana or a custom host application (such as a console application or Windows service).
Basic Diagnostics for OWIN: Microsoft.Owin.Diagnostics – Middleware components that provide some rudimentary tracing and diagnostics capabilities, as well as a default startup page.
Authentication: Options for Authenticating Cookie-based forms authentication, OAuth2, Facebook, Google, Twitter and Microsoft Live accounts.
Running and Debugging in Visual Studio: The OwinHost NuGet package gives developers the ability to have a complete F5 experience in Visual Studio 2013 using its new custom server capability.