Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OWIN って何?
~昨今の .NET Web 開発のイノベーション~
矢後 比呂加
2014/5/16
今日の内容
昨今の Microsoft (.NET) Web 開発の
イノベーション
 2013/11 Visual Studio 2013 リリース
 2014/4 Build 2014
 2014/5 TechEd North Ame...
ゴール
• OWIN, Katana, Project Helios, ASP.NET vNext
が何かを知る
• それらはどのような課題を解決するのか
を知る
概要
• 急速する Web 開発の進化への対応
• Mobile First, Cloud First
ASP.NET の課題とは
現在
概要
OWIN & Katana (2013/11)
• サーバーとアプリの疎結
• Modular / Flexible / Composable
Project Helios (2014/2 alpha)
• IIS における System...
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana
• Project Helios
• ASP.NET vNext
アジェンダ
2002 年(平成 14 年)ASP.NET 1.0
with .NET Framework 1.0
• Classic ASP, Windows 業務アプリ開発者むけ
• .NET Framework と一緒にリリースされていく
10 年続く...
Web
Forms
Web
Pages
MVC
Web
API
SignalR
ASP.NET
2002 年 ~ 今まで 10 数年続く ASP.NET
10 年続く ASP.NET の歴史と課題
• HTTP 回り
• HTTP Module
• HTTP Handler
• Session
• Cache
• Web Forms
• Controls
etc…
10 年続く ASP.NET の歴史と課題
System.Web とは
10 年続く ASP.NET の歴史と課題
• 全てを行うための1枚岩モデル
• 全ての機能がデフォルトで ON
• 肥大化、複雑化
• ブラックボックス
• .NET Framework のサイクルと
Web 開発のサイクルの歩調の違い
• ...
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana
• Project Helios
• ASP.NET vNext
アジェンダ
これまでの取り組み1
2009 年 ~ ASP.NET MVC 1 - 5
• .NET Framework のサイクルから外れる
• (が System.Web に依存)
これまでの取り組み2
2012, 2013 年 ASP.NET Web API
ASP.NET SignalR
• System.Web に依存しない設計
• self-host が可能となる
• NuGet による配布
• ASP.NET M...
これまでの取り組み3
2013 年 One ASP.NET
Web
Forms
Web
Pages
Single
Page
Apps
MVC
Web
API
SignalR
ASP.NET
• 1枚岩 → モジュール化
フレームワークの選択、組...
これまでの取り組み
まだまだ残る課題
Web
Forms
Web
Pages
Single
Page
Apps
MVC
Web
API
SignalR
ASP.NET
• System.Web への依存
• 複数のフレームワークの混在、似たよう...
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana
• Project Helios
• ASP.NET vNext
アジェンダ
OWIN とは
Open Web Interface for .NET
• サーバーとアプリを抽象化するインターフェイス
(=仕様)
App
Server
OWIN
App
Server
Portable
OWIN とは
2つの要素
• IDictionary<string, object>
環境ディクショナリ
サーバーやリクエストの状態等を表す
• Func<IDictionary<string, object>, Task>;
App は、環...
OWIN とは
ドキュメント
• OWIN http://owin.org/
• 仕様書 http://owin.org/spec/owin-1.0.0.html
• Owin.dll - IAppBuilder
https://github....
Katana とは
• OWIN に準じた Web アプリの構築、起動するための
コンポーネントやツール等のセット
• Microsoft による実装
⇔OWIN はコミュニティプロジェクト
• “Katana” = “Microsoft OW...
Katana とは
Host
Server
Middleware
Application
OWIN
アプリ特有の実装コード
Web API/SignalR/Nancy/認証/CORS etc…
Func<IDictionary<string, ...
Katana とは
目的
• Portable
• Modular / Flexible / Composable
• 機能は小さくコンパクトに
• コンポーネントは置換でき、NuGet による迅速な更新
• それぞれの部品はニーズに合わせて組...
Middleware の特徴
Host
Server
Middleware
Request
Response
連結可能
Middleware は次の Middleware の実行を制御する
Katana もう少し詳しく1
Cookie 認証
Middleware
Application
有効な Request
(200 OK)
無効な Request
(401 Unauthorized)
参考:Understanding OWIN Forms authentic...
Startup.cs とは
Host
Server
Middleware
Application
Middleware の構成を定義する
クラス
Katana もう少し詳しく2
とは言っても
Host
Server
Middleware
Application MVC 5 は System.Web に
依存するので OWIN アプ
リとしては稼働できない
Microsoft.Owin.Host.SystemWeb
の助...
とは言っても2
IIS
System.Web
Middleware
Custom Host/
OwinHost.exe
HttpListener
Middleware
IIS の Host では、
System.Web のみ対応
IIS は優秀だし、
でも System.Web から
脱却したい・・・
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana
• Project Helios
• ASP.NET vNext
アジェンダ
Project Helios とは
IIS 上で、System.Web パイプラインを通さずに
Web アプリを稼働させるための
プロジェクト
IIS と self-host の双方の利点を
取り入れる
NuGet : Microsoft.Ow...
Project Helios とは
IIS の利点
• 10 年以上稼働してきたセキュリティ対策
• Caching
• Static Files
• Web Socket
• ライフタイム管理
• レスポンス圧縮
• Power Shell
...
Project Helios とは
パフォーマンスの改善
• System.Web より、2, 3 倍のスループット
• System.Web より、メモリ消費 96% 削減
参考:Supplemental to ASP.NET Project...
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana
• Project Helios
• ASP.NET vNext
アジェンダ
ASP.NET vNext
• System.Web からの脱却
• アプリ側(MVC, Web API, Web Pages 6)
• サーバー側(Helios)
• Web Framework の更なる抽象化
• MVC, Web API,...
• 10年続く ASP.NET の歴史と課題
• これまでの取り組み
• 昨今の取り組み
• OWIN, Katana, Project Helios, ASP.NET vNext
まとめ
10 年続く ASP.NET の歴史と課題
• 全てを行うための1枚岩モデル
• 全ての機能がデフォルトで ON
• 肥大化、複雑化
• ブラックボックス
• .NET Framework のサイクルと
Web 開発のサイクルの歩調の違い
• ...
OWIN & Katana (2013/11)
• サーバーとアプリの疎結
• Mobular / Flexible / Composability
Project Helios (2014/2 alpha)
• IIS における System...
OWIN って何?
.NET Web 開発 イノベーション
最初のステップ
OWIN って何?
Upcoming SlideShare
Loading in …5
×

of

OWIN って何? Slide 1 OWIN って何? Slide 2 OWIN って何? Slide 3 OWIN って何? Slide 4 OWIN って何? Slide 5 OWIN って何? Slide 6 OWIN って何? Slide 7 OWIN って何? Slide 8 OWIN って何? Slide 9 OWIN って何? Slide 10 OWIN って何? Slide 11 OWIN って何? Slide 12 OWIN って何? Slide 13 OWIN って何? Slide 14 OWIN って何? Slide 15 OWIN って何? Slide 16 OWIN って何? Slide 17 OWIN って何? Slide 18 OWIN って何? Slide 19 OWIN って何? Slide 20 OWIN って何? Slide 21 OWIN って何? Slide 22 OWIN って何? Slide 23 OWIN って何? Slide 24 OWIN って何? Slide 25 OWIN って何? Slide 26 OWIN って何? Slide 27 OWIN って何? Slide 28 OWIN って何? Slide 29 OWIN って何? Slide 30 OWIN って何? Slide 31 OWIN って何? Slide 32 OWIN って何? Slide 33 OWIN って何? Slide 34 OWIN って何? Slide 35 OWIN って何? Slide 36 OWIN って何? Slide 37 OWIN って何? Slide 38 OWIN って何? Slide 39
Upcoming SlideShare
業務ハック!「働き方改革」よりも「業務改善」を!
Next
Download to read offline and view in fullscreen.

29 Likes

Share

Download to read offline

OWIN って何?

Download to read offline

http://connpass.com/event/5900/
こちらの勉強会で発表した内容

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

OWIN って何?

  1. 1. OWIN って何? ~昨今の .NET Web 開発のイノベーション~ 矢後 比呂加 2014/5/16
  2. 2. 今日の内容 昨今の Microsoft (.NET) Web 開発の イノベーション  2013/11 Visual Studio 2013 リリース  2014/4 Build 2014  2014/5 TechEd North America  2014/5 de:code ← next ! • OWIN, Katana, Project Helios, ASP.NET vNext • 課題とその解決
  3. 3. ゴール • OWIN, Katana, Project Helios, ASP.NET vNext が何かを知る • それらはどのような課題を解決するのか を知る
  4. 4. 概要 • 急速する Web 開発の進化への対応 • Mobile First, Cloud First ASP.NET の課題とは 現在
  5. 5. 概要 OWIN & Katana (2013/11) • サーバーとアプリの疎結 • Modular / Flexible / Composable Project Helios (2014/2 alpha) • IIS における System.Web からの脱却 ASP.NET vNext • .NET vNext • ランタイム、ホスティング、アプリ、開発 エクスペリエンス等を一新した次の ASP.NET ステージ
  6. 6. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana • Project Helios • ASP.NET vNext アジェンダ
  7. 7. 2002 年(平成 14 年)ASP.NET 1.0 with .NET Framework 1.0 • Classic ASP, Windows 業務アプリ開発者むけ • .NET Framework と一緒にリリースされていく 10 年続く ASP.NET の歴史と課題
  8. 8. Web Forms Web Pages MVC Web API SignalR ASP.NET 2002 年 ~ 今まで 10 数年続く ASP.NET 10 年続く ASP.NET の歴史と課題
  9. 9. • HTTP 回り • HTTP Module • HTTP Handler • Session • Cache • Web Forms • Controls etc… 10 年続く ASP.NET の歴史と課題 System.Web とは
  10. 10. 10 年続く ASP.NET の歴史と課題 • 全てを行うための1枚岩モデル • 全ての機能がデフォルトで ON • 肥大化、複雑化 • ブラックボックス • .NET Framework のサイクルと Web 開発のサイクルの歩調の違い • System.Web は .NET Framework の一部 • Only IIS • 古い時代の実装 System.Web 画像 : Channel9 - The Katana Project - OWIN for ASP.NET
  11. 11. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana • Project Helios • ASP.NET vNext アジェンダ
  12. 12. これまでの取り組み1 2009 年 ~ ASP.NET MVC 1 - 5 • .NET Framework のサイクルから外れる • (が System.Web に依存)
  13. 13. これまでの取り組み2 2012, 2013 年 ASP.NET Web API ASP.NET SignalR • System.Web に依存しない設計 • self-host が可能となる • NuGet による配布 • ASP.NET MVC 4 も
  14. 14. これまでの取り組み3 2013 年 One ASP.NET Web Forms Web Pages Single Page Apps MVC Web API SignalR ASP.NET • 1枚岩 → モジュール化 フレームワークの選択、組み合わせが可能に *any*
  15. 15. これまでの取り組み まだまだ残る課題 Web Forms Web Pages Single Page Apps MVC Web API SignalR ASP.NET • System.Web への依存 • 複数のフレームワークの混在、似たような構成 • Web 構成、認証、セキュリティ、依存性の注入 etc… • IIS, self-host *any*
  16. 16. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana • Project Helios • ASP.NET vNext アジェンダ
  17. 17. OWIN とは Open Web Interface for .NET • サーバーとアプリを抽象化するインターフェイス (=仕様) App Server OWIN App Server Portable
  18. 18. OWIN とは 2つの要素 • IDictionary<string, object> 環境ディクショナリ サーバーやリクエストの状態等を表す • Func<IDictionary<string, object>, Task>; App は、環境ディクショナリをもとに Task を定義 App Server
  19. 19. OWIN とは ドキュメント • OWIN http://owin.org/ • 仕様書 http://owin.org/spec/owin-1.0.0.html • Owin.dll - IAppBuilder https://github.com/owin/owin/blob/master/src/Owin/IAppBuilder.cs OWIN を実装するため一つの基準のようなもの
  20. 20. Katana とは • OWIN に準じた Web アプリの構築、起動するための コンポーネントやツール等のセット • Microsoft による実装 ⇔OWIN はコミュニティプロジェクト • “Katana” = “Microsoft OWIN” Katana Project – CodePlex http://katanaproject.codeplex.com/
  21. 21. Katana とは Host Server Middleware Application OWIN アプリ特有の実装コード Web API/SignalR/Nancy/認証/CORS etc… Func<IDictionary<string, object>, Task>; System.Web/HttpListener/NOwin/ WebListener/Helios etc… IIS/Custom Host/OwinHost.exe
  22. 22. Katana とは 目的 • Portable • Modular / Flexible / Composable • 機能は小さくコンパクトに • コンポーネントは置換でき、NuGet による迅速な更新 • それぞれの部品はニーズに合わせて組み合わせが可能 • Lightweight / Performance / Scalable • 必要最低限な構成によるリソース消費の削減 • アプリケーションに影響することなくサーバーの改善が可能
  23. 23. Middleware の特徴 Host Server Middleware Request Response 連結可能 Middleware は次の Middleware の実行を制御する Katana もう少し詳しく1
  24. 24. Cookie 認証 Middleware Application 有効な Request (200 OK) 無効な Request (401 Unauthorized) 参考:Understanding OWIN Forms authentication in MVC 5 Middleware による認証例
  25. 25. Startup.cs とは Host Server Middleware Application Middleware の構成を定義する クラス Katana もう少し詳しく2
  26. 26. とは言っても Host Server Middleware Application MVC 5 は System.Web に 依存するので OWIN アプ リとしては稼働できない Microsoft.Owin.Host.SystemWeb の助けにより、System.Web のパイプライ ンを Startup.cs に通している System.Web で動きながらも Middleware 使 えるZe!
  27. 27. とは言っても2 IIS System.Web Middleware Custom Host/ OwinHost.exe HttpListener Middleware IIS の Host では、 System.Web のみ対応
  28. 28. IIS は優秀だし、 でも System.Web から 脱却したい・・・
  29. 29. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana • Project Helios • ASP.NET vNext アジェンダ
  30. 30. Project Helios とは IIS 上で、System.Web パイプラインを通さずに Web アプリを稼働させるための プロジェクト IIS と self-host の双方の利点を 取り入れる NuGet : Microsoft.Owin.Host.IIS -Pre IIS Not System.Web Middleware
  31. 31. Project Helios とは IIS の利点 • 10 年以上稼働してきたセキュリティ対策 • Caching • Static Files • Web Socket • ライフタイム管理 • レスポンス圧縮 • Power Shell etc…
  32. 32. Project Helios とは パフォーマンスの改善 • System.Web より、2, 3 倍のスループット • System.Web より、メモリ消費 96% 削減 参考:Supplemental to ASP.NET Project “Helios”
  33. 33. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana • Project Helios • ASP.NET vNext アジェンダ
  34. 34. ASP.NET vNext • System.Web からの脱却 • アプリ側(MVC, Web API, Web Pages 6) • サーバー側(Helios) • Web Framework の更なる抽象化 • MVC, Web API, Web Pages の統合 • HTTP 周り(not System.Web, not System.Net.Http) • Dependency Injection 等の共通化 (※このセッションのテーマから見た内容)
  35. 35. • 10年続く ASP.NET の歴史と課題 • これまでの取り組み • 昨今の取り組み • OWIN, Katana, Project Helios, ASP.NET vNext まとめ
  36. 36. 10 年続く ASP.NET の歴史と課題 • 全てを行うための1枚岩モデル • 全ての機能がデフォルトで ON • 肥大化、複雑化 • ブラックボックス • .NET Framework のサイクルと Web 開発のサイクルの歩調の違い • System.Web は .NET Framework の一部 • Only IIS • 古い時代の実装 System.Web 画像 : Channel9 - The Katana Project - OWIN for ASP.NET
  37. 37. OWIN & Katana (2013/11) • サーバーとアプリの疎結 • Mobular / Flexible / Composability Project Helios (2014/2 alpha) • IIS における System.Web からの脱却 ASP.NET vNext • System.Web からの完全脱却 と 更なる抽象化 • Mobile First , Cloud First へ
  38. 38. OWIN って何? .NET Web 開発 イノベーション 最初のステップ
  • MinakoKubo1

    Jun. 15, 2018
  • junyakitayama31

    Dec. 11, 2017
  • HidekiTanaka9

    Jul. 12, 2017
  • nayutataga

    Jun. 29, 2017
  • pmonster

    Jun. 14, 2017
  • mizukyfujitani

    Feb. 9, 2017
  • tomo_masakura

    May. 2, 2016
  • MichiyoChuman

    Dec. 25, 2015
  • h-kamitomo

    Nov. 4, 2015
  • YoshinoriWako

    Oct. 30, 2015
  • koguma98

    Sep. 27, 2015
  • pontagogo

    Jun. 25, 2015
  • HirokiTanida26

    Apr. 28, 2015
  • ATSUSHIYOKOHAMA

    Nov. 11, 2014
  • TomoyaNakayama

    Aug. 3, 2014
  • tmizoe

    Jul. 31, 2014
  • rarph

    May. 30, 2014
  • mystster

    May. 27, 2014
  • ogiogi3

    May. 18, 2014
  • ytabuchi

    May. 18, 2014

http://connpass.com/event/5900/ こちらの勉強会で発表した内容

Views

Total views

24,048

On Slideshare

0

From embeds

0

Number of embeds

6,631

Actions

Downloads

38

Shares

0

Comments

0

Likes

29

×