Open Web Interface for .NET: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Altered url. URLs might have been anonymized. | Use this bot. Report bugs. | #UCB_CommandLine
 
(41 intermediate revisions by 28 users not shown)
Line 1:
{{Short description|Web server interface standard}}{{Infobox software
{{web-software-stub}}
| name = OWIN
| author = Community-owned
| developer = OWIN Community
| programming_language = [[C Sharp (programming language)|C#]]
| operating_system = [[Cross-platform]]
| platform = [[.NET Framework]], [[.NET Core]]
| genre = Web server interface
| license = [[Open-source]]
| website = [http://owin.org owin.org]
}}
 
'''OWIN''' (Open Web Interface for .NET) is a standard for an interface between .NET webWeb applications and webWeb servers.<ref name=":0">{{Cite web |last=Chonkar |first=Swapnal |title=Open Web Interface For .NET (OWIN) |url=https://www.c-sharpcorner.com/UploadFile/swapnal/open-web-interface-owin-for-net/ |access-date=2024-12-04 |website=www.c-sharpcorner.com |language=en}}</ref> It is a community -owned and open -source project. Prior to OWIN, Microsoft's [[ASP.NET]]<ref name=":1">{{Cite web |last=ardalis |date=2024-12-02 |title=Open Web Interface for .NET (OWIN) with ASP.NET Core |url=https://learn.microsoft.com/en-us/aspnet/core/fundamentals/owin?view=aspnetcore-9.0 |access-date=2024-12-04 |website=learn.microsoft.com |language=en-us}}</ref> technology was designed on top of [[Internet Information Services|IIS]], and webWeb applications could not easily be run on another webWeb server (although note that despite this the Mono community developed several ASP.NET compatible webWeb servers, such as [[XSP (software)|XSP]]).{{Citation OWINneeded|date=December aims2024}} to decouple the relationship between ASP.NET applications and IIS by defining a standard interface. Developers of web servers can be sure that if they implement OWIN correctly, ASP.NET applications will run on their server. Similarly, new web frameworks could be developed as an alternative to ASP.NET. So long as they target OWIN, they will run on any OWIN compatible web server, including IIS.
 
OWIN aims to decouple the relationship between ASP.NET <ref name=":0" /><ref name=":1" />applications and IIS by defining a standard interface. Developers of Web servers can be sure that, if they implement OWIN correctly, ASP.NET applications will run on their server. Similarly, new [[Web framework]]s could be developed as an alternative to ASP.NET. As long as they target OWIN, they will run on any OWIN compatible Web server, including IIS.<ref>{{Cite book |last=Freeman |first=Adam |url=https://books.google.com/books?id=FVMnCgAAQBAJ&dq=%22Open+Web+Interface+for+.NET%22+-wikipedia&pg=PA182 |title=Expert ASP.NET Web API 2 for MVC Developers |date=2014-09-16 |publisher=Apress |isbn=978-1-4842-0085-8 |language=en}}</ref><ref>{{Cite book |last=Zamora |first=Jodi |url=https://dl.acm.org/doi/10.5555/3051942 |title=OWIN for IT Students |publisher=CreateSpace Independent Publishing Platform |isbn=978-1-5330-4532-4 |___location=North Charleston, SC, USA |doi=}}</ref>
In this regard, OWIN aims to do for .NET what [[Java Servlet]] and [[Servlet containers]] do for the [[JVM]].
 
In this regard, OWIN aims to do for .NET what [[Java Servlet]] and [[Servlet containers]] do for the [[Java virtual machine|JVM]]. Project Katana is a set of OWIN components for ASP.NET (.NET Framework) built by Microsoft.{{Citation needed|date=December 2024}} ASP.NET Core (.NET) has its own middleware system that is similar to OWIN.
[[Project Katana]] is a set of OWIN components built by Microsoft.
 
== OWIN as middleware ==
In addition to decoupling webWeb frameworks and webWeb servers, OWIN allows chaining together [[middleware]] into a pipeline. A webWeb framework can interact with OWIN without knowing whether it is interacting directly with the underlying web server, or with one or more layers of middleware (each implementing OWIN) on top of the webWeb server.<ref>{{Cite Thisweb allows|last=Praburaj infrastructure|date=2022-09-30 concerns,|title=OWIN suchMiddleware as [[authentication]], to be split out into separate modules. This is desirable as it decouples them fromin the application'sIIS ownintegrated code,pipeline and makes them reusable across applications|url=https://learn. In Project Katana, Microsoft has made into OWIN modules several ASPmicrosoft.NET features that were previously part of com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-middleware-in-the-iis-integrated-pipeline core|access-date=2024-12-04 ASP|website=learn.NET frameworkmicrosoft.com This allows them to reused in other web frameworks, and also ensures a cleaner separation from the application using them.|language=en-us}}</ref>
 
This allows infrastructure concerns, such as [[authentication]], to be split out into separate modules. This is desirable as it decouples them from the application's own code, and makes them reusable across applications. In Project Katana, Microsoft has made into OWIN modules several ASP.NET features that were previously part of the core ASP.NET framework.<ref>{{Cite web |last=howarddierking |date=2023-06-15 |title=An Overview of Project Katana |url=https://learn.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/an-overview-of-project-katana |access-date=2024-12-04 |website=learn.microsoft.com |language=en-us}}</ref> This allows them to be reused in other Web frameworks, and also ensures a cleaner separation from the application using them.
 
== See also ==
* [[ASP.NET Core]]
* [[HTTP handler]]
 
== References ==
{{Reflist|2}}
 
== External links ==
* [http://owin.org/ Official OWIN website]
* [https://github.com/aspnet/AspNetKatana/ Katana Project] at [[GitHub]]
* [http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana Microsoft's overview of Project Katana]
 
* [https://www.nuget.org/packages?q=owin NuGet packages relating to OWIN]
{{Web interfaces}}
 
[[Category:Open source projects]]