Open Web Interface for .NETOpen Web Interface for .NET (OWIN) ist eine standardisierte Schnittstelle zwischen .Net-Framework-Anwendungen und Webservern. HintergrundASP.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, der 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, die .NET-Anwendungen von IIS entkoppelt. Hierdurch sind ASP.NET-Anwendungen, die auf OWIN aufsetzen, mit allen Webservern kompatibel, die 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-Schnittstelle an, um self-hosting zu ermöglichen.[1] KatanaMicrosoft Katana, auch als Projekt Katana oder kurz als Katana bezeichnet, ist eine Bibliothek von Objekten und OWIN-Komponenten, die den Umgang mit der OWIN-Schnittstelle erleichtern.[1] OWIN MiddlewareOWIN 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, 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. Außerdem steht mit Nancy[3] eine Alternative zu ASP.NET WebAPI bereit. Quellen
|