Recommended
PPTX
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
PPTX
PDF
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
PPTX
PDF
PDF
PDF
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
Line Creators Studio Android With Kotlin
PPTX
PPTX
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
PDF
Einsteinvision - object detection を試してみよう
PDF
PPTX
smartFXにおけるApache Cordovaの活用について
PDF
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
PDF
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
PDF
PDF
PPTX
Cordova×業務システム:失敗しないモバイル開発の秘訣
PPTX
PPTX
PPTX
Web標準技術でiOS、Android両対応アプリを開発
PDF
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
PPTX
PDF
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
PPTX
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
More Related Content
PPTX
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
PPTX
PDF
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
PPTX
PDF
PDF
PDF
What's hot
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
Line Creators Studio Android With Kotlin
PPTX
PPTX
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
PDF
Einsteinvision - object detection を試してみよう
PDF
PPTX
smartFXにおけるApache Cordovaの活用について
PDF
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
PDF
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
PDF
PDF
PPTX
Cordova×業務システム:失敗しないモバイル開発の秘訣
PPTX
PPTX
PPTX
Web標準技術でiOS、Android両対応アプリを開発
PDF
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
PPTX
Similar to Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
PDF
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
PPTX
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
PDF
Infragistics Ultimate 2018 Vol.2最新機能
PDF
Ignite ui 2012 最新情報 jQuery UI 編
PDF
2019年版 Infragistics Ultimate UI for WPF概要
PDF
「モダンな」可視化アプリケーション開発とはどのようなものか?
PPTX
PDF
オンライン セミナー Infragistics ultimate 2015 vol.1 最新機能ハイライト(公開版)
PPTX
モダン Web 開発におけるインフラジスティックスのこれまでの取り組みと今後
PDF
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
PDF
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
PDF
PDF
Ignite UI 2012 最新情報 jQuery Mobile 編
PDF
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
PDF
2013 Ignite UI 最新情報 in 岡山
PDF
Infragistics Ultimate 2015 vol.1 新機能ハイライト
PDF
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
PDF
Silverlight to Next オンライン セミナー
PDF
PDF
Infragistics Ultimate 2015 Vol.2 最新情報
More from CData Software Japan
PPTX
PPTX
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
PPTX
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
PPTX
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
PDF
PPTX
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
PPTX
PPTX
kintoneのデータExcelで 活用してみよう
PPTX
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
PPTX
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
PPTX
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
PDF
20180319 ccon sync kintone
PPTX
PPTX
PPTX
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
PPTX
JDBCドライバで実現する Select * from クラウド
PPTX
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
PPTX
MS-Office 製品からのkintoneデータ活用
PPTX
Tableau datadayouttokyo2019 c_data_datarobot
PPTX
Tableau datadayouttokyo2019 c_data_kintone
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
PDF
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026
PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
PDF
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう! 1. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Angular でもっとAPIファースト・もっとモダンデザイン
なWebアプリケーションを作ろう!
インフラジスティックス・ジャパン株式会社 桐生 達嗣
CData Software Japan 合同会社 桑島 義行
2. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
本日のアジェンダ
Agenda
• 自己紹介
• APIファースト・モダンデザインなWebアプリケーションとは
• 多様化するAPIの現状とAPIエコシステム、APIの在り方
• APIを3ステップでDBから自動生成できる CData API Server
• Ignite UI CLI を使ったAngular アプリ構築
• CData API Server + Ignite UI for Angular “Budget App”
3. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
登壇者自己紹介
Self Introduction
桐生達嗣 (tkiryu@Infragistics.com / @TatsushiKiryu )
・インフラジスティックス・ジャパン株式会社
テクニカル コンサルティング エンジニア
・専門分野: Web アプリ / フロントエンド開発
桑島義行 (kuwajima@cdata.com / @kuwazzy )
・CData Software Japan合同会社 テクニカル ディレクター
・専門分野: DB / BI / WebAPI
4. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
About CData Software
Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers
・CData Software, Inc. / Started: 1994 (/nsoftware)
・Location: Chapel Hill, NC a spin-off of /n software
・CData Japan: 2016/6 (JV with Infoteria)
・20年以上にわたりデータ関連コンポーネントを提供
・100を超えるデータソースへのデータ接続を標準化
・APIエコシステムの構築をサポート
5. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
RDB(SQL) ⇔ Web API 変換のエキスパート
Enable real-time data integration with hundreds of applications, databases, and Web APIs
Data Drivers
API を仮想RDB 化することで使
いやすく
API Server
APIをノンプログラミングで開発
6. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
業界最多級100+のデータソース
Drivers for NoSQL, Big Data, & SaaS Connectivity
CRMおよびマーケティング自動化
会計システム
コラボレーションおよびERP
オンプレミスおよびクラウドDB
ドキュメントおよびファイル形式
ソーシャルネットワーキングネットワーキングおよび認証
電子商取引
その他
7. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
About INFRAGISTICS
z
1989年
創立、米国
本社オフィス
開設
2000年
Windows
Forms &
ASP.NET
対応製品
販売開始
2006 年
東京オフィス開
設
WPF 対応製品
販売開始
2008年
UX サービス
部門設立
2010年
HTML5/
Javascript
対応製品
販売開始
2012年
iOS 対応製品
販売開始Indigo
Studio 販売開
始
2014年
Xamarin &
Android 対応
製品
販売開始
2018 年
継続する
イノベー
ション
2016年
ReportPlus
Embedded
提供開始
2017年
プロダクティビティ
パック、Angular
コンポーネントを
提供開始
・UI コンポーネント専業で約 30 年間
・日本法人を設立して 13 年目
・近年、Angular をはじめとした Web アプリ開発支援ツールに注力
8. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Angular, Flutter, React,
Vue.js, Electron, Node.js,
Ionic, Xamarin, UWP, .NET,
近年、乱立するクライアント テクノロジー、フレームワーク
テクノロジー、フレームワークの
選択が重要に
さらに、開発の前の
「学習」にもコストがかかる
9. 開発支援ツール Infragistics Ultimate
Web、モバイル、デスクトップに対応する UI コントロールと
生産性を向上させる プロダクティビティ ツールを提供
モバイル向け
• Ultimate UI
for Xamarin
• Ultimate UI
for iOS
• Ultimate UI
for Android
Web 向け
• Ignite UI for
Angular
• Ignite UI for
JavaScript
• Ultimate UI for
ASP.NET
デスクトップ向け
• Ultimate UI
for Windows
Forms
• Ultimate UI
for WPF
デザイン
• Indigo Studio
• ICONS
10. 1. UI コントロール
2. プロダクティビティ
ツール
3. エンタープライズ
サポート
コントロール「だけ」ではなく、UI 開発全体を支援
1. 高機能 UI コントロール
グリッド、チャート、スケジュール、ピボット
2. 学習コスト、作業コストを低減する
プロダクティビティ ツール
CLI ツール、コンフィギュレーター
3. エンタープライズに対応したサポート、
サービス
製品サポート + 各種開発コンサルティング
11. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンWebアプリケーションとは?
12. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Mobile
PC
クライアントサイド
モダン Web アプリとは?
データソースサイド
RDB
ファイル
クラウド
サービス
サーバーサイド
これまで:
HTML のやり取り
モダン:
データ(API)
でのやり取り
コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
13. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Mobile
PC
クライアントサイド
モダン Web アプリとは?
データソースサイド
RDB
ファイル
クラウド
サービス
サーバーサイド
これまで:
HTML のやり取り
モダン:
データ(API)
でのやり取り
コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
14. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
#APIあるある
実録
APIの現実・・・
15. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
API を使うのに紙文書で申請が必要!
#APIあるある
・NDAや申請書、パートナー契約などなど紙文書でのやり取りが必要
・時には恐ろしい数のヒアリング項目
・APIを利用するまでに2週間以上時間がかかることも・・・
・(参考)Salesforce は、開発アカウントはOnline 申請、即API
利用開始
16. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
仕様書がPDFやExcel
・Word ベース や 神エクセル
・いったいどうやって管理・アップデートする?
・実装とドキュメントは当然乖離
・中にはドキュメントがCD-ROMで送られてくるところも・・・。
・コピー&ペーストできない
#APIあるある
17. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Limit が厳しすぎる
#APIあるある
・1分間にXX回リクエストまで、等
・ちょっと連携開発でテストしたら、ロック
・BIするのに全データを取得したいが制限にひっかかってしまい、取得できない
(Twitterなどもちろん仕方がないものもある)
18. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソース指向と関数指向がまざってる
#APIあるある
・例えばURLが
https://XXX.com/getXXX
https://XXX.com/findXXX
https://XXX.com/users
・詳細検索するときだけ、FindやSearchといったURL
19. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソース名が省略語だらけ
#APIあるある
例えば・・・
・営業案件 Opportunity がOPP
日本語ローマ字略称は覚えづらく、つらい・・・
・勘定科目マスタ が KKM とか
20. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
ページングの指定方法が違いすぎる
Qiita MoneyForward
ページ指定方法
URLパラメータで指定
Page=1
URLパラメータで指定
Page=1
ページ数最大値表示
レスポンスヘッダに記載
Total-Count: 6
レスポンスボディに記載
total_count : 6
1ページあたりの表示件数表記
URLパラメータで指定
per_page=20
URLパラメータで指定
Limit=100
次ページリンク
レスポンスボディに記載
Link:
<http://qiita.com/api/v2/users?pa
ge=1>; rel="first",
なし
#APIあるある
・同じ会社のAPIでも微妙に違う
・ヘッダに記載していたり、ボディに記載していたり
21. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
通貨フィールドが「¥」マーク付き
#APIあるある
・昔、データ型ってあったのを忘れたのか?
・通貨フィールドが数値型ではなく、円マーク付きで返ってくるので文字列になってしまう
例:var x = “1,000,000”;
・クライアントサイドで通貨マークの調整処理が必要
・BIツールに取り入れる時には数値変換が必要
22. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
データを取得したいのにPOST
#APIあるある
・例:Bodyで検索条件を指定するから、POSTメソッドでGETする
・基本的にすべてのエンドポイントがPOST仕様だったり
23. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
エンドポイント一覧がAPIで取得できない
#APIあるある
・どのくらいリソースがあるのかわからない
・クライアントサイドで動的な処理ができない
・APIの変更に動的に対応することができない
24. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソースが存在しないのにステータスコード200(正常)
#APIあるある
• 成功なのに失敗?
• リソース名が間違っていたはずなのに200番。404(Not Found)では?
25. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
サマリデータのみで、明細が取れない
#APIあるある
• 見積の合計金額は取れるのに、明細が取れない
• APIから取得できるデータがそもそもサマリした後のデータで、使用者側でサマリの観点
を変えることができない
• ヘッダと明細を一括のリクエストで作成しないといけないAPIもあったり
26. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まだまだありそうな予感
皆さまの
を募集中!
SNS で発信しよう!
#APIあるある
27. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
原因:
「REST はプロトコルではない」から
28. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
OData
• Microsoftが主導となり推進しているプロトコル
• HTTPメソッド(GET/POST/PUT/DELETE)でデータの参照更新ができる仕様
• RESTfulな設計パターンを実装
Open API Specification
• 略してOAS、旧Swagger
• REST APIの記述に関する仕様とAPIをコールするためのコードとドキュメントを自動生成するツール群
• Apache 2.0 License
• 2015年に推進団体「Open API Initiative」が設立
• The Linux Foundationの協力のもと、Microsoft/Google/IBM/Paypal/3Scale(Redhat) / Apigee(Google) などにより
結成
REST APIの規格・標準
Standards-based Interfaces
29. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンWebアプリケーションに求められるAPI
1. メタデータ・スキーマの提供
2. メタデータ・スキーマから自動生成されたドキュメント
3. 規格(リクエスト・レスポンスルール)の統一
30. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
『たのむ
メタデータ・スキーマをくれ。
できれば、動的に』
31. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
モダンなAPI=クライアントサイドに優しい
RDB
ファイル
クラウド
サービス
API仕様書から
自動生成
32. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンAPIを3ステップでDBから自動生成できる
CData API Server
33. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
ノンコーディング、3ステップでAPI 実装
公開するデータソースに接続1
ユーザーの設定とアクセス権限を指定
2
3
公開するデータを選択
34. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
Demo
API Server
• バックエンドAPI+Webフロント構成アプリケーション
• マルチデバイスアプリケーション
35. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
36. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
API を活用したモダン Web アプリの構築
37. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
データはつながった、次はクライアントアプリ(画面)だ!
API Server
• データを「活かす」アプリケーションを「すばやく」実装
38. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダン Web 向け: Ignite UI for Angular
• 約 50 種類のAngular 専用コンポーネント
• マテリアルデザイン サポート
• 軽量、高速、高機能
• OSS
• デュアル ライセンス
Angular ロゴ: https://angular.io/presskit
39. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
• 利用するフレームワークの選択
(Angular, jQuery, React)
• 各種コントロールの利用に必要な
スクリプト、CSS、HTML の
ひな型をプロジェクトに追加
• 独自のカスタムテンプレートを
作成可能
コマンド “2行” でモダン Web アプリ開発を開始
$ npm install igniteui-cli -g
$ ig
40. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Demo
Ignite UI CLI を使ったAngular アプリ構築と
API サーバーへの接続
41. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
予実管理 株取引 人事管理 不動産取引
Ignite UI for Angular で作成できる Web アプリ例
• レスポンシブ、マルチデバイス対応モダン Web アプリ
• 「見栄えの良さ」を実現
42. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Demo
API サーバー + Ignite UI for Angular
“Budget App”
43. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
更なる進化: Indigo Design to Code (D2C) Studio
• まとめスライド
• https://youtu.be/1I9Rl8f07gc
44. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
45. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まとめ
46. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まとめ
• モダン API: 統一された規格、メタデータ、ドキュメントの提供
• API Server ですばやく実現
• モダン Web アプリ: プリミティブなデータのやりとり、クライアントを動的に生成
• Ignite UI for Angular ですばやく実現
開発ツールを有効活用しましょう!
47. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
お願い
• ブースにおいでください!
• 製品説明、デモを実施しています!
• ノベルティもあるよ!
• 「#decode大喜利」 やってます!
• 豪華賞品をご提供します
48. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Thank You!
Editor's Notes #3 IG #4 IG/CD
<桑島>
CData Software Japanの桑島です。 #5 CD
<桑島>
まずはじめに、CDataSoftwareについてご紹介させていただきます。
CDataSoftwareは、アメリカのノースカロライナ州に本社を構えるグローバル企業です。日本では2016年に活動を開始しております。
20年以上にわたり、データ連携コンポーネントを提供しており、現在、数万社という単位でご利用いただいております。
私たちは、100を超えるクラウドサービスやDBへのデータ接続を標準化することで、APIエコシステムの構築をサポートしている企業です。
#6 CD
<桑島>
CData Softwareの製品ラインナップはこちらの二つで、一つは、APIを仮想RDB化して使いやくするDataDrivers製品、もう一つは、APIをノンプログラミングで開発できるAPIServerです。
#7 CD
これらの製品から接続できるデータソースは業界最多級で、CRMやマーケティングなどのクラウドサービスや、NoSQLを含めデータベースまで多種様々で、私たちはこれらのデータソースのAPIをみて開発やメンテナンスを行なっています。
#8 IG #9 IG #10 IG #11 IG #12 IG #13 IGモダンなWebアプリケーションではコードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合にしてコードをわけることが求められます。
#14 CD
それでは、バックエンドのサーバーサイドにアクセスするためのAPIについて見てきましょう。
自分がクライアントサイドを開発するメンバーだったら、どんなAPIだと使いやすいのか、と気になりますよね。 #15 CD
<桑島>
ここで、提供されるAPIの現実です。
私たちは、先ほどご紹介した通り、100を超える様々なタイプのAPIをみてきました。
ここで、どのようなAPIがあったのか、ここからは、実録、「APIあるある」として実際の例を見てきたましょう。
#16 <桑島>
使い始める前で出だしをくじかれます。さて、API仕様書みてみるか、と思って探して見ると、ん?申請が必要なので申請書を送ってくれ?と。。。まず、使えるか確認したいだけなんだけど。うーん。 #17 <桑島>
さぁAPI仕様書を入手した、と思ったら。。。Wordや神Excelで作成されたAPI仕様書。もちろん、ブラウザからのテスト実行は出来ないですし、中には、コピペもできないものもあります。 #18 <桑島>
APIを使ってみて突然引っかかることもあります。私もデモしている突然引っかかり冷や汗かいたこともあります。
#19 <桑島>
これは、API設計の話ですね。どっちかで統一されているとわかりやすいのですが。
#20 <桑島>
これは、レガシーなアプリケーションにAPIを後からつけたケースに多いです。
#21 <桑島>
ページングは、仕様書に良く載ってなかったりもするので、結構、私も実際にたたいて確認しないとわからないとこが多いです。
#22 <桑島>
これ、結構、国内のサービスとかであるんですよ。クライアントサイドでハンドリングって考えただけで面倒ですよねー
#23 <桑島>
これは、RESTの統一インタフェースという物を意識しているかの話ですね。
#24 <桑島>
これが一番重要です。データベースに例えると、テーブル一覧、カラム定義がSQLで取得できないのと一緒です。
この一覧が取れないと、どのデータを表示するかのドロップダウンリスト一つ作るのに、ハードコードしないといけない。
#25 <桑島>
エラーかどうかの切り分けに困るパターンですね。
#26 <桑島>
BIとかでデータを集計や分析するときに困るパターンです。アプリケーション側の画面では見えているのにーと。 #27 <桑島>
いかがでしたでしょうか? こんな、APIありませんでしょうか、もし、思いついたかたは、このハッシュタグで吠えてください。
#28 <桑島>
さて、なぜ、このような使いにくいAPIが多くあるかというと、巷で標準と言われているREST APIってプロトコル、規格ではないからなんですね。
#29 じゃあ、REST APIのプロトコルや規格ってなんなの?というと、聞いたことがある方もいらっしゃると思いますが、ODataというプロトコルや、OpenAPI、以前はSwaggerと言われていたAPI仕様書のデファクトがあります。 #30 ここで、モダンAPIのポイントについて整理してみました。
一つ目は、メタデータ・スキーマが提供されていること これ大事です。
二つ目は、メタデータ・スキーマから自動生成されたドキュメントが提供されていること
三つ目は、リクエストやレスポンスなどのルール、規格が統一されていること
と言えます。
#31 でも、せめて、メタデータやスキーマの一覧を動的にアクセスできるエンドポイントは欲しい。ですよね。
#32 これらを満たすだけで、API仕様書から、ある程度、クライアントサイドのコードが動的に生成される、これが、モダンなAPIと言えるでしょう。
じゃぁ、モダンなAPIって具体的にはどうやって作るの?というお話に入りたいと思います。 #33 それは、ここで、そんなモダンAPIを3ステップでDBから自動生成できるCDataAPIServerについてご紹介させていただきます。
#34 必要なステップはこの3つ、公開するRDBなどのデータソースに接続する、公開するテーブルを選択する、APIアクセスする権限を設定する、この3つだけです。
#35 実際にAPIServerについてデモでご覧いただきましょう。今回のデモの構成は、このようになっており、バックエンドのデータソースにはMySQLを使用しています。MySQL内のテーブルデータをAPIServerを使ってAPI公開します。
#37 IG #38 実際にAPIServerについてデモでご覧いただきましょう。今回のデモの構成は、このようになっており、バックエンドのデータソースにはMySQLを使用しています。MySQL内のテーブルデータをAPIServerを使ってAPI公開します。
#46 IG or CD #47 IG or CD #48 IG/CD