SlideShare ist ein Scribd-Unternehmen logo
1 von 42
APIエコノミーに欠かせない
「API を作る」ことの重要性
2017/04/20
CData Software Japan
See the World as a Database
Agenda
• About CData Software
• Why need your APIs?
• API 開発のエレメント
• 使いやすいAPI
技術屋なのでビジネス的に「このデータ
を公開すれば儲かります」という話では
ありません。あしからず。
See the World as a Database
Speaker
桑島 義行
• CData Software Japan 合同会社 技術担当ディレクター
• Japan Web API Community の事務局 https://jwacom.connpass.com/
専門
• データベーステクノロジー
• ビジネスアナリティクス
• データマネジメント
• APIマネジメント
Twitter : @kuwazzy
Facebook : Yoshiyuki.Kuwajima
SlideShare : http://www.slideshare.net/cdatajapan
Qiita : http://qiita.com/kuwazzy
Codezine : https://codezine.jp/author/1671
See the World as a Database
• 20年以上にわたりデータ関連
コンポーネントを提供
• 80+ 対応データソース
• 「See the World as a Database」を
ミッションにクラウドデータ
への接続方法を標準化
About
• CData Software, Inc.
• Started: 1994 (/nsoftware)
• 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
を自動生成
Why need your APIs?
See the World as a Database
API とは?
•Application Programming Interface
•ソフトウェア同士が互いにやり取りするインターフェース
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
API 公開の必要性を考える
•ユーザー目線
•パートナー目線
•ビジネス拡大
•(競合がすでにAPI を公開しているから)
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
‧アクセス
‧グラフ
See the World as a Database
ビジネスの拡大③ オープンイノベーション
•非コア機能の他のサービスからの補完
•サービスインのスピード化
•逆に他者/他社に自社のサービスを使ってもらえればユーザーは
飛躍的に拡大
決済 メール送信 地図 検索 ファイル・
簡易DB
電話
See the World as a Database
「競合がすでにAPI を公開しています」
See the World as a Database
まとめ:API が必要な理由
•ユーザーの満足度を上げる
•管理コストを下げる
•パートナーの参入を容易にする
•セキュリティを確保する
•ビジネス転換の道具
•競争優位
•ユーザー増加
•コスト最適化
•パートナー経済圏確立
•リスク管理
•収益増加
どこに自社として重点を置くかの判断が先にあるべき
See the World as a Database
後半の結論を先に…
•API の開発は多くの要素があり、スクラッチでの開発には相当の
知識とリソースが必要
•API を使ってもらう為には、使われやすいAPI の提供が必要
•上記2点を解決するには、API 管理ツールの利用が効果的
API 開発のエレメント
See the World as a Database
API 開発のエレメントは多い & 標準の変化が速い
•バックエンドのデータソース(RDB/NoSQL/Saas) とAPI公開サーバーの接続
•エンドポイントの設計
•利用できるHTTP メソッドやスクリプトの定義
•メタデータの扱い
•データ形式の決定(通常複数)
•デプロイ
•ユーザー認証
•IP 制御
•リミット制御
•課金
•通知設定
•ログ提供
•API ドキュメント作成・管理
•管理コンソール
……. And more
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
設計
•公開するエンドポイントを設計
•REST ? それとも?
•「だれが、何のために使うのか?」に従う
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
接続・
メソッド定義
•元となるデータソース( RDB/NoSQL/Saas )との接続
•スキーマ定義
•HTTP メソッド定義
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
出力定義 設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
ユーザー
管理
•ユーザー認証
•IP 制限
•リミット
•課金
•SSO
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
利用支援
•ドキュメント
•Swagger による標準記述
•管理コンソール
•ログ
•通知
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
See the World as a Database
デモ
CData API Server で基本的なAPI 開発エレメントを見てみましょう
設計
スキーマ・メ
ソッド定義
出力定義
ユーザー管
理
利用支援
バージョン
管理
標準対応
使いやすいAPI
See the World as a Database
さあ、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
どうすれば使ってもらえる?--後悔しないために
•明確な目的と利用例
•業界標準への準拠
•ツールやパートナー
⇒API 管理ツールを使う理由を考えてみるきっかけに
See the World as a Database
後悔しないために①明確な目的と利用例
•とはいえ、最初から明確にすることは不可能・コスト高い
•「API ないんですか?」とはじめに言ってくれたユーザーやパー
トナーと利用シナリオを明確化
•作り込む前に動くデモを
•まずはPartner API で一般公開ではなくても
デモAPI Partner API Public API
⇒API Gateway、API 管理ツールでAPI を高速開発。
See the World as a Database
後悔しないために②業界標準への対応
•さまざまな業界標準
‧OData (まだまだ実質の標準)
‧OpenAPI (Swagger)
•なぜ業界標準が重要
‧エンジニアは業界標準に準拠してもらうと楽
‧ETL などのツール側でも業界標準を意識
⇒API 管理ツールでAPI は業界標準準拠。
新しい標準への対応もツールが実施。
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(ASTERIA WARP ほか)
‧BI
‧Point-to-point ツール(Zapier、IFTTT、Micrsoft Flow etc)
•ODBC Driver、JDBC Driver の提供
•SDK の提供
⇒API 管理ツール選定のポイントにも
See the World as a Database
Conclusion
•モバイル、ウェブサービス時代にAPI の公開は必須
•API の開発は複雑
•利用促進には、業界標準への準拠やAPI 内包ツール、パートナー
圏の拡大も重要
•API 管理ツールの利用は上記の解決策となり得る
See the World as a Database
Contact
CData Software Japan 合同会社
Email: sales@cdata.co.jp | Tel: 050-5578-7390

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話
Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話
Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話
 
Api as a product
Api as a productApi as a product
Api as a product
 
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
 
Garoon_PMAPI#1
Garoon_PMAPI#1Garoon_PMAPI#1
Garoon_PMAPI#1
 
Only Logic Apps
Only Logic AppsOnly Logic Apps
Only Logic Apps
 
Algolia introduction in Kanazawa - July 2019
Algolia introduction in Kanazawa - July 2019Algolia introduction in Kanazawa - July 2019
Algolia introduction in Kanazawa - July 2019
 
2017 roadmap
2017 roadmap2017 roadmap
2017 roadmap
 
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
kintoneを多様なツールでつなぐには?
kintoneを多様なツールでつなぐには?kintoneを多様なツールでつなぐには?
kintoneを多様なツールでつなぐには?
 
Getting Started Algolia with InstantSearch.js
Getting Started Algolia with InstantSearch.jsGetting Started Algolia with InstantSearch.js
Getting Started Algolia with InstantSearch.js
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
 
Power bi for office365 技術ひろばnet
Power bi for office365  技術ひろばnetPower bi for office365  技術ひろばnet
Power bi for office365 技術ひろばnet
 
マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
 
これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方これからのビジネスソリューションの在り方
これからのビジネスソリューションの在り方
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
 

Ähnlich wie 20170420 infoteria apiセミナーupload

Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
 

Ähnlich wie 20170420 infoteria apiセミナーupload (20)

Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osaka
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
CData Drivers for PCA 概要
CData Drivers for PCA 概要CData Drivers for PCA 概要
CData Drivers for PCA 概要
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-
 
日本市場における最新のDrupalビジネス動向 20160901v4
日本市場における最新のDrupalビジネス動向 20160901v4日本市場における最新のDrupalビジネス動向 20160901v4
日本市場における最新のDrupalビジネス動向 20160901v4
 
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
 
Fit to Standard, Move onto the New World
Fit to Standard, Move onto the New WorldFit to Standard, Move onto the New World
Fit to Standard, Move onto the New World
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
 
なぜ、CData Softwareが Power BI 専用 コネクターを 開発したのか?
なぜ、CData Softwareが Power BI 専用 コネクターを 開発したのか?なぜ、CData Softwareが Power BI 専用 コネクターを 開発したのか?
なぜ、CData Softwareが Power BI 専用 コネクターを 開発したのか?
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
 
Cloud Native and Agile Approach
Cloud Native and Agile ApproachCloud Native and Agile Approach
Cloud Native and Agile Approach
 
API活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステムAPI活用で更に広がるDynamicsエコシステム
API活用で更に広がるDynamicsエコシステム
 
Design Pattern MicroServices Architecture in Japanese
Design Pattern MicroServices Architecture in JapaneseDesign Pattern MicroServices Architecture in Japanese
Design Pattern MicroServices Architecture in Japanese
 

Mehr von CData Software Japan

ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
CData Software Japan
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
CData Software Japan
 

Mehr von CData Software Japan (20)

CData Sync 概要
CData Sync 概要CData Sync 概要
CData Sync 概要
 
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
 
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などクラウドデータ連携機能を拡張
 

20170420 infoteria apiセミナーupload

  • 2. See the World as a Database Agenda • About CData Software • Why need your APIs? • API 開発のエレメント • 使いやすいAPI 技術屋なのでビジネス的に「このデータ を公開すれば儲かります」という話では ありません。あしからず。
  • 3. See the World as a Database Speaker 桑島 義行 • CData Software Japan 合同会社 技術担当ディレクター • Japan Web API Community の事務局 https://jwacom.connpass.com/ 専門 • データベーステクノロジー • ビジネスアナリティクス • データマネジメント • APIマネジメント Twitter : @kuwazzy Facebook : Yoshiyuki.Kuwajima SlideShare : http://www.slideshare.net/cdatajapan Qiita : http://qiita.com/kuwazzy Codezine : https://codezine.jp/author/1671
  • 4. See the World as a Database • 20年以上にわたりデータ関連 コンポーネントを提供 • 80+ 対応データソース • 「See the World as a Database」を ミッションにクラウドデータ への接続方法を標準化 About • CData Software, Inc. • Started: 1994 (/nsoftware) • Location: Chapel Hill, NC • a spin-off of /n software • CData Japan: 2016/6 (JV with Infoteria)
  • 5. 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 を自動生成
  • 7. See the World as a Database API とは? •Application Programming Interface •ソフトウェア同士が互いにやり取りするインターフェース
  • 8. 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
  • 9. See the World as a Database API 公開の必要性を考える •ユーザー目線 •パートナー目線 •ビジネス拡大 •(競合がすでにAPI を公開しているから)
  • 10. See the World as a Database ユーザー目線①ウェブサービスの限界 •ウェブサービスのユーザーは目でデータを取得して、次の処理を指示 •結局はコピペであって、オートメーションではない 情報取得 処理 コピペ
  • 11. See the World as a Database ユーザー目線②デバイス多様化 •ブラウザ+iOS+Android 向けに異なるバックエンドを開発? •統一されたAPI を作って開発および管理コストを下げるべき
  • 12. See the World as a Database ユーザー目線③UI を決めるのは誰? •サービスへの顧客アクセスにはUI が必要 •ブラウザを好むユーザーもいれば、モバイルアプリを好むユーザーも いるし、チャットしか使わない人も⇒複数のUI に自社対応は苦しい 同じタスク 異なるUI
  • 13. See the World as a Database ユーザー目線④他のサービスへの統合 •機能ごとに他のサービスやアプリを使うことは負担 •LINEなどよく利用されている他サービスからでも自社サービスを使えれば便利
  • 14. See the World as a Database ユーザー目線⑤サービス間の比較 •たくさんあるものから最適なものを選ぶには比較が必要 •時間やコストをかけずに比較
  • 15. See the World as a Database パートナー目線①継続性・安定性 •APIとして提供を始めると可用性・継続性・互換性が向上 •アドホック対応でこれらを満たせない 「24/365?」 「バージョンは?」「デバイスは?」
  • 16. See the World as a Database パートナー目線②エコシステムへの参入が容易 •参入が簡単な例: 「やってみようかな」→すぐに公開されたAPI ドキュ メントチェック→エンドポイント一つを動かしてみ る •参入が難しい例: 「やってみようかな」→サービス提供元に連絡→利 用目的チェック→紙のパートナー契約→個別の方法 でのデータ連携確立→研修が必要
  • 17. See the World as a Database パートナー目線③セキュリティの確保 •「ID とパスワードを下さい。スクレイピングします」 ⇒セキュリティ上推奨されない •モダンな認証(OAuth)、レートリミット、ログ管理は必須
  • 18. See the World as a Database ビジネスの拡大①モノ→コト •ハードでの差別化ではなく、サービスや体験が差別化要因に •サービス化が起これば、サービスを拡大させるためにAPI が必要に
  • 19. See the World as a Database ビジネスの拡大②データ資産の活用 •自社サービスの利用データを活用 ‧検索 ‧利用ログ ‧レコメンド ‧GPS ‧アクセス ‧グラフ
  • 20. See the World as a Database ビジネスの拡大③ オープンイノベーション •非コア機能の他のサービスからの補完 •サービスインのスピード化 •逆に他者/他社に自社のサービスを使ってもらえればユーザーは 飛躍的に拡大 決済 メール送信 地図 検索 ファイル・ 簡易DB 電話
  • 21. See the World as a Database 「競合がすでにAPI を公開しています」
  • 22. See the World as a Database まとめ:API が必要な理由 •ユーザーの満足度を上げる •管理コストを下げる •パートナーの参入を容易にする •セキュリティを確保する •ビジネス転換の道具 •競争優位 •ユーザー増加 •コスト最適化 •パートナー経済圏確立 •リスク管理 •収益増加 どこに自社として重点を置くかの判断が先にあるべき
  • 23. See the World as a Database 後半の結論を先に… •API の開発は多くの要素があり、スクラッチでの開発には相当の 知識とリソースが必要 •API を使ってもらう為には、使われやすいAPI の提供が必要 •上記2点を解決するには、API 管理ツールの利用が効果的
  • 25. See the World as a Database API 開発のエレメントは多い & 標準の変化が速い •バックエンドのデータソース(RDB/NoSQL/Saas) とAPI公開サーバーの接続 •エンドポイントの設計 •利用できるHTTP メソッドやスクリプトの定義 •メタデータの扱い •データ形式の決定(通常複数) •デプロイ •ユーザー認証 •IP 制御 •リミット制御 •課金 •通知設定 •ログ提供 •API ドキュメント作成・管理 •管理コンソール ……. And more 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 26. See the World as a Database 設計 •公開するエンドポイントを設計 •REST ? それとも? •「だれが、何のために使うのか?」に従う 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 27. See the World as a Database 接続・ メソッド定義 •元となるデータソース( RDB/NoSQL/Saas )との接続 •スキーマ定義 •HTTP メソッド定義 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 28. See the World as a Database 出力定義 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 29. See the World as a Database ユーザー 管理 •ユーザー認証 •IP 制限 •リミット •課金 •SSO 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 30. See the World as a Database 利用支援 •ドキュメント •Swagger による標準記述 •管理コンソール •ログ •通知 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 31. See the World as a Database デモ CData API Server で基本的なAPI 開発エレメントを見てみましょう 設計 スキーマ・メ ソッド定義 出力定義 ユーザー管 理 利用支援 バージョン 管理 標準対応
  • 33. See the World as a Database さあ、API エコノミーだ! API 作った! 「公開」ポチッ 。。。あれ? あまり、利用が増えない
  • 34. See the World as a Database API 利用者の悩み •対応したいAPI が多すぎて、手に負えない •ドキュメントが難解、API毎に記述されている内容が異なる •オフショア開発なんだけどドキュメント英語版ないの? •RDBMS/SQL ほどにAPI を扱えるエンジニアが少ない •既存ツールがRDB/SQL 対応で、JSON 対応ではない •API 仕様の変更が多すぎて管理できない •API の記述方法などの規格化が進んでいない
  • 35. See the World as a Database どうすれば使ってもらえる?--後悔しないために •明確な目的と利用例 •業界標準への準拠 •ツールやパートナー ⇒API 管理ツールを使う理由を考えてみるきっかけに
  • 36. See the World as a Database 後悔しないために①明確な目的と利用例 •とはいえ、最初から明確にすることは不可能・コスト高い •「API ないんですか?」とはじめに言ってくれたユーザーやパー トナーと利用シナリオを明確化 •作り込む前に動くデモを •まずはPartner API で一般公開ではなくても デモAPI Partner API Public API ⇒API Gateway、API 管理ツールでAPI を高速開発。
  • 37. See the World as a Database 後悔しないために②業界標準への対応 •さまざまな業界標準 ‧OData (まだまだ実質の標準) ‧OpenAPI (Swagger) •なぜ業界標準が重要 ‧エンジニアは業界標準に準拠してもらうと楽 ‧ETL などのツール側でも業界標準を意識 ⇒API 管理ツールでAPI は業界標準準拠。 新しい標準への対応もツールが実施。
  • 38. 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/
  • 39. 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/
  • 40. See the World as a Database 後悔しないために③ツールやパートナー パートナーやツール連携なしにAPI エコノミーは作りづらい •代表的なパートナーとの1 to 1 連携(連携サービス化) •代表的なツールETL、BI、開発ツールとの連携 ‧ETL(ASTERIA WARP ほか) ‧BI ‧Point-to-point ツール(Zapier、IFTTT、Micrsoft Flow etc) •ODBC Driver、JDBC Driver の提供 •SDK の提供 ⇒API 管理ツール選定のポイントにも
  • 41. See the World as a Database Conclusion •モバイル、ウェブサービス時代にAPI の公開は必須 •API の開発は複雑 •利用促進には、業界標準への準拠やAPI 内包ツール、パートナー 圏の拡大も重要 •API 管理ツールの利用は上記の解決策となり得る
  • 42. See the World as a Database Contact CData Software Japan 合同会社 Email: sales@cdata.co.jp | Tel: 050-5578-7390