SlideShare a Scribd company logo
Web APIの
これまでとこれから
2014-07-11 API Meetup #1
株式会社リコー 山本陽平
自己紹介
• 山本陽平(@yohei)
• 株式会社リコー ネットワークアプライアンス
事業部VC設計センターPF設計室デバイスPFG
• 2000年入社、2008年からリコーUCSの開発
• 世の中的には「RESTの人」
2
REST(Web)と私
1994-12 インターネットを知る
1995-01 初めてのWeb(Mosaic)
1998-04 NAIST入学
1999-03 第一回XML開発者の日
2000-04 就職
2000-11 SOAPを知る
2004-10 RESTをちゃんと調べる
2005-04 REST入門を書いた
2005-11第八回XML開発者の日
2006-04 WEB+DB PRESS Vol.32 特集3
2007-04 『RESTレシピ』連載開始
2007-12 『RESTful Web サービス』
2010-05 『Webを支える技術』
2014-07 API Meetup #1 ←イマココ
Q: 初めて使ったブラウザは?
Mosaic
Netscape Navigator
IE4未満
IE4-5*
IE6
IE7以降
Firefox(Firebird, Phoenix)
Safari
Chrome
Opera
ガラケーブラウザ
スマホブラウザ
その他
本日お話したいこと
(今更RESTの話をしても仕方ないので)
8
今日私達がWeb APIと呼んでい
るものの歴史を振り返り、そ
もそも何がしたかったのか、
それがどう実現されたのか、
これからどうなっていくのか、
についてお話しようと思います。
9
(RESTの最新状況は@tkawaさんに)
10
REST
UNIVERSITY OF CALIFORNIA, IRVINE
!
Architectural Styles and
the Design of Network-based Software Architectures
!
DISSERTATION
!
submitted in partial satisfaction of the requirements for the degree of
!
DOCTOR OF PHILOSOPHY
!
in Information and Computer Science
!
by
!
Roy Thomas Fielding
!
2000
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
2000 REST (RoyFドク論)
1996 RFC 1945 HTTP/1.0
1997 RFC 2068 HTTP/1.1
1999 RFC 2616 HTTP/1.1
1999 RFC 2518 WebDAV
2000 REST (RoyFドク論)
1998 XML-RPC
1999 SOAP 0.9, 1.0
2000 REST (RoyFドク論)
2000 SOAP 1.1, WSDL 1.0
2001 WSDL 1.1
1998 XML 1.0
1999 XHTML 1.0
1999 RSS 0.9, RSS 0.91
2000 REST (RoyFドク論)
2000 RSS 1.0
2002 RSS 2.0
2005 OpenSearch 1.0
2000年ごろのWeb
• プログラマブルなWebに関するいくつかの方向
性があった
• HTTPを拡張する(Writable Web)→WebDAV
• RPCを実装する→XML-RPC→SOAP
• プログラマブルなドキュメントを配布する→RSS
17
我々は何を目指していたのか
XML, Java, そしてWebの将来(1997)
• 二つ以上の異種データベースの間を仲介するWebクライアントを必
要とするアプリケーション
• 処理の負荷の大部分を、WebサーバからWebクライアントに分散さ
せたいアプリケーション
• 同一のデータを、ユーザごとに別のビューで、Webクライアントが
表示することが必要なアプリケーション
• 情報をユーザが探すとき、インテリジェントなWebエージェントが
個々のユーザのニーズに合わせて処理をしてくれるアプリケーショ
ン
http://www.asahi-net.or.jp/~eb2m-mrt/Xmlapps.html
その後どうなったか
• データ連携→XMLを使う→JSONになった
• プロトコル→Webをどう使う?→いろいろな方
向性(HTTPをそのままと考えている人は少な
かった)→大戦争に
• クライアント→Javaアプレット→Flash?→ブラ
ウザ+JS/スマホになった
20
第八回XML開発者の日 山田さんの資料より
21
• Ajaxの発見→Google Maps, Livedoor
Reader→Single Page Application
• コードがクライアントサイドに移った
• サーバはデータを提供する
• ポータブルなクライアントがそれを処理す
る
• ブラウザが表示装置ではなくなった
22
データとコードの分離が進んだことで、ク
ライアントのバリエーションが増えた。
または
クライアントのバリエーションが増えたこ
とで、データとコードの分離が進んだ。
↓
全てがAPIに
閑話休題
黒歴史
• AtomPub→流行らなかった。CMS的な汎用
APIはあまり必要とされていなかった
• Description Language→出ては消え、出ては
消えの繰り返し。コード生成の儚い夢
25
今後の展望
APIの本質的な価値
• プログラマブル(プログラム可能)になる
• プラットフォームがスケールする
• コストが下がる
• 今までコスト的にできなかったことができる
ようになる
27
全てがAPIに
コンサンプションエコノミクス
所有から利用へ。初期投資はゼロ。
使った分だけ支払う→API重要
http://special.nikkeibp.co.jp/ts/article/ac0b/138322/
AWS
MBaaS
braintree
twilio
https://twitter.com/RonP/status/486647427227602944
• 本質でないところは他人にまかせる、が当然に
• そのプラットフォームは必ずAPIを持つ
• APIをRESTfulにするかどうかは要件しだい
• 要件に合ったアーキテクチャを
• 例:WebRTCはRESTじゃない
• APIの利用と開発は基本スキルに
35
宣伝
リコーUCSというビデオ会議シス
テムで培った映像コミュニケーショ
ンのためのプラットフォームの公
開を計画しています。遅延の少な
い快適な映像コミュニケーション
に興味のある方は@RicohVCPを
フォローしてください
☓@RichoVCP
☓@RicohVPC
⃝@RicohVCP
おわり

More Related Content

What's hot (20)

OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
 
vSphere環境での自動化とテスト
vSphere環境での自動化とテストvSphere環境での自動化とテスト
vSphere環境での自動化とテスト
富士通クラウドテクノロジーズ株式会社
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
Yusuke Suzuki
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
SEGADevTech
 
MagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシMagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシ
Kohei Tai
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
Yusuke Suzuki
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
SEGADevTech
 
MagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシMagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシ
Kohei Tai
 

Viewers also liked (15)

Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
Masaru Kurahayashi
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
Masato Kawamura
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
Nat Sakimura
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
Naohiro Fujie
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
Masaru Kurahayashi
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
Masato Kawamura
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
Nat Sakimura
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
Naohiro Fujie
 

Similar to WebAPIのこれまでとこれから (20)

HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
Shumpei Shiraishi
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
Narami Kiyokura
 
WebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみるWebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみる
Junichi Okamura
 
Web2.0 講演スライド 2008/2/26
Web2.0 講演スライド 2008/2/26Web2.0 講演スライド 2008/2/26
Web2.0 講演スライド 2008/2/26
kishida4slideshare
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
 
【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント
【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント
【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
 
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
kulibrarians
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
 
HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向HTML5とWeb開発に関する最新動向
HTML5とWeb開発に関する最新動向
Shumpei Shiraishi
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
Narami Kiyokura
 
WebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみるWebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみる
Junichi Okamura
 
Web2.0 講演スライド 2008/2/26
Web2.0 講演スライド 2008/2/26Web2.0 講演スライド 2008/2/26
Web2.0 講演スライド 2008/2/26
kishida4slideshare
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
 
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
kulibrarians
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
 

WebAPIのこれまでとこれから