説明
<property> 要素は、ビジネス・プロセスの実行コンテキスト内のプロパティを定義します。
ビジネス・プロセスのライフ・サイクルでは、ビジネス・プロセスが実行を中断または再開するたびに、一定のステータス情報をディスクに保存し、またディスクからリストアする必要があります。BPL ビジネス・プロセスでは、実行コンテキストと呼ばれる、変数グループを使用したビジネス・プロセスのライフ・サイクルをサポートしています。
実行コンテキストの変数には、context、request、response、callrequest、callresponse、process の各オブジェクト、整数値 synctimedout、コレクション syncresponses、および %StatusOpens in a new tab 値の status があります。その目的は変数によって異なります。詳細は、<assign> 要素、<call> 要素、<code> 要素、および <sync> 要素の説明を参照してください。
ほとんどの実行コンテキスト変数は、ビジネス・プロセスに対して自動的に定義されます。ただし、context と呼ばれる汎用コンテナ・オブジェクトだけは、BPL 開発者が定義する必要があります。維持する必要のある値、およびビジネス・プロセスのあらゆる場所で使用する必要のある値は、context オブジェクトのプロパティとして宣言します。そのためには、BPL ドキュメントの冒頭に <context> 要素と <property> 要素を配置します。各 <property> 要素では、context オブジェクトのプロパティを 1 つ定義します。
<property> 要素には name を指定する必要があります。
非コレクション・プロパティの場合は、initialexpression 属性と instantiate 属性で、オブジェクトの初期化方法を指定します。instantiate 属性の値が整数 1 (真) である場合に “new” を呼び出すと、オブジェクトが生成されます。initialexpression 属性も指定されている場合は、この式の結果がオブジェクトに割り当てられます。
instantiate 属性は、インスタンス化可能なプロパティを初期化するときに使用します。一方、initialexpression 属性は、%String などのデータ型クラスを初期化するときに使用します。 値が文字列の場合、その文字列の引用符を別の引用符で囲んでください。つまり、"hello" という初期文字列値を設定する場合は、initialexpression='"hello"' と指定します。
collection 属性 (“list”、“array”、“binarystream”、または “characterstream”) を設定すると、プロパティが自動的にそのタイプのコレクションとしてインスタンス化されます。
以下の例は、ビジネス・プロセスの冒頭にある <context> 要素内に記述された一連の <property> 要素を示しています。
<process request="Demo.Loan.Msg.Application" response="Demo.Loan.Msg.Approval">
<context>
<property name="BankName" type="%String"
initialexpression="BankOfMomAndDad" />
<property name="IsApproved" type="%Boolean"/>
<property name="InterestRate" type="%Numeric"/>
<property name="TheResults"
type="Demo.Loan.Msg.Approval"
collection="list"/>
<property name="Iterator" type="%String"/>
<property name="ThisResult" type="Demo.Loan.Msg.Approval"/>
</context>
...
</process>
各 <property> 要素は、プロパティの名前とデータ型を定義します。使用可能なデータ型クラスのリストは、"クラスの定義と使用" の “データ型” の章で “パラメータ” を参照してください。<property> で初期値を割り当てるには、initialexpression 属性を指定します。また、<assign> 要素を使用すれば、ビジネス・プロセスの実行中に値を割り当てることができます。