Zum Inhalt springen

Open Web Interface for .NET

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Mai 2017 um 21:26 Uhr durch Crazy1880 (Diskussion | Beiträge) (dafür kein HTML). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Open Web Interface for .NET (OWIN) ist eine standardisierte Schnittstelle zwischen .NET-Anwendungen und Webservern.

Hintergrund

ASP.NET basierte ursprünglich auf Schnittstellen des Internet Information Services (IIS). Hierdurch konnten ASP.NET Anwendungen jedoch nicht durch andere Webserver gehostet werden.[1] Die Mono-Community implementierte zwar mit XSP einen eigenen Server, welcher zu ASP.NET kompatibel war und auf Linux und Unix Systemen lauffähig ist, andere Server wurden jedoch nicht unterstützt.

OWIN definiert – analog zu Servlets – eine Schnittstelle, welche .NET Anwendungen von IIS entkoppelt. Hierdurch sind ASP.NET Anwendungen, welche auf OWIN aufsetzen, mit allen Webservern kompatibel, welche die OWIN-Schnittstelle implementieren. Hierzu gehören der Apache HTTP Server, nginx, Microsoft Azure und Amazon Web Services (AWS). Zudem bietet Microsoft mit Kestrel eine Implementierung der OWIN-Schnittselle an, um self-hosting zu ermöglichen.[1]

Katana

Microsoft Katana, auch als Projekt Katana oder kurz als Katana bezeichnet, ist eine Bibliothek von Objekten und OWIN-Komponenten, welche den Umgang mit der OWIN-Schnittstelle erleichtern.[1]

OWIN Middleware

OWIN definiert ein Pipes und Filter-Modell, in das Middleware-Komponenten eingehängt werden. Jede dieser Komponenten arbeitet hierbei als Filter und kann auf die Request- und Response-Objekte zugreifen und diese verändern.[1]

Beispielsweise können Infrastruktur-Zuständigkeiten wie die Verschlüsselung, Authentifizierung und Authentifizierung, Korrelations-Tokens, Request- und Performance-Logging, oder das Monitoring als Middleware implementiert werden.[2] Auch das Ausliefern statischer Dateien, ASP.NET MVC (ab Version 5), ASP.NET Core und ASP.NET SignalR sind als Middleware-Komponenten implementiert. Weiters steht mit Nancy[3] eine Alternative zu ASP.NET WebAPI bereit.

Quellen

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