„Open Web Interface for .NET“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
Austriazismus "Weiters" durch "Zudem" ersetzt. |
RoBri (Diskussion | Beiträge) Lesbarer, |
||
Zeile 1: | Zeile 1: | ||
'''Open Web Interface for .NET''' ( |
'''Open Web Interface for .NET''' (''OWIN'') ist eine standardisierte Schnittstelle zwischen [[.NET]]-Anwendungen und [[Webserver]]n. |
||
== Hintergrund == |
== Hintergrund == |
||
[[ASP.NET]] basierte ursprünglich auf Schnittstellen des [[Microsoft Internet Information Services|Internet Information Services]] (IIS). Hierdurch konnten ASP.NET |
[[ASP.NET]] basierte ursprünglich auf Schnittstellen des [[Microsoft Internet Information Services|Internet Information Services]] (IIS). Hierdurch konnten ASP.NET-Anwendungen jedoch nicht durch andere Webserver gehostet werden.<ref name="owin101" /> 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 [[Servlet]]s – eine Schnittstelle, |
OWIN definiert – analog zu [[Servlet]]s – 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-Schnittselle an, um [[self-hosting]] zu ermöglichen.<ref name="owin101" /> |
||
== Katana == |
== Katana == |
||
''Microsoft 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.<ref name="owin101" /> |
|||
== OWIN Middleware == |
== 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-Response|Request- und Response]]-Objekte zugreifen und diese verändern.<ref name="owin101" /> |
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-Response|Request- und Response]]-Objekte zugreifen und diese verändern.<ref name="owin101" /> |
||
Beispielsweise können Infrastruktur-Zuständigkeiten wie die [[Verschlüsselung]], [[Authentifizierung]] und [[Authentifizierung]], Korrelations-Tokens, Request- und Performance-[[Logging]] |
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.<ref name="microserices" /> 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''<ref name="nancy" /> eine Alternative zu [[ASP.NET WebAPI]] bereit. |
||
== Quellen == |
== Quellen == |
Version vom 12. Dezember 2017, 10:45 Uhr
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, 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-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, die 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. Außerdem steht mit Nancy[3] eine Alternative zu ASP.NET WebAPI bereit.
Quellen
- ↑ a b c d Badrinarayanan Lakshmiraghavan: OWIN and Microsoft Katana 101. 2013, ISBN 978-1-4947-7357-1 (englisch, 116 S.).
- ↑ Christian Horsdal Gammelgaard: Microservices in. NET Core. Manning, 2016, ISBN 978-1-61729-337-5 (englisch, 322 S.).
- ↑ Hosting Nancy with OWIN. In: GitHub. Nancy, abgerufen am 4. Mai 2017 (englisch).