マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

OWIN(Open Web Interface for .NET)

  • .NETのWebサーバとWebアプリケーション接続するためのインタフェース。
  • 新しい HTTP Server のプログラミング抽象化レイヤーを定義する。
  • OWIN 統合により、One ASP.NET の Pluggable を促進する。
  • OWINのリファレンス実装は「Katanaプロジェクト」。

経緯

昨今、色々と技術的な変化が早いため、

  • MVC 1-5 は.NET Frameworkのサイクルから外れ、
  • また、System.Web(≒ IIS)からの脱却が必要になってきて、

OWINが登場した。

目標

  • OWINの目標&達成したこと。
  • System.Web(≒ IIS)から脱却し、性能の向上を可能にした。
  • .NET Frameworkのサイクルから外れた早いリリースを可能にした。
  • これらは、ASP.NET Coreに引き継がれ役立っている。

主要なデータ構造

environment dictionary

  • HTTPContextから脱却し、環境を保持する environment dictionary。
  • HTTP request and response を処理するのに必要なデータは保持される。
IDictionary<string, object>

application delegate

コンポーネントの間は下記の function signature で呼ばれる。

Func<IDictionary<string, object>, Task>;

OWINミドルウェア

以下の様な、OWINミドルウェアが存在する。

ASP.NET Identity

ASP.NET SignalR

ASP.NET Web API

OWINミドルウェア作成

この「ミドルウェア」を自作すればパイプライン上で挙動をカスタマイズできる。

OWIN化手順

シンプルに

「セルフホストやOWINミドルウェアを使用するために、パイプラインをOWIN化すること。」

と捉えると良い。

手順については「コチラ」を参照のこと。

参考

OWIN is dead ?

以下に「これからは ASP.NET 5。(死に切ってはいないけれど) OWIN is dead!!」とある。

今では完全に OWIN と Katana Project は止まっているらしい。
(ASP.NET 5は、現在はASP.NET Coreと名称が変更されている。)

補足

OWIN と Katanaの意味が長々明確ではありませんでしたが、

  • Katana Project が止まって、
  • Katana Project 所有の仕様であるOWINも止まった

ということだったようでしたが、その後、OWIN の仕様は、
ASP.NET 5、ASP.NET Coreと引き継がれて生きているようです。

  • ASP.NET Coreは、OWINをサポートしています。
  • ASP.NET Coreアプリケーションとミドルウェアは、
    OWINベースのアプリケーション、サーバ、ミドルウェアと相互運用できます。

ただし、OWINの上でASP.NET Coreが動くのではなくて、
ASP.NET Core自体がOWIN互換レイヤーを実装することでサポートしたようです。

Microsoft Docs


Tags: :.NET開発, :OWIN


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-04-26 (木) 16:29:16 (2184d)