PEX メッセージング
PEX フレームワーク内では、ビジネス・ホスト間で送信されるメッセージのほとんどは、以下のいずれかのサブクラスからインスタンス化されたオブジェクトです。
言語 | メッセージ・クラス |
---|---|
Java | com.intersystems.enslib.pex.Message |
.NET | InterSystems.EnsLib.PEX.Message |
Python | iris.pex.Message |
必要な操作は、サブクラスにプロパティを追加し、そのサブクラスのインスタンス化されたオブジェクトを、SendRequestAsync() や SendRequestSync() などのメソッドを使用して渡すだけです。InterSystems IRIS 内では、PEX 対応言語で記述されたメッセージ・オブジェクトは、メッセージを永続的および動的にする、EnsLib.PEX.Message クラスのオブジェクトに対応します。EnsLib.PEX.Message タイプのオブジェクトを操作することにより、外部 PEX オブジェクト内の任意のプロパティを参照できます。内部的には、PEX オブジェクトはビジネス・ホスト間で渡される際に JSON として表されるため、管理ポータルでメッセージを表示すると JSON 形式で表示されます。
他のメッセージ・オブジェクトを使用することもできますが、これらがビジネス・ホスト間で渡される場合は、やはり永続的である必要があります。組み込みの ObjectScript コンポーネントにオブジェクトを渡すには、IRISObject タイプを使用して、これをその ObjectScript コンポーネントで必要な永続オブジェクトにマッピングします。例えば、EnsLib.PubSub.PubSubOperation にメッセージを送信する場合は、IRISObject を EnsLib.PubSub.Request にマッピングします。ビジネス・ホスト間で非永続オブジェクトをメッセージとして渡そうとすると、実行時エラーが発生します。
受信アダプタからビジネス・サービスに送信されるオブジェクトは任意で、永続的である必要はありません。