仮想ドキュメント
ここでは、仮想ドキュメントの定義、有効性、および標準メッセージとの違いについて説明します。また、仮想ドキュメントを標準メッセージと全く同じように使用するために InterSystems IRIS から提供されているツールについても紹介します。
概要
仮想ドキュメントはメッセージの一種で、InterSystems IRIS® データ・プラットフォームでは部分的にしか解釈されません。仮想ドキュメントの目的を理解するには、プロダクション・メッセージをもう少し詳しく調べる必要があります。すべてのプロダクション・メッセージが次の 2 つの部分から構成されています。
-
メッセージ・ヘッダには、InterSystems IRIS 内でメッセージをルーティングするために必要なデータが含まれています。メッセージ・ヘッダは、常に同じタイプのオブジェクトです。これは、永続オブジェクトです。つまり、InterSystems IRIS データベース内のテーブルに保存されます。
-
メッセージ・ボディには、メッセージ・データが含まれています。標準メッセージの場合は、メッセージ・ボディが永続オブジェクトです。仮想ドキュメントの場合は、後述するように、メッセージ・ボディが別の方法で実装されます。
オブジェクトは、データの各断片を別々のプロパティとして表現します。これには、オブジェクト内の任意の値に簡単にアクセスできるというメリットがあります。コードを記述するときは、値を取得するために、名前でクラス・プロパティを参照します。
EDI (Electronic Data Interchange) 形式の場合は、このアプローチが扱いにくく、不要なものになります。これは、大量のプロパティ (数百個になる場合もある) が必要となり、オブジェクトのインスタンスの作成プロセスに時間がかかる可能性があるためと、アプリケーションが多くても、ドキュメント内で実際に使用可能なフィールドのほとんどが使用されないためです。
これらの問題を解決するために、InterSystems IRIS には仮想ドキュメントと呼ばれる別の種類のメッセージ・ボディが用意されています。仮想ドキュメントを使用すれば、ドキュメントの内容を正式なプロパティのセットとして保持するためのオブジェクトを作成せずに、ドキュメントの内容そのままをプロダクション・メッセージのボディとして送信できます。仮想ドキュメント内のデータは内部使用グローバルに直接保存されるため、処理速度が向上します。
仮想ドキュメント・アプローチは XML ドキュメント (標準メッセージとして処理することもできる) に対しても有効です。
仮想ドキュメントの種類
InterSystems IRIS では、以下の種類のドキュメントを仮想ドキュメントとして処理できます。
ドキュメントの種類 | 参照先 |
---|---|
EDIFACT ドキュメント | プロダクション内での EDIFACT ドキュメントのルーティング |
X12 ドキュメント | プロダクション内での X12 ドキュメントのルーティング |
XML ドキュメント | プロダクション内での XML 仮想ドキュメントのルーティング |
XML ドキュメントを標準メッセージとして処理することもできます。これを実現するには、対応する XML スキーマからクラスを生成する必要があります。詳細は、"XML ツールの使用法" を参照してください。
仮想ドキュメントの内容へのアクセス
仮想ドキュメント内のデータを操作するには、その中の特定のデータ項目を識別できる必要があります。このデータ項目を仮想プロパティといいます。仮想プロパティ・パスは InterSystems IRIS で仮想プロパティの場所を指定するために使用される構文です。仮想プロパティ・パスは、特に、以下の場所で使用できます。
-
ビジネス・ルール。以下に例を示します。
仮想プロパティ・パスが中かっこで囲まれています。
-
データ変換。以下に例を示します。
[プロパティ] と [値] の両方に関して、仮想プロパティ・パスが中かっこで囲まれています。
結果的に、プロダクションでは、標準メッセージとほとんど同じように仮想ドキュメントを操作できます。
詳細は、"仮想プロパティ・パス" を参照してください。
フィルタと検索のサポート
標準のメッセージ本文の場合、管理ポータルでメッセージの各プロパティを直接検索することができます。つまり、ユーザは、プロパティのパスを知らなくても、プロパティを検索やフィルタリングに使用することが可能です。
デフォルトで、メッセージ識別子を除いて、管理ポータルでは、仮想ドキュメント内のデータを直接検索することはできません。そのため、ユーザがデータ項目を検索やフィルタリングに使用するには、その項目のプロパティ・パスを知っている必要があります。
ユーザを支援するために、以下のメカニズムを使用して、仮想プロパティを直接検索可能にできます。
-
検索テーブル・クラスを定義します。このクラスでは、仮想プロパティ・パスを使用して検索可能プロパティを定義します。
-
検索テーブル・クラスを使用するうえで適用可能なビジネス・ホストを構成してください。
ビジネス・ホストでメッセージが受信されると、InterSystems IRIS によってそれらのプロパティが標準メッセージ本文内のプロパティであるかのようにインデックスが割り当てられます。
これにより、ユーザは使用するプロパティ・パスを知らなくても、それらのプロパティを直接使用できるようになります。以下に例を示します。
検索テーブルの定義方法は、"検索テーブルの定義" を参照してください。