programing

OWIN 카타나는 언제 사용해야 하나요?

magicmemo 2023. 5. 11. 21:22
반응형

OWIN 카타나는 언제 사용해야 하나요?

저는 OWIN과 Katana가 처음입니다.OWIN을 사용해야 가 안 되는데 OWIN을 할 수 있어요.IIS간단히 말하자면, 제 질문은 다음과 같습니다.OWIN 학습을 건너뛰고 웹 사이트에 IIS를 사용하면 무엇이 손실됩니까?

제가 검색해봤는데 간단한 설명이 없네요.여기 정보가 있는데 전문용어를 써서 이해가 안 됩니다.

asp.net WebApi v2에서는 OWIN 파이프라인이 기본값이 됩니다.이것은 결국 asp.net 프로젝트의 표준 파이프라인이 될 것입니다.

여기 적혀 있는 것보다 더 잘 표현할 수 없습니다: http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana

"열린인터페이스 for ." 섹션.NET (OWIN)"는 OWIN의 목표를 완벽하게 설명합니다.

OWIN을 사용하지 않으면 asp.net 비트가 IIS가 응용 프로그램과 통신하는 방식에 연결됩니다.OWIN은 웹 서버와 프레임워크 구성요소를 추상화합니다.즉, 응용 프로그램 코드는 이제 OWIN 인터페이스를 인식하지만 요청을 처리하는 웹 서버는 인식하지 못합니다.

그 결과, 호스트와 잠재적으로 전체 플랫폼/운영 체제 간에 애플리케이션을 보다 쉽게 이식할 수 있습니다.예를 들어, 콘솔 또는 모든 프로세스에서 애플리케이션을 호스팅하는 기능을 통해 Mono는 노력 없이 애플리케이션을 호스팅할 수 있습니다.(Raspberry Pi anyone)

두 번째 측면은 파이프라인 역할을 한다는 것입니다.


오윈 파이프라인


웹 서버와 응용프로그램 사이에 원하는 만큼의 미들웨어를 연결할 수 있습니다.
이를 통해 더 많은 모듈식 솔루션을 사용할 수 있습니다.재배포 가능한 미들웨어를 개발하여 응용프로그램에서 수신/수신되는 요청/응답에 영향을 줄 수 있지만 이러한 모듈은 응용프로그램 코드와 분리되어 있습니다.

이 모듈식 접근 방식의 이점을 이해하려면 OWIN에서 사용할 수 있는 nuget 패키지를 살펴보십시오. http://www.nuget.org/packages?q=owin

이러한 패키지의 대부분은 이전에 핵심적인 asp.net 기능이었으며 미들웨어로 추출되었습니다.
를 들어, 다양한 을 추가하는 미들웨어)가 되어 더 될가 없습니다. : " OAuth OAuth 공미가추지그원것을가인문인예는하은되라프제될므더이없로필애코일다이션니케습가요드의가부리플상를어웨들급들어에용양하는로사다한자를▁for될없필미코▁adding일▁example가▁o▁using)ation다▁coderucture▁becomes▁to▁concern니습션요가▁anymore이드애

또는 웹 사이트의 모든 이미지를 귀여운 고양이 이미지로 자동 교체하려면 투명하게 변경할 수도 있습니다.

https://github.com/serbrech/Owin.Catify

편집 : 이제 너겟 패키지로 이용할 수 있습니다 : Owin.캐티피!

public interface OWIN
{
   void ListenHttpCallAndServeWebPage();    
}

namespace Microsoft.OWIN
{
   public class Katana : OWIN
   {
      public void ListenHttpCallAndServeWebPage()
      {
         // listen to a port for HTTP call and serve web page
      } 
   }
}

네, 그렇습니다.OWIN은 인터페이스이고 Katana는 Microsoft가 OWIN 인터페이스를 구현한 것입니다.따라서 우리는 이 두 단어(OWIN / KATANA)를 함께 듣고 이 두 용어의 차이를 혼동하는 경우가 많습니다.Katana는 Microsoft의 OWIN 인터페이스 구현입니다.BIG-BOSS라는 다른 회사가 OWIN의 구현을 직접 만들고 싶어한다고 가정하면, 이 회사는 OWIN/BATANA라는 이름으로 구현 이름을 지정하고 OWIN/BATANA와 같은 문구를 광고할 수 있습니다.

그래서, 왜 OWIN!!!

이동할 수 있는 유일한 차량이 트럭인 나라를 생각해 보세요.다른 것은 없어요.만약 당신이 차를 사고 싶다면, 당신은 트럭을 살 것입니다.음, 그것은 좋은 서비스를 제공하곤 했지만 사람들은 특히 영화를 보러 가거나 우유를 사고 싶을 때 항상 트럭이 필요하지 않다는 것을 깨닫기 시작했습니다. 무거운 트럭을 운전하는 것은 높은 연료가 들 뿐만 아니라 운전에 대한 스트레스를 가중시킵니다.하지만, 만약 그들이 많은 무거운 물건들을 운반하고 싶다면, 트럭은 그 목적에 매우 잘 부합합니다.

그 후, 그 나라의 정부는 자동차 제조사들을 위한 사양을 고안해냈습니다.사양은 다음과 같습니다.

  1. 차량에는 4개의 휠이 필요합니다.
  2. 차량에는 스티어링이 있어야 합니다.
  3. 차량에는 전조등과 신호등이 있어야 합니다.

따라서 이러한 사양을 바탕으로 누구나 다양한 필요에 따라 차량을 제작할 수 있으며 차량 이름도 그에 따라 지정할 수 있습니다.따라서 세단, 픽업 트럭, SUV, VAN 등.모든 종류의 차량이 시장에 나타났습니다.무거운 물건을 항상 들고 다닐 필요가 없고, 직장에 갈 때만 차량이 필요하다면 소형 세단을 구입할 수 있습니다.힘이 조금만 더 필요하면 SUV를 살 수 있습니다.

위의 예를 바탕으로 우리는 우리의 ASP라고 말할 수 있습니다.NET 웹 응용 프로그램은 시스템을 사용합니다.(트럭처럼) 과중한 부하를 가진 웹 어셈블리와 작은 요청 집합을 기반으로 일부 파일을 제공하는 것이 목적인 작은 웹 응용 프로그램을 만들려면 반드시 무거운 시스템을 사용해야 합니다.웹 어셈블리(트럭).이제 OWIN이 등장합니다.OWIN은 서버를 정의하는 일련의 사양(인터페이스라고 할 수 있음)입니다.이 사양을 기반으로 차량 제조업체와 같은 누군가가 특정 문제 도메인/애플리케이션 요구사항을 기반으로 다양한 종류의 서버를 만들 수 있습니다.Microsoft는 웹 API를 제공할 수 있는 동일한 방식으로 Katana라는 이름의 OWIN용 구현을 만들었습니다.WebAPI는 완전한 시스템을 필요로 하지 않는 가벼운 기술이기 때문입니다.Katana와 같은 가벼운 서버 구현인 웹 사물은 Katana에서 호스팅되는 Web API를 사용할 때 성능을 크게 향상시킬 수 있습니다.

이제 '필요한가요?'라고 물으면 '성능의 필요성에 따라 다릅니다.'라고 답합니다.만약 당신이 영화를 보러 가는 것조차도 당신의 트럭을 운전하는 것을 개의치 않는다면, 아마도 당신은 OWIN이 필요하지 않을 것입니다.하지만 만약 당신이 그것을 느낀다면, 당신이 도시 안에서, 작은 거리에서, 영화를 보기 위해 필요한 모든 것은 가벼운 세단 자동차입니다.예, 시장에서 사용할 수 있는 OWIN 구현이 무엇인지 확인할 수 있습니다.카타나는 OWIN의 구현 중 하나이므로 카타나가 제공하는 것을 확인할 수 있습니다.카타나뿐만 아니라 다른 회사가 특정 도메인(예: 최신 의약품 정보를 다운로드할 의료 기기용 서버)에 따라 OWIN을 구현하고 의사라면 OWIN의 구현을 확인할 수 있습니다.또한 특정 틈새 시장을 대상으로 OWIN의 구현을 직접 생성할 수 있습니다.

웹 응용프로그램의 측면에서, 당신이 당신의 클라이언트를 위한 사용자 정의 웹사이트를 개발하는 단순한 웹 개발자라면, 아마도 당신은 OWIN의 사용자 정의 구현에 대해 걱정할 필요가 없을 것입니다. 왜냐하면 IIS는 당신에게 균형 잡힌 방식으로 서비스를 제공할 것이기 때문입니다.웹 API 프로젝트를 구축하면 Visual Studio -> New Project에서 만든 카타나 기반 템플릿이 준비되어 있어 카타나 특정 기술을 배우는 것 외에 다른 걱정을 하지 않아도 됩니다.현재 카타나는 ASP용 IIS의 필요성을 완전히 대체할 만큼 충분히 성숙하지 않았습니다.NET MVC, 하지만 아마도 미래에는 그럴 것입니다.

그렇다면 OWIN 구현을 직접 작성해야 할 경우는 언제입니까?

답변: 예를 들어, 백그라운드에서 서버로 실행되고 포트 번호 XXXX를 수신하는 Windows 애플리케이션을 개발했다고 가정합니다.서버는 다음과 같은 일부 요청에만 응답합니다.

  1. GET 인벤토리
  2. 재고 ID =4 삭제
  3. PUT 재고 ID=5

이상입니다.그리고 그 외 아무것도 없다.그렇다면 이 작은 작업을 위해 전체 IIS 웹 서버가 필요한 이유는 무엇입니까?이 경우 자신만의 OWIN 구현을 생성할 수 있습니다. (아마도 카타나를 사용할 것입니다.)

알겠습니다. ASP를 만들려면 이해했습니다.NET MVC 웹사이트, IIS를 대체할 수 있는 옵션이 없는데 왜 지금 카타나에 대해 알아야 합니까?

답변: 비록 카타나가 당신이 ASP를 호스팅할 수 있도록 IIS의 필요성을 대체할 만큼 충분히 성숙하지 못하더라도.NET MVC 웹사이트는 카타나에서 직접 운영하지만, 카타나는 OWIN의 멋진 인터페이스를 많이 구현하여 이러한 기능을 함께 사용할 수 있습니다.예를 들어, 페이스북, 구글, 트위터 등을 사용하여 사용자가 로그인할 수 있도록 하는 것은 이전에는 쉽지 않았습니다.카타나는 당신에게 많은 후크(미들웨어로서)를 제공하여 당신이 카타나가 배관 코드를 작성하지 않고도 쉽게 외부 소셜 미디어 기반 인증을 처리할 수 있도록 합니다.이 기술을 사용하기 시작하면 카타나를 사용할 때 얻을 수 있는 다른 많은 이점이 있습니다.

그 대답의 더 간단한 버전은 카타나가 시스템을 완전히 대체하기 위해 꽹과리라는 것입니다.웹 어셈블리 및 이전 ASP.NET 파이프라인은 더 나은 유연성(더 많은 시나리오에서 사용하고 원하는 부품만 사용)과 성능을 모두 제공합니다.

그러므로 모든 사람들은 지금 그것의 진화를 지켜보고 그것이 마침내 완성되면 전환할 준비를 해야 합니다.

아래는 Microsoft가 이 기사에 포함시키지 못한 세부 사항을 채우기 위해 그린 다이어그램입니다.

여기에 이미지 설명 입력

OWIN은 애플리케이션 프레임워크를 실행하고 그 아래에 있는 모든 것을 잊어버릴 정도로 표준입니다.반면 OWIN 자체는 다양한 호스트 어댑터를 사용하여 기본 웹 서버(IIS 등)와 통신할 수 있도록 합니다.

저는 현재 Jexus 웹 서버 작성자와 협력하여 OWIN/Katana와 Jexus를 브리지하기 위해 호스트 어댑터를 작성하는 방법을 조사하고 있습니다.OWIN이 유연하고 사용자 지정이 가능하다는 것을 알게 되어 매우 기쁩니다.

참조: http://blog.lextudio.com/2014/06/why-owin-matters-a-lot-for-asp-net-developers/

IIS를 사용할 수 있는데 OWIN을 사용해야 하는 이유는 무엇입니까?

OWIN은 사용자가 작업하는 프레임워크에서 웹 서버를 분리하도록 설계되었습니다.혼합 프레임워크 및 서버를 위해 애플리케이션을 경량화하고 이동 가능하게 할 수 있습니다.

그리고 Katana는 Microsoft의 OWIN 구성 요소 구현입니다.

지난 몇 년 동안 Microsoft는 계획이 진행됨에 따라 웹 도구의 민첩성과 대응성을 높이고 있습니다.예를 들어, ASP의 개발입니다.Net MVC 및 ASP.Net Web API.시스템에 의존하지 않습니다.나는 그들이 지금 느끼는 큰 부담인 웹 dll을 생각합니다.장점은 두 가지 개발 수정 사항을 적시에 제공할 수 있고 주기가 그 어느 때보다 빠르다는 것입니다.또한 이제 개발자는 맞춤형 OWIN 호스트 또는 OWIN 구현의 참조인 Katana에 이러한 애플리케이션을 배포할 수 있습니다.

결국 무슨 의미가 있습니까?

마이크로소프트는 IIS 위에 경량 OWIN 기반 웹 호스트인 '헬리오스'라는 프로젝트를 출시했습니다.목표는 ASP를 피하는 것입니다.NET/I는 OWIN 사양을 구현하는 웹 호스트에서 독립적으로 실행되는 일부 독립적인 소형 구성 요소를 사용, 설치 및 관리할 수 있는 관계입니다.

핵심적인 이유 중 하나는 성능 요인입니다.Helios는 표준 ASP보다 2-3배 더 많은 처리량을 달성할 수 있습니다.넷 애플리케이션.메모리 소모량 면에서 헬리오스가 시스템보다 훨씬 낫습니다.웹 dll.채택된 벤치마크에서 Helios 아키텍처는 샘플 애플리케이션이 표준 ASP에 비해 약 1GB 적은 오버헤드로 50000개의 동시 요청을 달성할 수 있도록 했습니다.넷 애플리케이션.

OWIN은 웹 애플리케이션과 호스팅 플랫폼 간의 추상화입니다.OWIN을 사용하여 웹 응용 프로그램을 작성할 경우 IIS에 연결되지 않은 다른 호스트를 사용할 수 있습니다.

왜 IIS가 아닌 OWIN을 사용하는지 물었지만, 이것들은 서로의 대안이 아닙니다.OWIN은 IIS와 응용 프로그램 사이에 위치하므로 응용 프로그램을 다시 쓰지 않고도 IIS를 전환할 수 있습니다.

또한 이 페이지를 확인해 보십시오. https://github.com/Bikeman868/OwinFramework/wiki/OWIN

언급URL : https://stackoverflow.com/questions/21308585/when-should-i-use-owin-katana

반응형