GraphQLなしのAPI呼び出しは絶望的
専門家が語る、REST APIオンリーの限界とGraphQLを使うべき理由
『GraphQL for Modern Commerce』の著者による、GraphQLのメリットとデメリット。これを読むと、REST APIだけでの開発がいかに絶望的であるかが分かる。
クエリ言語「GraphQL」はFacebookが考案し、2015年にオープンソース化された。Twitter、Amazon Web Services、GitHubなど、多くのアプリやWebサイトがGraphQLで構築されている。
GraphQLはREST API、任意のアプリケーション、データストアの上位に位置するレイヤーだ。このレイヤーによって複数のAPIにまたがるデータの取得と抽出のプロセスが容易になる。
例えばある小売業者の開発者として、製品ページのレンダリングを担当しているとする。300件のREST APIカタログの構築は済んでいる。今必要なのは製品の説明、価格、類似商品などのデータにアクセスするための製品詳細のページだ。
必要なAPIは10件かもしれないし、200件かもしれない。
APIを1つずつ個別に呼び出すことも可能だ。だがそれでは時間がかかる。各APIには大小さまざまな違いがあるため、それらを呼び出すのはマイクロサービス環境だと難しくなる恐れがある。どのAPIを呼び出せばよいのか分からない。どのAPIが最新データを提供するのかも分からない。相手が倉庫管理システムなのかERPなのか、それともその他のシステムなのかも分からない。
全てのルールを決める1つのクエリ
GraphQLでREST APIを利用する場合、必要な情報を記述したクエリを1つ発行するだけだ。そのクエリに伴う面倒な処理はGraphQLレイヤーが行い、その呼び出しを個別のAPIに直接送る。
その結果、要求したデータを含む1つのJSONオブジェクトが返される。それ以上でもそれ以下でもない。「テーブル1からXを選び、テーブル2にそれを結合する」という要求をデータベースに行うSQLクエリのようなものだと考えればよい。
GraphQLは開発者が抱える多くの悩みを解消する。Webページ、アプリケーション画面、その他のエクスペリエンスを最初のインスタンスで素早くレンダリングできるだけではない。データを過剰に取り込んだりデータの取り込みが不足したりすることもない。
データ取り込みの過不足
取り込むデータの不足はREST APIではよく起きる問題だ。遅延が大きく帯域が狭いセルラーネットワークに接続された古いスマートフォンなど、処理能力に制限がある端末は特に影響を受ける。多数のHTTP要求を行えば、ページの読み込み速度が大幅に低下する。
データの過剰取り込みもパフォーマンスに深刻な問題を引き起こす恐れがある。例えばスマートウォッチ向けに製品ページを構築しているとする。必要なのは製品名、画像、価格だけなのに、100件のフィールドが返されることがある。
GraphQLは多くのメリットをもたらす。
全てのAPIを呼び出すのはGraphQLレイヤーだ。開発者ではない。そのためメンテナンスが必要なコードは少ない。その上、GraphQLでは全ての要求がデータセンター内で行われる。データセンター内ならば遅延時間がほぼゼロで、事実上演算能力が制限されない。エンドユーザーにとってはアプリケーションの読み込みが高速になる。
GraphQLはレイヤーなので、フロントエンドからバックエンドが切り離される。開発者は容易かつ迅速に変更を加えることができる。これは、新機能を継続的にテストしてリリースする必要に迫られるITチームにとって役に立つ。
その他のメリット
開発者がGraphQLについて知っておくべきことは他に何があるだろう。
GraphQLは製品でも実装でもない。GraphQLは仕様だ。使用するプログラミング言語による差異は生じない。開発者はこの仕様に従うコードを記述するだけだ。HTMLのようなものだと思えばよい。HTMLでは、Webページをレンダリングするコードは個々のブラウザが実装する。さらに、GraphQLはREST APIを補完するものであり、置き換えるものではない。
多くの技術と同様、デメリットもある。GraphQLはメンテナンスを必要とするレイヤーだ。セキュリティに対して責任を持つのはユーザーだ。GraphQLの複数のエンドポイントやスキーマを組み合わせるのは難しくなる恐れがある。
とはいえ、GraphQLのメリットはデメリットを補って余りある。
ますます競争が激化する市場で商取引を行う企業は、ツールを利用してできる限り機敏になり、時間を節約して最高のカスタマーエクスペリエンスを提供する必要がある。
商用アプリケーションを構築する場合、GraphQLが理想的なツールになる。
ケリー・ゴーチュ氏はcommercetoolsのCPO(最高製品責任者)で、『GraphQL for Modern Commerce』(O'Reilly、2020年)の著者でもある。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社ビザスク] 製造業の新事業創出 成功の鍵は「タラレバ問題克服」と「3つの判断ポイント」 -
製品資料
[日本シーゲイト株式会社] 実験のやり直しを防止 研究データ基盤に求められる高可用性ストレージとは -
製品資料
[株式会社Leaner Technologies] もっと安く買えるのに…… 間接材購買で“コスト削減機会”を逃さないためには -
製品資料
[株式会社セールスフォース・ジャパン] フィールドサービスの熟練技術者が「AIエージェント」を求めている理由 -
製品資料
[株式会社グリーンフィールド・オーバーシーズ・アシスタンス] 基礎から分かる「就労ビザ」 アメリカ進出を目指すなら知っておきたい取得戦略
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ情シスは評価されにくい? 読者調査で見えた「成果が見えない仕事」第1位は
-
2
脱VMwareか、継続か? 仮想化ソフト主要6製品の機能とスペックを徹底比較
-
3
AIが本番環境を削除し復旧に13時間 「暴走」ではなかったAWS事例
-
4
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
5
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
6
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
7
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
8
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
9
Microsoft 365の知られざる5つの裏口 パスワードを変えても攻撃者は消えない
-
10
DX導入企業の3割超がむしろ「負担増」 9割が陥る“内製化のわな”
ホワイトペーパーランキング PR
-
1
登録セキスぺが語る「SCS評価制度」の舞台裏 星を取得すべき理由と対応のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
4
OSSでは困難 100超のサービスを持つマネーフォワードが実践した統合監視術
-
5
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
6
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
7
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
10
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー