別システムに処理を依頼する時のMessage
他システムが提供している機能を使う必要があるとき 通常はRemote Procedure Invocationを使うけど、Messagingのいいとこ取りもしたいよね
他システムの処理を実行するのにメッセージングってどう使えるの?
Remote Procedure Invocationの利点は同期的なところなんだけど、欠点でもある
ローカルでの実行はリモートよりは信頼性がある
ということで、疑問なのはメッセージで処理の呼び出しをどう作るのかってこと
オブジェクトとしてリクエストをカプセル化するという、GoFのCommandパターンがある
他システムの信頼性を持った処理呼び出しにCommand Messageを使う
コマンドには特殊なメッセージタイプってのはない
Command Messageは通常Point-to-Point Channelを通して送られる
RPCスタイルのSOAPメッセージを使うと、リクエストメッセージはCommand Messageパターンになる
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
わかりやすい内容でした(高江洲)