Top Banner
Room E
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

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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

目的

最新の 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

アジェンダ 背景

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

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

位置付け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

.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

強み

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

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

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
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

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

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

属性ベースのルーティング

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

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

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

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

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
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
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

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

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

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

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

ライブラリ

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

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

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

モバイルサービス

データ

認証

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

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

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

注意点 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

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

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
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

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
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

開発者用のポータル

プロキシ

公開するポータル

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

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

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

.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

アンケートにご協力ください。

●アンケートの「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

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