外部のデータと内部のデータ -- サービス指向アーキテクチャがデータに与える影響の考察

サービスの設計原則として「自律性」がありますが、サービス間でデータを参照するにはどのようにしたら良いのでしょうか。この記事はサービスの内部と外部という観点からデータの特性の違いやモデルを論じています。単一コンピュータ内部ではオブジェクト間の通信時間を意識することはあまりないでしょう。しかし、SOAでは、他のサービスから来た外部のデータは「過去」のデータです。分散コンピューティングの分野では昔から議論されてきたことでしょうが、これを現実のシステム設計で考慮するのは大変です。

参照データは、メッセージングにおいて重要な役割を担います。 参照データとは、サービスの境界にまたがって発行されるデータです。オペランド、過去の成果物、共有されたコレクションは、すべて参照データです。オペランドは、処理のために送信されるオペレータ要求を作成するためのパラメータやオプションです。過去の成果物は、発行する側のサービスの内部で過去に起こった出来事を表します。 共有されたデータ コレクションは複数のサービスによって使用され、常に変化し続けます。 その結果、一般にパートナー サービスでは、最近のバージョンのデータにしかアクセスできません。

参考: SOAの10 原則

(6/16追記)
原文:Data on the Outside vs. Data on the Inside