最新 Web API 開発 ~ ASP.NET Web API 2...
Transcript of 最新 Web API 開発 ~ ASP.NET Web API 2...
![Page 1: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/1.jpg)
Room E
![Page 2: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/2.jpg)
目的
最新の Web API 開発
ゴールASP.NET Web API 2
Microsoft Azure
認証
![Page 3: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/3.jpg)
アジェンダ 背景
ASP.NET Web API 2
ASP.NET Web API 認証の仕組み
Microsoft Azure の活用
Web サイト
モバイルサービス
API Management
![Page 4: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/4.jpg)
Cloud First
![Page 5: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/5.jpg)
位置付けHTTP サービス
![Page 6: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/6.jpg)
.NET Framework のサービスフレームワーク
- HTTP, REST, OData
![Page 7: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/7.jpg)
強み
![Page 8: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/8.jpg)
REST アーキテクチャスタイル例:
GET ~/api/books/3
POST ~/api/books
GET ~/api/authorInfo
XML, JSON, etc…
OData REST を利用したデータアクセス用のプロトコル
データソースのメタデータ、型、リレーション
クエリ $filter, $sort, etc…
XML, JSON 双方に対応
ApiController クラス ODataController クラス
REST でも有効
![Page 9: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/9.jpg)
REST と OData
ODataWeb
APIREST
![Page 10: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/10.jpg)
![Page 11: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/11.jpg)
ASP.NET
Web API
ASP.NET
Web API 2ASP.NET
Web API 2.2
2012/8 2013/10 2014/1 next
VS 2012 VS 2013.NET 4.5 以上
.NET 4以上
![Page 12: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/12.jpg)
ASP.NET Web API 2.*
![Page 13: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/13.jpg)
属性ベースのルーティング
HTTP Client の PCL 対応
OWIN 対応
CORS, OAuth 2.0
![Page 14: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/14.jpg)
Web API ヘルプページ生成の強化
フィルター属性の非同期対応
![Page 15: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/15.jpg)
OData 4.0 の対応(※未リリース)
機能 OData の属性ベースのルーティング
クエリ($filter, $top)をプロパティ毎に制限
Etag のサポート、楽観的平行性制御
Enum のサポート
$format が有効に
etc..
![Page 16: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/16.jpg)
OData 4.0 の対応(※未リリース)
ポイント
WCF は OData 4.0 対応に投資しない
3.0 と名前空間、アセンブリ、実装名が違うMicrosoft.AspNet.WebApi.OData (NuGet ID)→ Microsoft.AspNet.OData
System.Web.Http.OData (アセンブリ名)→ System.Web.OData
![Page 17: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/17.jpg)
ASP.NET Web API認証の仕組み
![Page 18: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/18.jpg)
![Page 19: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/19.jpg)
![Page 20: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/20.jpg)
IIS(HTTP モジュール) セルフホスト
Katana Middleware
メッセージハンドラー
属性 IAuthenticationFilter
属性 [Authorize]
ホスティング
Katanaコンポーネント
ASP.NETWeb APIフレームワーク
![Page 21: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/21.jpg)
OAuth 2.0 Bearer Token
[Authorize]string Get()
401 Unauthorized
キーを持たないRequest
ヘッダーWWW-Authenticate: Bearer
![Page 22: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/22.jpg)
OAuth 2.0 Bearer Token
[Authorize]string Get()
200 OK
ヘッダーAuthorization : Bearer [key]
![Page 23: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/23.jpg)
OAuth 2.0 Bearer Token
OAuthOptions = new OAuthAuthorizationServerOptions{
TokenEndpointPath = new PathString("/Token"),AuthorizeEndpointPath =
new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),AllowInsecureHttp = true
};
app.UseOAuthBearerTokens(OAuthOptions);
![Page 24: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/24.jpg)
ライブラリ
ASP.NET Identity
![Page 25: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/25.jpg)
Microsoft Azure の活用
![Page 26: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/26.jpg)
Web サイト ASP.NET アプリケーションとして発行
Visual Studio との統合
発行
リモートデバッグ
![Page 27: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/27.jpg)
モバイルサービス
データ
認証
Push通知
SQL, MongoDB,
Blob Storage etc...
Facebook, Twitter,
Microsoft, Google
etc…
Windows, Apple, Google, 通知ハブ
←RESTAPI←
Node.js
ASP.NET
Web API
各種デバイス用のSDK
![Page 28: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/28.jpg)
Web.config
WebApiConfig.cs
Scheduled Job
API Controller, Table Controller
ASP.NET
ASP.NETWeb APIフレームワーク
モバイルサービス 構造
Global.asaxモバイルサービスランタイム
Bootstrapper
![Page 29: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/29.jpg)
Web サイト モバイルサービス
IIS IIS
ASP.NET プロジェクト
ASP.NET プロジェクト
モバイルサービスランタイム
![Page 30: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/30.jpg)
注意点 Web サイトとはホスティングの仕組みが違うこと
デプロイ後、Global.asax は反映されないこと
デプロイ時、Web.config の値が設定されること
ローカルデバッグ時は、Global.asax や Web.config がそのまま使用できること。
![Page 31: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/31.jpg)
API Controller, Table ControllerASP.NETWeb APIフレームワーク
モバイルサービス構造
データSQL, MongoDB,
Blob Storage etc...
![Page 32: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/32.jpg)
ASP.NETWeb API
アプリケーション
APIAPI 提供者
API 利用者
![Page 33: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/33.jpg)
![Page 34: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/34.jpg)
API Management
開発者用のポータル
プロキシ
公開するポータル
API
API を利用する開発者
アプリケーション
管理者
![Page 35: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/35.jpg)
![Page 36: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/36.jpg)
開発者用のポータル
プロキシ
公開するポータル
API Management
ASP.NETWeb API
アプリケーション
APIAPI
API 提供者
API 利用者
![Page 37: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/37.jpg)
ASP.NET Web API 2
モバイル開発向けの機能強化
.NET 4.5 以上
OData 4.0
ASP.NET Web API 認証
![Page 38: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/38.jpg)
Microsoft Azure の活用
![Page 39: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/39.jpg)
.NET Technologies Primer
.NET 開発テクノロジ入門 2014 年版
~ Visual Studio 2013 対応版 ~
http://nkbp.jp/1sT87tP
著者
小高 太郎、酒井 達明、芝村 達郎
中原 幹雄、山田 祥寛、和田 健司
監修
日本マイクロソフト株式会社 エバンジェリストチーム
!! 日経 BP 社様ブースにて 10% 割引で先行販売中 !!
![Page 40: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/40.jpg)
アンケートにご協力ください。
●アンケートの「Breakout Session」記入欄に、上記の【Session ID】を
ご記入ください。
●アンケートはお帰りの際に、受付でご提出ください。
マイクロソフトスペシャルグッズと引換えさせていただきます。
![Page 41: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/41.jpg)
Ask the Speaker のご案内 Ask the Speaker
展示会場MAP
●本セッションの詳細は、展示会場内
『Ask the Speaker』コーナー
Room E カウンタにてご説明させて
いただきます。是非、お立ち寄りください。
![Page 42: 最新 Web API 開発 ~ ASP.NET Web API 2 とクラウドの活用download.microsoft.com/download/2/4/9/2496ACB4-E9D...REST とOData OData Web API REST. ASP.NET Web API ASP.NET Web](https://reader034.fdocuments.net/reader034/viewer/2022042222/5ec937e812898708316ec2d8/html5/thumbnails/42.jpg)