このページはAIで翻訳されています。コミュニティによるレビューはまだ行われていません。 英語で読む

ブログ · 2023年9月11日 · Steve Simpson · 統合

転送してくれ、Codey! シリアル化と逆シリアル化:統合のスタートレック転送装置

はじめに

Salesforce 認定テクニカルアーキテクト兼インストラクターとして、統合のスタートレック転送装置ともいえるシリアル化と逆シリアル化についての知見を共有できるのを楽しみにしています。このプロセスは、Salesforce から Azure へのように、異なるプロセス間でデータを運ぶために欠かせません。

シリアル化と逆シリアル化を理解する

図:プロセス境界をはさんでデータをやり取りするクライアントとサーバー。それぞれがオブジェクトをリクエスト本文やレスポンス本文(XML、JSON、構造化、バイナリ)にシリアル化し、相手側がそれをオブジェクトに逆シリアル化する

シリアル化と逆シリアル化は、あるプロセスから別のプロセスへデータを運ぶための仕組みです。たとえば Salesforce(クライアント)が Azure(サーバー)にデータを送る必要があるとき、データをストリームにシリアル化します。シリアル化されたデータは XML、JSON、固定構造、バイナリのいずれかの形式で、インターネットを通じて Azure に送られます。受け取った Azure は、さらに処理するためにデータを自分が認識できる構造に逆シリアル化します。サーバーからのレスポンスも、逆向きに同じプロセスをたどります。

シリアル化の形式

固定長、XML、JSON の三つのデータ形式の比較。それぞれの例、長所、短所、使用する Apex クラス

固定長形式

レガシーシステムでは固定長形式が一般的でした。この形式は高速ですが柔軟性がなく、形式を作り直さない限り項目の長さを変えたり項目を追加したりできません。現代のデータ交換で固定長形式が使われることはまれです。

XML

XML は拡張可能な定義のおかげで、長らく業界標準でした。形式のバージョンが異なるシステム同士の互換性を保てます。ただし XML はかさばりがちで、解析のためにドキュメント全体をメモリに読み込む必要がある場合もあります。

JSON

JSON は軽量でコンパクトな構造により、新しい業界標準になりつつあります。XML と同様にデータ定義を拡張でき、ほとんどの新しいシステムで採用されています。ペイロードが小さく軽いため、多くの開発者に好まれています。

まとめ:正しい形式を選ぶ

シリアル化と逆シリアル化は、互いに理解できる形式でシステム間にデータを運ぶために欠かせません。形式は通常サーバー側が決め、クライアントはその決定に従わなければなりません。レガシーの固定長、XML、そしてますます人気の JSON と、さまざまな形式があるので、それぞれの利点と制約を理解することが大切です。今後の回では JSON をさらに掘り下げ、業界の流れに合わせて固定 JSON と可変 JSON の両方を見ていきます。

お楽しみに

さらなる知見やヒントは、この www.SteveTechArc.com と YouTube チャンネル @SteveTechArc (opens in a new tab) で。チャンネル登録して、Salesforce と、それをほかのシステムとどう統合できるかの理解を深めてください。

アーキテクト仲間やアーキテクトを目指す人たちと統合の知識を共有して、世界を変える手助けを!

お読みいただきありがとうございました。そして覚えておいてください。Ctrl+Z で多くのことは元に戻せますが、チャンネル登録と学びがもたらす恩恵は元に戻らず、何ものにも代えがたいものです。今後の知見もお楽しみに!

文字起こしには AI を活用

STA 1.4