5.3. サービスタスクの作成


サービスタスクは、Web サービス呼び出しまたは Java クラスメソッドを基にアクションを実行するタスクです。サービスタスクの例としては、これらのタスクを実行する際の電子メールの送信やメッセージのロギングなどがあります。サービスタスクに関連付けられているパラメーター (入力) と結果 (出力) を定義できます。1 つのオブジェクトに対する全入力を含めて、ラップパラメーターを定義することも可能です。ラップパラメーターを定義するには、データ割り当てで Wrapped` : `True を使用して、新しいワークアイテムハンドラーを作成します。サービスタスクには、内向きの接続 1 つと外向きの接続 1 つが必要です。

手順

  1. Business Central で、画面の右上隅にある Admin アイコンを選択し、Artifacts を選択します。
  2. Upload をクリックして、Artifact upload ウィンドウを開きます。
  3. .jar ファイルを選択し、 upload button をクリックします。

    重要

    .jar ファイルには、Web サービスのデータタイプ (データオブジェクト)、および Java サービスタスクの Java クラスが含まれます。

  4. 使用するプロジェクトを作成します。
  5. プロジェクトの Settings Dependencies に移動します。
  6. Add from repository をクリックしてアップロードした .jar ファイルを見つけ、Select をクリックします。
  7. プロジェクトの Settings Work Item Handler を開きます。
  8. 指定のフィールドに以下の値を入力します。

    • Name: Service Task
    • Value - new org.jbpm.process.workitem.bpmn2.ServiceTaskHandler(ksession, classLoader)
  9. プロジェクトを保存します。

    Web サービスタスクの作成例

    BPMN2 仕様のサービスタスクのデフォルトの実装は Web サービスです。Web サービスのサポートは Apache CXF 動的クライアントをベースとしています。これは、WorkItemHandler インターフェイスを実装する専用のサービスタスクハンドラーを提供します。

    org.jbpm.process.workitem.bpmn2.ServiceTaskHandler

    Web サービスを使用してサービスタスクを作成するには、Web サービスを設定する必要があります。

    1. ビジネスプロセスを作成します。
    2. 必要に応じて、画面の右上隅で、Properties アイコンをクリックします。
    3. Imports プロパティーで import property icon をクリックし、Imports ウィンドウを開きます。
    4. WSDL Imports の横にある +Add をクリックして、必要な WSDL (Web Services Description Language) の値をインポートします。以下に例を示します。

      • 場所: http://localhost:8080/sample-ws-1/SimpleService?wsdl

        この場所は、サービスの WSDL ファイルを参照します。

      • 名前空間: http://bpmn2.workitem.process.jbpm.org/

        名前空間は、WSDL ファイルの targetNamespace と一致している必要があります。

    5. プロセスデザイナーで、ツールパレットから Activities ツールを選択します。
    6. Service Task を選択します。
    7. プロセスデザイナーキャンバスの空白エリアをクリックします。
    8. 必要に応じて、以下の表に一覧表示されているタスク情報を追加または定義します。

      表5.4 Web サービスタスクパラメーター
      ラベル説明

      名前

      サービスタスクの名前。サービスタスクシェイプをダブルクリックして名前を編集することもできます。

      ドキュメント

      タスクの説明を入力します。このフィールドのテキストは、プロセスのドキュメントに含まれています。プロセスデザイナーキャンバスの左上にある Documentation タブをクリックして、プロセスドキュメントを表示します。

      Implementation

      Web サービスを指定します。

      Interface

      CountriesPortService などのスクリプトの実装に使用されるサービス。

      操作

      getCountry などのインターフェイスによって呼び出される操作。

      割当

      クリックしてローカル変数を追加します。

      アドホックの自動開始

      これが自動的に開始される必要があるアドホックタスクである場合に選択します。AdHoc Autostart を使用すると、タスクは、開始タスクにより開始するのではなく、プロセスまたはケースインスタンスが作成されたときに自動的に開始します。多くの場合、ケース管理で使用されます。

      非同期です

      このタスクを非同期で呼び出す必要がある場合に選択します。外部サービスによって実行されるタスクなど、タスクを瞬時に実行できない場合は、タスクを非同期にします。

      Is Multiple Instance

      このタスクに複数のインスタンスがある場合に選択します。

      MI 実行モード

      複数のインスタンスが並列または順次実行されるかどうかを選択します。

      MI コレクション入力

      inputCountryNames などの、新規インスタンスが作成される要素のコレクションを表す変数を指定します。

      MI データ入力

      Parameter などの Web サービスに転送される入力データ割り当てを指定します。

      MI コレクション出力

      outputCountries などの Web サービスタスクから返された値を保存する配列の一覧。

      MI データ出力

      Result などのサーバーでのクラス実行の結果を保存する Web サービスタスクの出力データ割り当てを指定します。

      MI 完了条件 (mvel)

      指定した複数のインスタンスノードを完了できるかどうかを確認するために、完了済みの各インスタンスを評価する MVEL 式を指定します。

      開始時アクション

      タスクの開始時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

      終了時アクション

      タスクの終了時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

      SLA 期日

      サービスレベルアグリーメント (SLA) の有効期限の日付。

      Metadata Attributes

      メタデータ属性が存在する場合に何らかのアクションを実装するリスナーなど、カスタムイベントリスナーに使用するカスタムメタデータ属性の名前と値を追加します。

      メタデータ属性は、BPMN 図に新しい metaData 拡張を可能にし、タスク全体の動作を変更します。

    Java サービスタスクの作成例

    Java メソッドを使用してサービスタスクを作成する場合、メソッドにはパラメーターを 1 つだけ含み、単一の値を返すことができます。Java メソッドを使用してサービスタスクを作成するには、Java クラスをプロジェクトの依存関係に追加する必要があります。

    1. ビジネスプロセスを作成します。
    2. プロセスデザイナーで、ツールパレットから Activities ツールを選択します。
    3. Service Task を選択します。
    4. プロセスデザイナーキャンバスの空白エリアをクリックします。
    5. 必要に応じて、画面の右上隅で、Properties アイコンをクリックします。
    6. 必要に応じて、以下の表に一覧表示されているタスク情報を追加または定義します。

      表5.5 Java サービスタスクパラメーター
      ラベル説明

      名前

      サービスタスクの名前。サービスタスクシェイプをダブルクリックして名前を編集することもできます。

      ドキュメント

      タスクの説明を入力します。このフィールドのテキストは、プロセスのドキュメントに含まれています。プロセスデザイナーキャンバスの左上にある Documentation タブをクリックして、プロセスドキュメントを表示します。

      Implementation

      タスクが Java に実装されるように指定します。

      Interface

      org.xyz.HelloWorld などのスクリプトの実装に使用されるクラス。

      操作

      sayHello などのインターフェイスによって呼び出されるメソッド。

      割当

      クリックしてローカル変数を追加します。

      アドホックの自動開始

      これが自動的に開始される必要があるアドホックタスクである場合に選択します。AdHoc Autostart を使用すると、タスクは、開始タスクにより開始するのではなく、プロセスまたはケースインスタンスが作成されたときに自動的に開始します。多くの場合、ケース管理で使用されます。

      非同期です

      このタスクを非同期で呼び出す必要がある場合に選択します。外部サービスによって実行されるタスクなど、タスクを瞬時に実行できない場合は、タスクを非同期にします。

      Is Multiple Instance

      このタスクに複数のインスタンスがある場合に選択します。

      MI 実行モード

      複数のインスタンスが並列または順次実行されるかどうかを選択します。

      MI コレクション入力

      InputCollection などの、新規インスタンスが作成される要素のコレクションを表す変数を指定します。

      MI データ入力

      Java クラスに転送される入力データ割り当てを指定します。たとえば、入力データの割り当てを Parameter および ParameterType に設定できます。ParameterType は、Parameter のタイプを表し、Java メソッドの実行に引数を送信します。

      MI コレクション出力

      OutputCollection など、Java クラスから返される値を保存する配列リスト。

      MI データ出力

      Result など、サーバーでクラス実行の結果を保存する Java サービスタスクへの出力データ割り当てを指定します。

      MI 完了条件 (mvel)

      指定した複数のインスタンスノードを完了できるかどうかを確認するために、完了済みの各インスタンスを評価する MVEL 式を指定します。たとえば、OutputCollection.size() <= 3 は、3 人以上のユーザーがアドレス指定されていないことを示します。

      開始時アクション

      タスクの開始時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

      終了時アクション

      タスクの終了時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

      SLA 期日

      サービスレベルアグリーメント (SLA) の有効期限の日付。

      Metadata Attributes

      メタデータ属性が存在する場合に何らかのアクションを実装するリスナーなど、カスタムイベントリスナーに使用するカスタムメタデータ属性の名前と値を追加します。

      メタデータ属性は、BPMN 図に新しい metaData 拡張を可能にし、タスク全体の動作を変更します。

  10. Save をクリックします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.