GraphQL APIスキーマとエンドポイント | Adobe Experience Manager Sites | アドビ
View this page in English (US).Continue
.

GraphQL APIで、あらゆるアプリに構造化コンテンツを配信

GraphQL APIとAdobe Experience Manager Sitesを活用してオムニチャネルでのコンテンツ配信を加速

Adobe Experience Manager Sitesは、ネイティブGraphQL API統合環境を提供し、webページやアプリなどのデジタルチャネルにおける構造化コンテンツの配信を最適化するように設計されています。 この機能により、開発チームはコンテンツ運用を拡張し、ダイナミックでパーソナライズされた体験への高まるニーズに応えることができます。

GraphQL APIでコンテンツ配信を最適化

従来のREST APIは、複数のサーバー呼び出しや過剰なデータペイロードによりアプリケーションに負荷をかけ、パフォーマンスを低下させ、開発を複雑化させます。 Adobe Experience Manager Sitesは、ネイティブGraphQL APIによりこの課題を解決し、フロントエンドチームが単一の効率的なリクエストで必要なコンテンツを正確にクエリできるようにします。

Adobe Experience Manager Sitesは、エンタープライズCMSの標準ソリューションとして、構造化されたコンテンツ管理と現代的な配信機能を統合しています。 GraphQL統合により、固定的なエンドポイント構造が不要になり、webサイト、アプリ、デジタルエクスペリエンスなどにおいてスケーラブルかつ高性能なコンテンツ配信が可能になります。

今日のコンポーザブルアーキテクチャ向けに設計されたAdobe Experience Manager Sites GraphQL APIは、ページの読み込みの高速化、開発の俊敏性の向上をもたらし、進化する顧客の要求に大規模かつ正確に対応するために企業が必要とする柔軟性を提供します。

GraphQL API統合でコンテンツ制作を改善

Experience ManagerのGraphQL APIは、あらゆるデジタルチャネルへのヘッドレス配信を目的として、構造化コンテンツ(特にコンテンツフラグメント)を公開するよう設計されています。単一の柔軟なエンドポイントとして機能し、クライアントアプリケーションが必要なデータを必要なタイミングで取得することができます。

この現代的なグラフベースのアプローチは、従来のRESTメソッドに比べて明確な利点を提供します。

  • 効率性。複雑なネスト構造のコンテンツを1回のAPI呼び出しで取得できるため、複数のエンドポイントを連結する手間がなくなります。開発が簡素化され、ページの読み込み速度も向上します。
  • 精度。開発者は必要なフィールドのみをクエリできるため、ペイロードサイズが削減され、特にモバイルネットワーク環境でのパフォーマンスが向上します。
  • 柔軟性。GraphQL APIはフロントエンドを問わず使用できるため、React、Angular、Vueなど、あらゆるフレームワークで開発が可能です。独自のSDKに縛られることなく、チームが自由に技術スタックを選択することができます。

GraphQL APIと従来のREST APIの比較

機能

Adobe Experience Manager GraphQL API

従来のREST API

エンドポイント構造
通常、設定ごとに単一の統一されたGraphQLエンドポイントを使用する。
リソースまたはユースケースごとに複数のエンドポイントを使用する。
データ取得
クライアントがクエリで必要なフィールドを正確に指定する。
サーバーがエンドポイントごとに固定のデータ構造を定義する。
オーバーフェッチまたはアンダーフェッチ
回避される。正確なデータが返される。
一般的な問題:必要なデータが過剰または不足する可能性がある。
リクエスト量
関連データ(ネストされたフラグメント)を単一のリクエストで取得する。
関連データの取得には、複数のリクエストが必要になることが多い。
キャッシュ(標準リクエスト)
POSTリクエストは通常、中間サーバーでキャッシュされない。
GETリクエストは容易にキャッシュ可能。
キャッシュ(Adobe Experience Managerのベストプラクティス)
永続化クエリにより、キャッシュ可能なGETリクエストを実現。
GETリクエストは容易にキャッシュ可能。
APIの進化
スキーマは進化可能で、互換性を損なわずにフィールドを容易に追加できる。
フィールドの追加が互換性を損なう可能性があり、バージョン管理が必要になることが多い。

Adobe Experience Manager SitesのGraphQLの主な機能

GraphQLのAPI統合は、Adobe Experience Manager Sitesに次の主要機能を提供します。

GraphQLスキーマの生成

Adobe Experience Manager Sitesは、コンテンツフラグメントモデルからGraphQLスキーマを自動的に生成し、ヘッドレス開発を簡素化します。手作業でのスキーマ作成は不要です。 コンテンツアーキテクトがモデルを定義または更新すると、Adobe Experience Managerはその変更を即座に対応するエンドポイントの完全に型定義されたライブGraphQLスキーマに変換します。

この動的なスキーマ生成により、エンタープライズレベルの利点が得られます。

  • 厳格な型付けと事前検証。スキーマによる型定義により、結果の予測可能性が高まります。また、クエリの実行前に無効なクエリを検出できるため、開発時の手戻りを防ぎ、エラーを削減することができます。
  • 組み込みイントロスペクション。スキーマ自体をクエリすることができるため、GraphQLツールによる自動補完、検証、インラインドキュメンテーションなどの機能を活用することができます。
  • コンテンツ主導の一貫性。スキーマは実際のコンテンツ構造を忠実に反映し、唯一の信頼できる情報源として機能します。制作者と開発者の緊密な連携により、コラボレーションが効率化され、スキーマのずれを防ぐことができます。

Adobe Experience Manager Sitesは、スキーマ生成の自動化によりヘッドレス構築を加速し、メンテナンスのオーバーヘッドを削減し、構造化コンテンツとスケーラブルな配信のギャップを埋めます。

GraphQLで必要なデータを正確にクエリ

GraphQLにより、クライアントアプリケーションはコンテンツリクエストの構造と詳細を完全に制御することができます。Experience Manager Sitesでは、開発者がGraphQLクエリを活用し、コンテンツフラグメントから構造化コンテンツを効率的に取得して、各アプリケーションのニーズに応じた配信を実現します。主な機能は次のとおりです。

  • フィールド選択。必要なフィールドのみを取得することができます。余分なデータを省くことでペイロードサイズを最小化し、パフォーマンスを向上させます。
  • ターゲットを絞ったフラグメントアクセス。パスで個別のコンテンツフラグメントを指定して取得したり、モデルタイプ別にリストを返したりすることができます。
  • 高度なフィルタリング。フィールド値にフィルターを適用して、必要な結果に絞り込むことができます。
  • ネストされたコンテンツの取得。ネストまたはリンクされたコンテンツフラグメントを1つのクエリで取得でき、複雑なコンテンツの関係性にも対応することができます。
  • ローカライズされたコンテンツとバリアント。フラグメントの特定バリエーションをリクエストすることで、パーソナライズされた地域別またはチャネル別のエクスペリエンスを提供することができます。
  • 変数を使った動的クエリ。実行時にIDや検索キーワードなどの値を注入することで、構造を変更することなく、柔軟で再利用可能なクエリを構築することができます。

Adobe Experience Manager SitesのGraphQLでは、スピード、スケーラビリティ、精度を重視して設計された、ヘッドレスコンテンツアクセス用のパワフルで直感的なインターフェイスを利用できます。

安全で拡張性に優れたGraphQLエンドポイントの設定

Adobe Experience Manager Sitesでは、GraphQLクエリは、指定エンドポイント(ヘッドレスコンテンツ配信のアクセスポイントとして機能する特定のURL)に送信されます。 REST APIのように異なるリソースごとに複数のエンドポイントが必要な場合とは異なり、GraphQLは、設定ごとに単一のエンドポイントを通じてインタラクションを一元管理するため、開発が簡素化され、保守性が向上します。

Adobe Experience Manager SitesのGraphQLエンドポイントは、適切なガバナンスを維持するために管理者によって明示的に構成、有効化、公開する必要があります。 このアプローチは、構造化されたコンテンツを公開する前にセキュリティと制御を強化します。 Adobe Experience Manager Sitesは2種類のGraphQLエンドポイントをサポートします。

  • グローバルendpoint。 グローバル設定で定義されたContent Fragment Modelsと、サイト固有の設定に含まれるモデルへのアクセスを提供します。複数のプロジェクトで再利用される共有コンテンツ構造に最適です。
  • サイト固有のendpoint。 特定のサイトまたはプロジェクト設定に紐づいており、対象設定のモデルとグローバル設定のモデルのみにアクセスを制限します。プロジェクト間の影響を最小化し、明確な分離を実現できます。

この柔軟な設定により、企業はブランド、地域、事業部門などをまたいでコンテンツ配信を精確に管理でき、セキュリティや明確さを損なうことなくスケーラビリティを確保できます。

GraphQLエンドポイントへのナビゲーション

よくある質問

GraphQL APIについて詳しく見る

Adobe Experience Manager Sites Optimizer がビジネスにできることを、詳しく見ていきましょう。

導入のご相談