第6章 プロトコルの相互運用性
クライアントは、REST や Hot Rod などのエンドポイントを介して Data Grid とデータを交換します。
各エンドポイントは異なるプロトコルを使用するため、クライアントが適切な形式でデータの読み取りと書き込みを行うことができます。Data Grid は複数のクライアントと同時に相互運用できるため、クライアント形式とストレージ形式間でデータを変換する必要があります。
Data Grid エンドポイントの相互運用性を設定するには、キャッシュに保存されているデータの形式を設定する MediaType を定義する必要があります。
6.1. メディアタイプおよびエンドポイント相互運用性に関する考慮事項
特定のメディアタイプでデータを保存するように Data Grid を設定すると、クライアントの相互運用性に影響します。
REST クライアントはエンコードされたバイナリーデータの送受信をサポートしますが、JSON、XML、プレーンテキストなどのテキスト形式を処理する方が適切です。
Memcached テキストクライアントは、String ベースのキーと byte[] の値を処理できますが、サーバーとデータ型をネゴシエートすることはできません。これらのクライアントは、プロトコル定義が原因でデータ形式を処理する際に柔軟性が高くありません。
Java Hot Rod クライアントは、キャッシュに存在するエンティティーを表す Java オブジェクトを処理するのに適しています。Java Hot Rod クライアントはマーシャリング操作を使用して、これらのオブジェクトをバイトアレイにシリアライズおよびデシリアライズします。
同様に、C++、C#、Javascript クライアントなどの Java Hot Rod クライアントは、それぞれの言語でオブジェクトを処理するのに適しています。ただし、Java 以外の Hot Rod クライアントは、プラットフォームに依存しないデータ形式を使用して Java Hot Rod クライアントと相互運用できます。