SlideShare a Scribd company logo
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Java クライント実装におけるAPIスタイル頂上決戦!
野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
2019/01
CData Software Japan
Burikaigi 2019
See the World as a
Database
Speaker
杉本 和也:Kazuya Sugimoto
• CData Software Japan, LLC Lead Engineer
• Microsoft MVP for Business Solution(Dynamics CRM/365)
Blog:Morning Girl
http://kageura.hatenadiary.jp/
Twitter:@sugimomoto Facebook:sugimomoto
© 2018 CData Software Japan, LLC | www.cdata.com/jp
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 を使いやすく」をミッションにクラウドデータ接続を標準化
© 2018 CData Software Japan, LLC | www.cdata.com/jp
1. はじめに
© 2018 CData Software Japan, LLC | www.cdata.com/jp
世界のAPI Management 市場は2022年までに
現在の2倍(3,000億円)の市場規模
API Management Market Augmenting Rapidly To Reach USD 3,436.16 Million by 2022
https://www.zionmarketresearch.com/news/api-management-market
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ますます重要性を増す「APIエコシステム」
APIを利用したエコシステムの構築を阻む壁は何か?
https://codezine.jp/article/detail/10938
© 2018 CData Software Japan, LLC | www.cdata.com/jp
最近よく取り上げられる
「API エコシステム」は
提供者側を中心としたトピック
API は使うユーザー・開発者が居て、
はじめて真価を発揮するもの
じゃあ、API エコシステムって開発者には
関係無いトピックなの?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
そんなことは無い!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
なぜ開発者が API エコシステムを
意識する必要があるのか?
ただのWeb APIやRESTと捉えず、
各エコシステムを知っているだけで開発スピードに雲泥の差が出る
© 2018 CData Software Japan, LLC | www.cdata.com/jp
本日のお話
「Java クライアント実装にとっての API エコシステム」
REST vs OData vs Swagger vs GraphQL
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger HubAzure Web AppHeroku
今回のセッションでは検証環境を用意しています!
CData API Sever
OData
HASURA
GraphQL
PostgreSQL Swagger Spec
CodeGen etc
User
サンプルデータはすべて同じ
PostgreSQL DB
© 2018 CData Software Japan, LLC | www.cdata.com/jp
今日の資料とAPIデモ環境はこちらで公開中!
http://bit.ly/CDataBurikaigi2019
(イベント限定公開)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
2. 野良 REST 編
© 2018 CData Software Japan, LLC | www.cdata.com/jp
改めて REST ってなんだっけ?
REST = Representational State Transfer
>Representational State Transfer (REST) は、ウェブのような分散ハイ
パーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。
引用元:Wikipedia REST(https://ja.wikipedia.org/wiki/REST)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Web API を REST たらしめる“原則“(≠規約)
• Stateless:ステートレスなクライアント/サーバプロトコル
• Uniform Interface:すべての情報(リソース)に適用できるHTTPメソッドの定義
• Addressability:リソースを一意に識別する「汎用的な構文(URL)」の定義
• Connectability:アプリケーションの情報と状態遷移の両方を扱うことができる「ハイ
パーメディア(リソースリンク)の使用」
上記の原則に従っているアーキテクチャを REST ful と言ったりするが
あくまで “原則“ であり ”規約” ではない!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
REST API を利用するにあたってのポイント・課題
・取得した JSON のデシリアライズ先のクラス定義が面倒
・リクエストパラメータで何を実行すればいいのかドキュメント頼み
ページングどうするの?
フィルターはどうかけられるの?
・APIを取得した後のロジックよりも、取得するためのロジック・コードが多く必要
・API へのアップデート対応には無策
REST だからそうなんだけど
これを課題と認識することがスタート
© 2018 CData Software Japan, LLC | www.cdata.com/jp
3. Swagger(OpenAPI)Code Generate 編
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger (OpenAPI) って何?
OpenAPI Specification(OAS)は、ソースコードへ
のアクセス、追加ドキュメント、またはネットワークトラフィッ
クの検査を必要とせずに、人間とコンピュータの両方が
サービスの機能を発見して理解することを可能にする、
プログラミング言語に依存しないREST APIの標準的
なインターフェイス記述を定義します。
引用元:https://github.com/OAI/OpenAPI-
Specification
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger (OpenAPI) って何?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger (OpenAPI) のポイント
Tool Description
Swagger Spec REST APIに対して Swaggerの仕様に準じたドキュメント
Swagger Core
REST APIの実装からSwagger specを生成するためのライ
ブラリ
Swagger
Codegen
コマンドラインツール Swagger JSONからクライアントコード生
成
Swagger UI
SWagger 準拠 API (Swagger SPec)から動的にドキュ
メントを生成するツール
Swagger Editor
ブラウザ上で動くJSON/YAMLのエディタリアルタイムで構文
チェック 引用元:Swaggerとは何か? プログラマでありたい
http://blog.takuros.net/entry/2015/12/02/082248
ドキュメントの生成から、クライアントサイド・サーバーサイドの Code Generate まで
Swagger エコシステムで実現している!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger (OpenAPI) で公開しているAPI
SendGrid
https://github.com/sendgrid/s
endgrid-oai
CloudSign
https://app.swaggerhub.com/a
pis/CloudSign/cloudsign-
web_api/0.8.0
SmartHR
https://developer.smarthr.jp/ap
i/index.html
© 2018 CData Software Japan, LLC | www.cdata.com/jp
デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger を利用するにあたってのポイント
・ドキュメントがひたすらわかりやすい
・認証周りや接続設定はSwagger Specで定義されているパラメータがproperty化さ
れていてわかりやすい
・URL パラメータも引数になっているので、迷わない
・JSONのデシリアライズもデシリアライズ用クラスも自動生成
© 2018 CData Software Japan, LLC | www.cdata.com/jp
4. OData(Olingo) 編
© 2018 CData Software Japan, LLC | www.cdata.com/jp
OData って何?
ODataは、データモデルの記述、およびそれらのモデルに従ったデータの編集および照会を
サポートするプロトコル。
・ メタデータ:特定のデータプロバイダによって公開されるデータモデルの機械可読の記述。
・ データ:データエンティティのセットとそれらの間の関係。
・ クエリー:サービスがフィルタリングとデータへの変換を実行するよう要求し、結果を返す。
・ 編集:データの作成、更新、および削除。
・ 操作:カスタムロジックの呼び出し
・ ボキャブラリ:カスタムセマンティクスの付加
引用元:http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-
protocol.html
表形式データの“編集”および“照会”を効率化・定義した
REST ful なプロトコル
© 2018 CData Software Japan, LLC | www.cdata.com/jp
OData のポイント その1
Query Support URL Components
表形式のデータを参照するための各種URLパラメータを定義しているので
カラムのセレクトもフィルタリングもページングも並び替えも迷わない
© 2018 CData Software Japan, LLC | www.cdata.com/jp
OData のポイント
Metadata Endpoint のサポート
使用できるリソース・カラムの構成を取得することができる
取得した内容を元に、HTTPリクエストの構成ができる
© 2018 CData Software Japan, LLC | www.cdata.com/jp
OData で公開されている API
Dynamics 365
https://dynamics.microsoft.co
m/ja-jp/
Salesforce
https://www.salesforce.com/jp/
SAP HANA
https://www.sap.com/japan/pr
oducts/hana.html
© 2018 CData Software Japan, LLC | www.cdata.com/jp
デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
OData を利用するにあたってのポイント
・ HTTP リクエストを構成するための各メソッドが標準装備。なので、いちいち API のド
キュメントを確認する必要が無い
対象のリソースの指定(ordersやorder_details)
filterやselectなど、基本的なOData のリクエストパラメータ
ページング用のskipやtopなども使えるのでわかりやすい
・メタデータの取得ができるので、動的なデータの取得・出力に対応可能
© 2018 CData Software Japan, LLC | www.cdata.com/jp
5. GraphQL 編
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL って何?
GraphQL は 2015年 に Facebook が公
開した Web APIのための新しいクエリ言語
独自の構造的なクエリ言語を用いることで、一
つのエンドポイントで複数のリソース、ネストされ
た構造体のデータを取得することがしやすいよう
に構成されている
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL のポイント
例えば REST API ベースでこんな画面を作ろうとしたら
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL のポイント
RESTの思想で実装する場合、リソースごとのリクエストを都度実施する必要があった
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL のポイント
GraphQLであれば、一つのリクエストで関係性を持つデータを一括で取得して、
クライアントサイドへレンダリングするということが実現することができる!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL で公開されている API
Github
https://developer.github.com/v
4/
shopify
https://help.shopify.com/en/ap
i/custom-
storefronts/storefront-
api/graphql
SWAPI GraphQL Wrapper
https://github.com/graphql/sw
api-graphql
© 2018 CData Software Japan, LLC | www.cdata.com/jp
デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
GraphQL を利用するにあたってのポイント
・ Query を Java のラムダで書くことができて直感的
・ 1:Nで構成されている Order と OrderDetails の関係性も一度で取得
・ スキーマ用エンドポイントが提供されているので、JSON デシリアライズも快適
(ただ、ちょっと Java で使うまでの敷居が高い、、、)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
6. 番外編 CData JDBC Driver
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData JDBC Drivers って何?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
使い慣れた IDE/AP サーバから 100 を超える
クラウドサービス・NoSQL に JDBC(SQL) 接続
© 2018 CData Software Japan, LLC | www.cdata.com/jp
使い慣れた IDE/AP サーバから 100 を超える
クラウドサービス・NoSQL に JDBC(SQL) 接続
リクエストされた SQL を分解し、Web API の HTTP Request に組み立て
レスポンスの JSON をレコードセット形式にしてクライアントに返すという仕組み
© 2018 CData Software Japan, LLC | www.cdata.com/jp
デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Driver を利用するにあたってのポイント
・ SQLでアクセスできるので、HTTP動詞やWeb APIのエンドポイントURLなどを意識す
ることなく、データの取得操作が実施可能
・JOINやWhereなどもサポートしているので、各エンドポイントからデータを取得して、それ
をクライアントサイドでマージするといった処理を書く必要が無い
・スキーマ・メタデータ情報にもアクセスすることができるので、動的な値の取得が可能
© 2018 CData Software Japan, LLC | www.cdata.com/jp
7. まとめ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
REST・Swagger・OData・GraphQL 比較表
REST GraphQL OData Swagger
メタデータ
スキーマ
?
サービス次第
○
標準エンドポイントで提供
スキーマチェックも厳しい
○
標準エンドポイントで提供
エコシステムも強い
△
取得できるが実際のAPIとの
整合性は保証されない
ドキュメント
?
サービス次第
○
ドキュメントと一緒に
検証環境も提供
△
ドキュメント生成ツールが
別途必要
○
一番ドキュメントが
使いやすい
クライアントSDK
?
サービス次第
△
Java クライアントは
今後に期待
○
エンタープライズ系が
充実している
○
おそらく対応言語は
一番多く使いやすい
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Swagger・OData・GraphQL 使ってみた所感
[Swagger]
・Code Generate で生成した Client SDKの使いやすさはピカイチ
・ただ、ドキュメントのアップデートに気を使っているかどうかは、そのプロバイダーにかかっている
・現在も使用しているプロバイダーは増えているので、覚えておいて損はない
[OData]
・スキーマやリクエストのコントロールのアプローチは確立されている
・アーキテクチャとしての複雑さ、使う敷居の高さは若干否めない
・Salesforce・Dynamics 365・SAP などが OData なのでエンタープライズ領域としては強みがある
[GraphQL]
・Java Client から使う、となるとまだまだ敷居の高さは否めない
・React といった Java Script系クライアント利用がまだ多い
・でも、Github や Shopify がパブリックなAPIを公開、Microsoft も一部ベータ的に GraphQL API を公開し始め
たので、今後ウォッチしておく価値はある
© 2018 CData Software Japan, LLC | www.cdata.com/jp
最後に。なぜ開発者が API のエコシステムを
理解しておくことが大事なのか?
Swagger で CodeGenerate することを知らなければ、
クラス名を一から記述することになり
OData で Metadata を取得することを知らなければ、
動的なアプリケーションは作りづらい
Web API を ただの REST と捉えてしまうと、
実は大事なものを見落としてしまう
仕様であること、エコシステムがあることを理解しているだけで、
開発者が取れる選択肢は格段に多くなり、開発スピードも上がる!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
是非、各仕様・エコシステムを理解してもらいながら
開発に役立ててください!
(CData Driver も使ってみてね!)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Software Japan では メンバーを募集中!
https://www.wantedly.com/projects/265684
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Thanks!

More Related Content

What's hot

ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Toshiaki Maki
 
マイクロサービス時代の認証と認可 - 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
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
虎の穴 開発室
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
shunki fujiwara
 

What's hot (20)

ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
 

Similar to Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)

APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
CData Software Japan
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
CData Software Japan
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
CData Software Japan
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
CData Software Japan
 
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Kazuya Sugimoto
 
API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018
CData Software Japan
 
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
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
 
CData Drivers for PCA 概要
CData Drivers for PCA 概要CData Drivers for PCA 概要
CData Drivers for PCA 概要
CData Software Japan
 
CData Sync Hand-on 資料
CData Sync Hand-on 資料CData Sync Hand-on 資料
CData Sync Hand-on 資料
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
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
CData Software Japan
 
CData General Proposal
CData General ProposalCData General Proposal
CData General Proposal
CData Software Japan
 
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
Kazuya Sugimoto
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LT
CData Software Japan
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
CData Software Japan
 
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Kazuya Sugimoto
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
Yahoo!デベロッパーネットワーク
 
CData general proposal
CData general proposalCData general proposal
CData general proposal
CData Software Japan
 

Similar to Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger) (20)

APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
 
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
 
API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018
 
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
 
CData Drivers for PCA 概要
CData Drivers for PCA 概要CData Drivers for PCA 概要
CData Drivers for PCA 概要
 
CData Sync Hand-on 資料
CData Sync Hand-on 資料CData Sync Hand-on 資料
CData Sync Hand-on 資料
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
 
CData General Proposal
CData General ProposalCData General Proposal
CData General Proposal
 
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
解明! Dynamics 365 Web API 全体像! 第7回JDUC勉強会
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LT
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
Dynamics 365 Customer Engagement 理解のススメ -サブスクリプションビジネスモデルから読み解くカスタマーサポート機能活用の...
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
CData general proposal
CData general proposalCData general proposal
CData general proposal
 

More from Kazuya Sugimoto

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
 
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
Kazuya Sugimoto
 
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
Kazuya Sugimoto
 
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
Kazuya Sugimoto
 
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Kazuya Sugimoto
 
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
Kazuya Sugimoto
 
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
Kazuya Sugimoto
 
Business application architecture in modern multi-cloud environment / Microso...
Business application architecture in modern multi-cloud environment / Microso...Business application architecture in modern multi-cloud environment / Microso...
Business application architecture in modern multi-cloud environment / Microso...
Kazuya Sugimoto
 
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
Kazuya Sugimoto
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会
Kazuya Sugimoto
 
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
Kazuya Sugimoto
 

More from Kazuya Sugimoto (11)

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
 
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントと...
 
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
見える化、言える化、やりきれる化!Dynamics365 北陸へ拡散
 
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
第6回jduc勉強会 dynamics 365 新機能 外部apiと連携できる仮想エンティティの活用方法
 
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
 
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
SharePointとAzure Functionsを組み合わせた マルチクラウドなサーバーレスアーキテクチャの展開方法 Japan share poin...
 
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
 
Business application architecture in modern multi-cloud environment / Microso...
Business application architecture in modern multi-cloud environment / Microso...Business application architecture in modern multi-cloud environment / Microso...
Business application architecture in modern multi-cloud environment / Microso...
 
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会
 
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
 

Recently uploaded

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: 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
atsushi061452
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: 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...
atsushi061452
 
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の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 

Recently uploaded (15)

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: 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
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: 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...
 
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の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 

Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)

  • 1. © 2018 CData Software Japan, LLC | www.cdata.com/jp Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger) 2019/01 CData Software Japan Burikaigi 2019
  • 2. See the World as a Database Speaker 杉本 和也:Kazuya Sugimoto • CData Software Japan, LLC Lead Engineer • Microsoft MVP for Business Solution(Dynamics CRM/365) Blog:Morning Girl http://kageura.hatenadiary.jp/ Twitter:@sugimomoto Facebook:sugimomoto
  • 3. © 2018 CData Software Japan, LLC | www.cdata.com/jp 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 を使いやすく」をミッションにクラウドデータ接続を標準化
  • 4. © 2018 CData Software Japan, LLC | www.cdata.com/jp 1. はじめに
  • 5. © 2018 CData Software Japan, LLC | www.cdata.com/jp 世界のAPI Management 市場は2022年までに 現在の2倍(3,000億円)の市場規模 API Management Market Augmenting Rapidly To Reach USD 3,436.16 Million by 2022 https://www.zionmarketresearch.com/news/api-management-market
  • 6. © 2018 CData Software Japan, LLC | www.cdata.com/jp ますます重要性を増す「APIエコシステム」 APIを利用したエコシステムの構築を阻む壁は何か? https://codezine.jp/article/detail/10938
  • 7. © 2018 CData Software Japan, LLC | www.cdata.com/jp 最近よく取り上げられる 「API エコシステム」は 提供者側を中心としたトピック API は使うユーザー・開発者が居て、 はじめて真価を発揮するもの じゃあ、API エコシステムって開発者には 関係無いトピックなの?
  • 8. © 2018 CData Software Japan, LLC | www.cdata.com/jp そんなことは無い!
  • 9. © 2018 CData Software Japan, LLC | www.cdata.com/jp なぜ開発者が API エコシステムを 意識する必要があるのか? ただのWeb APIやRESTと捉えず、 各エコシステムを知っているだけで開発スピードに雲泥の差が出る
  • 10. © 2018 CData Software Japan, LLC | www.cdata.com/jp 本日のお話 「Java クライアント実装にとっての API エコシステム」 REST vs OData vs Swagger vs GraphQL
  • 11. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger HubAzure Web AppHeroku 今回のセッションでは検証環境を用意しています! CData API Sever OData HASURA GraphQL PostgreSQL Swagger Spec CodeGen etc User サンプルデータはすべて同じ PostgreSQL DB
  • 12. © 2018 CData Software Japan, LLC | www.cdata.com/jp 今日の資料とAPIデモ環境はこちらで公開中! http://bit.ly/CDataBurikaigi2019 (イベント限定公開)
  • 13. © 2018 CData Software Japan, LLC | www.cdata.com/jp 2. 野良 REST 編
  • 14. © 2018 CData Software Japan, LLC | www.cdata.com/jp 改めて REST ってなんだっけ? REST = Representational State Transfer >Representational State Transfer (REST) は、ウェブのような分散ハイ パーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。 引用元:Wikipedia REST(https://ja.wikipedia.org/wiki/REST)
  • 15. © 2018 CData Software Japan, LLC | www.cdata.com/jp Web API を REST たらしめる“原則“(≠規約) • Stateless:ステートレスなクライアント/サーバプロトコル • Uniform Interface:すべての情報(リソース)に適用できるHTTPメソッドの定義 • Addressability:リソースを一意に識別する「汎用的な構文(URL)」の定義 • Connectability:アプリケーションの情報と状態遷移の両方を扱うことができる「ハイ パーメディア(リソースリンク)の使用」 上記の原則に従っているアーキテクチャを REST ful と言ったりするが あくまで “原則“ であり ”規約” ではない!
  • 16. © 2018 CData Software Japan, LLC | www.cdata.com/jp デモ
  • 17. © 2018 CData Software Japan, LLC | www.cdata.com/jp REST API を利用するにあたってのポイント・課題 ・取得した JSON のデシリアライズ先のクラス定義が面倒 ・リクエストパラメータで何を実行すればいいのかドキュメント頼み ページングどうするの? フィルターはどうかけられるの? ・APIを取得した後のロジックよりも、取得するためのロジック・コードが多く必要 ・API へのアップデート対応には無策 REST だからそうなんだけど これを課題と認識することがスタート
  • 18. © 2018 CData Software Japan, LLC | www.cdata.com/jp 3. Swagger(OpenAPI)Code Generate 編
  • 19. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger (OpenAPI) って何? OpenAPI Specification(OAS)は、ソースコードへ のアクセス、追加ドキュメント、またはネットワークトラフィッ クの検査を必要とせずに、人間とコンピュータの両方が サービスの機能を発見して理解することを可能にする、 プログラミング言語に依存しないREST APIの標準的 なインターフェイス記述を定義します。 引用元:https://github.com/OAI/OpenAPI- Specification
  • 20. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger (OpenAPI) って何?
  • 21. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger (OpenAPI) のポイント Tool Description Swagger Spec REST APIに対して Swaggerの仕様に準じたドキュメント Swagger Core REST APIの実装からSwagger specを生成するためのライ ブラリ Swagger Codegen コマンドラインツール Swagger JSONからクライアントコード生 成 Swagger UI SWagger 準拠 API (Swagger SPec)から動的にドキュ メントを生成するツール Swagger Editor ブラウザ上で動くJSON/YAMLのエディタリアルタイムで構文 チェック 引用元:Swaggerとは何か? プログラマでありたい http://blog.takuros.net/entry/2015/12/02/082248 ドキュメントの生成から、クライアントサイド・サーバーサイドの Code Generate まで Swagger エコシステムで実現している!
  • 22. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger (OpenAPI) で公開しているAPI SendGrid https://github.com/sendgrid/s endgrid-oai CloudSign https://app.swaggerhub.com/a pis/CloudSign/cloudsign- web_api/0.8.0 SmartHR https://developer.smarthr.jp/ap i/index.html
  • 23. © 2018 CData Software Japan, LLC | www.cdata.com/jp デモ
  • 24. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger を利用するにあたってのポイント ・ドキュメントがひたすらわかりやすい ・認証周りや接続設定はSwagger Specで定義されているパラメータがproperty化さ れていてわかりやすい ・URL パラメータも引数になっているので、迷わない ・JSONのデシリアライズもデシリアライズ用クラスも自動生成
  • 25. © 2018 CData Software Japan, LLC | www.cdata.com/jp 4. OData(Olingo) 編
  • 26. © 2018 CData Software Japan, LLC | www.cdata.com/jp OData って何? ODataは、データモデルの記述、およびそれらのモデルに従ったデータの編集および照会を サポートするプロトコル。 ・ メタデータ:特定のデータプロバイダによって公開されるデータモデルの機械可読の記述。 ・ データ:データエンティティのセットとそれらの間の関係。 ・ クエリー:サービスがフィルタリングとデータへの変換を実行するよう要求し、結果を返す。 ・ 編集:データの作成、更新、および削除。 ・ 操作:カスタムロジックの呼び出し ・ ボキャブラリ:カスタムセマンティクスの付加 引用元:http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1- protocol.html 表形式データの“編集”および“照会”を効率化・定義した REST ful なプロトコル
  • 27. © 2018 CData Software Japan, LLC | www.cdata.com/jp OData のポイント その1 Query Support URL Components 表形式のデータを参照するための各種URLパラメータを定義しているので カラムのセレクトもフィルタリングもページングも並び替えも迷わない
  • 28. © 2018 CData Software Japan, LLC | www.cdata.com/jp OData のポイント Metadata Endpoint のサポート 使用できるリソース・カラムの構成を取得することができる 取得した内容を元に、HTTPリクエストの構成ができる
  • 29. © 2018 CData Software Japan, LLC | www.cdata.com/jp OData で公開されている API Dynamics 365 https://dynamics.microsoft.co m/ja-jp/ Salesforce https://www.salesforce.com/jp/ SAP HANA https://www.sap.com/japan/pr oducts/hana.html
  • 30. © 2018 CData Software Japan, LLC | www.cdata.com/jp デモ
  • 31. © 2018 CData Software Japan, LLC | www.cdata.com/jp OData を利用するにあたってのポイント ・ HTTP リクエストを構成するための各メソッドが標準装備。なので、いちいち API のド キュメントを確認する必要が無い 対象のリソースの指定(ordersやorder_details) filterやselectなど、基本的なOData のリクエストパラメータ ページング用のskipやtopなども使えるのでわかりやすい ・メタデータの取得ができるので、動的なデータの取得・出力に対応可能
  • 32. © 2018 CData Software Japan, LLC | www.cdata.com/jp 5. GraphQL 編
  • 33. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL って何? GraphQL は 2015年 に Facebook が公 開した Web APIのための新しいクエリ言語 独自の構造的なクエリ言語を用いることで、一 つのエンドポイントで複数のリソース、ネストされ た構造体のデータを取得することがしやすいよう に構成されている
  • 34. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL のポイント 例えば REST API ベースでこんな画面を作ろうとしたら
  • 35. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL のポイント RESTの思想で実装する場合、リソースごとのリクエストを都度実施する必要があった
  • 36. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL のポイント GraphQLであれば、一つのリクエストで関係性を持つデータを一括で取得して、 クライアントサイドへレンダリングするということが実現することができる!
  • 37. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL で公開されている API Github https://developer.github.com/v 4/ shopify https://help.shopify.com/en/ap i/custom- storefronts/storefront- api/graphql SWAPI GraphQL Wrapper https://github.com/graphql/sw api-graphql
  • 38. © 2018 CData Software Japan, LLC | www.cdata.com/jp デモ
  • 39. © 2018 CData Software Japan, LLC | www.cdata.com/jp GraphQL を利用するにあたってのポイント ・ Query を Java のラムダで書くことができて直感的 ・ 1:Nで構成されている Order と OrderDetails の関係性も一度で取得 ・ スキーマ用エンドポイントが提供されているので、JSON デシリアライズも快適 (ただ、ちょっと Java で使うまでの敷居が高い、、、)
  • 40. © 2018 CData Software Japan, LLC | www.cdata.com/jp 6. 番外編 CData JDBC Driver
  • 41. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData JDBC Drivers って何?
  • 42. © 2018 CData Software Japan, LLC | www.cdata.com/jp 使い慣れた IDE/AP サーバから 100 を超える クラウドサービス・NoSQL に JDBC(SQL) 接続
  • 43. © 2018 CData Software Japan, LLC | www.cdata.com/jp 使い慣れた IDE/AP サーバから 100 を超える クラウドサービス・NoSQL に JDBC(SQL) 接続 リクエストされた SQL を分解し、Web API の HTTP Request に組み立て レスポンスの JSON をレコードセット形式にしてクライアントに返すという仕組み
  • 44. © 2018 CData Software Japan, LLC | www.cdata.com/jp デモ
  • 45. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData Driver を利用するにあたってのポイント ・ SQLでアクセスできるので、HTTP動詞やWeb APIのエンドポイントURLなどを意識す ることなく、データの取得操作が実施可能 ・JOINやWhereなどもサポートしているので、各エンドポイントからデータを取得して、それ をクライアントサイドでマージするといった処理を書く必要が無い ・スキーマ・メタデータ情報にもアクセスすることができるので、動的な値の取得が可能
  • 46. © 2018 CData Software Japan, LLC | www.cdata.com/jp 7. まとめ
  • 47. © 2018 CData Software Japan, LLC | www.cdata.com/jp REST・Swagger・OData・GraphQL 比較表 REST GraphQL OData Swagger メタデータ スキーマ ? サービス次第 ○ 標準エンドポイントで提供 スキーマチェックも厳しい ○ 標準エンドポイントで提供 エコシステムも強い △ 取得できるが実際のAPIとの 整合性は保証されない ドキュメント ? サービス次第 ○ ドキュメントと一緒に 検証環境も提供 △ ドキュメント生成ツールが 別途必要 ○ 一番ドキュメントが 使いやすい クライアントSDK ? サービス次第 △ Java クライアントは 今後に期待 ○ エンタープライズ系が 充実している ○ おそらく対応言語は 一番多く使いやすい
  • 48. © 2018 CData Software Japan, LLC | www.cdata.com/jp Swagger・OData・GraphQL 使ってみた所感 [Swagger] ・Code Generate で生成した Client SDKの使いやすさはピカイチ ・ただ、ドキュメントのアップデートに気を使っているかどうかは、そのプロバイダーにかかっている ・現在も使用しているプロバイダーは増えているので、覚えておいて損はない [OData] ・スキーマやリクエストのコントロールのアプローチは確立されている ・アーキテクチャとしての複雑さ、使う敷居の高さは若干否めない ・Salesforce・Dynamics 365・SAP などが OData なのでエンタープライズ領域としては強みがある [GraphQL] ・Java Client から使う、となるとまだまだ敷居の高さは否めない ・React といった Java Script系クライアント利用がまだ多い ・でも、Github や Shopify がパブリックなAPIを公開、Microsoft も一部ベータ的に GraphQL API を公開し始め たので、今後ウォッチしておく価値はある
  • 49. © 2018 CData Software Japan, LLC | www.cdata.com/jp 最後に。なぜ開発者が API のエコシステムを 理解しておくことが大事なのか? Swagger で CodeGenerate することを知らなければ、 クラス名を一から記述することになり OData で Metadata を取得することを知らなければ、 動的なアプリケーションは作りづらい Web API を ただの REST と捉えてしまうと、 実は大事なものを見落としてしまう 仕様であること、エコシステムがあることを理解しているだけで、 開発者が取れる選択肢は格段に多くなり、開発スピードも上がる!
  • 50. © 2018 CData Software Japan, LLC | www.cdata.com/jp 是非、各仕様・エコシステムを理解してもらいながら 開発に役立ててください! (CData Driver も使ってみてね!)
  • 51. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData Software Japan では メンバーを募集中! https://www.wantedly.com/projects/265684
  • 52. © 2018 CData Software Japan, LLC | www.cdata.com/jp Thanks!