テンプレート・プロパティー情報の提供

コラボレーションの「テンプレート定義」ウィンドウには、表 24 にリストしているコラボレーション・テンプレートのプロパティーの定義に使用する 4 つのタブがあります。

表 24. 「定義」ウィンドウのタブ
「テンプレート定義」タブ 説明 詳細
その他 コラボレーション・テンプレートに関する以下の情報を定義できます。
  • テンプレートの説明
  • 長期存続ビジネス・プロセス (LLBP) のサポート
  • 最小トランザクション・レベル
  • パッケージ情報
"一般プロパティー情報の定義 (「一般」タブ)"
宣言 テンプレート変数を定義したり、システム生成テンプレート変数を表示したりできます。 "テンプレート変数の宣言と編集 (「宣言」タブ)"
プロパティー ユーザー定義のコラボレーション・テンプレート・プロパティーの名前、型、および値を指定できます。 コラボレーション構成プロパティーの定義 (「プロパティー」タブ)
ポートおよびトリガー・イベント コラボレーション・テンプレートのポートおよびトリガー・イベントを定義できます。 "ポートおよびトリガー・イベントの定義 (「ポートおよびトリガー・イベント」タブ)"

一般プロパティー情報の定義 (「一般」タブ)

「定義」ウィンドウの「一般」タブ (図 26 を参照) には、コラボレーション・テンプレートに関する一般プロパティー情報 (表 25 に記載されている情報を含む) が表示されます。

表 25. 一般テンプレート定義情報
一般テンプレート・プロパティー 説明 詳細
コラボレーション・テンプレートの説明
コラボレーション・テンプレートのこのフィールドを使用するかどうかは任意です。このフィールドには、コラボレーション・テンプレートのすべてのユーザーが使用可能なテキストを入力できます。 なし
長期存続ビジネス・プロセスのサポート テンプレートが長期存続ビジネス・プロセスをサポートするかどうかについて指定します。 "長期存続ビジネス・プロセスのサポートの追加"
トランザクション・レベル (トランザクション・コラボレーションのみ) コラボレーションのすべての操作に対して最小トランザクション・レベルを設定します。 "最小トランザクション・レベルの指定"
コラボレーション・パッケージ コラボレーションが格納されている Java パッケージ。 "コラボレーション・パッケージの指定"

図 26 に、「定義」ウィンドウ内の「一般」タブを示します。

図 26. 一般コラボレーション・プロパティー


長期存続ビジネス・プロセスのサポートの追加

長期存続ビジネス・プロセスのサポートを使用すれば、コラボレーションを長期存続ビジネス・プロセスとして配置し、この環境でのサービス呼び出しのタイムアウト値を指定できます。この機能を使用するには、次の手順を実行する必要があります。

最小トランザクション・レベルの指定

コラボレーションがトランザクションである場合、InterChange Server Express は、トランザクションが失敗するとコラボレーションをロールバックします。

ロールバックにより、テンプレート定義の差し戻しが実行され、コラボレーションのデータの変更が元に戻されます。トランザクション・コラボレーションについては、"トランザクション機能の使用"を参照してください。

トランザクション・レベルにより、コラボレーションのシナリオを実行するためのメカニズムが決定します。コラボレーション・オブジェクトは、表 26 に記載されているトランザクション・レベルの 1 つで実行されます。

表 26.
トランザクション・レベル
トランザクション・レベル 影響 システムの振る舞い
なし コラボレーションはトランザクションではありません。 コラボレーションの実行時にエラーが発生すると、システムはこれをログに送信してから実行を終了します。
最小限の努力
コラボレーションはトランザクションです。コラボレーションのシナリオのサブトランザクションに差し戻しが定義されています。 このシナリオの実行時にエラーが発生すると、InterChange Server Express は、各サブトランザクション・ステップの差し戻しを実行し、シナリオをロールバックします。
最善的
最小限の努力と同じ処理を行います。差し戻し以外に、データ分離を使用して正確さを確保します。 InterChange Server Express は、データの値が前回の使用以降に変更されているかどうかをチェックします。この方法で、トランザクション・コラボレーションでの使用期間にデータが実際に分離されているかどうかをチェックします。最善的分離チェックの実行時、データがその他のアプリケーション・トランザクションによる変更に対してぜい弱である場合、分離チェックの際小さい時間のウィンドウが表示されます。
厳重
最善的で行われる処理をすべて行います。ただし、ぜい弱点に関するデータ分離ウィンドウは表示されません。 分離のチェック時にアプリケーションによってデータがロックされます。API がアトミック「テストおよび設定」操作をサポートしているアプリケーションによってサポートされています。

コラボレーション・テンプレートの開発者は、テンプレートから作成したコラボレーション・オブジェクトに最小トランザクション・レベルを設定します。例えば、コラボレーションが重要なデータを処理する場合、処理に失敗するとコラボレーションが必ずロールバックされるようにするには、最小トランザクション・レベルを「最小限の努力」に設定します。トランザクションを実行するコラボレーションを設計するときに、トランザクション機能を使用しなくてもコラボレーションを正常に使用できるようにするには、最小トランザクション・レベルを「なし」に設定できます。

コラボレーション・オブジェクトのコネクターがより高いトランザクション・レベルをサポートしている場合、管理者は、コラボレーション・オブジェクトのトランザクション・レベルを上げることができます。ただし、コラボレーション・オブジェクトのトランザクション・レベルは、テンプレートに指定されている最小レベルより低いレベルにすることはできません。
ヒント

コラボレーション・テンプレートの最小トランザクション・レベルを「なし」に設定しているときに、差し戻しを作成してトランザクションを操作できるようにすることが可能です。より厳密なレベルが必要で、使用中のコネクターがより高いトランザクション・レベルをサポートできる場合、管理者は、バインド時にコラボレーション・オブジェクトのトランザクション・レベルを上げることができます。差し戻しの詳細については、差し戻しの定義を参照してください。

コラボレーション・テンプレートに最小トランザクション・レベルを割り当てる手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「一般」タブが表示されているかどうかチェックします。
  2. 「最小トランザクション・レベル」プルダウン・メニューを用いて、使用する最小トランザクション・レベルを選択します。トランザクションではないコラボレーション・テンプレートを編集している場合は、デフォルト値を「なし」のままにします。
  3. 「適用」をクリックして変更内容を保管します。

コラボレーション・パッケージの指定

パッケージは、関連する機能があるコラボレーションのグループです。Process Designer Express がアクセスするすべてのコラボレーションは、UserCollaborations パッケージまたは UserCollaborations のサブパッケージに含まれます。

このため、UserCollaborations パッケージには以下が含まれます。

UserCollaborations の下にサブパッケージを作成して、カスタム・コラボレーション・テンプレートをグループ化できます。例えば、オフィス用品を扱う複数のコラボレーション・テンプレートを作成する場合、OfficeSupplyMgmt と呼ばれるサブパッケージを作成することが可能です。その中に、PaperClipMgmt コラボレーションおよび PencilInventory コラボレーションを格納できます。

コラボレーション・テンプレートがパッケージに含まれていることを指定すると、Process Designer Express はパッケージ名を使用して、統合コンポーネント・ライブラリー・プロジェクトの Template¥Classes ディレクトリー内にサブディレクトリーを作成します。 (配置時にはパッケージ情報を格納するディレクトリーとして ProductDir¥collaborations¥classes¥UserCollaborations ディレクトリーが作成されます。)

製品のインストール時に、クラスパス内の UserCollaborations の下にすべてのコラボレーションを含めるように CLASSPATH 環境変数が設定されています。

Process Designer Express は、コラボレーション・テンプレートの .class および .java ファイルを、サブディレクトリー内に格納します。

コラボレーション・テンプレートを格納するパッケージを指定する手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「一般」タブが表示されているかどうかチェックします。
  2. 「パッケージ」フィールドに、コラボレーション・テンプレートを格納するパッケージの名前を入力します。

    既存のパッケージに名前を指定すると、Process Designer Express によりコラボレーション・テンプレートがパッケージに追加されます。存在しないパッケージの名前を指定すると、Process Designer Express によってパッケージが作成されます。

  3. 「適用」をクリックして変更内容を保管します。

既存のコラボレーション・テンプレート定義を変更して、いつでもパッケージ名を追加または変更することができます。

テンプレート変数の宣言と編集 (「宣言」タブ)

「テンプレート定義」ウィンドウの「宣言」タブには、コラボレーション・テンプレートのテンプレート変数に関する情報が表示されます。テンプレート変数 は、コラボレーション内のすべてのシナリオを対象範囲としたコラボレーション変数です。つまり、テンプレート変数は、コラボレーション内のすべてのシナリオに対してグローバルな変数です。

(シナリオ変数は、Java プログラム言語のクラス変数に相当します。) 例えば、顧客トランザクションを含むコラボレーションには、すべてのシナリオについて顧客を識別する customerID テンプレート変数があります。テンプレート変数は、開発中、いつでも作成できます。

図 27 に、「テンプレート定義」ウィンドウ内の「宣言」タブを示します。

図 27. 「テンプレート定義」ウィンドウの「宣言」タブ


「宣言」タブでは、以下の操作を行うことができます。

Java パッケージのインポート

「宣言」タブを使用して、特定の Java クラスをコラボレーションにインポートできます。 Java クラスは、その他のクラスのパッケージをインポートして、それらの機能にアクセスします。例えば、クラスが、java.math、java.security、および java.text パッケージをインポートして、それぞれの演算機能、セキュリティー機能、および国際化対応機能を使用することがあります。コラボレーション・テンプレートはクラスであるため、Java Development Kit またはサード・パーティー製品から提供されるクラスまたはクラスのグループ (パッケージと呼ぶ) を使用できます。

デフォルトでは、すべての Java クラスが、パッケージ java.lang 内のクラスを暗黙的にインポートします。

また、Process Designer Express も、すべてのコラボレーション・テンプレートで使用するためにパッケージ java.util 内のクラスを暗黙的にインポートします。

以下の import ステートメントは、java.math クラスを JDK からインポートします。

(アスタリスクは、特定のパッケージ内のすべてのクラスをインポートすることを示します。)

java.math.*;
 

また、以下のステートメントにより、パッケージの BigDecimal クラスのみをインポートします。

java.math.BigDecimal;
 

import ステートメントは、コラボレーションの開発中はいつでもコードに追加できます。

Java クラスをインポートする手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「宣言」タブが表示されているかどうかチェックします。
  2. インポート・テーブルの左側の見出しセルにカーソルを置きます。図 28 に示すように、右マウス・ボタンでクリックして、「追加」を選択します。テーブルに新しい行が追加されます。
    注:
    テーブルの最後の行をクリックして、新しい行を追加することもできます。

    図 28. import ステートメントの追加


  3. 「インポート」列内に任意の import ステートメントを入力します。以下に例を示します。
    java.math.*
     
  4. 必要に応じて、「コメント」列に import ステートメントの要旨を入力します。
  5. 「適用」をクリックして変更内容を保管します。
  6. import ステートメントを追加するには、ステップ 2 からステップ 5 を繰り返します。コラボレーション・テンプレート内に格納できる import ステートメントの数は無限です。

インポートしたクラスが JDK ではなくサード・パーティー・パッケージのものである場合、ProductDir¥bin¥cwtools.cfg ファイルの [codeGeneration] セクションを編集し、テンプレートのコンパイル前のパッケージ・パスを反映する必要があります。

サード・パーティー・パッケージからインポートされたクラスを使用するコラボレーションを配置する前に、コラボレーションが配置されるシステムの JCLASSES 変数を更新する必要があります。インポートしたクラスが JDK ではなくサード・パーティーのものである場合、このクラスを、JCLASSES 変数のインポート済みクラスのパスに追加する必要があります。IBM では、なんらかの機構を使用して、JCLASSES に含まれるこれらの標準のクラスをカスタム・クラスと区別することを推奨します。例えば、以下のように、このようなカスタム・クラスを保持する新しい変数を作成し、この新しい変数を JCLASSES に追加します。

  1. CwMacroUtils.jar ファイルを、専用ディレクトリーの中に格納します。例えば、製品ディレクトリーの下に ¥dependencies ディレクトリーを作成して、その中に .jar ファイルを格納します。
  2. ICS を始動するときに使用されるファイル (デフォルトでは ProductDir¥bin¥start_server.bat または ProductDir/bin/CWSharedEnv.sh) を編集し、CWMacroUtils.jar ファイルの新しいパスを記述します。以下のエントリーをファイルに追加します。
    set DEPENDENCIES=ProductDir/dependencies/CwMacroUtils.jar
     

    ここで、ProductDir は、Business Integration Express がインストールされているロケーションです。

  3. ご使用のオペレーティング・システムに応じた新しい DEPENDENCIES 変数を、次のように JCLASSES エントリーに追加します。

    UNIX システムでは次の構文を使用します。ExistingJarFiles は、JCLASSES に指定されている .jar ファイルです。

    set JCLASSES = $JCLASSES:ExistingJarFiles:$DEPENDENCIES
     

    Windows システムでは次の構文を使用します。ExistingJarFiles は、JCLASSES に指定されている .jar ファイルです。

    set JCLASSES = ExistingJarFiles;%DEPENDENCIES%
     
  4. カスタム・クラスを使用しているコラボレーションごとに、CwMacroUtils.jar ファイルで指定されている PackageName.ClassName を含めます。
  5. ICS を再始動し、コラボレーションに対してメソッドを有効にします。

カスタム・クラスのインポート時には、Business Integration Express ソフトウェアがそのカスタム・クラスを検出できなかったことを示すエラー・メッセージが表示されることがあります。その場合は、以下をチェックしてください。

例えば、カスタム・クラスのインポート時に、ProductDir¥lib¥com¥crossworlds¥package という名前のフォルダーを作成できます。ここで、ProductDir は Business Integration Express がインストールされているロケーションを示し、package はご使用のパッケージの名前を示します。次に、作成したフォルダーにカスタム・クラス・ファイルを格納します。最後に、start_server.bat ファイルの中の CLASSPATH 変数の中に、ProductDir¥lib というパスを含めます。

テンプレート変数の宣言

「宣言」タブを使用して、コラボレーションが使用するユーザー独自のテンプレート変数を宣言することもできます。

変数を使用するには、タイプおよび名前を指定して、最初に変数を宣言する必要があります。コラボレーション・テンプレートの変数のデータ型は以下のいずれかです。

注:
LongText および Date は、ビジネス・オブジェクト属性における特殊用途ストリング用の製品固有の指定です。

LongText または Date データ型のビジネス・オブジェクト属性に変数を指定するには、コードに String データ型を使用します。

テンプレート変数を宣言する手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「宣言」タブが表示されているかどうかチェックします。
  2. 変数テーブルの左側の見出しセル内にカーソルを置きます。右マウス・ボタンでクリックして、「追加」を選択します。テーブルに新しい行が追加されます。
    注:
    テーブルの最後の行をクリックして、新しい行を追加することもできます。
  3. 宣言する変数のタイプを指定するには、「タイプ」列のドロップダウン・メニューを使用します。
  4. 「名前」列で変数の名前を指定します。
  5. 「初期値」列で変数の初期値を指定します。
    注:
    ストリング値は、引用符で囲んで入力する必要があります (例えば、ストリング Yes"Yes" のように入力します)。
  6. 変数 (public、private、protected など) に適用させる修飾子を、「Modifier1」、「Modifier2」、および「Modifier3」列で指定します。すべての 3 つの列において修飾子を指定する必要はありません。
    注:
    テンプレート変数を定義するときには修飾子 Static を使用しないでください。
  7. タブの上部にある宣言のリストに新しい変数を追加するには、「更新」をクリックしてから、「適用」をクリックして変更内容を保管します。

コラボレーションに対する複数回の呼び出しについて、その値が永続的となる変数を宣言できます。コラボレーション内でアクションのカウンター・データを記録し、このコラボレーションを実行するたびにこのカウンターを増分するとします。ctr という名前の public の integer 型変数を作成するには、「宣言」タブの中の変数テーブルを使用します。

次に、コラボレーション・コード自体の中で、カウンターを増分します。

ctr = ctr+1;
 

ctr 変数は、コラボレーションが実行されるごとに増えます。

長期存続ビジネス・プロセスとともに使用するテンプレート変数に関する特殊考慮事項

コラボレーションを長期存続ビジネス・プロセスとして配置する場合には、永続させる変数をすべてグローバル・テンプレート変数またはグローバル・ポート変数として定義してください。

また、これらの変数のデータ型が次のいずれかでなければなりません。

その他のデータ型の変数は、長期存続ビジネス・プロセスでは永続されません。

システム生成変数

Process Designer Express は、以下のコラボレーション変数を自動的に宣言します。

表 27 に、これらのシステム生成変数についての説明をリストします。

表 27. システム生成変数
変数 説明
triggeringBusObj
triggeringBusObj 変数には、シナリオのフロー・トリガー (トリガー・イベントまたはトリガー・アクセス呼び出し) が含まれます。フロー・トリガーは、ビジネス・オブジェクトおよび動詞です。トリガー・イベントは、アプリケーション・イベントおよびそのデータを示します。フロー・トリガーが到着すると、シナリオの実行が開始されます。この変数はテンプレート変数です。つまり、その有効範囲はコラボレーション全体です。
currentException
currentException 変数には、直前のアクション、サブアクティビティー、またはイテレーターによって発生した例外オブジェクトが含まれます。Process Designer Express は、currentException を暗黙的に宣言します。currentException のスコープは、例外の発生直後のアクションです。シナリオは、例外を生成したアクティビティーの直後の遷移リンクまたはコード・フラグメントにある currentException の値をチェックする必要があります。
ポート変数
Process Designer Express は、コラボレーションの各ポートに関連付けられているビジネス・オブジェクトのテンプレート変数を宣言します。このように生成された宣言は、「テンプレート定義」ウィンドウの「宣言」タブに表示されます。各ポート変数の名前は、BusObj が付加されたポートの名前です。例えば、ポート名が SourceInvoice の場合、変数名は SourceInvoiceBusObj になります。また、宣言により、ポートが定義されているものと同じ型の BusObj のインスタンスも生成されます。最初に、ビジネス・オブジェクトの属性が null に設定されます。これらのポート変数を使用して、トリガー・イベントを処理できます。詳細については、"トリガー・イベントのコピー"を参照してください。

コラボレーション構成プロパティーの定義 (「プロパティー」タブ)

コラボレーション・テンプレートには、2 つのタイプの構成プロパティーがあります。

管理者は、コラボレーションを構成するときにこの 2 つのタイプのプロパティーを扱います。

コラボレーションの開発者は、コラボレーションにコラボレーション固有プロパティーが必要かどうかを決定します。必要な場合は、その名前およびデフォルト値を定義します。これらの構成プロパティーにより、コラボレーション・ユーザーは、コラボレーションの振る舞いを制御するデータを指定できます。

表 28 は、作成可能なプロパティーのタイプの例です。

表 28. コラボレーション固有の構成プロパティーの例
プロパティーのタイプ
コラボレーションが属性の値を設定するために使用する値 コラボレーションは、顧客に対する送り状の生成をアプリケーションに要求することがあります。コラボレーションは、Invoice ビジネス・オブジェクトの Rate 属性の値を設定することがあります。コラボレーションに BILLING_RATE と呼ばれるプロパティーがある場合、管理者は、現在の取引慣行に基づいて Rate 属性の値を上げたり下げたりすることができます。
コラボレーションが特定の実行経路を取り込むかどうかについて判別するための true または false の値 アプリケーション全体でエンティティーの変更を同期する Business Integration Express コラボレーションには、通常、CONVERT_CREATE と呼ばれるプロパティーがあります。コラボレーションは、Update イベントを受信すると、更新するエンティティーの宛先アプリケーションをチェックします。このエンティティーが存在しない場合、コラボレーションは、CONVERT_CREATE プロパティーの値をチェックします。プロパティーが true に設定されている場合は、コラボレーションは、Update 要求を Create 要求に変換します。

必要に応じてコラボレーション固有の構成プロパティーを使用できます。テンプレートで使用できるこの構成プロパティーの数に制限はありません。このプロパティーは開発中、いつでも追加できます。コラボレーションに必要なプロパティーが最初にわかっている場合は、シナリオをモデル化する前にプロパティーを作成できます。ただし、シナリオのモデルを作成中の場合は、追加のプロパティーを定義して、コラボレーションのロジックをサポートできます。

コラボレーション・テンプレートに対してコラボレーション固有の構成プロパティーを作成する手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「プロパティー」タブが表示されているかどうかチェックします。

    図 29. コラボレーション固有のプロパティーの追加


  2. 「追加」ボタンをクリックし、構成プロパティーを作成します。「名前」ダイアログ・ボックスが開きます。
  3. 「名前」フィールドにプロパティーの名前を入力して、「OK」をクリックします。
    注:
    命名規則では、構成プロパティー名は大文字で書き、複数の単語は下線で区切ります。

    IBM では、各プロパティー名を見れば管理者がその内容が理解できるようにする必要があるため、構成プロパティー名がプロパティーの機能を明確に表すようにしてください。

  4. 「プロパティー・タイプ」ドロップダウン・メニューでプロパティーのタイプを選択します。
  5. 必要に応じて、「説明」フィールドに新規プロパティーに関する説明を入力します。
  6. プロパティー・タイプが string の場合は、「最大長」フィールドで値を指定します。
  7. 必要に応じて「最大複数値」フィールドに、プロパティーに対して受け入れ可能な複数値の最大数を指定します。このフィールドで指定した数によって、プロパティーが持つことのできるデフォルト値の数も制限されます。例えば、最大複数値を 2 に設定すると、そのプロパティーに指定可能な値をいくつ関連付けても、プロパティーのデフォルト値で持つことができるのは 2 つのみです。このフィールドに値を指定しなければ、デフォルト値 1 が使用されます。
    注:
    コラボレーション固有のプロパティーの「最大複数値」属性は頻繁には使用されません。ほとんどのコラボレーション固有プロパティーでは、単一値だけが受け入れられます。
  8. 「値」ペインの「追加」をクリックします。テーブルに新しい行が追加され、「プロパティー値」ダイアログ・ボックスが開きます。
  9. 「値」フィールドに値を入力するか、または「範囲下限」フィールドで値の範囲を指定して、「OK」をクリックします。ダイアログ・ボックスが閉じて、「値列」列に情報が表示されます。
  10. 値がデフォルト値の場合は、「IsDefaultValue」列内のチェック・ボックスをクリックします。
  11. プロパティー定義に値を追加するごとに、ステップ 8 からステップ 10 を繰り返します。
  12. 「更新」をクリックします。
  13. 追加する構成プロパティーの数のみステップ 2 からステップ 12 を繰り返します。
  14. 構成プロパティーの追加が終了したら、「適用」をクリックして変更内容を保管します。

コラボレーション固有の構成プロパティーを削除するには、タブの左側のペインにあるリストから削除するプロパティーの名前を選択して、「削除」をクリックします。

長期存続ビジネス・プロセスをサポートするプロパティーの追加

動的サービス呼び出しのタイムアウト値を使用して長期存続ビジネス・プロセス (LLBP) をサポートする場合は、Java 変数またはコラボレーション固有プロパティーを使用できます。コラボレーション固有プロパティーを使用する場合には、コラボレーション・テンプレート定義時にこのプロパティーを作成する必要があります。コラボレーション固有プロパティーを使用すると、タイムアウト値を実行時に設定できるため、サービス呼び出しの最初の作成時に提供される静的値を使用せずにすみます。動的タイムアウト値のプロパティーを作成するときには、integer データ型を使用してください。

例えば、create 要求によってビジネス・オブジェクトが送信される To ポートからサービス呼び出しを受け取る場合は、CreateTimeout と呼ばれるコラボレーション・プロパティーを定義します。このサービス呼び出しを定義するときに、CreateTimeout プロパティーを使用して、サービス呼び出しがタイムアウトになるポイントを指定します。サービス呼び出しの作成については、サービス呼び出しを参照してください。

サービス呼び出しの作成および定義時に指定された固定タイムアウト値も使用できます。この場合、コラボレーション・プロパティーは不要です。サービス呼び出しタイプの定義を参照してください。

ポートおよびトリガー・イベントの定義 (「ポートおよびトリガー・イベント」タブ)

「テンプレート定義」ウィンドウの「ポートおよびトリガー・イベント」タブには、以下に関する情報が表示されます。

注:
Business Object Designer または System Manager を使用してリポジトリーとの間でオブジェクトを追加、変更、または削除すると、InterChange Server Express は、Process Designer Express に表示されるビジネス・オブジェクト定義のリストを動的に更新します。「テンプレート定義」ウィンドウの「ポートおよびトリガー・イベント」テーブルのビジネス・オブジェクト・フィールドに表示される動的変更結果を確認する場合は、InterChange Server Express または Process Designer Express を再始動する必要はありません
要確認

IBM では、この動的更新機能は開発環境でのみ使用することを推奨します。ビジネス・オブジェクトの更新により、複雑な問題が発生する可能性があります。動的更新により、システム内のその他の機能が影響を受ける可能性があります。例えば、古いビジネス・オブジェクト定義を使用するイベントの処理方法や、初めに古いビジネス・オブジェクト定義に対してサブミットされた未解決のフローの再サブミット方法などが影響を受けます。このようなシナリオあるいはその他のシナリオにより、処理中のビジネス・オブジェクト定義とメモリー内のビジネス・オブジェクト定義の間でミスマッチが発生することがあります。このため、実動システムの場合、IBM では、システム上でイベントが処理されていない場合にのみビジネス・オブジェクト定義を更新することを推奨します。

コラボレーション・ポートの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。

ポートの作成

ポートを作成する手順は、以下のとおりです。

  1. 「テンプレート定義」ウィンドウが開いており、「ポートおよびトリガー・イベント」タブが表示されているかどうかチェックします。

    ウィンドウ上部にあるテーブルには、ポート名、ビジネス・オブジェクト・タイプ、および動詞が表示されます。このコラボレーション・テンプレートのポートをまだ作成していない場合、このテーブルは空です。

  2. 「ポートを追加」をクリックし、新しいポートを「ポート」テーブルに追加します。
  3. テーブルの「ポート」列にポート名を入力します。

    ポート名の定義方法については、以下の指針に従ってください。

  4. 「BO タイプ」列内のドロップダウン・リストからポートのタイプを選択します。

    これは、このポートがサポートするビジネス・オブジェクト定義のタイプです。

  5. 「適用」をクリックして変更内容を保管します。

注:
コラボレーション・オブジェクトの一部のポートが不要な場合があります。この場合は、未使用のポート (1 つまたは複数) へのサービス呼び出しを実行しないように、コラボレーション・ロジックを構成する必要があります。

InterChange Server Express では、すべてのコラボレーション・ポートをバインドする必要があるので、未使用ポート (1 つまたは複数) も Port コネクターにバインドする必要があります。Port コネクター は、未使用のポートを閉じるために使用される、汎用コネクター定義です。Port コネクターは、正しいコラボレーション・ロジックとともに使用する必要があります。Port コネクターにバインドされたポートに送信されたサービス呼び出しは、コラボレーション・スレッドをブロックします。

ポート名の変更

ポート名を変更するには、このポートを削除し、新しい名前を使用してポートを再作成する必要があります。単にその名前を変更することはできません。ポート名を変更する手順は、以下のとおりです。

  1. 「ポートおよびトリガー・イベント」タブのテーブルでポートを選択します。
  2. 「ポートを削除」をクリックします。
  3. ポートの作成の説明に従って、新しい名前のポートを作成します。

表 29 に、ポートを削除して再作成したときの影響についての要約を示します。

表 29. ポート名の変更の結果
Process Designer Express による処理 ユーザーが行う必要がある処理
変更後のポート名を使用するシステム生成テンプレート変数が変更されます。
古いポート名で宣言された変数を使用するコードがある場合は、コードの変数名を変更します。古いポート名で宣言された変数が表示されるすべてのアクション・ノードおよびサービス呼び出しを検索します。コンパイラーにより、残りの誤った名前が検出されます。
フロー・トリガー (トリガー・イベントまたはトリガー・アクセス呼び出し) の割り当てが削除されます。 フロー・トリガーを再度割り当てます。"コラボレーション・テンプレートのコンパイル"を参照してください。

Copyright IBM Corp. 2004