SlideShare uma empresa Scribd logo
1 de 51
まずはAPI を作ろう
でも、使われるAPI を
2017/07/05
CData Software Japan
API エコノミー友の会v2:セッション1
See the World as a Database
Speaker
疋田 圭介
• CData Software Japan 合同会社 代表社員
• Japan Web API Community の事務局 https://jwacom.connpass.com/
経歴
• 業務データ活用一筋10年+
• 金融機関10年(内、インドネシア5年)
• 開発コンポーネント企業の海外オペレーション統括3年
• CData Software の日本オペレーション立ち上げ
@cdatajapan (占拠中)
@keisuke.hikita.5
See the World as a Database
• 20年以上にわたりデータ関連
コンポーネントを提供
• 80+ 対応データソース
• 「See the World as a Database」を
ミッションにクラウドデータ
への接続方法を標準化
About
• CData Software, Inc.
• Started: 1994 (/n software)
• Location: Chapel Hill, NC
• a spin-off of /n software
• CData Japan: 2016/6
(JV with Infoteria)
See the World as a Database
: RDB(SQL) ⇔Web API 変換のエキスパート
Data Drivers
Web API を標準SQL
で利用可能に
JDBC/ODBC/ADO etc.
API Server
RDB/NoSQL/file から
超高速でREST API
を自動生成
See the World as a Database
業界最多級のデータソース
See the World as a Database
BI、帳票、ETL ツールにデータ連携機能を補完
Visual Studio, Cognos BI,
Crystal Reports,
ActiveReports, FileMaker Pro,
Power BI, Access, Excel,
Word, MicroStrategy,
QlikView, QlikSense, SAP
Business Object, Forguncy,
StiLL, ColdFusion, Eclipse,
NetBeans, IntelliJ, JBoss, Jetty,
WebLogic, Yellofin BI,
ASTERIA WARP,
MagicSoftware, PolarisGate,
SVF, Dr.Sum … and more
See the World as a Database
OEM Partners—by Global #1 players, by Japan’s #1 players
See the World as a Database
今日は「使われるAPI を作る」話を
•「API を使うプロフェッショナル」だからお話できる
•まず、作りましょう
•ただし、正しくつくりましょう(「これさえ押さえよう」というポイント)
Why need your APIs?
See the World as a Database
増加するPublic API & さらに多いPrivate API
Private APIs が遥かに多い
• モバイルバックエンド
• クラウド⇔オンプレ間
• マイクロサービス
• パートナーAPI
• 特定顧客へのAPI など
Public APIs
• Saas API
• Web Service API
• Paas/Iaas API
• 既に2万を超えるAPI が
存在し、急速に増加中
引用元 : https://www.programmableweb.com/api-research
See the World as a Database
ユーザー目線①ウェブサービスの限界
•ウェブサービスのユーザーは目でデータを取得して、次の処理を指示
•結局はコピペであって、オートメーションではない
情報取得
処理
コピペ
See the World as a Database
ユーザー目線②デバイス多様化
•ブラウザ+iOS+Android 向けに異なるバックエンドを開発?
•統一されたAPI を作って開発および管理コストを下げるべき
See the World as a Database
ユーザー目線③UI を決めるのは誰?
•サービスへの顧客アクセスにはUI が必要
•ブラウザを好むユーザーもいれば、モバイルアプリを好むユーザーも
いるし、チャットしか使わない人も⇒複数のUI に自社対応は苦しい
同じタスク
異なるUI
See the World as a Database
ユーザー目線④他のサービスへの統合
•機能ごとに他のサービスやアプリを使うことは負担
•LINEなどよく利用されている他サービスからでも自社サービスを使えれば便利
See the World as a Database
ユーザー目線⑤サービス間の比較
•たくさんあるものから最適なものを選ぶには比較が必要
•時間やコストをかけずに比較
See the World as a Database
パートナー目線①継続性・安定性
•APIとして提供を始めると可用性・継続性・互換性が向上
•アドホック対応でこれらを満たせない
「24/365?」 「バージョンは?」「デバイスは?」
See the World as a Database
パートナー目線②エコシステムへの参入が容易
•参入が簡単な例:
「やってみようかな」→すぐに公開されたAPI ドキュ
メントチェック→エンドポイント一つを動かしてみ
る
•参入が難しい例:
「やってみようかな」→書類を含むパートナー契約
が必要
See the World as a Database
パートナー目線③セキュリティの確保
•「ID とパスワードを下さい。スクレイピングします」
⇒セキュリティ上推奨されない
•モダンな認証(OAuth)、レートリミット、ログ管理は必須
See the World as a Database
ビジネスの拡大①モノ→コト
•ハードでの差別化ではなく、サービスや体験が差別化要因に
•サービス化が起これば、サービスを拡大させるためにAPI が必要に
See the World as a Database
ビジネスの拡大②データ資産の活用
•自社サービスの利用データを活用
‧検索
‧利用ログ
‧レコメンド
‧GPS
‧アクセス
‧グラフ
•AI (Deep Learning)活用
See the World as a Database
ビジネスの拡大③ オープンイノベーション
•非コア機能の他のサービスからの補完
•サービスインのスピード化
•逆に他者/他社に自社のサービスを使ってもらえればユーザーは
飛躍的に拡大
決済 メール送信 地図 検索 ファイル・
簡易DB
電話
See the World as a Database
「競合がすでにAPI を公開しています」
See the World as a Database
API が生み出す新しい価値は「データ連携」以上
内部API
• 複数サイト、マルチクラウドを繋ぐ
• モバイルのバックエンド統一
• オートメーション
• マイクロサービスアーキテクチャ
• AI (機械学習)の活用
• ビッグデータの活用
外部API
• パートナー 間のAPI 通信
• API 公開による顧客の利便性向上
• API エコノミー構築
• オープンイノベーション
従来の
価値
新しい
価値
今日はAPI を作りましょう。
みなさんも今晩帰ったら作ってください。
See the World as a Database
「仙台弁API」を作ろう
「とてもすごい」(標準語)
「いぎなしすげぇ」(仙台弁)
See the World as a Database
仙台弁API の最低要件
•単語レベル
•標準語を投げると仙台弁が返ってくる
•仙台弁を投げると標準語が返ってくる
•利用者が一覧を取得可能
See the World as a Database
RDBMS API 利用先
REST
API SERVER
「仙台弁API」の構成
入力システム
いぎなし簡単だっちゃ?
「ほかにどんな機能を入れっぺか?」
API 開発のエレメント
See the World as a Database
設計
•主流のRESTful で
•OData (JSON)で、Salesforce とかMachine Learning とかで使いやすく
•OpenAPI 準拠で
See the World as a Database
出力定義
•データの出力形式のバリエーションはほしい
See the World as a Database
ユーザー管理・セキュリティ
•ユーザー認証の仕組み
•IP 制限
•レートリミット
•課金するための仕組み
See the World as a Database
利用支援
•日本語ドキュメント
•Swagger による標準記述も
•管理コンソール
•ログの取得
•通知機能
「Too much だっちゃ!」
公開したらどうなる?
See the World as a Database
さあ、API エコノミーだ!
API できた!
「公開」ポチッ
。。。あれ?
API ユーザーが増えない?
See the World as a Database
API 利用者の悩み
•対応したいAPI が多すぎて、手に負えない
•ドキュメントが難解、API毎に記述されている内容が異なる
•オフショア開発なんだけどドキュメント英語版ないの?
•RDBMS/SQL ほどにAPI を扱えるエンジニアが少ない
•既存ツールがRDB/SQL 対応で、JSON 対応ではない
•API 仕様の変更が多すぎて管理できない
•API の記述方法などの規格化が進んでいない
See the World as a Database
後悔しないために①Lean スタート⇒目的を明確化
•目的や利用例がないとどんなAPI が最適かわからない。
•とはいえ、最初から明確にすることは不可能・コスト高い
•「API ないんですか?」とはじめに言ってくれたユーザーやパー
トナーと利用シナリオを明確化
•作り込む前に動くデモを
•まずはPartner API で一般公開ではなくても
デモAPI Partner API Public API
See the World as a Database
後悔しないために②業界標準への対応
•さまざまな業界標準
‧OData (まだまだ実質の標準)
‧OpenAPI (Swagger)
•なぜ業界標準が重要
‧エンジニアは業界標準に準拠してもらうと楽
‧ETL などのツール、機械学習側でも業界標準を意識
OData
• Microsoftが主導となり推進しているプロトコル
• HTTPメソッド(GET/POST/PUT/DELETE)でデータの参照更新ができ
る仕様
• RESTfulな設計パターンを実装
• ODataデータソース
 Power BI
 Tableau
 Salesforce(Lightning Connect)
:
• ODataエンドポイントを作成
 Visual Studio (ASP.NET Web API)
 Apache Olingo / Odata4j(JavaのOData Framework)
 CData API Server / OData Connector
 DynamicsCRMではWCFのData Servicesフレームワークに基づいて実装
( https://msdn.microsoft.com/ja-jp/library/gg334279(v=crm.7).aspx )
http://www.odata.org/
Open API (Swagger)
http://swagger.io/
• REST APIの記述に関する仕様と、APIをコールするためのコードとド
キュメントを自動生成するツール群
• Apache 2.0 License
• 2015年に推進団体「Open API Initiative」が設立
 The Linux Foundationの協力のもと、Microsoft, Google , IBM , Paypal, 3Scale(Redhat) , Apigee(Google) などに
より結成
https://www.openapis.org/
See the World as a Database
後悔しないために③ツール/パートナー圏の形成
パートナーやツール連携なしにAPI エコノミーは作りづらい
•代表的なパートナーとの1 to 1 連携(連携サービス化)
•代表的なツールETL、BI、開発ツールとの連携
‧ETL
‧BI
‧Point-to-point ツール(Zapier、IFTTT、Micrsoft Flow etc)
•ODBC Driver、JDBC Driver の提供
•SDK の提供
いずくないAPI を作るのは大事。
これから10分でこれらの要件を満たす
「仙台弁API 」を作ります。
デモ
See the World as a Database
手順
•SQL Server にすでに仙台弁-標準語のテーブル
•API Server をダウンロード
•API Server にSQL Server を接続
•sendaibenlist テーブルをリソース設定
•ユーザー認証設定
•レートリミット設定など
•デプロイ
See the World as a Database
出来上がったAPI
•ドキュメント: https://cdatajapiserver.azurewebsites.net/api.rst#dbo_sendaibenlist
•ユーザー認証 User : apiseminar / Auth トークン 7m3B8b8g5J2z7o7T6w9n
API をたたいてみよう!
•GET で一覧取得: https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist/
•GET でID を指定して取得(末尾の()に番号を入れる):
https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist(<Id>)
•GET で標準語を指定して取得:
https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist?$filter=hyoujungo
See the World as a Database
簡単な構成① WebDB (SharePoint やkintone 等)を利用
WEB DB入力ツール
データ入
力
API 利用先
REST
OpenAPI
を自動生
成
API SERVER
オンプレサーバーか
Azure やAWS
SaaS (クラウド)
使い慣れたツールから
データ入力が可能
複雑なDB 構築や
ホスティングが不
要
ポイント&クリックで接
続・API 開発が可能
See the World as a Database
簡単な構成② クラウドストレージを利用
CLOUD STORAGE入力ツール
ファイルを
アップロー
ド
API 利用先
REST
OpenAPI
を自動生
成
API SERVER
オンプレサーバーか
Azure やAWS
SaaS (クラウド)CSV ファイ
ル
使い慣れたツールから
データ作成
複雑なDB 構築や
ホスティングが不
要
ポイント&クリックで接
続・API 開発が可能
See the World as a Database
まとめ
1. API を作ることはビジネスの成長に非常に重要
2. API は簡単に作れると思ってほしい
3. 後悔しないためには、API 開発のエレメントが膨らむ
4. 「API 管理ツール」の利用は一つの解決策
See the World as a Database
告知: CData Day 2017
http://www.cdata.com/jp/events/cdataday17/
See the World as a Database
告知: Enterprise IT Seminar at XLsoft
~外資IT 担当者 & グローバル案件担当向け
https://www.xlsoft.com/jp/products/cdata/seminar.html

Mais conteúdo relacionado

Mais procurados

Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチKazuya Sugimoto
 
Kong meetup tokyo 2018.10.26 ブリスコラ
Kong meetup tokyo 2018.10.26 ブリスコラKong meetup tokyo 2018.10.26 ブリスコラ
Kong meetup tokyo 2018.10.26 ブリスコラbriscola-tokyo
 
1_各Atlassian製品の紹介
1_各Atlassian製品の紹介1_各Atlassian製品の紹介
1_各Atlassian製品の紹介Ricksoft
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介CData Software Japan
 
ODBC/JDBC/ADOでつながる kintoneの世界
ODBC/JDBC/ADOでつながるkintoneの世界ODBC/JDBC/ADOでつながるkintoneの世界
ODBC/JDBC/ADOでつながる kintoneの世界CData Software Japan
 
CodelessDevelop using iPaas
CodelessDevelop using iPaasCodelessDevelop using iPaas
CodelessDevelop using iPaasTomoyuki Obi
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携CData Software Japan
 
20170420 infoteria apiセミナーupload
20170420 infoteria apiセミナーupload20170420 infoteria apiセミナーupload
20170420 infoteria apiセミナーuploadCData Software Japan
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Kazushi Kamegawa
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadogNobuyasu Seki
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループIssei Hiraoka
 
API活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステムAPI活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステムCData Software Japan
 
Salesforce dug meetup #6
Salesforce dug meetup #6Salesforce dug meetup #6
Salesforce dug meetup #6Akira Kuratani
 
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~CData Software Japan
 
ODBC/JDBC/ADOで(も)つながる Saasの世界
ODBC/JDBC/ADOで(も)つながるSaasの世界ODBC/JDBC/ADOで(も)つながるSaasの世界
ODBC/JDBC/ADOで(も)つながる Saasの世界CData Software Japan
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaasTomoyuki Obi
 
KongHQ Summit Japan 2021
KongHQ Summit Japan 2021KongHQ Summit Japan 2021
KongHQ Summit Japan 2021Arshal Ameen
 

Mais procurados (20)

Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
 
Kong meetup tokyo 2018.10.26 ブリスコラ
Kong meetup tokyo 2018.10.26 ブリスコラKong meetup tokyo 2018.10.26 ブリスコラ
Kong meetup tokyo 2018.10.26 ブリスコラ
 
1_各Atlassian製品の紹介
1_各Atlassian製品の紹介1_各Atlassian製品の紹介
1_各Atlassian製品の紹介
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
 
ODBC/JDBC/ADOでつながる kintoneの世界
ODBC/JDBC/ADOでつながるkintoneの世界ODBC/JDBC/ADOでつながるkintoneの世界
ODBC/JDBC/ADOでつながる kintoneの世界
 
CodelessDevelop using iPaas
CodelessDevelop using iPaasCodelessDevelop using iPaas
CodelessDevelop using iPaas
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
 
20170420 infoteria apiセミナーupload
20170420 infoteria apiセミナーupload20170420 infoteria apiセミナーupload
20170420 infoteria apiセミナーupload
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadog
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
 
API活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステムAPI活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステム
 
Salesforce dug meetup #6
Salesforce dug meetup #6Salesforce dug meetup #6
Salesforce dug meetup #6
 
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~
クラウド時代のデータ連携 ~ そして少し SharePoint 連携事例 ~
 
ODBC/JDBC/ADOで(も)つながる Saasの世界
ODBC/JDBC/ADOで(も)つながるSaasの世界ODBC/JDBC/ADOで(も)つながるSaasの世界
ODBC/JDBC/ADOで(も)つながる Saasの世界
 
Api as a product
Api as a productApi as a product
Api as a product
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaas
 
Garoon_PMAPI#1
Garoon_PMAPI#1Garoon_PMAPI#1
Garoon_PMAPI#1
 
KongHQ Summit Japan 2021
KongHQ Summit Japan 2021KongHQ Summit Japan 2021
KongHQ Summit Japan 2021
 

Destaque

Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Yugo Shimizu
 
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~Yugo Shimizu
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?Yugo Shimizu
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
Hello! intermediate language
Hello! intermediate languageHello! intermediate language
Hello! intermediate languageKouji Matsui
 
メタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばメタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばKouji Matsui
 
Let's add Power BI to your IT-Systems or Apps
Let's add Power BI to your IT-Systems or AppsLet's add Power BI to your IT-Systems or Apps
Let's add Power BI to your IT-Systems or AppsYugo Shimizu
 
スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携Hirofumi Ota
 
激闘! Office 365 Groups vs. Teams vs. Skype vs. Yammer
激闘! Office 365 Groups vs. Teams  vs. Skype vs. Yammer激闘! Office 365 Groups vs. Teams  vs. Skype vs. Yammer
激闘! Office 365 Groups vs. Teams vs. Skype vs. YammerHirofumi Ota
 
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成Hirofumi Ota
 
Microsoft Ignite 2017 に行ってきました
Microsoft Ignite 2017 に行ってきましたMicrosoft Ignite 2017 に行ってきました
Microsoft Ignite 2017 に行ってきましたHirofumi Ota
 

Destaque (11)

Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
 
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~
Facebook のデータを Power BI で見てみると…~セルフマーケティングに活用できるかも!?~
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
Hello! intermediate language
Hello! intermediate languageHello! intermediate language
Hello! intermediate language
 
メタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばメタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらば
 
Let's add Power BI to your IT-Systems or Apps
Let's add Power BI to your IT-Systems or AppsLet's add Power BI to your IT-Systems or Apps
Let's add Power BI to your IT-Systems or Apps
 
スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携
 
激闘! Office 365 Groups vs. Teams vs. Skype vs. Yammer
激闘! Office 365 Groups vs. Teams  vs. Skype vs. Yammer激闘! Office 365 Groups vs. Teams  vs. Skype vs. Yammer
激闘! Office 365 Groups vs. Teams vs. Skype vs. Yammer
 
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
 
Microsoft Ignite 2017 に行ってきました
Microsoft Ignite 2017 に行ってきましたMicrosoft Ignite 2017 に行ってきました
Microsoft Ignite 2017 に行ってきました
 

Semelhante a 20170705 apiをつくろう

20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティCData Software Japan
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?CData Software Japan
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)CData Software Japan
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料CData Software Japan
 
LightSwitch で OData
LightSwitch で ODataLightSwitch で OData
LightSwitch で ODataYoshitaka Seo
 
20170111 超高速開発コミュニティ 新春LT
20170111 超高速開発コミュニティ 新春LT 20170111 超高速開発コミュニティ 新春LT
20170111 超高速開発コミュニティ 新春LT Keisuke Hikita
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~CData Software Japan
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由Rakuten Group, Inc.
 

Semelhante a 20170705 apiをつくろう (20)

20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
 
CData Drivers for PCA 概要
CData Drivers for PCA 概要CData Drivers for PCA 概要
CData Drivers for PCA 概要
 
CData General Proposal
CData General ProposalCData General Proposal
CData General Proposal
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
CData Software の紹介
CData Software の紹介CData Software の紹介
CData Software の紹介
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
LightSwitch で OData
LightSwitch で ODataLightSwitch で OData
LightSwitch で OData
 
20170111 超高速開発コミュニティ 新春LT
20170111 超高速開発コミュニティ 新春LT 20170111 超高速開発コミュニティ 新春LT
20170111 超高速開発コミュニティ 新春LT
 
Force.com開発基礎
Force.com開発基礎Force.com開発基礎
Force.com開発基礎
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
 

Mais de CData Software Japan

RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -CData Software Japan
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現CData Software Japan
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現CData Software Japan
 
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~CData Software Japan
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたCData Software Japan
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTCData Software Japan
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜CData Software Japan
 
Tableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotTableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotCData Software Japan
 
Tableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneTableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneCData Software Japan
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化CData Software Japan
 
kintone からER図を作成してみた
kintone からER図を作成してみたkintone からER図を作成してみた
kintone からER図を作成してみたCData Software Japan
 
MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用CData Software Japan
 
JDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドJDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドCData Software Japan
 
kintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようkintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようCData Software Japan
 
SELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsSELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsCData Software Japan
 
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張CData Software Japan
 
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I  love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のりI  love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のりCData Software Japan
 

Mais de CData Software Japan (20)

CData Sync 概要
CData Sync 概要CData Sync 概要
CData Sync 概要
 
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
 
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LT
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
 
Tableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotTableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobot
 
Tableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneTableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintone
 
CData general proposal
CData general proposalCData general proposal
CData general proposal
 
20180319 ccon sync kintone
20180319 ccon sync kintone20180319 ccon sync kintone
20180319 ccon sync kintone
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
 
kintone からER図を作成してみた
kintone からER図を作成してみたkintone からER図を作成してみた
kintone からER図を作成してみた
 
MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用
 
JDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドJDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウド
 
kintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようkintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみよう
 
SELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsSELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo Solutions
 
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
 
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I  love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のりI  love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
I love SQL の僕がkintone のデータにSQLアクセスできる 製品をリリースするまでの道のり
 

20170705 apiをつくろう

  • 1. まずはAPI を作ろう でも、使われるAPI を 2017/07/05 CData Software Japan API エコノミー友の会v2:セッション1
  • 2. See the World as a Database Speaker 疋田 圭介 • CData Software Japan 合同会社 代表社員 • Japan Web API Community の事務局 https://jwacom.connpass.com/ 経歴 • 業務データ活用一筋10年+ • 金融機関10年(内、インドネシア5年) • 開発コンポーネント企業の海外オペレーション統括3年 • CData Software の日本オペレーション立ち上げ @cdatajapan (占拠中) @keisuke.hikita.5
  • 3. See the World as a Database • 20年以上にわたりデータ関連 コンポーネントを提供 • 80+ 対応データソース • 「See the World as a Database」を ミッションにクラウドデータ への接続方法を標準化 About • CData Software, Inc. • Started: 1994 (/n software) • Location: Chapel Hill, NC • a spin-off of /n software • CData Japan: 2016/6 (JV with Infoteria)
  • 4. See the World as a Database : RDB(SQL) ⇔Web API 変換のエキスパート Data Drivers Web API を標準SQL で利用可能に JDBC/ODBC/ADO etc. API Server RDB/NoSQL/file から 超高速でREST API を自動生成
  • 5. See the World as a Database 業界最多級のデータソース
  • 6. See the World as a Database BI、帳票、ETL ツールにデータ連携機能を補完 Visual Studio, Cognos BI, Crystal Reports, ActiveReports, FileMaker Pro, Power BI, Access, Excel, Word, MicroStrategy, QlikView, QlikSense, SAP Business Object, Forguncy, StiLL, ColdFusion, Eclipse, NetBeans, IntelliJ, JBoss, Jetty, WebLogic, Yellofin BI, ASTERIA WARP, MagicSoftware, PolarisGate, SVF, Dr.Sum … and more
  • 7. See the World as a Database OEM Partners—by Global #1 players, by Japan’s #1 players
  • 8. See the World as a Database 今日は「使われるAPI を作る」話を •「API を使うプロフェッショナル」だからお話できる •まず、作りましょう •ただし、正しくつくりましょう(「これさえ押さえよう」というポイント)
  • 10. See the World as a Database 増加するPublic API & さらに多いPrivate API Private APIs が遥かに多い • モバイルバックエンド • クラウド⇔オンプレ間 • マイクロサービス • パートナーAPI • 特定顧客へのAPI など Public APIs • Saas API • Web Service API • Paas/Iaas API • 既に2万を超えるAPI が 存在し、急速に増加中 引用元 : https://www.programmableweb.com/api-research
  • 11. See the World as a Database ユーザー目線①ウェブサービスの限界 •ウェブサービスのユーザーは目でデータを取得して、次の処理を指示 •結局はコピペであって、オートメーションではない 情報取得 処理 コピペ
  • 12. See the World as a Database ユーザー目線②デバイス多様化 •ブラウザ+iOS+Android 向けに異なるバックエンドを開発? •統一されたAPI を作って開発および管理コストを下げるべき
  • 13. See the World as a Database ユーザー目線③UI を決めるのは誰? •サービスへの顧客アクセスにはUI が必要 •ブラウザを好むユーザーもいれば、モバイルアプリを好むユーザーも いるし、チャットしか使わない人も⇒複数のUI に自社対応は苦しい 同じタスク 異なるUI
  • 14. See the World as a Database ユーザー目線④他のサービスへの統合 •機能ごとに他のサービスやアプリを使うことは負担 •LINEなどよく利用されている他サービスからでも自社サービスを使えれば便利
  • 15. See the World as a Database ユーザー目線⑤サービス間の比較 •たくさんあるものから最適なものを選ぶには比較が必要 •時間やコストをかけずに比較
  • 16. See the World as a Database パートナー目線①継続性・安定性 •APIとして提供を始めると可用性・継続性・互換性が向上 •アドホック対応でこれらを満たせない 「24/365?」 「バージョンは?」「デバイスは?」
  • 17. See the World as a Database パートナー目線②エコシステムへの参入が容易 •参入が簡単な例: 「やってみようかな」→すぐに公開されたAPI ドキュ メントチェック→エンドポイント一つを動かしてみ る •参入が難しい例: 「やってみようかな」→書類を含むパートナー契約 が必要
  • 18. See the World as a Database パートナー目線③セキュリティの確保 •「ID とパスワードを下さい。スクレイピングします」 ⇒セキュリティ上推奨されない •モダンな認証(OAuth)、レートリミット、ログ管理は必須
  • 19. See the World as a Database ビジネスの拡大①モノ→コト •ハードでの差別化ではなく、サービスや体験が差別化要因に •サービス化が起これば、サービスを拡大させるためにAPI が必要に
  • 20. See the World as a Database ビジネスの拡大②データ資産の活用 •自社サービスの利用データを活用 ‧検索 ‧利用ログ ‧レコメンド ‧GPS ‧アクセス ‧グラフ •AI (Deep Learning)活用
  • 21. See the World as a Database ビジネスの拡大③ オープンイノベーション •非コア機能の他のサービスからの補完 •サービスインのスピード化 •逆に他者/他社に自社のサービスを使ってもらえればユーザーは 飛躍的に拡大 決済 メール送信 地図 検索 ファイル・ 簡易DB 電話
  • 22. See the World as a Database 「競合がすでにAPI を公開しています」
  • 23. See the World as a Database API が生み出す新しい価値は「データ連携」以上 内部API • 複数サイト、マルチクラウドを繋ぐ • モバイルのバックエンド統一 • オートメーション • マイクロサービスアーキテクチャ • AI (機械学習)の活用 • ビッグデータの活用 外部API • パートナー 間のAPI 通信 • API 公開による顧客の利便性向上 • API エコノミー構築 • オープンイノベーション 従来の 価値 新しい 価値
  • 25. See the World as a Database 「仙台弁API」を作ろう 「とてもすごい」(標準語) 「いぎなしすげぇ」(仙台弁)
  • 26. See the World as a Database 仙台弁API の最低要件 •単語レベル •標準語を投げると仙台弁が返ってくる •仙台弁を投げると標準語が返ってくる •利用者が一覧を取得可能
  • 27. See the World as a Database RDBMS API 利用先 REST API SERVER 「仙台弁API」の構成 入力システム
  • 30. See the World as a Database 設計 •主流のRESTful で •OData (JSON)で、Salesforce とかMachine Learning とかで使いやすく •OpenAPI 準拠で
  • 31. See the World as a Database 出力定義 •データの出力形式のバリエーションはほしい
  • 32. See the World as a Database ユーザー管理・セキュリティ •ユーザー認証の仕組み •IP 制限 •レートリミット •課金するための仕組み
  • 33. See the World as a Database 利用支援 •日本語ドキュメント •Swagger による標準記述も •管理コンソール •ログの取得 •通知機能
  • 36. See the World as a Database さあ、API エコノミーだ! API できた! 「公開」ポチッ 。。。あれ? API ユーザーが増えない?
  • 37. See the World as a Database API 利用者の悩み •対応したいAPI が多すぎて、手に負えない •ドキュメントが難解、API毎に記述されている内容が異なる •オフショア開発なんだけどドキュメント英語版ないの? •RDBMS/SQL ほどにAPI を扱えるエンジニアが少ない •既存ツールがRDB/SQL 対応で、JSON 対応ではない •API 仕様の変更が多すぎて管理できない •API の記述方法などの規格化が進んでいない
  • 38. See the World as a Database 後悔しないために①Lean スタート⇒目的を明確化 •目的や利用例がないとどんなAPI が最適かわからない。 •とはいえ、最初から明確にすることは不可能・コスト高い •「API ないんですか?」とはじめに言ってくれたユーザーやパー トナーと利用シナリオを明確化 •作り込む前に動くデモを •まずはPartner API で一般公開ではなくても デモAPI Partner API Public API
  • 39. See the World as a Database 後悔しないために②業界標準への対応 •さまざまな業界標準 ‧OData (まだまだ実質の標準) ‧OpenAPI (Swagger) •なぜ業界標準が重要 ‧エンジニアは業界標準に準拠してもらうと楽 ‧ETL などのツール、機械学習側でも業界標準を意識
  • 40. OData • Microsoftが主導となり推進しているプロトコル • HTTPメソッド(GET/POST/PUT/DELETE)でデータの参照更新ができ る仕様 • RESTfulな設計パターンを実装 • ODataデータソース  Power BI  Tableau  Salesforce(Lightning Connect) : • ODataエンドポイントを作成  Visual Studio (ASP.NET Web API)  Apache Olingo / Odata4j(JavaのOData Framework)  CData API Server / OData Connector  DynamicsCRMではWCFのData Servicesフレームワークに基づいて実装 ( https://msdn.microsoft.com/ja-jp/library/gg334279(v=crm.7).aspx ) http://www.odata.org/
  • 41. Open API (Swagger) http://swagger.io/ • REST APIの記述に関する仕様と、APIをコールするためのコードとド キュメントを自動生成するツール群 • Apache 2.0 License • 2015年に推進団体「Open API Initiative」が設立  The Linux Foundationの協力のもと、Microsoft, Google , IBM , Paypal, 3Scale(Redhat) , Apigee(Google) などに より結成 https://www.openapis.org/
  • 42. See the World as a Database 後悔しないために③ツール/パートナー圏の形成 パートナーやツール連携なしにAPI エコノミーは作りづらい •代表的なパートナーとの1 to 1 連携(連携サービス化) •代表的なツールETL、BI、開発ツールとの連携 ‧ETL ‧BI ‧Point-to-point ツール(Zapier、IFTTT、Micrsoft Flow etc) •ODBC Driver、JDBC Driver の提供 •SDK の提供
  • 45. See the World as a Database 手順 •SQL Server にすでに仙台弁-標準語のテーブル •API Server をダウンロード •API Server にSQL Server を接続 •sendaibenlist テーブルをリソース設定 •ユーザー認証設定 •レートリミット設定など •デプロイ
  • 46. See the World as a Database 出来上がったAPI •ドキュメント: https://cdatajapiserver.azurewebsites.net/api.rst#dbo_sendaibenlist •ユーザー認証 User : apiseminar / Auth トークン 7m3B8b8g5J2z7o7T6w9n API をたたいてみよう! •GET で一覧取得: https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist/ •GET でID を指定して取得(末尾の()に番号を入れる): https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist(<Id>) •GET で標準語を指定して取得: https://cdatajapiserver.azurewebsites.net/api.rsc/dbo_sendaibenlist?$filter=hyoujungo
  • 47. See the World as a Database 簡単な構成① WebDB (SharePoint やkintone 等)を利用 WEB DB入力ツール データ入 力 API 利用先 REST OpenAPI を自動生 成 API SERVER オンプレサーバーか Azure やAWS SaaS (クラウド) 使い慣れたツールから データ入力が可能 複雑なDB 構築や ホスティングが不 要 ポイント&クリックで接 続・API 開発が可能
  • 48. See the World as a Database 簡単な構成② クラウドストレージを利用 CLOUD STORAGE入力ツール ファイルを アップロー ド API 利用先 REST OpenAPI を自動生 成 API SERVER オンプレサーバーか Azure やAWS SaaS (クラウド)CSV ファイ ル 使い慣れたツールから データ作成 複雑なDB 構築や ホスティングが不 要 ポイント&クリックで接 続・API 開発が可能
  • 49. See the World as a Database まとめ 1. API を作ることはビジネスの成長に非常に重要 2. API は簡単に作れると思ってほしい 3. 後悔しないためには、API 開発のエレメントが膨らむ 4. 「API 管理ツール」の利用は一つの解決策
  • 50. See the World as a Database 告知: CData Day 2017 http://www.cdata.com/jp/events/cdataday17/
  • 51. See the World as a Database 告知: Enterprise IT Seminar at XLsoft ~外資IT 担当者 & グローバル案件担当向け https://www.xlsoft.com/jp/products/cdata/seminar.html