SlideShare a Scribd company logo
ASP.NET WebAPIの
すゝめ
Fukuoka.NET #1 ~ ひな祭り に.NETを語る夜 ~
2016/03/03
濱本 一慶(Hamamoto Kazunori)
なぜAPIにするのか
▪ システム疎結合
▪ Webサービスとの連携
▪ プロジェクトチーム内での作業分担
システム疎結合
TCP/IP
FTP
その他諸々のプロトコル
 APIを使用しない場合のシステム連携
 相手のプロトコルに合わせる
 セキュリティ
 ミドルウェアのメンテ
 インタフェース仕様
 何かと手間がかかる
システム疎結合
HTTP/HTTPS
 APIを使用した場合のシステム連携
 HTTP プロトコル
 連結先のプログラムで扱いやすい
JSON / XML
Webサービスとの連携
 外部サービスを取り込みやすい
 他のサービスにデータを提供しやすい
 オープンデータ etc
プロジェクトチーム内での作業分担
 バックエンドとフロントの疎結合
 苦手な事はやりたくない
 得意分野を活かす
 スピード感のある開発
JSON / XML
XML通信
 XML通信なんて今に始まった事じゃない
 .NETでは依然からXMLでシステム連携できてた
 古き良きクラサバの時代
XML
XML通信
XML通信
なんで最近はAPIブームなん?
▪ 軽量
▪ プログラム側から読みやすい
▪ 言語のオートバインドが優秀になった
▪ 型を明示的に指定しなくても言語側で頑張ってくれる
▪ ハードウェア性能の上昇
▪ 通信速度の上昇
▪ 大量のリクエストを捌けるようになった
あくまで一意見です。。。
APIの良さが解っていただけましたか?
APIが作りたくて
仕方がないでしょう?
ASP.NET WebAPIの
すゝめ
Fukuoka.NET #1 ~ ひな祭り に.NETを語る夜 ~
2016/03/03
濱本 一慶(Hamamoto Kazunori)
.NETのおさらい
One ASP.NET 構想
ASP.NET Web API
▪ ASP.NET MVC 4から登場
▪ 2013年くらいに登場
▪ ASP.NET Core 1.0にも含まれる
▪ ASP.NET MVCが解れば
学習コストは低い
https://github.com/aspnet/Home/wiki
ASP.NET Web API Demo
自分が作ったAPIを公開するには?
Microsoft Azure
API APPS
Easily build and consume
APIs in the cloud
WEB APPS
Web apps that scale with your
business
LOGIC APPS
Automate business process
across SaaS and on-premises
MOBILE APPS
Build Mobile apps for any
device
Azure App Service
Microsoft Azure
 A powerful platform for building and
managing APIs
 Build once and consume any type of
app anywhere, at any time
 A rich ecosystem for distributing and
monetizing APIs
Azure App Service API Apps
• Box
• Chatter
• Dropbox
• Azure HD Insight
• OneDrive
• SharePoint Server
• SharePoint Online
• SQL Server
• Office 365
• Oracle DB
• QuickBooks
• Salesforce
• SugarCRM
• SAP
• Azure Service Bus
• Azure Storage Blob
• Twilio
• Twitter
• IBM DB2
• Informix
• Websphere MQ
• Azure Web Jobs
• Yammer
• Facebook
• HTTP, HTTPS
• File
• FTP
• SFTP
• POP3
• SMTP
• Flat File Encoder
• Validate
• Extract (XPath)
• Transform
• X12
• EDIFACT
• AS2
• TPM
• Rules
Connectors
Protocols BizTalk Services
Built-in API Apps
And more on the way…
これでAPIも作れるはず!
Let’s Try !!
自己紹介
濱本 一慶(はまもと かずのり)
@airish9
Microsoft MVP (Micosoft Azure)
JAZUG Fukuokaのコアメンバー
Fukuoka MSコミュニティの
2次元担当
 東條希 推し
ご清聴ありがとうございました

More Related Content

What's hot

ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
 

What's hot (20)

Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introduction
 
Docker Actionを利用してOpenWhiskをあれこれする
Docker Actionを利用してOpenWhiskをあれこれするDocker Actionを利用してOpenWhiskをあれこれする
Docker Actionを利用してOpenWhiskをあれこれする
 
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめテスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
 
aerospike on aws
aerospike on awsaerospike on aws
aerospike on aws
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
Yapc fukuoka crust
Yapc fukuoka crustYapc fukuoka crust
Yapc fukuoka crust
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズData APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
OSC 2010 Tokyo/Fall MSセッション
OSC 2010 Tokyo/Fall MSセッションOSC 2010 Tokyo/Fall MSセッション
OSC 2010 Tokyo/Fall MSセッション
 
AWS Amplify 入門
AWS Amplify 入門AWS Amplify 入門
AWS Amplify 入門
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
もっと気軽に始めるAnsible
もっと気軽に始めるAnsibleもっと気軽に始めるAnsible
もっと気軽に始めるAnsible
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&A
 
Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3
 
関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみる関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみる
 
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
AWS認定クラウドプラクティショナー 書くときに意識してたこととかAWS認定クラウドプラクティショナー 書くときに意識してたこととか
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
 

Similar to Asp.net web apiのすゝめ

オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
 
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou [Osaka]AMIMOTO(HHVM) hands-on #cmsdou
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
Hiromichi Koga
 
Lesson01
Lesson01Lesson01
Lesson01
MRI
 
150629 02
150629 02150629 02
150629 02
openrtm
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
 
Creating Mashup service in Yamaguchi
Creating Mashup service in YamaguchiCreating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
Ohishi Mikage
 

Similar to Asp.net web apiのすゝめ (20)

オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou [Osaka]AMIMOTO(HHVM) hands-on #cmsdou
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)
 
Streaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to FlaskStreaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to Flask
 
Lesson01
Lesson01Lesson01
Lesson01
 
150629 02
150629 02150629 02
150629 02
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大
 
2015 summercamp 04
2015 summercamp 042015 summercamp 04
2015 summercamp 04
 
20061007.saas
20061007.saas20061007.saas
20061007.saas
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
 
Creating Mashup service in Yamaguchi
Creating Mashup service in YamaguchiCreating Mashup service in Yamaguchi
Creating Mashup service in Yamaguchi
 
20180616 to takepartflow
20180616 to takepartflow20180616 to takepartflow
20180616 to takepartflow
 
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
 

More from Kazunori Hamamoto

ふくあずLt(最近のクラウド業界)
ふくあずLt(最近のクラウド業界)ふくあずLt(最近のクラウド業界)
ふくあずLt(最近のクラウド業界)
Kazunori Hamamoto
 
Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩
Kazunori Hamamoto
 

More from Kazunori Hamamoto (19)

Durable function storage provider
Durable function storage providerDurable function storage provider
Durable function storage provider
 
Azureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみるAzureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみる
 
PaaSを使い倒すためにapp serviceのおさらいしよう
PaaSを使い倒すためにapp serviceのおさらいしようPaaSを使い倒すためにapp serviceのおさらいしよう
PaaSを使い倒すためにapp serviceのおさらいしよう
 
Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話Asp.netとbluemixで遊んでみたお話
Asp.netとbluemixで遊んでみたお話
 
今からでも遅くないC#開発
今からでも遅くないC#開発今からでも遅くないC#開発
今からでも遅くないC#開発
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
 
Visual studio communityの紹介
Visual studio communityの紹介Visual studio communityの紹介
Visual studio communityの紹介
 
WebsitesプチDeepDive
WebsitesプチDeepDiveWebsitesプチDeepDive
WebsitesプチDeepDive
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
Azure周りの振り返り
Azure周りの振り返りAzure周りの振り返り
Azure周りの振り返り
 
C#6.0の新機能紹介
C#6.0の新機能紹介C#6.0の新機能紹介
C#6.0の新機能紹介
 
ふくあずLt(最近のクラウド業界)
ふくあずLt(最近のクラウド業界)ふくあずLt(最近のクラウド業界)
ふくあずLt(最近のクラウド業界)
 
Decode報告(提供版)
Decode報告(提供版)Decode報告(提供版)
Decode報告(提供版)
 
Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩
 
フェリーのすゝめ
フェリーのすゝめフェリーのすゝめ
フェリーのすゝめ
 
ふくあず 秋祭りLT
ふくあず 秋祭りLTふくあず 秋祭りLT
ふくあず 秋祭りLT
 
モバイルサービスでお手軽Push通知
モバイルサービスでお手軽Push通知モバイルサービスでお手軽Push通知
モバイルサービスでお手軽Push通知
 
ゼロから始めるBlob
ゼロから始めるBlobゼロから始めるBlob
ゼロから始めるBlob
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Asp.net web apiのすゝめ