Adobe Commerce / Magento Open Sourceのフロントエンドの課題をどうするか〜その3

今回は「Adobe Commerce / Magento Open Sourceのフロントエンドの課題をどうするか〜その2」の最後で予告した通り、「ヘッドレス構成」について解説していきたいと思います。

そもそも「ヘッドレス」とはなにか

「ヘッドレス」を英文表記すると「Headless」になります。
IT用語辞典 e-words」によると、

ソフトウェアについてヘッドレスという場合は、通常は用意されている表示・操作画面が存在しないか切り離されており、別の方法で操作・使用できるようになっていることを指す。

例えば、Webブラウザを通常のウィンドウ表示で操作せず、OSのシェルなどからコマンド入力で起動・操作する方式などが該当する。操作をスクリプトなどで自動化しつつ、アクセス先のWebサイトには人間が操作しているかのように装うことができる。

となっています。

CMSやECプラットフォームなどの場合は、Web APIでブラウザ経由で提供されていた機能を代替すると考えてよいでしょう。
特に昨今は

  • REST API
  • GraphQL
  • Webhook
  • gRPC

などがよく使われる技術として定着しているように思います。

Adobe Commerce / Magento Open Sourceをヘッドレス構成で使うには

さて、Adobe Commerce / Magento Open Sourceをヘッドレスで利用したい場合はどうすればよいでしょうか?
Adobeの買収前は差がなかったのですが、最近ではかなり方法に差がでてきています。

共通する方法

Adobe Commerce / Magento Open Sourceに共通して利用できるものとしては、

  • REST API(同期・非同期 / バルク)
  • SOAP
  • GraphQL

があります。
コアの実装についてはバージョンアップの度に対応範囲・内容の拡充・改良が行われており、これは今後も継続されるものと予想します。
SOAPを利用するシーンはかなり減っているように思われるため、この記事はREST APIとGraphQLについて紹介したいと思います。

REST APIの使い方

REST APIの使い方については、

から始まる一連の記事をお読みいただければ良いと思います。

2.3以降で利用できる非同期 / バルクAPIについては、AMQP(Asynchronous Message Queue Protocol)に対応したメッセージキューサーバーが必要です。
こちらについても以下の記事で紹介しています。

GraphQLの使い方

Adobe Commerce限定で利用できる方法

最近のAdobe Commerceでは、Magento Open Sourceに含まれていないAdobeが提供するSaaSサービスをライセンス費用の範囲で利用できるようになっています。
例えば、

  • App BuilderとAPI Mesh
  • Catalog Service
  • Data Connection

などがあります。
これらのサービスの利用方法については別記事で取り上げたいと思いますが、いずれにしてもMagento Open Sourceにはない仕組みがAdobe Commerceには用意されています。
このあたりはやはり有償版ならではの対応というところでしょうか。Magento Open Sourceの場合はすべて自力で対応する必要があります。

ヘッドレス構成で使う場合の課題

ここまではAdobe Commerce / Magento Open Sourceのヘッドレス対応状況を紹介してきました。
では、ヘッドレス構成を取った場合に課題がゼロなのか?といえばそんな事はありません。
例えば以下のような課題がよく議題としてはでてきます。

  • APIアクセスが引き起こす負荷
  • 決済連携
  • 開発・維持コスト

これらについては次回解説していきたいと思います。

まとめ

今回はAdobe Commerce / Magento Open Sourceをヘッドレス構成で利用する場合に利用できるWeb APIについて解説しました。
バージョン2.3以降はGraphQLも使えるようになり、アップデートごとに改良が加えられています。

次回はヘッドレス構成で起き得る課題について解説していきたいと思います。