統合サービスでの Java メソッドの呼び出し (非推奨)
アクティビティーを実装するために Java クラスからメソッドを呼び出す必要がある場合は、統合サービスで Java 統合ステップを使用することができます。
始める前に
このタスクを実行するには、IBM® Process Designer デスクトップ・エディター (非推奨) で作業している必要があります。
Integration サービスを作成する前に、必要なクラスを含む JAR ファイルを追加します。 JAR ファイルをサーバー・ファイルとして追加した後、サービスに使用するクラスとメソッドを選択できます。 必要な JAR ファイルが IBM Business Process Manager ツールキットに含まれている場合は、そのツールキットに依存関係を追加してそれらのファイルにアクセスできます。 手順については、『「Designer」ビューでのツールキット依存関係の作成』を参照してください。
手順
- Process Designer デスクトップ・エディター (非推奨) を開きます。
- 統合サービスを作成します。
- Java 統合ステップをパレットからサービス・ダイアグラムにドラッグし、シーケンス・ラインを使用して、ステップを開始イベントと終了イベントに接続します。
- ダイアグラム内で Java 統合ステップをクリックし、プロパティーの「定義」オプションをクリックします。
- 「Java クラス」フィールドの横の「選択」ボタンをクリックして、呼び出す JAR ファイルとそのクラスを選択します。
表示される JAR ファイルは、トピック『外部ファイルの管理』で説明されているように、管理対象サーバー・ファイルとして追加されたファイルです。 デフォルトでは、IBM BPM Java パッケージ内のクラスは、システム・データ・ツールキットに含まれる integration.jar ファイルで入手できます。 現行プロジェクトに、JAR ファイルを含む他のツールキットへの依存関係がある場合は、それらのファイルも使用可能です。
- 「ディスカバリー」セクション (「プロパティー」タブと「定義」タブの下) で、「メソッド」フィールドをクリックします。 ドロップダウン・リストから、前のステップで選択したクラスで呼び出すメソッドを選択します。
- 呼び出される Java メソッドの結果を直列化し、XML エレメントとして Integration サービスに返す場合は、「Translate JavaBeans」チェック・ボックスを有効にします。 エレメントの内容は、オブジェクトのクラスのプロパティーに基づきます。
例えば、integration.jar ファイル (IBM BPM Java パッケージ) から teamworks.Users クラスを選択し、「Translate JavaBeans」チェック・ボックスを有効にして getUser メソッドを選択した場合、 結果は次の例のようになります。
<userino type="com.lombardisoftware.core.UserInfo" description="UserInfo"> <calendarId type="com.lombardisoftware.client.persistence.common.ID" description="calendarId" /> <fullname type="java.lang.String" description="String">tw_author</fullname> <qualifiedName type="java.lang.String" description="String">tw_author</qualifiedName> <sendToAddress type="com.lombardisoftware.core.routing.Address" description="Address"> <name type="java.lang.String" description="String">tw_author</name> <toGroup type="java.lang.Boolean" description="Boolean">false</toGroup> <toUser type="java.lang.Boolean" description="Boolean">true</toUser> </sendToAddress> <userData type="java.util.HashMap" description="HashMap"> <entry key="Full Name" description="Map Entry"> <key type="java.lang.String" description="String">Full Name</key> <value type="java.lang.String" description="String">tw_author</value> </entry> <userData> <userId type="com.lombardisoftware.client.persistence.common.ID$NumericID" description="ID$NumericID"> <id type="java.math.BigDecimal" description="BigDecimal">2</id> <type type="com.lombardisoftware.client.persistence.common.POType$User" description="POType$User"> <deleted type="java.lang.Boolean" description="Boolean">false</deleted> <exportable type="java.lang.Boolean" description="Boolean">false</exportable> <factoryName type="java.lang.String" description="String">com.lombardisoftware.client.persistence.UserFactory</factoryName> <id type="java.lang.Integer" description="Integer">2048</id> <libraryItem type="java.lang.Boolean" description="Boolean">false</libraryItem> <name type="java.lang.String" description="String">User</name> <tableName type="java.lang.String" description="String">LSW_USR_XREF</tableName> </type> </userId> <username type="java.lang.String" description="String">tw_author</username> </userinfo>注: 「JavaBeans の変換」チェック・ボックスを有効にした場合、Java メソッドから返される値として Integration サービスで選択する変数タイプは XMLElement または ANY である必要があります。「JavaBeans の変換」チェック・ボックスを有効にしていない場合、Java メソッドは表 1 に示されたタイプのオブジェクトだけを返すことができます。
表 1. 「JavaBeans の変換」が有効でない場合に Java メソッドが返すオブジェクトのタイプ オブジェクト・タイプ java.lang.String java.lang.Double java.lang.ArrayList java.lang.Long java.lang.Float java.lang.HashMap java.lang.Integer java.lang.Boolean org.jdom.Document java.lang.Short java.lang.Character org.jdom.Element java.lang.Byte java.lang.Calendar com.lombardisoftware.core.XMLNodeList および com.lombardisoftware.core.TWObject - Integration サービスの「変数」タブをクリックして、サービスが受け取る必要のある入力変数、およびサービスまたは BPD 内の以降のステップ用にサービスが使用可能にする必要のある出力変数を追加します。 制約事項: 配列は入力パラメーターとしてサポートされません。
- サービス・ダイアグラム内の 「Java 統合」 ステップをクリックし、プロパティーの「データ・マッピング」オプションをクリックして、ステップの入出力マッピングを構成します。
- プロセス全体の要件に応じて、Integration サービスを別のサービス内にネストするか、アクティビティーの実装として選択します。