リモートコマンド呼び出しJava Actionを使用すると、Interstage BPMサーバからアクセスできる任意のコンピュータ上でコマンドを実行できます。コマンドプロンプトから実行可能なすべてのコマンドを実行できます。
コマンドを実行するコンピュータ上で、リモートコマンドサーバが動作している必要があります。Interstage BPMにはリモートコマンドサーバが含まれています。ただし、デフォルトでは有効になっていません。
リモートコマンドを実行するには、以下の手順に従います。
Interstage BPMサーバがインストールされているコンピュータでコマンドを実行する場合は、そのコンピュータでリモートコマンドサーバが動作している必要があります。
Windowsでは、StartJACommandServer.batファイルを使用して、リモートコマンドサーバを起動できます。このファイルは、<Interstage BPMサーバインストールディレクトリ>/server/instance/default/binフォルダにあります。
使用方法:StartJACommandServer.bat <ポート番号> <ホスト名>
UNIXとLinuxでは、以下のJavaプログラムを実行します。
java com.fujitsu.iflow.utilities.JACommandServer <ポート番号>, <ホスト名>
<ポート番号>は、リモートコマンドサーバがリスンするポート番号を定義します。
<ホスト名>は、リモートコマンドサーバに接続できるコンピュータの名前です。
Windowsで以下の例を実行すると、ローカルホスト(Interstage BPMサーバ)でリモートコマンドサーバが起動され、ポート5037をリスンします。
cd <Interstage BPMサーバインストールディレクトリ>/server/instance/default/bin StartJACommandServer.bat 5037 localhost
Windowsのみ:リモートコンピュータ(Interstage BPMサーバがインストールされていないコンピュータ)でコマンドを実行する場合は、以下の手順に従います。
以下のファイルをInterstage BPMシステムからリモートコンピュータにコピーします。
<Interstage BPMサーバインストールディレクトリ>/server/instance/default/bin/StartJACommandServer.bat
<Interstage BPMサーバインストールディレクトリ>/client/lib/iFlow.jar
リモートコンピュータ上で、StartJACommandServer.batを編集します。IFLOW_DIR変数が、/client/lib/iFlow.jarファイルのコピー先リモートコンピュータ上のフォルダを指していることを確認してください。
たとえば、ファイルをC:\RemoteCommandServerというフォルダにコピーする場合は、以下のように指定します。
SET IFLOW_DIR=C:\RemoteCommandServer
以下のバッチファイルを実行して、リモートコマンドサーバを起動します。
StartJACommandServer.bat <ポート番号> <ホスト名>
<ポート番号>は、リモートコマンドサーバがリスンするポート番号を定義します。
<ホスト名>は、リモートコマンドサーバに接続できるInterstage BPMサーバの名前です。また、Interstage BPMサーバのIPアドレスを指定することもできます。
以下の例を実行すると、リモートコマンドサーバが起動し、ポート番号5037をリスンします。ibpmhostという名前のInterstage BPMサーバが、リモートコマンドサーバに接続できるようになります。
StartJACommandServer.bat 5037 ibpmhost
プロセス定義にユーザ定義属性(UDA)を追加し、その値として、実行されるコマンドを指定します。
たとえば、リモートコマンドでメモ帳エディタを開きます。RemoteCommandという名前のUDAを追加し、以下のコマンドラインにその値を設定します。
cmd /c "C:\\WINDOWS\\System32\\notepad.exe"
注意
コマンドのパスを指定するときは、コマンドを実行するコンピュータ上で有効なパスを指定してください。
[プロパティー]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノードを選択します。
[アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
[統合アクション]を展開し、[リモートコマンド呼出し]をダブルクリックします。
[Remoteコマンド]ダイアログで、Java Actionのアクション名とノートを入力します。
[コマンドUDA]ドロップダウンリストから、リモートコマンドが記述されたUDAを選択します。
リモートコマンドの実行後に追加入力が必要な場合は、[追加入力]フィールドに入力します。
例:
コマンドプロンプトを開いて、メモ帳を起動できます。コマンドUDAにcmdと入力し、[追加入力]フィールドに以下を入力します。
C:\\WINDOWS\\System32\\notepad.exe
注意
この場合には、絶対パスを入力する必要があります。
Java Actionが実行されると、最初にcmdが実行され、次にメモ帳が開きます。
コマンドが実行されるコンピュータ上で動作するリモートコマンドサーバのホスト名とポート番号を入力します。
[応答UDA]ドロップダウンリストから、応答を収集するUDAを選択します(応答が存在する場合)。
Java Actionが戻り値を待たない場合、[復帰を待ち合わせしない]が選択されていることを確認してください。
図12.42 リモートコマンドの実行
[OK]をクリックします。