Open Web Interface for .NET

from Wikipedia, the free encyclopedia

Open Web Interface for .NET ( OWIN ) is a standardized interface between .NET applications and web servers .

background

ASP.NET was originally based on Internet Information Services (IIS) interfaces . However, this prevented ASP.NET applications from being hosted by other web servers. The Mono community implemented its own server with XSP, which was compatible with ASP.NET and can run on Linux and Unix systems, but other servers were not supported.

OWIN defines - similar to servlets  - an interface that decouples .NET applications from IIS. As a result, ASP.NET applications based on OWIN are compatible with all web servers that implement the OWIN interface. These include the Apache HTTP Server , nginx , Microsoft Azure and Amazon Web Services (AWS). With Kestrel, Microsoft also offers an implementation of the OWIN interface to enable self-hosting .

Katana

Microsoft Katana , also known as Project Katana or short as Katana called, is a library of objects and OWIN components that facilitate the handling of the OWIN interface.

OWIN middleware

OWIN defines a pipes-and-filter model into which middleware components are attached. Each of these components works as a filter and can access and change the request and response objects.

For example, infrastructure responsibilities such as encryption , authentication , correlation tokens, request and performance logging or monitoring can be implemented as middleware. The delivery of static files, ASP.NET MVC (from version 5), ASP.NET Core and ASP.NET SignalR are also implemented as middleware components. In addition, Nancy is an alternative to ASP.NET WebAPI .

swell

  1. a b c d Badrinarayanan Lakshmiraghavan: OWIN and Microsoft Katana 101 . 2013, ISBN 978-1-4947-7357-1 (English, 116 pages).
  2. ^ Christian Horsdal Gammelgaard: Microservices in. NET Core . Manning, 2016, ISBN 978-1-61729-337-5 (English, 322 pages).
  3. ^ Hosting Nancy with OWIN. In: GitHub. Nancy , accessed May 4, 2017 .