プロセスノードの設置
ワークフローテンプレートエディタの左側にある各アイコンが表すノードを追加、選択、およびリンクして、プロセス定義を構築できます。
ノードの追加とリンクについては、
ワークフローエディタのノードを参照してください。
以下のリストは、プロセス定義に追加できるプロセスノードの説明です。ワークフローテンプレートエディタにアイコンが表示される順に記載します。
• 割当アクティビティは、それを実行する単一または複数のユーザー、ユーザー定義のグループ、またはアクターに割り当てられたアクティビティです。
• アドホックアクティビティは、アクティビティのグループを実行時に定義するためユーザーに割り当てられます。アクティビティグループは、シンプルなブロックに類似しています。
• ブロックは、アクティビティ、コネクタ、またはロボットのグループを表します。必要に応じて、拡張できるアクティビティのブロックを作成することにより、プロセスの複雑さを軽減できます。
• プロキシプロセスは、メインの親プロセスに埋め込まれたサブプロセスです。プロキシプロセスをネストすると、複雑さが軽減され、再使用が可能になります。
• AND コネクタは、すべての先行リンクが発生した時点ではじめて発生します。
• OR コネクタは、先行リンクのいずれかが発生した時点で発生します。「発生時にオープン状態の先行アクティビティを強制終了」が選択されている場合、先行アクティビティは終了します。
• 条件付きルータを使用して、条件式に基づいてプロセスを分岐できます。
• しきい値コネクタは、ユーザーが定義した個数の先行リンクが発生した時点で発生します。「発生時にオープン状態の先行アクティビティを強制終了」が選択されている場合、先行アクティビティは終了します。
• 終了は、プロセスを終了します。すべてのプロセスアクティビティは、最終的に終了に連結します。
• グランドは、プロセス内のアクティビティの並列ブランチを停止しますが、プロセスは停止しません。
• 通知ボットは、ユーザーが定義した電子メールで、該当するユーザーに通知します。ワークフローに関連けられているプライマリビジネスオブジェクトの添付資料またはメタデータを含む通知を定義できます。たとえば、{varname} のように中括弧を使用して、プロセスまたはノードに作成された変数を区切ることができます。区切り記号がそのまま表示されるようにするには、\{{varname}}\ のように円記号 (バックスラッシュ) を使用します。詳細の手順については、
通知ロボットを参照してください。
• メソッドロボットは、ロボットをプロセスに追加する際に実行されるいくつかの単一処理の 1 つを表します。ほかの設定は必要ありません。以下の表は、ロボット処理を示します。
ロボット
|
説明
|
チェックイン
|
プライマリビジネスオブジェクトを Windchill データベースにチェックインします。
|
チェックアウト
|
ビジネスオブジェクトを特定のユーザーにチェックアウトします。たとえば、チェックアウトロボットを使用して、設計のレビューサイクルの完了後に変更を適用するタスクを割り当てられたエンジニアに対して部品を自動的にチェックアウトできます。
|
差し戻し
|
関連付けられている状態の変更や、アクセス制御などの新しいビジネスルールの適用によって、プライマリビジネスオブジェクトを先行フェーズに遷移します。
|
拒否
|
プライマリビジネスオブジェクトをゲートから除去し、同じ状態のフェーズに返します。
|
ドロップ
|
オブジェクトを現在のライフサイクルから除去して、ドロップの状態にします。たとえば、2 つのベンダーがレビュー用に入札をサブミットしているプロセスブランチがあるとします。このような入札はデータベースに Windchill ドキュメントとして入力され、プロセス定義の適用によってレビューおよび承認の各プロセスで移動していることがあります。この場合、1 つの入札が承認されたときにドキュメントオブジェクトを自動的に次のライフサイクルフェーズにプロモートし、拒否された入札を含むドキュメントをライフサイクルからドロップして、それ以降の移動が発生しないようにする必要がある場合があります。
|
プロモート
|
関連する状態変更や、アクセス制御規則などの新しいビジネス規則の適用とともに、プライマリビジネスオブジェクトを次のライフサイクルフェーズに移動します。たとえば、特定のユーザーがオブジェクトを承認した場合、ライフサイクルの次のフェーズにオブジェクトを自動的にプロモートするようなプロセスを定義できます。この場合、プロモートロボットをプロセス定義に追加すると、オブジェクトのプロモートに関連するすべての処理を実行できます。
|
状態を設定
|
ライフサイクルで管理されたオブジェクトを、順序を示す状態または特定の状態に設定します。順序で指定する状態は、ゼロ以外の任意の整数で入力します。特定の状態は、wt.lifecycle.StateRB 列挙タイプで定義された状態から選択されます。
|
サブミット
|
このプロセスに関連するビジネスオブジェクトを現在のライフサイクルフェーズのゲートに移動します。サブミット後、オブジェクトは次のライフサイクルフェーズへのプロモートを待ちます。たとえば、ユーザーが変更リクエストを作成した際、自動的にサブミットされ「オープン」状態にプロモートされることを示すため、サブミットロボットをプロセス定義に追加できます。
|
• チェックポイントロボットは、ワークフロープロセスがあるチェックポイントノードから次のチェックポイントノードに到達するまでにかかった時間を記録します。ノードに到達すると、電子メール通知が購読ユーザーに送信されます。
• タイマーロボットは、発生した時間や親プロセスが開始された時間に基づいて、指定した時間だけアクティビティの開始を遅らせます。
• アプリケーション起動ロボットは、システムコマンドをサーバー上で実行します。これらのコマンドは、Java runtime.exe コマンドを使用して実行されます。同期と非同期のどちらでも実行できます。
• 定義式実行ロボットは、ワークフロー内で実行される同期 Java 定義式を入力します。デフォルトでは、定義式は true を返します。false が返された場合は、実行中に問題が生じ、サーバーで例外が発生したことを示します。
• 同期化ロボットは、アクティビティまたはプロセスの開始を、時間と無関係なイベントと同期させます。特定の一般外部イベントまたは Windchill のキー付きイベントが発生した際に、アクティビティを開始するようにロボットを設定できます。
同期が機能しない場合は、Windchill ソリューションがインストールされているサーバーでタイムゾーンが正しく設定されているかどうかを確認してください。
• URL ロボットは、さまざまな Info*Engine タスクを開始したり、ワークフロータスクの完了に必要な情報を提供したりするために、URL を実行して別のサーバーと通信します。処理を開始したり、ステータス情報を読み込んで文字列変数に収集したりできます。グラフィックスなどバイナリオブジェクトへの HTML リンクは読み込み可能ですが、オブジェクトそのものを読み込むことはできません。
ロボットが URL の実行に失敗した場合の結果を指定できます。以下のエラーコードのリストを参考にしてください。
◦ 400 Bad Request:(400 無効なリクエスト:)不正な構文が原因で、サーバーによってリクエストが認識されていません。同じリクエストを繰り返さないでください。
◦ 401 Unauthorized:(401 権限なし:)リクエストはユーザー認証を必要としています。通常使用時に、URL ロボットは認証をサポートしていません。同じリクエストを繰り返さないでください。
◦ 403 Forbidden:(403 禁止:)リクエストは認識されましたが、サーバーが受け付けを拒否しています。認証が理由ではありませんでした。同じリクエストを繰り返さないでください。
◦ 404 Not Found:(404 見つかりません:)サーバーは、リクエスト - URI に一致したものを見つけることができませんでした。これは、一時的な場合と永久的な場合があります。リクエストの繰り返しが適切です。
◦ 500 Server Error:(500 サーバーエラー:)サーバーが予期しない状態になり、リクエストを実行できません。リクエストの繰り返しが適切です。
◦ 501 Not Implemented/Internal Error:(501 実装されていません/内部エラー:)サーバーは、リクエストの実行に必要な機能をサポートしていません。同じリクエストを繰り返さないでください。
◦ 503 Service Unavailable:(503 サービスは使用できません:)サーバーは一時的にリクエストを処理できません。リクエストの繰り返しが適切です。
◦ 504 Gateway Timeout:(504 ゲートウェイタイムアウト:)サーバーが、URI で指定された上位サーバーからのタイムリーな応答を受信しませんでした。リクエストの繰り返しが適切です。