Systemwalker Runbook Automation
Studio利用ガイド
Windows/Linux
B1X1-0116-06Z0(01)
2016年12月
まえがき
本書の目的
本書は、Systemwalker Runbook Automation V15.1.3で、Systemwalker Runbook Automation Studioを使用して自動運用プロセスや運
用操作部品を開発・管理する方法を説明しています。
本書の読者
本書は、Systemwalker Runbook Automationを利用して自動運用プロセスや運用操作部品を開発・管理する方を対象とし、Windows
の一般的な操作に関する知識に習熟していることを前提として説明します。
また、プロセスの高度なモデル化機能を利用する場合には、基本的なプログラミング知識を持ち、JavaScript、XML技術、およびWeb
サービスに関する知識が必要です。
略語表記について
・ 以下の製品すべてを示す場合は、“Windows(R) 8.1”と表記します。
- Windows(R) 8.1 Pro(x86)
- Windows(R) 8.1 Enterprise(x86)
- Windows(R) 8.1 Pro(x64)
- Windows(R) 8.1 Enterprise(x64)
・ 以下の製品すべてを示す場合は、“Windows(R) 8”と表記します。
- Windows(R) 8 Pro(x86)
- Windows(R) 8 Enterprise(x86)
- Windows(R) 8 Pro(x64)
- Windows(R) 8 Enterprise(x64)
・ 以下の製品すべてを示す場合は、“Windows(R) 7”と表記します。
- Windows(R) 7 Home Premium(x86)
- Windows(R) 7 Professional(x86)
- Windows(R) 7 Ultimate(x86)
- Windows(R) 7 Enterprise(x86)
- Windows(R) 7 Home Premium(x64)
- Windows(R) 7 Professional(x64)
- Windows(R) 7 Ultimate(x64)
- Windows(R) 7 Enterprise(x64)
・ 以下の製品すべてを示す場合は、“Windows Vista(R)”と表記します。
- Windows Vista(R) Home Basic(x86)
- Windows Vista(R) Home Premium(x86)
- Windows Vista(R) Business(x86)
- Windows Vista(R) Ultimate(x86)
- Windows Vista(R) Enterprise(x86)
- Windows Vista(R) Business(x64)
-i-
- Windows Vista(R) Ultimate(x64)
・ 以下の製品すべてを示す場合は、“Windows(R) XP”と表記します。
- Microsoft(R) Windows(R) XP Professional
- Microsoft(R) Windows(R) XP Home Edition
- Microsoft(R) Windows(R) XP Professional x64 Edition
・ 以下の製品すべてを示す場合は、“Windows Server 2012”と表記します。
- Microsoft(R) Windows Server(R) 2012 R2 Standard(x64)
- Microsoft(R) Windows Server(R) 2012 R2 Datacenter(x64)
- Microsoft(R) Windows Server(R) 2012 Standard(x64)
- Microsoft(R) Windows Server(R) 2012 Datacenter(x64)
・ 以下の製品すべてを示す場合は、“Windows Server 2008”と表記します。
- Microsoft(R) Windows Server(R) 2008 R2 Standard(x64)
- Microsoft(R) Windows Server(R) 2008 R2 Enterprise(x64)
- Microsoft(R) Windows Server(R) 2008 R2 Datacenter(x64)
- Microsoft(R) Windows Server(R) 2008 Standard(x86)
- Microsoft(R) Windows Server(R) 2008 Enterprise(x86)
- Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(x86)
- Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(x86)
- Microsoft(R) Windows Server(R) 2008 Standard(x64)
- Microsoft(R) Windows Server(R) 2008 Enterprise(x64)
- Microsoft(R) Windows Server(R) 2008 Datacenter(x64)
- Microsoft(R) Windows Server(R) 2008 Datacenter without Hyper-V(x64)
・ 以下の製品すべてを示す場合は、“Windows Server 2003”と表記します。
- Microsoft(R) Windows Server(R) 2003 R2, Standard Edition
- Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition
- Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition
- Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition
- Microsoft(R) Windows Server(R) 2003, Standard Edition
- Microsoft(R) Windows Server(R) 2003, Enterprise Edition
- Microsoft(R) Windows Server(R) 2003, Standard x64 Edition
- Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition
・ Windows Internet Explorer(R)を示す場合は、“Internet Explorer”と表記します。
・ Oracle SolarisはSolaris, Solaris Operating System, Solaris OSと記載することがあります。
・ Microsoft(R) Cluster Server、またはMicrosoft(R) Cluster Serviceを、“MSCS”と略しています。
・ Windows上で動作するSystemwalker Runbook Automationを“Windows版”と表記します。
・ Linux上で動作するSystemwalker Runbook Automationを“Linux版”と表記します。
- ii -
輸出管理規制について
本ドキュメントを輸出または提供する場合は、外国為替および外国貿易法および米国輸出管理関連法規等の規制をご確認の上、必
要な手続きをおとりください。
商標について
ITIL(R)は、英国政府OGC(Office of Government Commerce)および米国特許商標局の登録商標です。
Linuxは、Linus Torvalds氏の米国およびその他の国における登録商標または商標です。
Microsoft、Windows、Windows ServerおよびMicrosoft Cluster Serviceは、米国Microsoft Corporationの米国およびその他の国にお
ける登録商標または商標です。
Red HatおよびRed Hatをベースとしたすべての商標とロゴは、Red Hat, Inc.の米国およびその他の国における登録商標または商標で
す。
OracleとJavaは、Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。文中の社名、商
品名等は各社の商標または登録商標である場合があります。
UNIXは、米国およびその他の国におけるオープン・グループの登録商標です。
VMware、VMwareロゴ、Virtual SMPおよびVMotionはVMware,Incの米国およびその他の国における登録商標または商標です。
Adobe、Adobe Reader、およびFlashは、Adobe Systems Incorporated (アドビシステムズ社)の米国ならびに他の国における商標または
登録商標です。
その他記載の会社名、製品名は、それぞれの会社の商標または登録商標です。
また、本書に記載されている会社名、システム名、製品名等には必ずしも商標表示(TM・(R))を付記しておりません。
Microsoft Corporationのガイドラインに従って、画面写真を使用しています。
出版年月および版数
版数
マニュアルコード
2012年1月 初版
B1X1-0116-01Z0(00)/ B1X1-0116-01Z2(00)
2012年7月 第2版
B1X1-0116-02Z0(00)/ B1X1-0116-02Z2(00)
2012年9月 第3版
B1X1-0116-03Z0(00)/ B1X1-0116-03Z2(00)
2013年1月 第4版
B1X1-0116-04Z0(00)/ B1X1-0116-04Z2(00)
2014年1月 第6版
B1X1-0116-06Z0(00)/ B1X1-0116-06Z2(00)
2016年12月 第6.1版
B1X1-0116-06Z0(01)/ B1X1-0116-06Z2(01)
著作権表示
Copyright 2010-2016 FUJITSU LIMITED
変更履歴
追加・変更内容
変更箇所
デフォルトのワークスペースについて説明を追加し
ました。
1.1.1 自動運用プロセスの概要
ネットワークの接続設定に関する注意事項を追記し
ました。
2.4.1 サーバ接続情報の設定
- iii -
版数
第6.1版
追加・変更内容
変更箇所
手順1に[ナビゲーター]ビューを選択する必要があ
る旨を追記しました。
3.1.1 ワークフローアプリケーションプ
ロジェクトの作成
3.2.1 サーバプロジェクトの作成
アプリケーションのスキンまたはロゴを設定する場合
について記事を削除しました。
3.1.2 ワークフローアプリケーションプ
ロジェクトのコンポーネント
出力情報における変数(ユーザ定義属性)、フィル
ターおよびフィルター(V14.1.x互換)について、処理
方法の説明を追加しました。
6.2.1 出力情報の定義
フィルターのテスト手順について詳細な説明を追加
しました。
6.3.2 フィルターのテスト
フィルターのテストにおける注意点に説明を追加し
ました。
・ 6.4.3 [文字列の付加]フィルター
・ 6.4.8 [行の抽出]フィルター
・ 6.4.12 [CSV形式データの抽出]
フィルター
・ 6.4.13 [XML属性の抽出]フィル
ター
・ 6.4.15 [演算]フィルター
・ ユーザ定義属性の名前について説明を追加し
6.18 ユーザ定義属性の指定
ました。
・ 手順3の表の“ワークリスト”の注を修正しました。
手順11の注意事項に、ワークリストUDAがSTRING
型の場合の記事を追加しました。
11.9.3 選択トリガの定義
メソッドuda.get、uda.setにおけるユーザ定義属性の
名前について説明を追加しました。
A.2 Java Actionでサポートする
JavaScript関数
- iv -
版数
目 次
第1章 概要................................................................................................................................................................................ 1
1.1 Systemwalker Runbook Automation Studioについて........................................................................................................................ 1
1.1.1 自動運用プロセスの概要.............................................................................................................................................................1
1.1.2 運用操作部品の概要...................................................................................................................................................................2
1.1.3 自動運用プロセスと運用操作部品の関係.................................................................................................................................. 4
1.2 Systemwalker Runbook Automation Studioの機能構成....................................................................................................................4
1.2.1 開発機能...................................................................................................................................................................................... 5
1.2.2 保守機能...................................................................................................................................................................................... 9
1.3 プロセス定義........................................................................................................................................................................................9
1.3.1 ノード...........................................................................................................................................................................................10
1.3.2 プロパティシンボル.....................................................................................................................................................................13
1.3.3 矢印............................................................................................................................................................................................ 14
1.3.4 フォーム...................................................................................................................................................................................... 15
1.3.5 ロール......................................................................................................................................................................................... 15
1.4 ワークフローアプリケーションプロジェクト.........................................................................................................................................15
1.5 オフライン編集およびサーバへの転送............................................................................................................................................ 16
1.6 オンライン編集:サーバのプロジェクト.............................................................................................................................................. 18
1.7 シミュレーションのシナリオと結果..................................................................................................................................................... 19
第2章 ユーザーインターフェースの基本事項とカスタマイズ....................................................................................................... 20
2.1 パースペクティブ............................................................................................................................................................................... 20
2.2 [自動運用プロセス開発]パースペクティブのワークベンチウィンドウ.............................................................................................. 20
2.2.1 メニューバー............................................................................................................................................................................... 21
2.2.2 ツールバー................................................................................................................................................................................. 27
2.2.3 [ナビゲーター]ビュー................................................................................................................................................................. 28
2.2.4 プロセス定義エディタ................................................................................................................................................................. 30
2.2.5 Ajaxページエディタとパレットビュー..........................................................................................................................................31
2.2.6 シナリオエディタ......................................................................................................................................................................... 32
2.2.7 決定ルール表エディタ............................................................................................................................................................... 33
2.2.8 [プロパティ]ビュー...................................................................................................................................................................... 34
2.2.9 検索ビュー..................................................................................................................................................................................34
2.2.10 [問題]ビュー............................................................................................................................................................................. 35
2.2.11 [エラーログ]ビュー....................................................................................................................................................................36
2.2.12 [オーバービュー]ビュー........................................................................................................................................................... 37
2.2.13 [アウトライン]ビュー.................................................................................................................................................................. 37
2.2.14 ポップアップメニュー................................................................................................................................................................ 38
2.2.15 プロパティの表示......................................................................................................................................................................38
2.2.16 ルーラーの表示/非表示...........................................................................................................................................................39
2.2.17 グリッドの表示/非表示..............................................................................................................................................................39
2.2.18 ロールの表示方法の切り替え..................................................................................................................................................40
2.2.19 表示モードの変更.................................................................................................................................................................... 40
2.2.20 プロセス定義エディタのパレット設定の変更...........................................................................................................................40
2.3 [運用操作部品開発]パースペクティブのワークベンチウィンドウ....................................................................................................42
2.4 Systemwalker Runbook Automation Studioの設定..........................................................................................................................42
2.4.1 サーバ接続情報の設定............................................................................................................................................................. 42
2.4.2 表示の設定.................................................................................................................................................................................44
第3章 プロジェクトの管理......................................................................................................................................................... 47
3.1 ワークフローアプリケーションプロジェクトの管理............................................................................................................................. 47
3.1.1 ワークフローアプリケーションプロジェクトの作成...................................................................................................................... 47
3.1.2 ワークフローアプリケーションプロジェクトのコンポーネント...................................................................................................... 49
3.1.3 フォルダの使用.......................................................................................................................................................................... 50
3.1.4 フォルダとファイルのインポート..................................................................................................................................................51
3.1.5 フォルダとファイルの検索.......................................................................................................................................................... 53
3.1.6 リソースの操作............................................................................................................................................................................ 54
-v-
3.1.7 ワークフローアプリケーションプロジェクトのコピー....................................................................................................................55
3.1.8 ワークフローアプリケーションプロジェクト名の変更.................................................................................................................. 56
3.1.9 ワークフローアプリケーションプロジェクトを閉じる.................................................................................................................... 56
3.1.10 ワークフローアプリケーションプロジェクトを開く......................................................................................................................57
3.1.11 ワークフローアプリケーションプロジェクトの削除.................................................................................................................... 57
3.1.12 ワークフローアプリケーションプロジェクトのインポート........................................................................................................... 57
3.1.13 ワークフローアプリケーションプロジェクトのエクスポート........................................................................................................ 60
3.1.14 ワークフローアプリケーションプロジェクトのサーバからのダウンロード................................................................................. 63
3.1.15 ワークフローアプリケーションプロジェクトのサーバへのアップロード.................................................................................... 69
3.1.16 アプリケーション変数................................................................................................................................................................73
3.1.17 アプリケーション変数の定義....................................................................................................................................................73
3.2 サーバプロジェクトの管理.................................................................................................................................................................75
3.2.1 サーバプロジェクトの作成..........................................................................................................................................................75
3.2.2 サーバプロジェクトを閉じる........................................................................................................................................................ 78
3.2.3 サーバプロジェクトを開く............................................................................................................................................................79
3.2.4 サーバプロジェクトの削除..........................................................................................................................................................79
第4章 プロセス定義の管理.......................................................................................................................................................80
4.1 プロセス定義の新規作成..................................................................................................................................................................80
4.2 プロセス定義の正当性の確認.......................................................................................................................................................... 81
4.3 プロセス定義の保存..........................................................................................................................................................................81
4.4 プロセス定義の別名保存..................................................................................................................................................................81
4.5 プロセス定義名と説明の変更........................................................................................................................................................... 83
4.6 プロセス定義の優先度の設定.......................................................................................................................................................... 83
4.7 同じバージョンのサブプロセス定義の使用......................................................................................................................................83
4.8 プロセスレポートの使用.................................................................................................................................................................... 84
4.8.1 プロセス定義のレポートの作成..................................................................................................................................................85
4.9 プロセス定義を開く............................................................................................................................................................................86
4.10 プロセス定義のインポート............................................................................................................................................................... 86
4.11 プロセス定義のエクスポート............................................................................................................................................................87
4.12 プロセス定義のサーバへの送信.................................................................................................................................................... 87
4.13 プロセス定義のコピー..................................................................................................................................................................... 88
4.14 プロセス定義のファイル名の変更...................................................................................................................................................89
4.15 プロセス定義を閉じる......................................................................................................................................................................90
4.16 プロセス定義の削除........................................................................................................................................................................90
第5章 運用操作部品の管理..................................................................................................................................................... 91
5.1 運用操作部品プロジェクトの新規作成.............................................................................................................................................91
5.2 運用操作部品の変更........................................................................................................................................................................98
5.3 運用操作部品プロジェクトのインポート.......................................................................................................................................... 100
5.4 運用操作部品プロジェクトのエクスポート...................................................................................................................................... 101
5.5 運用操作部品プロジェクトの削除...................................................................................................................................................102
5.6 運用操作部品のサーバへのアップロード......................................................................................................................................103
5.7 運用操作部品のサーバからのダウンロード................................................................................................................................... 104
5.8 スクリプトファイルのインポート.........................................................................................................................................................105
5.9 スクリプトファイルのエクスポート..................................................................................................................................................... 106
5.10 スクリプトファイル名の変更........................................................................................................................................................... 107
5.11 スクリプトファイルを開く................................................................................................................................................................. 108
5.12 スクリプトファイルをアプリケーションから開く................................................................................................................................108
5.12.1 コンテンツアシスト...................................................................................................................................................................108
5.12.2 [アウトライン]ビューの表示.....................................................................................................................................................109
5.12.3 予約語の強調表示.................................................................................................................................................................111
5.13 スクリプトファイルの構文チェック.................................................................................................................................................. 112
5.14 スクリプトファイルの削除............................................................................................................................................................... 115
5.15 パレットへの登録........................................................................................................................................................................... 115
5.16 パレットからの削除........................................................................................................................................................................ 115
第6章 プロセスのモデル化..................................................................................................................................................... 117
- vi -
6.1 運用操作部品ノードの入力定義.................................................................................................................................................... 118
6.1.1 入力情報の定義.......................................................................................................................................................................118
6.1.2 固定値または、可変パラメーターを指定する..........................................................................................................................121
6.1.3 表形式で値を指定する............................................................................................................................................................ 122
6.1.4 変数(UDA)の値を指定する.....................................................................................................................................................124
6.1.5 前の運用操作部品の実行結果を指定する............................................................................................................................ 126
6.1.6 構成情報を取得するためのXPath式を生成する.................................................................................................................... 126
6.2 運用操作部品ノードの出力定義.................................................................................................................................................... 128
6.2.1 出力情報の定義.......................................................................................................................................................................128
6.3 運用操作部品のフィルター定義(スクリプトレス)............................................................................................................................ 131
6.3.1 フィルターの設定......................................................................................................................................................................131
6.3.2 フィルターのテスト.................................................................................................................................................................... 133
6.4 フィルターの詳細.............................................................................................................................................................................141
6.4.1 [大文字と小文字の変換]フィルター........................................................................................................................................ 143
6.4.2 [行カウント]フィルター.............................................................................................................................................................. 143
6.4.3 [文字列の付加]フィルター.......................................................................................................................................................144
6.4.4 [文字列の抽出]フィルター.......................................................................................................................................................146
6.4.5 [フォーマット]フィルター........................................................................................................................................................... 149
6.4.6 [重複行の削除]フィルター.......................................................................................................................................................151
6.4.7 [置換]フィルター.......................................................................................................................................................................153
6.4.8 [行の抽出]フィルター...............................................................................................................................................................154
6.4.9 [ソート]フィルター..................................................................................................................................................................... 158
6.4.10 [行の削除]フィルター.............................................................................................................................................................159
6.4.11 [スペースの削除]フィルター.................................................................................................................................................. 160
6.4.12 [CSV形式データの抽出]フィルター...................................................................................................................................... 161
6.4.13 [XML属性の抽出]フィルター................................................................................................................................................ 165
6.4.14 [日付フォーマット変換]フィルター......................................................................................................................................... 169
6.4.15 [演算]フィルター.....................................................................................................................................................................172
6.5 運用操作部品のフィルター定義(Javaスクリプト使用).................................................................................................................... 175
6.6 一般的な手順..................................................................................................................................................................................180
6.6.1 [元に戻す]と[やり直し].............................................................................................................................................................180
6.6.2 ズームインとズームアウト..........................................................................................................................................................180
6.6.3 プロセス定義の印刷.................................................................................................................................................................181
6.7 ノードの追加と編集......................................................................................................................................................................... 181
6.7.1 ノードの追加............................................................................................................................................................................. 181
6.7.2 ノード名と説明の定義.............................................................................................................................................................. 183
6.7.3 アクティビティの優先度の定義................................................................................................................................................ 183
6.7.4 ノードの位置合わせ................................................................................................................................................................. 183
6.7.5 ノードの切り取り、コピー、貼リ付け.......................................................................................................................................... 183
6.7.6 ノードの移動............................................................................................................................................................................. 184
6.7.7 ノードの削除............................................................................................................................................................................. 184
6.8 矢印の追加と編集...........................................................................................................................................................................184
6.8.1 矢印の追加...............................................................................................................................................................................184
6.8.2 矢印名の定義...........................................................................................................................................................................186
6.8.3 矢印の形状変更.......................................................................................................................................................................186
6.8.4 矢印の連結の変更...................................................................................................................................................................186
6.8.5 矢印の削除...............................................................................................................................................................................187
6.9 スイムレーンの追加と編集.............................................................................................................................................................. 187
6.9.1 スイムレーンの追加.................................................................................................................................................................. 187
6.9.2 スイムレーンのタイトルの定義..................................................................................................................................................187
6.9.3 スイムレーンの位置合わせ...................................................................................................................................................... 188
6.9.4 スイムレーンサイズの調整....................................................................................................................................................... 188
6.9.5 スイムレーンの色の変更.......................................................................................................................................................... 188
6.9.6 スイムレーンのスタイル変更.....................................................................................................................................................189
6.9.7 スイムレーンの切り取り、コピー、貼り付け...............................................................................................................................189
6.9.8 スイムレーンの移動.................................................................................................................................................................. 190
6.9.9 スイムレーンの削除.................................................................................................................................................................. 190
- vii -
6.10 グループの追加と編集..................................................................................................................................................................190
6.10.1 グループの追加..................................................................................................................................................................... 190
6.10.2 グループのタイトルの定義..................................................................................................................................................... 190
6.10.3 グループの位置合わせ..........................................................................................................................................................190
6.10.4 グループサイズの調整...........................................................................................................................................................191
6.10.5 グループの切り取り、コピー、貼り付け.................................................................................................................................. 191
6.10.6 グループの移動..................................................................................................................................................................... 192
6.10.7 グループの削除..................................................................................................................................................................... 192
6.11 アノテーションの追加.................................................................................................................................................................... 192
6.12 ノードの取戻し............................................................................................................................................................................... 193
6.13 Activityノードの将来のワークアイテムを有効にする...................................................................................................................193
6.14 プロセスインスタンス所有者の割当て.......................................................................................................................................... 193
6.15 プロセス起動権限の割当て.......................................................................................................................................................... 194
6.16 アクティビティにロールを割り当てる............................................................................................................................................. 194
6.17 ワークアイテム生成の設定............................................................................................................................................................195
6.18 ユーザ定義属性の指定................................................................................................................................................................ 195
6.18.1 XML型のユーザ定義属性の指定........................................................................................................................................ 197
6.19 Loopingの定義.............................................................................................................................................................................. 199
6.19.1 Iterator (Parallel) Loop........................................................................................................................................................... 200
6.19.2 Sequential Loop...................................................................................................................................................................... 201
6.20 Compound Activity ノードの使用................................................................................................................................................. 205
6.20.1 Compound Activity ノードの作成.......................................................................................................................................... 206
6.21 フォーム情報の設定......................................................................................................................................................................207
6.22 期限とタイマー...............................................................................................................................................................................207
6.22.1 期限の定義.............................................................................................................................................................................207
6.22.2 タイマーの定義.......................................................................................................................................................................209
6.22.3 時刻コードと日付コード..........................................................................................................................................................213
6.22.4 ビジネスカレンダーの作成.....................................................................................................................................................214
6.22.4.1 ビジネスカレンダーの形式..............................................................................................................................................216
6.22.5 ビジネスカレンダーをプロセス定義に割り当てる.................................................................................................................. 218
6.22.6 期限またはタイマーにビジネスカレンダーを割り当てる....................................................................................................... 218
6.23 投票ルールの定義........................................................................................................................................................................219
6.24 分岐条件の定義............................................................................................................................................................................222
6.25 複合分岐条件の定義....................................................................................................................................................................224
第7章 プロセス フラグメントの使用......................................................................................................................................... 225
7.1 プロセスフラグメントの作成............................................................................................................................................................. 225
7.2 プロセス定義へプロセスフラグメントを追加....................................................................................................................................226
第8章 フォームの使用............................................................................................................................................................227
8.1 QuickFormの作成........................................................................................................................................................................... 227
8.2 Ajaxページエディタの概要.............................................................................................................................................................228
8.2.1 ビューの概要............................................................................................................................................................................ 229
8.2.2 設計ビュー................................................................................................................................................................................232
8.2.3 ソースビュー..............................................................................................................................................................................235
8.2.4 パレットビュー........................................................................................................................................................................... 235
8.2.5 アウトラインビュー..................................................................................................................................................................... 237
8.2.6 プロパティビュー.......................................................................................................................................................................237
8.3 QuickForm入門............................................................................................................................................................................... 239
8.4 QuickFormの管理........................................................................................................................................................................... 242
8.4.1 QuickFormの更新.................................................................................................................................................................... 243
8.4.2 QuickFormのノードへの関連付け........................................................................................................................................... 243
8.4.3 QuickFormのノードへの関連付けの解除............................................................................................................................... 244
8.4.4 QuickFormの名前変更............................................................................................................................................................ 244
8.4.5 QuickFormの削除.................................................................................................................................................................... 244
8.4.6 QuickFormのインポート............................................................................................................................................................244
8.4.7 QuickFormのエクスポート........................................................................................................................................................ 245
- viii -
第9章 サブプロセス、チェインプロセスのモデル化................................................................................................................... 246
9.1 サブプロセスのモデル化................................................................................................................................................................ 246
9.1.1 親プロセス定義とサブプロセス定義の連結............................................................................................................................ 246
9.1.2 サブプロセス定義への移動..................................................................................................................................................... 247
9.1.3 サブプロセスのデータマッピング定義..................................................................................................................................... 247
9.2 チェインプロセスのモデル化.......................................................................................................................................................... 249
9.2.1 親プロセス定義とチェインプロセス定義の連結...................................................................................................................... 249
9.2.2 チェインプロセス定義の移動................................................................................................................................................... 250
9.2.3 チェインプロセスのデータマッピングの定義........................................................................................................................... 250
第10章 決定ルール表............................................................................................................................................................ 253
10.1 決定ルール表の操作の概要........................................................................................................................................................ 253
10.2 決定ルール表の作成....................................................................................................................................................................253
10.2.1 新しいルールセットの作成.....................................................................................................................................................254
10.2.2 新しい決定ルール表の作成..................................................................................................................................................255
10.3 決定ルール表の編集....................................................................................................................................................................258
10.3.1 条件変数の編集.....................................................................................................................................................................258
10.3.2 結果変数の編集.....................................................................................................................................................................260
10.3.3 決定ルールの編集.................................................................................................................................................................261
10.4 決定ルール表の正当性の確認で発生するエラーと警告........................................................................................................... 263
10.5 決定ルール表の検証....................................................................................................................................................................264
10.6 決定ルール表アクションの使用....................................................................................................................................................264
10.6.1 決定ルール表を適用するプロセス定義の選択.................................................................................................................... 265
10.6.2 決定ルール表アクション.........................................................................................................................................................265
第11章 プロセスの高度なモデル化.........................................................................................................................................268
11.1 Java Action.................................................................................................................................................................................... 268
11.1.1 Java Actionのタイプ................................................................................................................................................................268
11.1.2 Java Actionの割当て.............................................................................................................................................................. 269
11.1.3 Java Actionの編集..................................................................................................................................................................271
11.1.4 Java Actionの切り取り、コピー、貼り付け.............................................................................................................................. 272
11.1.5 Java Actionの削除..................................................................................................................................................................273
11.1.6 トランザクションの設定........................................................................................................................................................... 273
11.1.7 Java Actionのエラー処理.......................................................................................................................................................274
11.2 サーバアクションの使用................................................................................................................................................................ 277
11.2.1 アクティビティをユーザーに割り当てる..................................................................................................................................278
11.2.2 完了したアクティビティの実行者にタスクを割当て............................................................................................................... 280
11.2.3 関連から担当者を設定.......................................................................................................................................................... 282
11.2.4 アクティビティの優先度の設定.............................................................................................................................................. 286
11.2.5 アクティビティのエスカレート..................................................................................................................................................287
11.2.6 JavaScriptの評価.................................................................................................................................................................... 288
11.2.7 アクティビティの実行者を取得する........................................................................................................................................289
11.2.8 プロセス起案者を取得する.................................................................................................................................................... 290
11.2.9 自動的な矢印選択.................................................................................................................................................................291
11.2.10 プロセスインスタンス名の設定............................................................................................................................................. 292
11.2.11 プロセスインスタンス優先度の設定..................................................................................................................................... 293
11.2.12 プロセスインスタンスの説明の設定..................................................................................................................................... 294
11.2.13 ユーザ定義属性への値の割当て........................................................................................................................................295
11.3 XMLアクションの使用...................................................................................................................................................................297
11.3.1 XMLでの要素の追加............................................................................................................................................................ 297
11.3.2 XMLデータからのユーザ定義属性値の抽出...................................................................................................................... 300
11.3.3 XML文字列のユーザ定義属性への割り当て...................................................................................................................... 301
11.3.4 UDAからの要素、テキスト、および属性値の削除................................................................................................................ 303
11.3.5 XMLでの要素の設定............................................................................................................................................................ 306
11.3.6 XMLでのテキストまたは属性値の設定.................................................................................................................................309
11.4 ルールアクションの使用................................................................................................................................................................311
11.5 通知アクションの使用....................................................................................................................................................................311
11.5.1 メールの送信.......................................................................................................................................................................... 312
- ix -
11.6 汎用Java Actionの使用.................................................................................................................................................................315
11.7 無処理Java Actionの定義.............................................................................................................................................................317
11.8 例外処理の定義 ...........................................................................................................................................................................318
11.8.1 プロセス定義レベルでのエラーアクションの使用................................................................................................................. 319
11.8.2 一時停止時、再開時、中止時アクションの使用方法........................................................................................................... 319
11.9 トリガの使用................................................................................................................................................................................... 320
11.9.1 トリガの使用準備.................................................................................................................................................................... 321
11.9.2 プロセス起案トリガの定義...................................................................................................................................................... 321
11.9.3 選択トリガの定義.................................................................................................................................................................... 323
11.10 Javaエージェントの定義.............................................................................................................................................................. 326
11.11 FTPエージェントの定義.............................................................................................................................................................. 327
11.12 HTTPエージェントの定義........................................................................................................................................................... 328
11.13 ファイルリスナの定義...................................................................................................................................................................328
11.14 JavaScript式の定義..................................................................................................................................................................... 329
11.14.1 JavaScript式の作成.............................................................................................................................................................. 332
第12章 プロセスのシミュレーション......................................................................................................................................... 334
12.1 シミュレーションの概要..................................................................................................................................................................334
12.1.1 シミュレーション処理の概要...................................................................................................................................................334
12.1.2 一般的な手順.........................................................................................................................................................................335
12.2 シミュレーションのシナリオ定義.................................................................................................................................................... 336
12.2.1 シミュレーションのシナリオを作成..........................................................................................................................................336
12.2.2 履歴のシミュレーション値の使用...........................................................................................................................................337
12.2.3 シナリオのシミュレーションプロパティ定義............................................................................................................................342
12.2.4 ノードのシミュレーションプロパティ定義................................................................................................................................ 344
12.2.5 シナリオの保存....................................................................................................................................................................... 346
12.3 シミュレーションのシナリオを実行.................................................................................................................................................346
12.3.1 シミュレーション結果の作成...................................................................................................................................................346
12.3.2 シミュレーションコントローラの使用....................................................................................................................................... 347
12.3.3 シミュレーションレポートの生成............................................................................................................................................. 349
12.3.4 シミュレーションレポートの種別............................................................................................................................................. 350
12.3.5 シミュレーションレポートのエクスポート................................................................................................................................. 352
12.3.6 シミュレーションの比較...........................................................................................................................................................353
12.4 シミュレーションのシナリオを管理.................................................................................................................................................354
12.4.1 シナリオの別名保存とプロジェクト保存................................................................................................................................. 354
12.4.2 シナリオの名前と説明の変更................................................................................................................................................ 355
12.4.3 シナリオを開く.........................................................................................................................................................................356
12.4.4 シナリオを閉じる..................................................................................................................................................................... 356
12.4.5 シナリオのインポート.............................................................................................................................................................. 356
12.4.6 シナリオのエクスポート...........................................................................................................................................................356
12.4.7 シナリオのコピー.................................................................................................................................................................... 356
12.4.8 シナリオ名の変更................................................................................................................................................................... 357
12.4.9 シナリオの削除....................................................................................................................................................................... 357
第13章 プロセスのデバッグ....................................................................................................................................................358
13.1 デバッグの概要............................................................................................................................................................................. 358
13.2 画面構成....................................................................................................................................................................................... 358
13.2.1 [デバッグ]パースペクティブ................................................................................................................................................... 358
13.2.2 [デバッグを開く]ダイアログ(デバッグの構成)........................................................................................................................360
13.2.3 [デバッグ]ビュー.....................................................................................................................................................................361
13.2.4 [変数]ビュー........................................................................................................................................................................... 366
13.2.5 [コンソール]ビュー..................................................................................................................................................................370
13.3 デバッグの流れ............................................................................................................................................................................. 371
13.3.1 デバッグの準備...................................................................................................................................................................... 371
13.3.2 デバッグの開始...................................................................................................................................................................... 375
13.3.3 プロセスインスタンスの作成、中断、ステップ動作................................................................................................................ 376
13.3.4 変数の参照・更新...................................................................................................................................................................379
13.3.5 プロセス定義へのジャンプ.....................................................................................................................................................380
-x-
13.3.6 その他の操作......................................................................................................................................................................... 381
13.4 デバッグのテクニック..................................................................................................................................................................... 382
13.4.1 条件分岐で特定のノードを動作させる..................................................................................................................................382
13.4.2 デバッグ中にプロセス定義を開く.......................................................................................................................................... 382
第14章 Systemwalker Runbook Automation Studioの保守.................................................................................................. 384
14.1 設定情報のエクスポート................................................................................................................................................................384
14.2 設定情報のインポート................................................................................................................................................................... 384
14.3 保守情報の収集............................................................................................................................................................................384
付録A JavaScript関数........................................................................................................................................................... 386
A.1 JavaScript関数................................................................................................................................................................................386
A.2 Java ActionでサポートするJavaScript関数.................................................................................................................................... 389
A.3 トリガでサポートするJavaScript関数...............................................................................................................................................391
付録B プロジェクトコンポーネント............................................................................................................................................ 392
付録C ファイルの記述形式について....................................................................................................................................... 394
C.1 Javaエージェントファイル (agentsConfig.xml)................................................................................................................................394
C.2 FTPエージェントファイル................................................................................................................................................................ 395
C.3 HTTPエージェントファイル............................................................................................................................................................. 397
C.4 ファイルリスナファイル (fileListenerConf.xml)............................................................................................................................... 398
C.5 カスタム構成ファイル...................................................................................................................................................................... 399
付録D 名前に関する規則.......................................................................................................................................................400
- xi -
第1章 概要
ここでは、Systemwalker Runbook Automation Studioの概要について説明します。また、Systemwalker Runbook Automation Studioを
利用する上での必要な基礎知識についても説明します。
1.1 Systemwalker Runbook Automation Studioについて
Systemwalker Runbook Automation Studioは、Systemwalker Runbook Automationの自動運用プロセスおよび運用操作部品を開発す
るツールです。
自動運用プロセス
自動運用プロセスは、システム運用作業の手順を規程化したフロー(プロセス定義)、それに付随して入力や確認作業を行うためのWeb
コンソールの画面(フォーム)などを1つにまとめたものです。
運用操作部品
運用操作部品は、これまで人手で行っていた業務サーバや連携製品に対する運用操作を自動的に実行するよう記述したRubyまたは
Perlのスクリプトです。Systemwalker Runbook Automation Studioで標準提供される運用操作部品もあります。
1.1.1 自動運用プロセスの概要
自動運用プロセスは、以下の2つで構成されます。
・ プロセス定義
・ プロセス定義に付随する定義
プロセス定義とは
システム運用作業の手順をフローにしたものです。Systemwalker Runbook Automation Studioでは、プロセス定義エディタを使用して
簡単にプロセス定義を作成することができます。
プロセス定義に付随する定義とは
プロセス定義に付随する定義として主に以下の定義があります。
・ フォーム
入力や確認などの画面を定義したものです。Systemwalker Runbook Automation Studioでは、プロセス定義エディタからQuickForm
を使用して簡単にフォームを作成することができます。
-1-
自動運用プロセスの管理構成
自動運用プロセスは、ワークフローアプリケーションプロジェクトとして管理されます。構成イメージを以下に示します。
参考
Systemwalker Runbook Automation Studioは、ワークスペースと呼ばれるフォルダにプロジェクトを保管します。
ワークスペースはデフォルトで以下の場所に作成されます。
<ユーザーのドキュメントフォルダ>\Systemwalker RBA Studio\<製品バージョン>\workspace
1.1.2 運用操作部品の概要
運用操作部品は、業務サーバや連携製品に対する運用操作を実行するよう記述したRubyまたはPerlのスクリプトです。
-2-
運用操作部品の機能
運用操作部品はプラットフォームの差異を吸収します。システム管理ツールやOSについての詳細な知識を持っていなくても、簡単に
使用することができるように設計されています。また、運用操作部品は既存のアプリケーションを呼び出して目的の操作を行うこともで
きます。
運用操作部品の構造や仕組みについては、“Systemwalker Runbook Automation リファレンスガイド”を参照してください。
運用操作部品の管理構成
1つの運用操作部品は、1つのプロジェクトとして管理されます。構成イメージを以下に示します。
-3-
1.1.3 自動運用プロセスと運用操作部品の関係
自動運用プロセスと運用操作部品の関係について説明します。
ワークスペース、プロジェクト、オブジェクトの関係図
自動運用プロセスと運用操作部品は、別のプロジェクトとして管理します。
ワークスペース、プロジェクト、オブジェクトの関係図を以下に示します。
自動運用プロセスと運用操作部品の関係図
自動運用プロセスには運用操作部品は含みません。どの運用操作部品を自動運用プロセスから利用するといった情報のみを持ちま
す。
なお、人の作業が不要な(確認画面がない)自動運用プロセスにはフォームはありません。
1.2 Systemwalker Runbook Automation Studioの機能構成
Systemwalker Runbook Automation Studioの機能構成を以下に示します。
-4-
Systemwalker Runbook Automation Studioは、以下の2つの機能で構成されます。
・ 開発機能
・ 保守機能
それぞれについて以下に説明します。
1.2.1 開発機能
以下の開発機能について説明します。
・ 自動運用プロセスの作成
・ 運用操作部品の作成
・ インポート
・ エクスポート
自動運用プロセスの作成
自動運用プロセス作成機能は、運用管理サーバで動かす自動運用プロセスを作成/編集する機能と、自動運用プロセスに付随して
Webコンソールに表示される確認などのフォームを作成する機能です。
-5-
図1.1 自動運用プロセス開発画面
-6-
図1.2 フォーム開発画面
運用操作部品の作成
運用操作部品作成機能は、これまで人手で行っていたサービス起動やパッチ適用などの運用操作の自動化を実現するための部品
を作成する機能です。独自の運用操作部品が必要な場合は、外部の開発環境を導入して運用操作部品を作成することができます。
作成した運用操作部品は、自動運用プロセスから利用します。
-7-
図1.3 運用操作部品開発画面
インポート
自動運用プロセスのテンプレートや管理サーバから取得した自動運用プロセスを自身のSystemwalker Runbook Automation Studioに
インポートする機能です。また、他のSystemwalker Runbook Automation Studioからエクスポートされた自動運用プロセスや運用操作
部品も自身のSystemwalker Runbook Automation Studioにインポートすることができます。
エクスポート
Systemwalker Runbook Automation Studioから自動運用プロセスや運用操作部品をエクスポートする機能です。エクスポートした自動
運用プロセスや運用操作部品は、管理サーバに登録することにより実行できます。また、他のSystemwalker Runbook Automation Studio
にインポートすることもできます。
参考
SaaSモードについて
Systemwalker Runbook Automation Studioは、マルチテナントをサポートしていますが、自動運用プロセスの開発では、以下の前者
“SaaSモード”で利用します。ただし、テナント名は“Default”のみです。
SaaSモード:
・ デフォルトテナントと同様に他のテナントも存在します。
・ 各テナントは複数のアプリケーションを保持することができます。
・ 各テナントはBaseURLを持っています。 アプリケーションをアップロードするか、またはダウンロードするとき、このBaseURLにアク
セスします。
非SaaSモード:
・ デフォルトテナントのみ存在します。
-8-
・ デフォルトテナントは、複数のアプリケーションを保持することができます。
・ デフォルトテナントはBaseURLを持っています。 アプリケーションをアップロードするか、またはダウンロードするとき、このBaseURL
にアクセスします。
1.2.2 保守機能
以下の保守機能について説明します。
・ 設定情報のエクスポート
・ 設定情報のインポート
・ 保守情報採取
設定情報のエクスポート
Systemwalker Runbook Automation Studioの設定情報をエクスポートする機能です。設定情報には、プロセス定義エディタのパレット
の定義情報が含まれます。
設定情報をエクスポートしておくことで、Systemwalker Runbook Automation Studioを再インストールした場合に、Systemwalker Runbook
Automation Studioの設定を簡単に復元することが可能です。また、エクスポートした設定情報は別のコンピュータ上のSystemwalker
Runbook Automation Studioにインポートすることもできます。
設定情報のインポート
Systemwalker Runbook Automation Studioの設定情報をインポートする機能です。Systemwalker Runbook Automation Studioを再イン
ストールする場合に、事前にエクスポートしておいた設定情報をインポートすることで、Systemwalker Runbook Automation Studioの設
定を簡単に復元することができます。
保守情報採取
Systemwalker Runbook Automation Studioのトラブル発生時の調査に必要となる各種ログファイルや設定ファイルを採取する機能で
す。
1.3 プロセス定義
プロセス定義は、業務の流れを定義したものです。
プロセス定義には、プロセス内の制御のフローを含め、生成されるプロセスインスタンスのふるまいやプロパティを定義します。
以下に、プロセス定義の例を示します。
-9-
図1.4 プロセス定義の例
1.3.1 ノード
ノードはプロセス定義の構成要素の1つで、プロセス定義の開始点や終了点、分岐点などを表します。ノードには、人の作業を表すア
クティビティや、プロセスの制御を表す部品などがあります。後者の場合、ユーザーによるアクションは不要です。
以下のノードタイプには以下の種類があり、それぞれ独自のグラフィック記号で表されます。
プロセス定義エディタは、プロセスモデリングを行うメインウィンドウです。プロセス定義エディタのパレットに、プロセス定義のモデル化
に利用できるすべてのノードが表示されます。これらのノードは、目的ごとにグループ化されています。
・ Startノード
・ Activityノード
・ Routes
・ Eventノード
・ Customizedノード
Startノード
Startノードは、プロセスの開始を指定します。すべてのプロセス定義は、Startノードを1つだけ持ちます。Startノードは、プロセス定義の
新規作成時に自動的に生成されます。プロセス定義でトリガが定義済みかどうかにより、Startノードは以下のように表示されます。
- 10 -
ノードタイプ
Startノード
Startノード
グラフィック記号
説明
トリガがまだ定義されていないプロセス定義の開始ノード。プロセ
ス定義の作成開始時の、デフォルトの表示です。
1つ以上のトリガが定義済みのプロセス定義の開始ノードです。
Activityノード
Activityノードは、通常、ユーザーの操作によって作業が完了するノードです。
ノードタイプ
グラフィック記号
説明
Activityノードは、プロセス定義の主要な構成
要素です。このノードは、ユーザーによるアク
ションや意思決定を必要とするタスクを表しま
す。
Activityノード
また、タスクに関連付けられるフォームや、そ
のタスクを実行するユーザーなどを定義しま
す。
Voting Activityノードは、ユーザー同士が連
携して1つのアクティビティを処理するノードで
す。
Voting Activityノード
すべてのユーザーがそれぞれの選択(投票)
を行うことができます。全員の選択(投票)が終
了すると次に進みます。選択結果(次ノードへ
進む矢印で表されます。)は、投票ルールに
よって決定されます。
Activityより大きな範囲でプロセスの状態を確
認したい場合があります。そのときにCompound
Activity ノードを使用します。Compound
Activity ノードは、様々なノードや矢印を含む
コンテナです。
Compound
Activityノード
Subprocessノードは、サブプロセス実行を表し
ます。タスクの詳細は、他のプロセス定義によ
り定義されます。
Subprocessノード
Subprocessノードに到達すると、サブプロセス
に制御が渡されます。親プロセスは、サブプロ
セスが完了してその結果が戻されるまで待機
します。
- 11 -
ノードタイプ
グラフィック記号
説明
Subprocessノードは、タスクを扱い易くするた
めに、階層分割する際に使用されます。
注意:ノードの[+]マークをクリックすると、サブ
プロセス定義のイメージがダイアログに表示さ
れます。
ノードの[+]マークをダブルクリックすると、別エ
ディタにサブプロセス定義が表示されます。
Chained-Processノードは、Subprocessノードと
同様にサブプロセス実行を表します。ただし、
このタスクは、親プロセス定義で定義されてい
るタスクからは独立して完了させることができ
ます。
Chained-Processノード
サブプロセスが開始すると、親プロセスは呼び
出したサブプロセスの完了を待たずに自らの
プロセスを継続します。
注意:ノードの[+]マークをクリックすると、サブ
プロセス定義のイメージがダイアログに表示さ
れます。
ノードの[+]マークをダブルクリックすると、別エ
ディタにサブプロセス定義が表示されます。
Routes
この領域には、分岐やプロセスフロー制御を含むノードが表示されます。これらはすべて、作業者による操作が不要な自動ノードで
す。
ノードタイプ
グラフィック記号
説明
ANDノードは、プロセス内の複数分岐を同期できます。
ANDノード
ANDノードに入力するすべてのアクティビティが完了すると、処理
が続行されます。
ORノードは、プロセスフローを複数の並行処理に分岐します。
ORノード
ORノードに到達すると、ORノードから出力されたすべての後続処
理が並行して活性化されます。
Conditionalノードは、指定された条件に基づき、複数の選択肢か
ら1つを選択することにより、プロセスフローを制御します。
Conditionalノード
Conditionalノードを使用することにより、意思決定を自動化できま
す。Conditionalノードに到達すると、プロセスは指定された条件を
満たす矢印に沿って進みます。
- 12 -
ノードタイプ
グラフィック記号
説明
Complex ConditionalノードはConditionalノードと同様に指定され
た条件に基づき、複数の選択肢から1つを選択することにより、プ
ロセスフローを制御します。
Complex Conditional
ノード
Conditionalノードはある値と他の値を比較する単純な条件の指定
しかできませんが、Complex ConditionalノードはJavaScript式を使
用して、詳細な条件を指定することができます。
Eventノード
この領域には、プロセスフローに関連するある種のイベントが必要なノードが表示されます。これらはすべて、作業者による操作が不要
な自動ノードです。
ノードタイプ
グラフィック記号
説明
Delayノードは、設定された任意の期間、プロセスの処理を途中で
停止させるノードです。停止時間は、1つ以上のタイマーによって
指定できます。
Delayノード
Delayノードに到達すると、Delayノードに設定したタイマーが実行
されるまで、プロセスは一時停止します。次に、Delayノードに連結
している後続のすべてのノードを同時に活性化します。
Exitノードは、プロセスの終了を示すノードです。1つのプロセス定
義は1つ以上のExitノードをもつことができます。
Exitノード
Customizedノード
この領域には、特定のタスクを実行するようにカスタマイズされたノードが表示されます。作業者による操作が不要な自動ノードです。
Emailノードは、あらかじめ定義された宛先にメールを送信します。
メール送信後、すべての後続ノードを並行して活性化します。
このノードで、ユーザーによるアクションは不要です。
Emailノード
1.3.2 プロパティシンボル
特定のプロパティをプロセス定義、ノード、および矢印に割り当てることができます。これらのプロパティは、シンボルで表されます。プ
ロパティシンボルにより、プロセス定義、ノード、または矢印に割り当てられているプロパティを簡単に識別できます。Systemwalker
Runbook Automation Studioでは、これらのプロパティがプロセス定義エディタに表示されます(詳細については、“2.2.15 プロパティの
表示”を参照)。
[ウィンドウ]メニューから[設定]を選択し[ノードの詳細表示]を選択すると、プロセス定義エディタでプロパティの表示、非表示を切り換
えられます。
指定したプロパティに応じて、以下のシンボルが使用されます。
プロパティタイプ
トリガ
シンボル
説明
トリガは、外部システムからプロセスインスタンスにデータを移動します。
トリガシンボルは、プロセス定義またはノードに1つ以上のトリガが定義されている場合に表
示されます。トリガの詳細については、“11.9 トリガの使用”を参照してください。
トリガは、プロセス定義とActivityノードで使用できます。
タイマー
タイマーは、期限が切れるとJava Actionをトリガします。
- 13 -
プロパティタイプ
シンボル
説明
タイマーシンボルは、期限または1つ以上のタイマーが定義されたときに表示されます。タ
イマーの詳細については、“6.22 期限とタイマー”を参照してください。
タイマーは、プロセス定義、Activityノード、Voting Activityノード、およびCompound Activity
ノードで使用できます。
アクション
または
Java Actionは、プロセス定義またはノードが開始または完了したときに実行されます。Java
Actionシンボルは、1つ以上のJava Actionが定義されたときに表示されます。Java Action
の詳細については、“11.1 Java Action”を参照してください。
Java Actionプロパティは、プロセス定義とノード(Activity、Voting Activity、Compound
Activity、Subprocess、Chained-Process、Conditional、Complex Conditional、Delay、AND、
およびORノード)で使用できます。
エラー
エラーアクションは、通常のJava Actionが例外をスローしたときに実行されます。エラーア
クションシンボルは、エラーアクションが定義されたときに表示されます。エラーアクションの
詳細については、“11.8 例外処理の定義 ”を参照してください。
エラーアクションは、プロセス定義、およびStartノードとExitノードを除くすべてのノードで使
用できます。
フォーム
フォームを使用すると、プロセスからデータを取得し、ユーザーに表示することができます。
フォームが定義されると、フォームシンボルが表示されます。フォームの詳細については、
“第8章 フォームの使用”を参照してください。
フォームは、Activity、Voting Activity、Compound Activityノード、およびStartノードで使用
できます。プロセス定義では使用できません。
エージェント
Javaエージェントは、定義済みのタスクをバックグラウンドで実行するJavaプログラムです。
Javaエージェントの詳細については、“11.10 Javaエージェントの定義”を参照してください。
Javaエージェントは、Activityノードでのみ使用できます。Javaエージェントシンボルは、
Activityノードがエージェントとして定義されている場合にのみ表示されます。
Iterator
(Parallel)
Loop
Iterator (Parallel) Loopは、複数のノードインスタンスを並行して生成します。Iterator (Parallel)
Loopシンボルは、Iterator (Parallel) Loopが定義されたときに表示されます。Iterator (Parallel)
Loopの詳細については、“6.19 Loopingの定義”を参照してください。
Iterator (Parallel) Loopは、Activityノード、Subprocessノード、およびChained-Processノード
で使用できます。
Sequential
Loop
Sequential Loopは、ある条件を満たすまで逐次的にノードインスタンスを生成します。
Sequential Loopシンボルは、Sequential Loopが定義されたときに表示されます。Sequential
Loopの詳細については、“6.19 Loopingの定義”を参照してください。
Sequential Loopは、Activityノード、Subprocessノード、およびCompound Activityノードで
使用できます。
矢印で使用するシンボルの説明については、“1.3.3 矢印”を参照してください。
1.3.3 矢印
矢印はイベントの流れを定義し、あるノードから他ノードへ向かうプロセスの流れを表す接続子です。
Activityノードを起点とする矢印は、アクティビティ担当者がアクティビティに対して対応し得る選択肢を示します。
矢印は、その起点と終点により、異なるプロパティを持ちます。各シンボルは、それぞれ別のプロパティに関連付けられています。
プロパティタイプ
シンボル
“通常”の外向きの矢印
説明
この矢印は、Activityノード、Voting
Activityノード、またはCompound
Activityノードを起点とします。この表記
は、実行時に矢印が1つだけ実行される
ことを意味します。
- 14 -
プロパティタイプ
シンボル
説明
Activityノード、Voting Activityノード、ま
たはCompound Activityノード以外のノー
ドを起点とする外向きの矢印
この矢印は、Activityノード、Voting
Activityノード、またはCompound
Activityノード以外のノードを起点としま
す。この表記は、実行時にすべての矢印
が実行されることを意味します。
タイマー
この矢印は、タイマーが定義された
Activityノード、Voting Activityノード、ま
たはCompound Activityノードを起点とし
ます。タイマーには、少なくとも1つの
Make Choiceアクションが定義されている
必要があります。
トリガ
この矢印は、1つ以上のトリガが定義され
たActivityノードを起点とします。
複合イベント
この矢印は、1つ以上のトリガとタイマー
が定義されたActivityノードを起点としま
す。
1.3.4 フォーム
プロセスでは、情報に基づく決定とアクションが必要な場合があります。フォームは、ユーザーに情報を提供したり、ユーザーが情報に
アクセスすることができるように、プロセスからデータを取得して表示するすべての技術を指します。
フォームは、Startノード、Activityノード、Compound Activityノード、およびVoting Activityノードに関連付けることができます。詳細に
ついては、“第8章 フォームの使用”を参照してください。
1.3.5 ロール
プロセスに関連付けられたタスクを処理すべき責任のある、個人またはグループの総称をロールと呼びます。すべてのプロセス(アク
ティビティ)には、ロールが定義されています。プロセスの進行中に、ロールの割り当てを変更することもできます。
実行する作業の種類、権限、職責、スキル、または専門分野など組織のニーズに従ってユーザーをグループ化します。たとえば、組
織内のマネージャーを含むマネージャーというロールが考えられます。
アクティビティ(Activity、Compound Activity、またはVoting Activity)にロールを割り当てる場合、直接ユーザーを割り当てずに、グ
ループで割り当てることをお勧めします。これにより、組織変動に柔軟に対応できます。たとえば、人事異動などがあっても、サーバシ
ステムのグループ定義を変更するだけで済みます。そのロールが使用されている定義内容を変更する必要はありません。
1.4 ワークフローアプリケーションプロジェクト
ワークフローアプリケーションプロジェクトは、アプリケーションによるタスクの実行に必要なすべてのファイル(プロセス定義、フォーム、
アイコン、シミュレーションシナリオなど)を管理するプロジェクトです。Systemwalker Runbook Automation Studioを使用すると、ワーク
フローアプリケーションプロジェクトをオフラインで設計できます。このようなアプリケーションは、その後、Webコンソールから管理サー
バに配備できます。
ワークフローアプリケーションプロジェクトにより、JavaScript、HTML、およびCSSのスキルを必要としない設計環境と実行環境が提供さ
れるため、多機能のインターネット複合アプリケーションを短期間で開発し、配備できます。大きなプロジェクトが複数あるためにレイア
ウトとアダプタクラスの数が非常に多い場合は、さらに優れた方法で開発作業を構造化することが望まれます。この点で、Systemwalker
Runbook Automation Studioを使用すると、ワークフローアプリケーションプロジェクトでプロジェクトのリソースを分割できます。
ファイルシステムでは、1つのワークフローアプリケーションプロジェクトが1つのディレクトリで表されます。ワークフローアプリケーション
プロジェクトは、ビジネスプロセスごとにすべてのプロセス定義、フォーム、アタッチメントなどをグループ化したものです(全体の概要に
ついては、“付録B プロジェクトコンポーネント”を参照)。以下に例を示します。
・ QuickForm JSPファイル
・ レイアウト定義から生成されるHTMLファイル
- 15 -
・ 必要な画像または必要なHTMLファイル
・ Java Script ファイル
・ シミュレーションのシナリオファイル
・ カレンダーファイル
・ アプリケーションで使用されるJavaエージェントの設定ファイル
・ FTPエージェントファイル
・ HTTPエージェントファイル
・ カスタム構成ファイル
・ ファイルリスナファイル
・ アダプタクラス
・ 決定ルール表ファイル
・ ドキュメントファイル
・ ヘルプファイル
これらのコンポーネントについては、“2.2 [自動運用プロセス開発]パースペクティブのワークベンチウィンドウ”を参照してください。
1.5 オフライン編集およびサーバへの転送
Systemwalker Runbook Automation Studioは、スタンドアロンで動作するツールです。管理サーバへ接続せずにオフラインで、プロセ
ス定義と共にワークフローアプリケーションプロジェクトを作成できます。Systemwalker Runbook Automation Studioで作成したすべて
のアーティファクトは、ユーザーが選択したファイルシステムのフォルダに格納されます。
また、個別のプロセス定義、またはワークフローアプリケーションプロジェクト全体をSystemwalker Runbook Automation Studioからエク
スポートし、管理サーバへインポート(配備)することができます。
個別のプロセス定義の転送
管理サーバ上にプロセス定義を公開できます。公開後、利用者がプロセスインスタンスを開始できます。
管理サーバからエクスポートしたプロセス定義を、Systemwalker Runbook Automation Studioへインポートすることも可能です。
Systemwalker Runbook Automation Studioでプロセス定義を変更した場合、変更したプロセス定義を再び管理サーバへ転送します。
Systemwalker Runbook Automation Studioと管理サーバ間のデータ交換には、XPDLを使用します。XPDLとは、XML Process Definition
Languageの略で、プロセス定義の標準ファイル形式です。
次の図は、Systemwalker Runbook Automation Studioと管理サーバ間でどのようにプロセス定義が転送されるのかを示します。
- 16 -
図1.5 プロセス定義の転送
ワークフローアプリケーションプロジェクトの転送
Systemwalker Runbook Automation Studioでは、ワークスペース、ローカルシステム、および管理サーバ間で、ワークフローアプリケー
ションプロジェクト全体を転送することが可能です。
これらのファイルには、アプリケーションの運営に必要なものすべてが含まれます。
プロジェクト全体を転送することも可能ですし、選択した特定のコンポーネントだけを転送することも可能です。
Webコンソールを使用して、管理サーバ上にアプリケーションを配備し、公開することもできます。
ワークフローアプリケーションプロジェクトの名前は、管理サーバ上のアプリケーションと一意に対応する名前である必要があります。
ワークフローアプリケーションプロジェクトの転送には、以下のオプションがあります。
・ [アプリケーションのサーバからのダウンロード]
この機能は、管理サーバからプロジェクトをダウンロードします。この機能により、リモートサーバから作業中のワークスペースにワー
クフローアプリケーションプロジェクトをダウンロードすることができます。
プロジェクト全体、もしくは特定のコンポーネントを選択してダウンロードできます。
詳細については、“3.1.14 ワークフローアプリケーションプロジェクトのサーバからのダウンロード”を参照してください。
・ [アプリケーションのサーバへのアップロード]
この機能は、管理サーバにプロジェクトをアップロードします。この機能により、作業中のワークスペースからリモートサーバにワー
クフローアプリケーションをアップロードすることができます。
[サーバからアプリケーションのダウンロード]機能と同様に、プロジェクト全体、もしくは、特定のコンポーネントを選択してアップロー
ドできます。
詳細については、“3.1.15 ワークフローアプリケーションプロジェクトのサーバへのアップロード”を参照してください。
- 17 -
・ [アプリケーションのインポート]
この機能は、プロジェクトをローカルファイルシステムからインポートします。この機能により、ファイルシステムに保存されている.bar
ファイルから、プロジェクト、もしくは特定のコンポーネントを選択してインポートすることができます。
詳細については、“3.1.12 ワークフローアプリケーションプロジェクトのインポート”を参照してください。
・ [アプリケーションのエクスポート]
この機能は、プロジェクトをファイルにエクスポートします。この機能により、ローカルのワークフローアプリケーションプロジェクトを
作業中のワークスペースからローカルファイルシステムにエクスポートすることができます。
また、特定のコンポーネントを選択してエクスポートすることも可能です。
エクスポートされた.barファイルを、管理サーバ上に配備することができます。
詳細については、“3.1.13 ワークフローアプリケーションプロジェクトのエクスポート”を参照してください。
以下の図は、ワークフローアプリケーションプロジェクトがSystemwalker Runbook Automation Studioと管理サーバ間でどのように
転送されるのかを示しています。
図1.6 ワークフローアプリケーションプロジェクトの転送
1.6 オンライン編集:サーバのプロジェクト
Systemwalker Runbook Automation Studioは、スタンドアロンツールとしてオフラインで作業するほか、管理サーバに接続して直接作
業することが可能です。作成したプロセス定義はサーバ上のデータベースに直接格納されます。ローカルで作成したプロセス定義も、
サーバに直接転送できます。
SaaSモードまたは非SaaSモードのデフォルトテナントのSystemアプリケーションのみに接続できます。
- 18 -
1.7 シミュレーションのシナリオと結果
シミュレーションのシナリオは、プロセス定義で定義されたビジネスプロセスの実行をシミュレートするための情報を定義します。シナリ
オは、プロセス内のフローを含めたプロセス定義から生成されるプロセスインスタンスの動作やプロパティ(たとえば特定のアクティビ
ティが行われる可能性など)を定義します。
このシナリオは、プロセス定義や、シミュレーション実行の開始と終了を示す判断基準、特定のアクティビティを実行する確率、プロセ
スの参加者、取り扱うデータ、アクティビティやリソースの見積もりなどの各アクティビティに関する情報から構成されます。シミュレーショ
ンのシナリオファイルには、プロセスシミュレーションの詳細や、シミュレーション実施後のシミュレーションの結果が含まれています。シ
ミュレーションプロセスについての詳細は、“12.2 シミュレーションのシナリオ定義”を参照してください。
シナリオに設定する、シミュレーション実行の開始と終了時間や特定のアクティビティを実行する確率の情報などを、サーバに保持さ
れているプロセスインスタンスの履歴データから獲得することができます。詳細については、“12.2.2 履歴のシミュレーション値の使用”
を参照してください。
プロセスのシミュレーションによって、特定のアクティビティにかかるコストや時間を算出でき、これにより業務プロセスを最適化できま
す。
- 19 -
第2章 ユーザーインターフェースの基本事項とカスタマイズ
ここでは、Systemwalker Runbook Automation Studioのユーザーインターフェースを紹介します。Systemwalker Runbook Automation
Studioを利用するにあたって、最初に知っておくべき事項と、必要に応じてカスタマイズする方法を説明します。
2.1 パースペクティブ
Systemwalker Runbook Automation Studioは、以下の3つのパースペクティブを提供します。
・ [自動運用プロセス開発]パースペクティブ
・ [運用操作部品開発]パースペクティブ
・ [デバッグ]パースペクティブ
[デバッグ]パースペクティブについては、“第13章 プロセスのデバッグ”を参照してください。
2.2 [自動運用プロセス開発]パースペクティブのワークベンチウィンドウ
[自動運用プロセス開発]パースペクティブでは、以下の操作を行うことができます。
・ ワークフローアプリケーションプロジェクトを作成すること。
・ アクティビティ、矢印、スイムレーンなどを使用してプロセス定義を作成すること。
[自動運用プロセス開発]パースペクティブを開始する方法は以下です。
・ [ウィンドウ] > [パースペクティブを開く] > [自動運用プロセス開発]の順に選択します。
参考
Studio の右上にあるパースペクティブのショートカットアイコンから、パースペクティブを切り替えることができます。
[自動運用プロセス開発]パースペクティブのユーザーインターフェースは、メニューバー、ツールバー、各種ビュー、プロセス定義エ
ディタで構成されます。これらのコンポーネントを総称して、ワークベンチウィンドウと呼びます。以下の図はワークベンチウィンドウを示
しています。
- 20 -
図2.1 [自動運用プロセス開発]パースペクティブのワークベンチウィンドウ
図中の数字の説明は以下のとおりです。
・ 1: メニューバー
・ 2: ツールバー
・ 3: [ナビゲーター]ビュー
・ 4: プロセス定義エディタ、Ajaxページエディタ、など
・ 5: [プロパティ]ビュー、[問題]ビュー、または[エラーログ]ビュー (検索結果の表示にも使用)
・ 6: [オーバービュー]ビュー
・ 7: [アウトライン]ビュー
・ 8: [パレット]ビュー
以降の各項で、これらのコンポーネントについて説明します。
2.2.1 メニューバー
メニューバーには、Systemwalker Runbook Automation Studioの各種機能にアクセスするためのメニューとメニューオプションが含まれ
ています。
[ファイル]メニュー
[ナビゲーター]ビューでの選択状態により、[ファイル]メニューの項目が異なります。
・ プロジェクト: ワークフローアプリケーションプロジェクト、ローカルのプロジェクト、サーバのプロジェクト
・ プロセス定義: ローカルマシンまたはサーバに格納されているプロセス定義
- 21 -
・ シミュレーションのシナリオのプロジェクト、プロセスフラグメントのプロジェクト
・ ワークフローアプリケーションプロジェクトのフォルダ
メニュー項目
説明
新規 - プロジェクト - 一般
Systemwalker Runbook Automation Studioではサポートしていません。
新規 - プロジェクト - Interstage
BPM Studio - プロジェクト
ワークフローアプリケーションプロジェクト、サーバプロジェクトを新規に作成します。
新規 - プロジェクト Systemwalker Runbook
Automation Studio - 運用操作部
品
運用操作部品プロジェクトを新規に作成します。
新規 - サンプル
Systemwalker Runbook Automation Studioではサポートしていません。
新規 - その他 - 一般
Systemwalker Runbook Automation Studioではサポートしていません。
新規 - その他 - Interstage BPM
Studio
FTPエージェント、HTTPエージェント、QuickForm、カスタム構成、フォルダ、プロセ
スフラグメント、プロセス定義、ルールセット、決定ルール表、ワークフローアプリケー
ションプロジェクト、サーバプロジェクトを新規に作成します。
新規 - その他 - Systemwalker
Runbook Automation Studio - 運
用操作部品
運用操作部品プロジェクトを新規に作成します。
新規 - プロジェクト - アプリケー
ション
ワークフローアプリケーションプロジェクトを新規に作成します。
新規 - プロジェクト - サーバ
サーバプロジェクトを新規に作成します。
新規 - プロセス定義
プロセス定義を新規に作成します。
新規 - シナリオ
シミュレーションのシナリオを新規に作成します。
新規 - QuickForm
QuickFormを新規に作成します。
新規 - エージェント
ワークフローアプリケーションプロジェクトのエージェントを定義するagentsConfig.xml
ファイルを作成します。
新規 - FTPエージェント
FTPエージェントを定義するためのファイルを作成します。
新規 - HTTPエージェント
HTTPエージェントを定義するためのファイルを作成します。
新規 - カスタム構成
JavaActionやエージェントの構成ファイルを作成します。
新規 - ファイルリスナ
ワークフローアプリケーションプロジェクトのファイルリスナを定義する
fileListenerConf.xmlファイルを作成します。
新規 - プロセス スケジューラ
ワークフローアプリケーションプロジェクトのProcessScheduler.xmlファイルを作成し
ます。
新規 - Javaアクション - データ
ソース
ワークフローアプリケーションプロジェクトのデータソースを定義する
DataSourceDefinition.xmlファイルを作成します。
新規 - カレンダー
新規のビジネスカレンダーを定義するカレンダーファイルを作成します。
新規 - ルール - ルールセット
決定ルール表ファイルを格納するためのルールセットを作成します。
新規 - ルール - 決定ルール表
決定ルール表ファイルを作成します。
新規 - フォルダ
選択したフォルダの下に新しくサブフォルダを作成します。
新規 - ファイル
選択したフォルダの下に新しくファイルを作成します。
新規 - プロセスフラグメント
Process Fragmentsプロジェクトにプロセスフラグメントファイルを作成します。
閉じる
プロセス定義エディタに表示しているプロセス定義、シナリオエディタに表示してい
るシナリオ、テキストエディタで開いているリソースファイル、またはAjaxページエディ
タに表示しているQuickFormを閉じます。
- 22 -
メニュー項目
説明
すべて閉じる
開いているすべてのプロセス定義、シナリオ、テキストエディタ、およびQuickForm
を閉じます。
保存
作業中のプロセス定義、シナリオ、リソースファイル、またはAjaxページエディタの
QuickFormを保存します。
別名保存
プロセス定義やシナリオファイル、QuickFormを別名で保存します。
すべて保存
作業中のプロセス定義、リソースファイル、シナリオ、およびQuickFormをすべて上
書き保存します。
前回保存した状態に戻す
Systemwalker Runbook Automation Studioではサポートしていません。
移動
Systemwalker Runbook Automation Studioではサポートしていません。
名前変更
プロセス定義、シナリオ、リソースファイル、QuickFormのファイルの名前を変更しま
す。
更新
[ナビゲーター]ビューを最新の状態に更新します。
印刷
プロセス定義エディタに表示されているプロセス定義を印刷します。
ワークスペースの切り替え
別のワークスペースに切り替えます。Systemwalker Runbook Automation Studioは
再起動されます。
再始動
Studioを再始動します。
サーバへ送信
プロセス定義をサーバのプロジェクトへ転送します。
アプリケーションのアップロード
ワークフローアプリケーションプロジェクトをワークスペースからリモートサーバにアッ
プロードします。
サーバからアプリケーションのダ
ウンロード
ワークフローアプリケーションプロジェクトをリモートサーバからワークスペースにダ
ウンロードします。
Barファイルのインポート
ワークフローアプリケーションプロジェクトをローカルファイルシステムからワークス
ペースにインポートします。
インポート
ワークフローアプリケーションプロジェクトのリソースをローカルファイルシステムから
ワークスペースにインポートします。
エクスポート
ワークフローアプリケーションのリソースをローカルファイルシステムへエクスポート
します。プロセス定義ファイルをエクスポートする場合は、[プロセス定義のエクス
ポート]ダイアログで以下の形式を指定できます。
・ XPDL1.0
・ XPDL2.0
・ XPDL2.1
プロセスレポートの生成
アクティブなプロセス定義エディタまたはプロセスアウトラインエディタのプロセス定
義のレポートを作成します。
シミュレーションの実行
シナリオをシミュレートし、シミュレーションの再生に使用するシミュレーション結果を
生成します。
プロパティ
プロジェクト、プロセス定義、シミュレーションのシナリオ、QuickForm、リソースファイ
ル、およびその他の関連するプロジェクトのプロパティを表示します。
終了
Systemwalker Runbook Automation Studioを終了します。
注意
Systemwalker Runbook Automationでは、プロセス スケジューラ機能はサポートしていません。
- 23 -
[編集]メニュー
[編集]メニューは、プロセス定義、シミュレーションのシナリオ、またはQuickFormが開いている場合にだけ使用できます。
メニュー項目
説明
元に戻す
直前に行った操作を元に戻します。
やり直し
元に戻した操作をやり直します。
切り取り
選択したノード、スイムレーン、グループまたはシナリオで定義されたテキストを
切り取ります。
Ajaxページエディタの[ソース]ビューで切り取りを実行した場合、選択した範囲を
切り取り、クリップボードにテキストデータとして保管されます。また[設計]ビュー
で実行したときは、選択した部品が切り取られ、クリップボードにテキストデータと
して保管されます。
コピー
選択したノード、スイムレーン、グループまたはシナリオで定義されたテキストをコ
ピーします。
Ajaxページエディタの[ソース]ビューでコピーを実行した場合、選択された範囲
がコピーされ、クリップボードにテキストデータとして保管されます。また[設計]
ビューで実行したときは、選択した部品が切り取られ、クリップボードにテキスト
データとして保管されます。
貼り付け
ノード、スイムレーン、グループまたはシナリオで定義されたテキストを貼り付けま
す。
Ajaxページエディタの[ソース]ビューでこのコマンドを実行した場合、クリップボー
ドのデータがカーソルの場所に貼り付けられます。また、[設計]ビューで実行した
ときは、クリップボードのデータは[設計]ビューに貼り付けられ、この部品が選択
されます。
削除
選択したノード、スイムレーン、グループおよび矢印をプロセス定義または、選択
したテキストをシナリオから削除します。
Ajaxページエディタでは、選択した範囲またはエレメントを削除します。
[ナビゲーター]ビューがアクティブな場合、ワークフローアプリケーションプロジェ
クト内のプロジェクト、プロセス定義、シナリオ、QuickForm、リソースファイル、お
よびその他のファイルやフォルダを削除します。サーバのプロジェクトのプロセス
定義、ワークフローアプリケーションプロジェクトの各要素を示すフォルダ、シミュ
レーションフォルダおよびProcess Fragmentsプロジェクトは削除することができま
せん。
すべて選択
現在表示されているプロセス定義のすべてのエレメントまたは、シナリオで定義
されたテキストを選択します。このコマンドは、プロセス定義エディタ、およびシナ
リオエディタで利用できます。
Ajaxページエディタでは、このコマンドは[ソース]ビューで実行することができ、
すべてのソースコードを選択します。
検索/置換
[検索/置換]ダイアログボックスを表示し、指定文字列を検索または置換します。
ブックマークの追加
Systemwalker Runbook Automation Studioではサポートしていません。
タスクの追加
Systemwalker Runbook Automation Studioではサポートしていません。
次を検索
現在選択されているテキスト、またはアウトラインビューで選択している要素名の
次を検索します。
前を検索
現在選択されているテキスト、またはアウトラインビューで選択している要素名の
前を検索します。
次をインクリメンタル検索
次をインクリメンタル検索モードで開始します。
前をインクリメンタル検索
前をインクリメンタル検索モードで開始します。
- 24 -
メニュー項目
説明
整列(サブメニュー)
ノード、スイムレーンまたはグループを整列させるためのメニューオプションが含
まれています。このコマンドは、プロセス定義エディタとシナリオエディタで使用
することができます。
サイズ合わせ(サブメニュー)
スイムレーンやグループの高さと幅を同じサイズに調整するためのメニューオプ
ションが含まれています。このコマンドはプロセス定義エディタとシナリオエディタ
で使用することができます。
スイムレーンスタイル(サブメ
ニュー)
スイムレーンの位置を調整するためのメニューオプションが含まれています。(上
部と左部) このコマンドはプロセス定義エディタとシナリオエディタで使用すること
ができます。
選択の展開先
Ajaxページエディタのソースビューで使用することができます。現在カーソルが
ある位置や、その前後のセレクタやプロパティを選択します。
挿入モードの切り替え
このコマンドは使用できません。
コンテンツアシスト
Ajaxページエディタのソースビューで使用することができます。ソースビューの
カーソル位置で使用可能な入力候補のリストを開きます。
ツールチップ記述の表示
Ajaxページエディタのソースビューで使用することができます。カーソルの位置
するタグやプロパティの説明を表示します。
単語補完
Ajaxページエディタのソースビューで使用することができます。ソースビューの
カーソル位置で単語の入力を補完します。
クイックフィックス
Ajaxページエディタのソースビューで使用することができます。
ソースビューのカーソル位置で単語のクイックフィックスを行います。
更新
Ajaxページエディタで使用することができます。
設計ビューの表示を最新の状態に更新します。
[ソース]メニュー
[ソース]メニューは、Ajaxページエディタの[ソース]ビューでのみ使用できます。
メニュー項目
説明
コメントの切り替え
キャレットがある行、または、選択されている行をコメントにします。
ブロックコメントの追加
キャレットがあるタグの開始タグから終了タグまでをコメントにします。
ブロックコメントの除去
ブロックコメントを削除します。
左へシフト
左側にインデントします。
右へシフト
右側にインデントします。
文書のクリーンアップ
[クリーンアップ]ダイアログボックスを表示し、タグや属性などの大文字/小文字の統
一など、規則に沿った文書に修正します。
フォーマット
エディタの内容をフォーマットします。
アクティブ要素のフォーマット
アクティブ要素の内容をフォーマットします。
ファイル内での出現箇所
ファイル内での出現箇所を検索します。
[表示]メニュー
[表示]メニューは、プロセス定義が開いている場合にだけ使用できます。
メニュー項目
説明
ズームイン
プロセス定義エディタの表示倍率を上げます。
ズームアウト
プロセス定義エディタの表示倍率を下げます。
- 25 -
メニュー項目
説明
表示モード(サブメニュー)
エンハンスビューとClassic BPMNビューを切り替えるためのメニューオプションが含
まれています。
ノードの詳細表示
プロパティシンボル(ノードのアイコン)やアクションアノテーションの表示を有効また
は無効にします。
ロールの表示
Activityノード、Compound Activityノード、およびVoting Activityノードのロールの
表示をオンまたはオフにします。
グリッド表示
グリッドの表示をオンまたはオフにします。
ルーラー表示
ルーラーの表示をオンまたはオフにします。
スナップ表示
フィードバックラインの表示をオンまたはオフにします。フィードバックラインを表示
すると、エレメントをドラッグして整列させるときに便利です。
パレット設定
パレットをカスタマイズするためのダイアログを開きます。
[ナビゲート]メニュー
メニュー項目
表示
説明
Systemwalker Runbook Automation Studioではサポートしていません。
[プロジェクト]メニュー
メニュー項目
説明
プロジェクトを開く
プロジェクトを開きます。
プロジェクトを閉じる
プロジェクトを閉じます。
ワーキングセットのビルド - ワー
キングセットの選択
Systemwalker Runbook Automation Studioではサポートしていません。
プロパティ
プロジェクト、プロセス定義、シミュレーションのシナリオ、QuickForm、リソースファイ
ル、およびその他の関連するプロジェクトのプロパティを表示します。
[ウィンドウ]メニュー
メニュー項目
説明
新規ウィンドウ
新しいワークベンチウィンドウを開きます。
新規エディタ
現在表示されているプロセス定義、シミュレーションのシナリオ、リソースファイル、ま
たはQuickFormを新しいエディタに開きます。
パースペクティブを開く
[自動運用プロセス開発]パースペクティブ、[運用操作部品開発]パースペクティブ、
[デバッグ]パースペクティブを切り替えることができます。
ビューの表示(サブメニュー)
現在のパースペクティブに含まれているビューを開くためのメニューオプションが含
まれています。
パースペクティブのリセット
ワークベンチウィンドウの設定を初期状態に戻します。
ナビゲーション(サブメニュー)
別のビュー、プロセス定義エディタ、シナリオエディタ、リソースエディタ、およびAjax
ページエディタに移動するためのメニューオプションが含まれています。このサブメ
ニューは、ビュー、プロセス定義エディタ、シナリオエディタ、およびAjaxページエディ
タを最大化するときや、システムメニューおよびビューメニューの表示と非表示を切
り替えるときにも使用します。
設定
Systemwalker Runbook Automation Studioの操作環境を設定するためのダイアログ
を開きます。設定では、グラフィック表示、エディタ、サーバ接続情報、ナビゲー
ター、プロセスアウトラインエディタ、表示、起動およびシャットダウンが表示されま
す。
- 26 -
[ヘルプ]メニュー
メニュー項目
説明
Studioへようこそ
“Studioへようこそ”パネルを表示します。
ヘルプ目次
ヘルプブラウザを開き、ヘルプの目次を表示します。
検索
[ヘルプ]ビューを開きます。このビューで、検索する文字列を入力できます。
ダイナミックヘルプ
[ヘルプ]ビューを開きます。このビューで、ヘルプトピックを確認できます。
Systemwalker Runbook
Automation について
Systemwalker Runbook Automation Studioコンポーネントのバージョン情報および技
術情報を表示するダイアログを開きます。
2.2.2 ツールバー
ツールバーに表示されているボタンについて説明します。
ボタン
説明
プロジェクト、プロセス定義、シナリオ、QuickForm、Javaエージェント、カレンダーファイル、FTP
エージェント、HTTPエージェント、構成ファイル、ファイルリスナ、プロセススケジューラ、決定
ルール表、プロセスフラグメントおよびフォルダやファイルを新規作成するためのウィザードを開
きます。
プロセス定義エディタ、シナリオエディタや決定ルール表エディタで、編集しているプロセス定
義、シナリオや決定ルール表の正当性を確認します。エラーや警告が存在する場合は、[問
題]ビューにそれらを表示します。
編集中のプロセス定義、シナリオエディタ、またはQuickFormなどを保存します。
プロセス定義エディタに表示されているプロセス定義、またはテキストエディタに表示されてい
るリソースファイルを印刷します。
プロセス定義、シナリオ、リソースファイルに対して直前に行った操作を元に戻します。
元に戻した操作をやり直します。
選択したノード、スイムレーンおよびグループの左端、中央線、または右端を合わせて整列させ
ます。
選択したノード、スイムレーンおよびグループの上端、中央線、または下端を合わせて整列させ
ます。
スイムレーンおよびグループの高さと幅を同じサイズに調整します。
プロセス定義エディタの表示倍率を上げます。
プロセス定義エディタの表示倍率を下げます。
プロセス定義エディタの表示倍率を指定した拡大/縮小レベルに設定します。
ノードと矢印を連結できるようにします。
プロセス定義エディタ内のエレメントを選択できるようにします。[Ctrl]キーを押しながら複数の
エレメントを選択することができます。
Systemwalker Runbook Automation Studioのヘルプ画面を開きます。
ワークスペース、選択したリソース、周囲のプロジェクトなどのフォルダやファイルを検索できま
す。
[設計]ビューの表示を最新の状態に更新します。
また、エラー発生により設計ビューで編集操作ができなくなった場合、ソースコードを修正した
あとに更新する必要があります。
- 27 -
ボタン
説明
[設計]ビューと[ソース]ビューを上下に並べて表示します。
[設計]ビューと[ソース]ビューを左右に並べて表示します。
[設計]ビューだけを表示します。
[ソース]ビューだけを表示します。
[ソース]ビュー編集中に[設計]ビューに自動反映するか、反映しないかを設定します。
自動反映する場合は、ボタンが押された状態で表示されます。
最後に使用したデバッグの構成でプロセスのデバッグを開始します。
最後に使用したデバッグの構成で外部ツールを起動します。
注意
・ Systemwalker Runbook Automationでは、プロセス スケジューラ機能はサポートしていません。
・ [新規ウィンドウ]メニューで複数のワークベンチウィンドウを表示する場合、複数のワークベンチウィンドウ上で同じファイルを同時
に表示/編集しないでください。
2.2.3 [ナビゲーター]ビュー
[ナビゲーター]ビューには、ワークフローアプリケーションのプロジェクト、サーバのプロジェクト、シミュレーションシナリオのプロジェクト
およびプロセスフラグメントプロジェクトと、これらのプロジェクトに含まれるプロセス定義の名前またはファイル名、シナリオ、QuickForm、
およびフォルダが表示されます。
このビューを使用して、プロジェクトとプロセス定義を管理します。たとえば、プロセス定義を開いて編集したり、選択してコピー、名前の
変更、エクスポートなどを行ったりすることができます。
- 28 -
図2.2 [ナビゲーター]ビュー
[ナビゲーター]ビューのツールバー
[ナビゲーター]ビューのツールバーは、使用頻度の高い機能のボタンで構成されています。
ボタン
説明
プロジェクト、フォルダなどの階層で1レベル戻ります。
プロジェクト、フォルダなどの階層で1レベル進みます。
プロジェクト、フォルダなどの階層で1レベル上に行きます。
すべてのプロジェクトを折りたたみます。
選択したアイテムとエディタをリンクします。
メニューを開いて[フィルター]メニューオプションを選択します。詳細については、以下を参照してく
ださい。
プロジェクトのフィルター
ナビゲーターツールバーのメニューアイコンから[フィルター]を選択すると、[ナビゲーター]ビューで表示されているプロジェクトをフィル
ターできます。以下のダイアログが開きます。
- 29 -
図2.3 [ナビゲーター]ビューでプロジェクトをフィルター
フィルターを選択し[ナビゲーター]ビューに適用します。たとえば、[シミュレーションのシナリオ]チェックボックスを選択すると、シミュレー
ションのシナリオプロジェクト以外のプロジェクトすべてが[ナビゲーター]ビューに一覧表示されます。
注意
[ローカルプロジェクト]チェックボックスは、チェックしないで使用します。
2.2.4 プロセス定義エディタ
プロセス定義エディタは、プロセスをモデル化するときに使用するメインウィンドウです。このエディタを使用して、プロセス定義に属す
るすべてのエレメントを追加および編集できます。
プロセス定義を開くと、プロセス定義エディタが自動的に表示されます。複数のプロセス定義を同時に開くこともできます。各プロセス
定義は、個別のタブとして表示されます。タブには、ナビゲーターの設定により、プロセス定義のファイル名または名前が表示されま
す。ファイル名または名前の左横にあるアスタリスク(*)は、未保存の変更内容があることを示しています。
- 30 -
図2.4 プロセス定義エディタ
プロセス定義エディタには、ノードを追加するためのボタンが含まれているパレットがあります。
・ パレットを一時的に開くには、閉じているパレットの上にマウスカーソルを置きます。マウスカーソルを置くとすぐにパレットが表示さ
れます。
・ パレットを開いたままにするには、パレットの表示ボタン(<)をクリックします。
・ パレットを閉じるには、パレットの非表示ボタン(>)をクリックします。
・ パレットは、プロセス定義エディタの左側に置くことも右側に置くこともできます。パレットのヘッダをクリックし、目的の場所までドラッ
グします。
・ パレットのサイズを変更するには、編集領域に面した境界線をクリックし、境界線をドラッグします。
デフォルトでは、プロセス定義エディタの右側にパレットが閉じられています。デフォルトの設定は、[ウィンドウ] > [設定]の順に選択し
て変更することができます。詳細については、“2.4.2 表示の設定”を参照してください。
読取り専用のプロセス定義を開いた場合、パレットは表示されません。ステータスバーに、そのファイルが読取り専用であることが示さ
れます。
参考
プロセス定義エディタではパレットから次の2通りの方法でアイテムを配置することができます。
・ パレットからプロセス定義エディタへドラッグアンドドロップします。
・ パレットでアイテムをクリックして選択します。プロセス定義エディタ上でアイテムを配置したい場所にマウスカーソルを移動し、クリッ
クします。
2.2.5 Ajaxページエディタとパレットビュー
Ajaxページエディタは、QuickFormの作成に使用するメインウィンドウです。エディタを使用して、QuickFormを設計します。QuickForm
を開くと、Ajaxページエディタが自動的に開きます。複数のQuickFormを同時に開くことができます。
各QuickFormが1つのタブに表示されます。タブには、QuickFormが表示されます。ファイル名または名前の左にあるアスタリスク(*)
は、保存されていない変更があることを示します。
- 31 -
図2.5 Ajaxページエディタとパレットビュー
参考
Ajaxページエディタではパレットビューから次の方法でアイテムを配置することができます。
・ パレットビューでアイテムをクリックして選択します。Ajaxページエディタ上でアイテムを配置したい場所にマウスカーソルを移動し、
クリックします。
2.2.6 シナリオエディタ
シナリオエディタは、シミュレーションのシナリオを定義したり、シミュレーション結果を表示するメインウィンドウです。シナリオエディタを
使用して、シミュレーションのプロパティを定義したり、シミュレーション結果を表示します。
すべてのシナリオは、ワークフローアプリケーションのプロジェクトまたはサーバのプロジェクトからプロセス定義をインポートする必要が
あります。シナリオで使用したプロセス定義は、ローカルのプロジェクトまたはサーバのプロジェクトへエクスポートできます。プロセス定
義で定義されているすべてのアクティビティに対して、シミュレーションプロパティを指定できます。シナリオエディタを使用して、プロセ
ス定義に属するすべての要素を追加、編集できます。
シミュレーションのシナリオを開くと、シナリオエディタが自動的に開きます。複数のシナリオを同時に開くことができます。シナリオエディ
タの上部のタブにシナリオの名前が表示されます。ナビゲーターの設定により、ファイル名またはシナリオ名がタブに表示されます。名
前の左にアスタリスク(*)がある場合、保存されていない変更が含まれていることを示しています。
開いたシナリオがプロセス定義をインポート済みの場合、シナリオエディタの下部に別のタブとしてプロセス定義が表示されます。
- 32 -
図2.6 シナリオエディタ
プロセス定義を変更するには、シナリオエディタ下部のプロセス定義名の付いたタブをクリックします。上記の例では、経費申請という
タブです。
[履歴データからシミュレーションのパラメタを獲得]のリンクから、リモートサーバにある履歴データを取得して、シミュレーションのプロ
パティに設定することができます。
シナリオエディタは、シミュレーション結果も表示します。この場合、シナリオエディタの下に、シミュレーションコントローラが表示されま
す。
シミュレーションコントローラ
シミュレーションコントローラは、シミュレーション実行の再生、停止、一時停止に使います。また、シミュレーション中のアクティビティの
処理速度やアニメーションの速度の調整にも使います。シミュレーションコントローラには、シミュレーション結果を生成するためのボタ
ンがあります。
シミュレーションコントローラは、選択したシミュレーションシナリオで[シミュレーションの実行]を実行したときに、シナリオエディタの下に
表示されます。
図2.7 シミュレーションコントローラの表示
2.2.7 決定ルール表エディタ
決定ルール表を使用すると、意思決定のための高度なルールをプログラミングなしで、容易に定義することができます。
決定ルール表エディタは、決定ルール表を定義するために使用します。
- 33 -
2.2.8 [プロパティ]ビュー
[プロパティ]ビューでは、プロセス定義エディタで選択されたノードのすべてのプロパティを表示、編集します。
[ナビゲーター]ビューで選択している各プロジェクトやファイルの情報が表示されます。プロセス定義、シナリオ、フォルダ、QuickForm、
または決定ルール表を選択している場合、[プロパティ]ビューに表示される内容はナビゲーターの設定により異なります。ナビゲーター
の設定でファイル名を選択している場合、[プロパティ]ビューにはファイルのプロパティが表示されます。ナビゲーターの設定で名前を
選択している場合、[プロパティ]ビューにはプロセス定義またはシナリオまたは決定ルール表の名前と説明が表示されます。
プロセス定義エディタで空のスペースをクリックすると、[プロパティ]ビューにそのプロセス定義のプロパティ(名前や説明、ユーザ定義
属性、期限、タイマー、アクションセット、例外処理、トリガなど)が表示されます。プロセス定義のエレメントを選択すると、そのエレメント
のプロパティが表示されます。以下の図は、Activityノードの[プロパティ]ビューの例を示しています。
図2.8 Activityノードの[プロパティ]ビュー
Ajaxページエディタで部品やタグ情報を選択している場合は、[プロパティ]ビューはそのプロパティを表示します。
[プロパティ]ビューのタブ表示切り替え
[プロパティ]ビューのタブをアイコンのみの表示に切り替えることができます。アイコンのみの表示に変更した場合、アイコンにフォーカ
スをあてると、そのタブの名称がツールチップで表示されます。
2.2.9 検索ビュー
検索ビューには検索結果が表示され、検索結果の分析に使用できるいくつかの機能が用意されています。このビューは、アイテムの
検索後にのみ表示されます。
ツールバーには、選択された一致アイテムの表示、検索履歴の表示などのシンボルがあります。以下の図は、“simulation”という単語
を検索した後の検索ビューです。
- 34 -
図2.9 検索ビュー
2.2.10 [問題]ビュー
[問題]ビューには、特定のプロセス定義ファイル、シナリオファイル、決定ルール表ファイル、またはQuickFormのエラーや警告が表示
されます。
プロセス定義を開いて、ツールバーから[正当性を確認する]をクリックするか、プロセス定義エディタ内の空のスペースをクリックして、
[正当性を確認する]を選択すると、[問題]ビューには、そのプロセス定義に関連しているエラーが表示されます。また、同様に、シナリ
オファイルと決定ルール表ファイルのエラーも表示します。
プロセス定義エディタでは、エラーの項目について該当するすべてのノードが強調表示されます。
[ナビゲーター]ビューでは、エラーが存在するリソースファイルに、エラーアイコンが追加されます。
もし、[問題]ビューが表示されていない場合は、[ウィンドウ] > [ビューの表示] > [問題]を選択して表示してください。各フィールドの
詳細を以下に示します。
フィールド
説明
記述
エラーメッセージを表示します。
リソース
エラーが存在するリソース名を表示します。
パス
リソースが属するプロジェクト名を表示します。
ロケーション
エラーが存在する詳細な項目を表示します。
タイプ
エラーの種類を表示します。
特定のエラー行をダブルクリックすると、プロセス定義エディタにおいてエラーが存在する項目が選択されるので、誤りを容易に修正で
きます。同様に、シナリオや決定ルール表のエラーが存在する項目が、シナリオエディタや決定ルール表エディタで選択されます。
注意
・ [ナビゲーター]ビューで、エラーアイコンが表示されているリソースファイルをコピーして、新しいリソースファイルを作成した場合、
新しく作成されたファイルにエラーアイコンは表示されません。
・ [ナビゲーター]ビューで、プロセス定義ファイル、シナリオファイルまたは決定ルール表ファイルが削除された場合、それらに関連
するエラーや警告は、[問題]ビューから削除されます。
- 35 -
図2.10 プロセス定義の[問題]ビュー
2.2.11 [エラーログ]ビュー
[エラーログ]ビューには、QuickFormのエラーや警告が表示されます。
もし、[エラーログ]ビューが表示されていない場合は、[ウィンドウ]>[ビューの表示]> [エラーログ]を選択して表示してください。各フィー
ルドの詳細を以下に示します。
フィールド
説明
メッセージ
エラーや警告のメッセージを表示します。
プラグイン
エラーや警告が発生したプラグイン名を表示します。
日付
エラーや警告が発生した日付を表示します。
- 36 -
注意
・ フィルターには、必ず以下の値を設定してください。
“com.fujitsu.interstage.rcf.pageeditor”
・ [エラーログ]ビューから[ログを開く]ボタンを利用してログファイルを開いた場合は、ワークベンチを終了する前に閉じてください。
2.2.12 [オーバービュー]ビュー
[オーバービュー]ビューは、プロセス定義の全容を把握するためのビューです。常に、プロセス定義の全容が表示されます。 網かけの
部分が、現在プロセス定義エディタに表示している領域です。網かけ部分をマウスでドラッグすると、網かけ部分が移動し、プロセス定
義エディタの表示領域が変更されます。
図2.11 [オーバービュー]ビュー
2.2.13 [アウトライン]ビュー
[アウトライン]ビューには、プロセス定義またはプロセスフラグメントの概要が表示されます。このビューには、プロセス定義またはプロセ
スフラグメントに含まれるすべてのノードが表示されます。
[アウトライン]ビューを使用すると、規模の大きなプロセス定義またはプロセスフラグメント内でも、特定のノードに簡単に移動できます。
また、切り取り、コピー、貼り付けなどの操作や、ノードプロパティの定義を行うときにも、このビューを使用できます。
ノードは、アイコンとノード名で表されます。アイコンの説明については、“1.3.1 ノード”を参照してください。アクションやノードへのアノ
テーションは、[アウトライン]ビューでは表示されません。
- 37 -
図2.12 [アウトライン]ビュー
シミュレーションシナリオがアクティブの場合、[アウトライン]ビューにはシナリオ名だけが表示されます。また、Ajaxページエディタがア
クティブの場合、[アウトライン]ビューにはAjaxページエディタの部品一覧が表示されます。
2.2.14 ポップアップメニュー
ほとんどのエレメントには、頻繁に使用される機能をまとめたポップアップメニューが関連付けられています。ポップアップメニューがあ
るかどうか、およびポップアップメニューの内容は、エレメントのタイプによって異なります。ポップアップメニューを表示するには、ビュー、
プロセス定義エディタ、シナリオエディタ、またはフォームエディタでエレメントを右クリックします。
2.2.15 プロパティの表示
プロパティを使用すると、プロセス定義、ノードおよび矢印を指定できます(プロパティとそのシンボルの詳細については、“1.3.2 プロパ
ティシンボル”を参照)。
プロセス定義エディタでは、デフォルトで自動的にプロパティが表示されます。[プロパティ]ビューで、プロセス定義やノードのプロパ
ティを変更した場合、そのプロパティに応じてプロパティシンボルを表示します。
プロパティシンボルは、プロセス定義、ノードまたは矢印のどれに割り当てられているかにより、異なる場所に配置されます。
・ プロセス定義シンボル:プロセス関連シンボルは、プロセス定義エディタの左上に表示されます。プロセス定義の名前には、下線
が引かれます。以下の例は、アクション、タイマー、エラーアクションおよびトリガが定義されたプロセス定義です。
図2.13 プロセス定義のプロパティシンボルの表示
例では、プロパティシンボルが左から右に表示されています。
NO.
シンボル
意味
1
所有者アクションまたは初期化アクションがプロセス定義に定義されています。
2
タイマーがプロセス定義に定義されています。
3
プロセス実行時のエラーを処理するために、1つ以上のアクションが定義されてい
ます。
4
トリガがプロセス定義に定義されています。
5
完了アクションがプロセス定義に定義されています。
- 38 -
・ ノードシンボル:ノード関連のシンボルは、ノード内に配置されます。以下の例は、Javaエージェントが割り当てられたActivityノード
です。Activityノードに用意されているすべてのプロパティが設定されています。
図2.14 Activityノードのプロパティシンボルの表示
例では、プロパティシンボルが左上から右下に表示されています。
1
このシンボルは、ActivityノードにJavaエージェントを割り当てたことを示します。
2
このシンボルは、少なくとも1つのロールまたは開始アクションがActivityノードに定義されていることを示しま
す。このアクションは、Activityノードが初期化されたときに実行されます。
3
このシンボルは、期限またはタイマーがActivityノードに定義されていることを示します。
4
このシンボルは、1つ以上のフォームがActivityノードに定義されていることを示します。
5
このシンボルは、エラーアクションがActivityノードに定義されていることを示します。
6
このシンボルは、1つ以上のトリガがActivityノードに定義されていることを示します。
7
このシンボルは、少なくとも1つの終了アクションがActivityノードに定義されていることを示します。このアク
ションは、Activityノードが完了したときに実行されます。
8
このシンボルは、Iterator (Parallel) LoopがActivityノードに定義されていることを示します。
9
このシンボルは、Sequential LoopがActivityノードに定義されていることを示します。
注意
ノードのアクションシンボルは、開始アクションまたはロールアクション(アクティビティを初期化するため)、および終了アクション(ア
クティビティを完了するため)を定義した場合にのみ表示されます。
2.2.16 ルーラーの表示/非表示
ルーラーを使用すると、プロセス定義エディタ内でエレメントを整列させるときに便利です。ルーラーでは、測定単位としてピクセルを
使用します。
デフォルトではルーラーが表示されます。この設定は、表示するプロセス定義エディタごとに変更できます。次回、開くときのプロセス
定義エディタのスタイルを設定することもできます。
開いているプロセス定義エディタのルーラーを表示または非表示にする方法について説明します。
1. プロセス定義エディタをクリックして活性化させます。
2. 以下のどちらかの操作を行います。
- ルーラーを非表示にするには、[表示]を選択し、[ルーラー表示]をオフにします。
- ルーラーを表示するには、[表示]を選択し、[ルーラー表示]をオンにします。
ルーラーの表示方法を設定するには、[ウィンドウ] > [設定]の順に選択し、[Interstage BPM Studio] > [エディタ]を選択します。
2.2.17 グリッドの表示/非表示
グリッドを使用すると、プロセス定義エディタ内でエレメントを整列させるときに便利です。
デフォルトではグリッドが表示されます。この設定は、表示するプロセス定義エディタごとに変更できます。次回、開くときのプロセス定
義エディタのスタイルを設定することもできます。
- 39 -
開いているプロセス定義エディタのグリッドを表示または非表示にする方法について説明します。
1. プロセス定義エディタをクリックして活性化させます。
2. 以下のどちらかの操作を行います。
- グリッドを非表示にするには、[表示]を選択し、[グリッド表示]をオフにします。
- グリッドを表示するには、[表示]を選択し、[グリッド表示]をオンにします。
グリッドの表示方法を設定する方法については、“2.4.2 表示の設定”を参照してください。
2.2.18 ロールの表示方法の切り替え
デフォルトでは、アクティビティを完了させるロールが、Activityノード、Compound ActivityノードまたはVoting Activityノードに表示さ
れます。ノードにロールが表示されないようにすることもできます。
この設定は、表示するプロセス定義エディタごとに変更できます。次回、開くときのプロセス定義エディタのスタイルを設定することもで
きます。
開いているプロセス定義エディタのロールの表示を変更する方法について説明します。
1. プロセス定義エディタをクリックして活性化させます。
2. 以下のどちらかの操作を行います。
- ロールを非表示にするには、[表示]を選択し、[ロールの表示]をオフにします。
- ロールを表示するには、[表示]を選択し、[ロールの表示]をオンにします。
Activityノードでロールの表示方法を設定するには、[ウィンドウ] > [設定]の順に選択し、[Interstage BPM Studio]を選択します。
2.2.19 表示モードの変更
Systemwalker Runbook Automation Studioでは、2つの表示モードでプロセス定義エディタを表示できます。
・ Classic BPMNビュー
プロセス定義エディタ内のエレメントが白黒で表示されます。
・ エンハンスビュー
プロセス定義エディタ内のエレメントがそれぞれ異なる色で表示されます。
デフォルトの表示モードはエンハンスビューです。この設定は、表示するプロセス定義エディタごとに変更できます。次回、開くときのプ
ロセス定義エディタのスタイルを設定することもできます。
開いているプロセス定義エディタの表示モードを変更する方法について説明します。
1. プロセス定義エディタをクリックして活性化させます。
2. [表示] > [表示モード]の順に選択します。使用する表示モードを選択します。
希望する表示モードを設定するには、[ウィンドウ] > [設定]の順に選択し、[Interstage BPM Studio]を選択します。
2.2.20 プロセス定義エディタのパレット設定の変更
パレットの外観は、プロセス定義エディタごとに変更できます。次回、開くときのプロセス定義エディタのスタイルを設定することもできま
す。
- 40 -
図2.15 パレット設定
パレット設定を変更する方法について説明します。
フォント:
1. アイコンテキストのフォント設定を変更します。
a. パレットを右クリックし、ポップアップメニューの[設定]を選択します。
b. [変更]をクリックします。
c. フォント名やフォントサイズなどのフォントプロパティを変更します。
d. [OK]をクリックしてダイアログを閉じます。
レイアウト:
1. パレットのレイアウトを変更するには、パレットを右クリックし、ポップアップメニューの[レイアウト]を選択します。希望するレイアウ
トを選択します。たとえば、[アイコンのみ]を選択します。
2. アイコンサイズを選択できます。アイコンサイズを変更するには、パレットを右クリックし、ポップアップメニューの[大きいアイコンを
使用]をオンまたはオフにします。
ドロワー・オプション:
・ パレットは、“ドロワー”ではなく、“タブ”で表示されるため、ドロワー・オプションの設定は無視されます。
次回、開くときのプロセス定義エディタのパレットを設定することができます。[ウィンドウ] > [設定]の順に選択し、[Interstage BPM Studio]
> [エディタ]の順に選択します。
- 41 -
2.3 [運用操作部品開発]パースペクティブのワークベンチウィンドウ
[運用操作部品開発]パースペクティブは、運用操作部品の作成と管理の方法を提供します。[運用操作部品開発]パースペクティブ
は、メニューバー、ツールバー、各種ビュー、テキストエディタで構成されます。これらのコンポーネントを総称して“ワークベンチウィン
ドウ”と呼びます。以下の図はワークベンチウィンドウを示しています。
図2.16 [運用操作部品管理]パースペクティブのワークベンチウィンドウ
図中の数字の説明は以下のとおりです。
・ 1: [運用操作部品管理]ビュー
運用操作部品プロジェクトの新規作成などの操作を行います。
・ 2: [プロパティ]ビュー
選択した項目の情報が表示されます。
2.4 Systemwalker Runbook Automation Studioの設定
以下の設定について説明します。
・ サーバ接続情報の設定
・ 表示の設定
2.4.1 サーバ接続情報の設定
Systemwalker Runbook Automation Studioで使用するサーバ接続情報の設定および変更手順を以下に示します。
1. [ウィンドウ] > [設定]の順に選択します。
[設定]ダイアログが表示されます。
- 42 -
2. [Interstage BPM Studio]の [サーバ接続情報]をクリックします。
[サーバ接続情報]ページで、[サーバ接続情報の一覧]が表示されます。
3. 新規にサーバ接続情報をリストに追加したり、リストにある既存のサーバ接続情報を編集したりするには、以下の操作を行いま
す。
1. [新規]または[編集]をクリックします。
[サーバ接続情報の設定]ダイアログが表示されます。
新規または更新するサーバ接続の設定パラメーターを入力します。
図2.17 サーバ接続情報の設定
以下のパラメーターを入力します。
- 接続名:特定のサーバ接続名
- 接続情報:ベースURLは、サーバに接続するために使用するURLです。ベースURLの形式は以下のとおりです。
http://<hostname>:<port>
以下は、hostnameとして“rbaserver”、portとして“80”を使用した場合のURLの例です。
http://rbaserver:80
portを省略した場合“80”を指定したものとします。
- ユーザ名:Systemwalker Runbook Automationで認証されるユーザー名
- パスワード:ユーザ名に関連付けられたパスワード
- パスワードの保存:入力したパスワードを保存する場合はチェックします。
- 接続を確認する:[OK]ボタンをクリックしたときに接続を確認する場合はチェックします。
パラメーターに誤りがある場合、サーバが停止している場合など、サーバに接続できない場合は、エラーメッセージが
表示され、サーバ接続情報は設定できません。この場合に、指定したサーバ接続情報を設定したい場合は、チェック
をオフにします。
2. [OK]をクリックします。
4. [サーバ接続情報]ページで、[適用]をクリックします。
注意
ネットワーク接続設定に適切な接続方法を選択していない場合、または接続情報が正しくない場合には、メッセージが出力され、サー
バに接続できません。
- 43 -
以下に、出力されるメッセージの例を示します。
・ ログインに失敗しました。
[詳細]:不明なホスト:rbaserver
・ Connection refused: connect
・ Malformed reply from socks server
ネットワーク接続設定の内容は、[ウィンドウ] > [設定] > [一般] > [ネットワーク接続]で確認します。
インターネットの接続にプロキシを使用しない場合は、ネットワーク接続設定に[インターネットに直接接続する]を選択してください。
2.4.2 表示の設定
以下に示す表示の設定を変更する手順を説明します。
・ プロセス定義エディタの構成
・ プロセス定義の各エレメントの表示方法
これらの設定は、今後プロセス定義エディタを開いたときにすべて反映されます。現在開いているプロセス定義エディタには反映され
ません。
参考
[表示]メニューとパレットのポップアップメニューを使用して、現在開いているプロセス定義エディタの一部の設定を変更することもでき
ます。
上記以外にも以下の項目が設定できます。
・ [ナビゲーター]ビューの表示モード
・ ローカルコンピュータのプロセス定義またはシナリオを、名前で表示するか、ファイル名で表示するかの選択
・ プロセス定義、シミュレーションファイル、およびリソースファイルを開くときに使うエディタの指定
・ Systemwalker Runbook Automation Studioを起動および終了するときのメッセージの表示
設定を変更する方法について説明します。
1. [ウィンドウ] > [設定]の順に選択します。
[設定]ダイアログが表示されます。
2. プロセス定義エディタの表示モードを設定します。
a. [Interstage BPM Studio]をクリックします。
b. エンハンスビュー(エレメントが立体的に表示されます)とClassic BPMNビュー(エレメントは白黒で表示されます)のどちら
かを選択します。
3. ノードにおけるプロパティシンボルの表示方法と、アクションアノテーションに表示する定義済みアクションの数を設定します。
a. [Interstage BPM Studio]のページが開いていることを確認します。
b. [ノードの詳細表示]チェックボックスをオンまたはオフにします。
c. アクションアノテーションに表示するアクションの数を入力します。
4. Activityノード上のロールの表示方法を設定します。
a. [Interstage BPM Studio]ページが開かれていることを確認します。
b. [ロールの表示]のチェックボックスをオンにすると、ロールは表示された状態に設定されます。
5. スイムレーンタイトルの表示位置を設定します。
a. [Interstage BPM Studio]を展開し、[表示]をクリックします。
- 44 -
b. タイトルを左側に配置するには、[左部]を選択します。タイトルを上側に配置するには、[上部]を選択します。
6. パレットの表示方法を設定します。
a. [Interstage BPM Studio]を展開し、[エディタ]をクリックします。
b. パレットの幅と位置を指定します。パレット固定のチェックボックスをオンにすると、パレットは開かれた状態に設定されま
す。
c. [パレット設定]をクリックし、レイアウトとドロワーの表示方法を指定します。
7. グリッドの表示方法を設定します。
a. [エディタ]ページが開かれていることを確認します。
b. グリッドを表示するかどうかを選択します。
c. [グリッド水平間隔]フィールドと[グリッド垂直間隔]フィールドに、グリッドポイント間の距離をピクセル数で入力します。
小さい値を設定すると、プロセス定義エディタに表示されるグリッドポイントが多くなります。
8. ルーラーの表示方法を設定します。
a. [エディタ]ページが開かれていることを確認します。
b. ルーラーを表示するかどうかを選択します。
9. 整列のサポートを設定します。
a. [エディタ]ページが開かれていることを確認します。スナップ表示をオン(フィードバックラインを表示する)にするかオフ
(フィードバックラインを表示しない)にするかを選択します。
b. フィードバックラインを表示すると、エレメントをドラッグして整列させるときに便利です。
10. [ナビゲーター]ビューを設定します。
a. [ナビゲーター]をクリックします。
b. ローカルコンピュータのプロセス定義、シナリオまたは決定ルール表を、名前で表示するか、ファイル名で表示するかを選
択します。
11. プロセスアウトラインエディタのプレファレンスを設定します。
a. [プロセスアウトラインエディタ]をクリックします。
b. プロセスアウトラインエディタを開いたときに表示するカラムの情報を設定します。
注意
この設定は、現在開いているすべてのプロセスアウトラインエディタに適用されます。
12. ファイルを開くエディタを設定します。
- [一般]>[エディタ]の順に選択します。
[ファイルの関連付け]をクリックすると[ファイルの関連付け]ページで利用可能なファイルタイプすべてが表示されます。
- [ファイルタイプ]を選択して、[関連付けられたエディタ]リストのエディタに割り当てます。
13. Systemwalker Runbook Automation Studioを起動および終了するときのメッセージの表示を設定します。
a. [一般]> [開始およびシャットダウン]の順に選択します。
b. 必要に応じて設定を変更します。
14. 構文エラーがあるノードの強調表示の色を設定します。
a. [一般]>[外観]>[色とフォント]の順に選択します。
b. [基本]ツリーを展開します。
- 45 -
c. [エラーテキスト用の色]を選択します。
現在の色を示すボタンが表示されます。
d. 表示されるボタンをクリックして、[色の設定]ダイアログを開きます。
e. 設定したい色を選択し、[OK]をクリックします。
- 46 -
第3章 プロジェクトの管理
プロジェクトは、プロセス定義、リソースファイル、フォーム、シミュレーションシナリオ、アタッチメントなどの整理に役立つコンテナです。
ファイルシステムレベルでは、1つのプロジェクトが1つのフォルダになります。プロジェクトは、デフォルトではワークスペースに格納され
ますが、ユーザーのコンピュータでアクセスできる任意の場所に格納できます。
Systemwalker Runbook Automationは、プロジェクトを次の種類に区別します。
・ ワークフローアプリケーションプロジェクト:Systemwalker Runbook Automation Studioを使用すると、ワークフローアプリケーション
をオフラインで設計できます。たとえば、プロセス定義をローカルマシンで作成および設計できます。ワークフローアプリケーション
プロジェクトには、1つまたは複数の関連するプロセス定義を格納できます。ローカルで設計したワークフローアプリケーションは、
その後、Systemwalker Runbook Automationの管理サーバに登録できます。ファイルシステムでは、1つのワークフローアプリケー
ションプロジェクトが1つのディレクトリで表されます。プロセス定義、リソース、フォーム、アタッチメント、アイコン、シミュレーションシ
ナリオなど、アプリケーションを構成するコンポーネントの構築に使用されます。
・ シナリオプロジェクト:プロセス定義の実行をシミュレートするためのシナリオを格納するプロジェクトです。シナリオはローカルファイ
ルシステムに格納されており、ローカルなプロセス定義と管理サーバのプロセス定義のどちらかをインポートできます。デフォルトで
は、Systemwalker Runbook Automation Studioのインストール後、[ナビゲーター]ビューにシミュレーションのシナリオという名のプ
ロジェクトが表示されます。このプロジェクト、またはワークフローアプリケーションプロジェクトの“Simulation”フォルダに、直接シナ
リオを追加できます。さらに、以前に作成されたプロセス定義(履歴データ)をシミュレーションに使用することもできます。詳細につ
いては、“第12章 プロセスのシミュレーション”を参照してください。
・ サーバのプロジェクト:管理サーバに格納されたプロセス定義を表示するプロジェクトです。このプロセス定義に対して作業するに
は、Systemwalker Runbook Automationユーザーとして管理サーバにログインする必要があります。ローカルプロセス定義をサー
バに転送したり、サーバからローカルファイルシステムへエクスポートすることができます。
この章では、プロジェクトを作成して使用する方法について説明します。
3.1 ワークフローアプリケーションプロジェクトの管理
ここでは、ワークフローアプリケーションプロジェクトの管理に使用する機能について説明します。
3.1.1 ワークフローアプリケーションプロジェクトの作成
ワークフローアプリケーションプロジェクトを作成する方法について説明します。
1. [ナビゲーター]ビューを選択してから、[ファイル] > [新規] > [プロジェクト] > [アプリケーション]の順に選択します。
2. [プロジェクト名]フィールドに、プロジェクトの名前を入力します。通常はアプリケーションの名前です。
- 47 -
3. 作成したプロジェクトはファイルシステムのフォルダになります。デフォルトでは、プロジェクトはワークスペースに作成されます。
図3.1 ワークフローアプリケーションプロジェクトの作成
4. オプション:プロジェクトの場所を変更する場合、以下の操作を行います。
a. [デフォルトロケーションの使用]チェックボックスをオフにします。
b. [参照]をクリックします。既存のフォルダを選択するか、新しいフォルダを作成します。[OK]をクリックします。
5. [次へ]をクリックします。
以下の必要な情報を入力します。
- 説明:プロジェクトの簡単な説明を入力します。
- 所有者グループ:設定する必要はありません。
6. [完了]をクリックします。
作成したワークフローアプリケーションプロジェクトが[ナビゲーター]ビューに表示されます。フォルダは空のままです。
図3.2 ワークフローアプリケーションプロジェクトの新規作成
- 48 -
3.1.2 ワークフローアプリケーションプロジェクトのコンポーネント
ワークフローアプリケーションプロジェクトでは、デフォルトで以下のフォルダ構造が作成されます。
図3.3 ワークフローアプリケーションプロジェクトのフォルダ構造
デフォルトのフォルダ構造には、ワークフローアプリケーションプロジェクトの管理に必要なすべてのものが含まれています。
ワークフローアプリケーションプロジェクトのフォルダには、以下のコンポーネントが格納されます。
・ Process Definitions:このフォルダには、アプリケーションのプロセス定義を保存します。
・ web:このフォルダには、Webコンソールから使用できるすべての資材を保存します。このフォルダに置かれたファイルは、Webに
公開されます。たとえば、ワークフローアプリケーションプロジェクトのプロセス定義に関連付けられたすべてのQuickForm、すべて
のヘルプページなどをこのフォルダに保存します。[web]フォルダの下にフォルダを作成し、画像やスタイルなどのサブフォルダを
追加して、webに公開できます。
・ dms:このフォルダには、ワークフローアプリケーションプロジェクトの一部であるアタッチメントなどを保存します。このために、必要
に応じて追加のフォルダを作成できる定義済みの[Attachments]フォルダがあります。
[dms]フォルダは、アプリケーションのインストール時に、他のサブフォルダと一緒に管理サーバの対応するフォルダにコピーされま
す。[dms]フォルダの下に追加のフォルダを作成できます。
・ Application Classes:アプリケーションで使用されるクラスファイルとjarファイルを保存します。このファイルは、[engine]サブフォルダ
に保存します。
・ Simulation:アプリケーションのシミュレーションシナリオを保存します。このフォルダには、シナリオファイル(プロセスシミュレーショ
ンのパラメーターに関する情報を提供)とシミュレーション結果ファイル(シミュレーションの結果に関する情報を提供)が格納されま
す。シナリオファイルとシミュレーション結果ファイルのどちらも、ファイル拡張子は.ssrです。プロセスのシミュレーションの詳細につ
いては、“12.3 シミュレーションのシナリオを実行”を参照してください。
・ Calendar:アプリケーションのカレンダー(.cal)ファイルを保存します。ビジネスカレンダーの詳細については、“6.22.4 ビジネスカレ
ンダーの作成”を参照してください。
・ Resources:アプリケーションのリソースを保存します。アプリケーションのリソースについては、“3.1.6 リソースの操作”を参照してく
ださい。アプリケーションのリソースには、以下があります。
- FTPエージェントファイル
- HTTPエージェントファイル
- カスタム構成ファイル
- Javaエージェントファイル
- ファイルリスナファイル
- 49 -
・ Rules:Rulesフォルダには、ルールセットを作成することができます。ルールセットには、決定ルール表ファイルを保存します。詳細
は、“第10章 決定ルール表”を参照してください。
・ Documents:Documentsフォルダには、プロセス定義のドキュメントを保存します。プロセス定義のドキュメントについては、“4.8 プロ
セスレポートの使用”を参照してください。
・ Analytics:Analytics機能のフォルダです。Systemwalker Runbook Automation StudioではAnalytics機能を使用しません。
上のサンプルの経費申請プロジェクトは、アプリケーションのルートフォルダです。アプリケーションのすべてのコンポーネントは、この
フォルダに格納されます。このフォルダの内容を1つのファイルに圧縮すると、マシン間でのアプリケーションの移動に使用できます。
ワークフローアプリケーションプロジェクトのすべてのコンポーネントの概要については、“付録B プロジェクトコンポーネント”を参照し
てください。
3.1.3 フォルダの使用
任意のワークフローアプリケーションプロジェクトで、アプリケーションの階層を反映するために、必要なフォルダを作成したり、既存の
フォルダを構造化することができます。
注意
新しいフォルダは、デフォルトの[dms]、[web]、[classes]に作成できます。
フォルダを作成するには、以下の手順に従います。
- 50 -
1. [ナビゲーター]ビューで、サブフォルダを作成するワークフローアプリケーションプロジェクトフォルダを右クリックします。ポップ
アップメニューから[新規] > [フォルダ]を選択します。
図3.4 新しいフォルダの作成
2. 新しいフォルダの名前を入力し、[完了]をクリックします。
作成したフォルダに、ファイルシステム内の既存のフォルダとファイルをインポートできます。詳細については、“3.1.4 フォルダとファイ
ルのインポート”を参照してください。
さらに、コピー、貼り付け、名前の変更、削除など、標準のファイルシステムフォルダで使用できるフォルダのデフォルトの機能も使用で
きます。これらの機能は、定義済みのフォルダでなく、作成したフォルダでのみ使用できます。
3.1.4 フォルダとファイルのインポート
ファイルシステムからフォルダまたはファイルをインポートする手順について説明します。
前提条件は以下です。
・ フォルダとファイルをインポートできるワークフローアプリケーションプロジェクトを作成してある。
- 51 -
注意
既存のフォルダとファイルは、デフォルトの[web]フォルダ、または[dms]フォルダ、[Application Classes]フォルダ配下の[classes]と[lib]
フォルダとそのサブフォルダにのみインポートできます。
1. [ナビゲーター]ビューで、ファイルをインポートするワークフローアプリケーションプロジェクトフォルダを右クリックします。ポップ
アップメニューから[インポート]を選択します。以下の例では、2つのQuickFormがワークスペースにインポートされます。
図3.5 フォルダとファイルのインポート
2. [参照]をクリックし、ワークフローアプリケーションプロジェクトにインポートするフォルダとファイルが保存されているフォルダに移
動します。既存のフォルダを選択し、[OK]をクリックします。
3. インポートするフォルダとファイルを選択します。
4. [宛先フォルダ]フィールドには、インポート機能の開始時に選択したフォルダのパスが表示されます。このパスを変更することに
より、フォルダとファイルのインポート先を別のプロジェクト、またはワークフローアプリケーションプロジェクトのフォルダにすること
ができます。
5. 既存のファイルとフォルダを警告なしで上書きするか、およびワークフローアプリケーションプロジェクトにフォルダ構造全体と選
択したフォルダとファイルのみのどちらを格納するかを決定します。
6. [完了]をクリックします。
ローカルディレクトリの選択したファイル(上の例ではQuickForm)がワークフローアプリケーションプロジェクトにインポートされます。
注意
[完全なフォルダ構造の作成]オプションを選択した場合、[警告を出さずに既存リソースを上書き]をチェックする/しないに関わらず、
ファイルの上書き確認メッセージは表示されません。
- 52 -
注意
ローカルファイルシステムからフォルダとファイルをインポートするだけでなく、ワークフローアプリケーションプロジェクト全体をワークス
ペースにインポートできます。詳細については、“3.1.12 ワークフローアプリケーションプロジェクトのインポート”を参照してください。
3.1.5 フォルダとファイルの検索
作成したワークフローアプリケーションプロジェクトでは、特定のフォルダやファイルを検索できます。
Systemwalker Runbook Automationでは、ワークスペース内または特定のワークフローアプリケーションプロジェクト内のフォルダとファ
イルを検索できます。検索は、テキスト検索方式によって行われます。この方法では、タイトル、内容またはプロパティに特定のテキスト
文字列を含むファイルを検索します。フォルダとファイルを探す場所を指定して検索範囲を制限することもできます。
特定のフォルダとファイルを探すには、以下の手順に従います。
1. ツールバーから[検索](
)を選択します。
[検索]ダイアログが表示されます。
図3.6 ファイルの検索
2. 検索文字列を入力するか、ドロップダウンリストから文字列を選択します。
選択した文字列が[検索]ダイアログに表示されます。以下の条件で検索できます。
- フォルダ名またはファイル名のすべてまたは一部
- 名前の単語または句
3. 大文字と小文字を区別するには、[大/小文字の区別]チェックボックスをオンにします。
4. 検索の範囲を絞り込む場合は、[範囲]チェックボックスのいずれかをオンにします。
以下のオプションがあります。
- ワークスペース:使用しているワークスペース全体を検索範囲とします。
- 選択されているリソース:[ナビゲーター]ビューで選択しているワークフローアプリケーションプロジェクトを検索範囲とします。
- エンクロージング・プロジェクト:選択されているプロジェクトを検索範囲とします。リソースエディタで開かれているリソースも
含まれます。
- 53 -
5. [検索]をクリックして、指定したフォルダまたはファイルの検索を開始します。
検索結果が[検索]ビューに表示されます。以下の例は、ワークスペースで“simulation”という単語を検索した結果です。
図3.7 検索結果の表示
結果のリストから、検索されたファイルの表示や編集などを行えます。[検索]ビューに表示されたファイルをダブルクリックすると、
そのファイルが表示されます。
3.1.6 リソースの操作
Systemwalker Runbook Automation Studioでは、ワークフローアプリケーションプロジェクトに新しいリソースを追加できます。
前提条件は以下です。
・ プロジェクトの管理に必要なすべてのコンポーネントを含むワークフローアプリケーションプロジェクトを作成してある。
リソースとは以下の項目を指します。
・ FTPエージェントファイル
・ HTTPエージェントファイル
・ カスタム構成ファイル
・ Javaエージェントファイル(agentsConfig.xml)
・ ファイルリスナファイル(fileListenerConf.xml)
上記のリソースファイルはプロジェクトフォルダのResourceフォルダに配置されます。
注意
プロジェクトには、Javaエージェントファイル、ファイルリスナファイルをそれぞれ1つだけ追加できます。
プロジェクトに新しいリソースを追加するには、以下の手順に従います。
1. [ナビゲーター]ビューのプロジェクトを右クリックし、ポップアップメニューから[新規]を選択します。
2. プロジェクトに追加するリソースを選択します。
以下のオプションがあります。
- [FTPエージェント]:新規のFTPエージェントファイルを作成できます。
- [HTTPエージェント]:新規のHTTPエージェントファイルを作成できます。
- [カスタム構成]:新規のカスタム構成ファイルを作成できます。
- [エージェント]:このオプションを使用すると、新しいJavaエージェントを作成できます。
- 54 -
- [ファイルリスナ]:新規のファイルリスナファイルを作成できます。
3. リソースを編集する場合は、以下の手順に従います。
a. エディタで下のいずれかのファイルを開きます。
- FTPエージェントファイル
- HTTPエージェントファイル
- カスタム構成ファイル
- Javaエージェントファイル (agentsConfig.xml)
- ファイルリスナファイル (fileListenerConf.xml)
b. それぞれのファイルを編集します。
- FTPエージェントファイルを編集する場合
“11.11 FTPエージェントの定義”を参照してください。
- HTTPエージェントファイルを編集する場合
“11.12 HTTPエージェントの定義”を参照してください。
- カスタム構成ファイルを編集する場合
“C.5 カスタム構成ファイル”を参照してください。
- Javaエージェントファイル (agentsConfig.xml)を編集する場合
“11.10 Javaエージェントの定義”を参照してください。
- ファイルリスナファイル (fileListenerConf.xml)を編集する場合
“11.9 トリガの使用”および“11.13 ファイルリスナの定義”を参照してください。
c. ツールバーの[保存]ボタンをクリックします。
4. 既存のリソースファイルをコピーして貼り付ける場合は、以下の手順に従います。
a. [ナビゲーター]ビューで、リソースファイルを右クリックし、ポップアップメニューから[コピー]を選択します。
b. 別のプロジェクトのリソースフォルダに移動し、このフォルダを右クリックし、ポップアップメニューから[貼り付け]を選択しま
す。
リソースファイルは、新しい場所に貼り付けられます。新しい場所にすでに同じファイルが存在する場合は、ファイルを上書きす
るかどうかの確認メッセージが表示されます。[はい]をクリックして貼り付け手順を完了します。
注意
コピーして別のフォルダに貼り付けることができるのは、1つのリソースフォルダの内容だけです。Resourceフォルダそのものをコ
ピーすることはできません。
3.1.7 ワークフローアプリケーションプロジェクトのコピー
ワークフローアプリケーションプロジェクトを、そのすべての内容を含んだまま他の場所にコピーすることができます。
注意
コピーできるのは、ワークフローアプリケーションプロジェクトだけです。サーバのプロジェクトと、シナリオのプロジェクトはコピーするこ
とはできません。
プロジェクトをコピーする方法について説明します。
1. [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューの[コピー]を選択します。
2. もう一度右クリックし、ポップアップメニューの[貼り付け]を選択します。
- 55 -
3. [プロジェクトのコピー]ダイアログで、コピーの名前を入力します。
図3.8 プロジェクトのコピー
4. コピーしたプロジェクトはファイルシステムのフォルダになります。デフォルトでは、プロジェクトはワークスペースに作成されます。
5. オプション:プロジェクトの場所を変更する場合、以下の操作を行います。
a. [デフォルトロケーションの使用]チェックボックスをオフにします。
b. [参照]をクリックします。既存のフォルダを選択するか、新しいフォルダを作成します。[OK]をクリックします。
6. [OK]をクリックします。
コピーしたプロジェクトが[ナビゲーター]ビューに表示されます。
一度に複数のプロジェクトをコピーできます。[Shift]キーまたは[Ctrl]キーを押しながら、コピーするプロジェクトをすべて選択します。
3.1.8 ワークフローアプリケーションプロジェクト名の変更
注意
プロジェクト名を変更できるのは、ワークフローアプリケーションプロジェクトだけです。サーバのプロジェクトとシミュレーションのシナリ
オのプロジェクトはプロジェクト名を変更することはできません。
プロジェクトの名前を変更する方法について説明します。
1. [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューの[名前変更]を選択します。
2. プロジェクトの新しい名前を入力します。
3. [Enter]キーを押します。
3.1.9 ワークフローアプリケーションプロジェクトを閉じる
プロジェクトを閉じた場合、そのプロジェクトは[ナビゲーター]ビューに引き続き表示されますが、そのプロジェクトを変更することはでき
なくなります。
プロセス定義などのプロジェクトの内容は、見えなくなります。
ワークフローアプリケーションプロジェクトを閉じる方法について説明します。
・ [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューの[プロジェクトを閉じる]を選択します。
プロジェクト名の左に表示されるアイコン
は、そのプロジェクトが閉じられたことを示します。
一度に複数のプロジェクトを閉じることもできます。[Shift]キーまたは[Ctrl]キーを押しながら、閉じるプロジェクトをすべて選択します。
- 56 -
注意
サーバのプロジェクトも、この方法で閉じることができます。サーバのプロジェクトの詳細については、“3.2 サーバプロジェクトの管理”
を参照してください。
3.1.10 ワークフローアプリケーションプロジェクトを開く
現在閉じられているプロジェクトを再度開くことができます。プロジェクト名の左側に表示されるアイコンは、そのプロジェクトが閉じられ
ている( )、または開かれている( )ことを示します。
注意
サーバプロジェクトを再度開くこともできます。サーバプロジェクトについては、“3.2 サーバプロジェクトの管理”をご覧ください。
プロジェクトを開く方法について説明します。
・ [ナビゲーター]ビューでプロジェクトを右クリックして、ポップアップメニューの[プロジェクトを開く]を選択します。または、プロジェク
トのアイコンをダブルクリックします。
3.1.11 ワークフローアプリケーションプロジェクトの削除
プロジェクトとその中のすべての内容をSystemwalker Runbook Automation Studioから削除することができます。
注意
“シミュレーションのシナリオ”と“Process Fragments”のプロジェクトを削除することはできません。ワークフローアプリケーションプロジェ
クトを削除すると、そのプロジェクトに含まれるすべてのファイルが削除され、アクセスすることができなくなります。
ワークフローアプリケーションプロジェクトを削除する方法について説明します。
1. [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューの[削除]を選択します。
2. [はい]をクリックして、プロジェクトの削除を確定します。
3.1.12 ワークフローアプリケーションプロジェクトのインポート
.barファイルとしてパッケージ化されているワークフローアプリケーションプロジェクトをローカルファイルシステムから自分のワークスペー
スにインポートできます。
ワークフローアプリケーションプロジェクトをローカルファイルシステムからインポートするには、以下の手順に従います。
- 57 -
1. [ナビゲーター]ビューで、プロジェクト名を右クリックします。ポップアップメニューから、[Barファイルのインポート]を選択します。
[Barファイルのインポート]ダイアログが開きます。
図3.9 [Barファイルのインポート]ダイアログの表示
2. インポートするプロジェクトを指定します。以下の手順に従います。
a. [アーカイブ・ファイル]ドロップダウンリストから.barファイルを選択するか、[参照]をクリックします。ローカルファイルシステム
またはファイルサーバから、インポートする.barファイルを選択し、[OK]をクリックします。選択したファイルが[アーカイブ・
ファイル]フィールドに追加されます。絶対パスで.barファイル名が表示されます。
インポートしようとしているプロジェクトの名前がワークスペースの他のプロジェクトと同じ場合は、エラーメッセージが表示
されます。
b. チェックボックスを使用して、インポートするコンポーネントをオンまたはオフにします。[すべて選択]または[選択をすべて
解除]ボタンを使用して、すべてのプロジェクトコンポーネントを一度に選択できます。
c. [プロジェクト名]ドロップダウンリストから、インポートするプロジェクトの名前を選択します。インポートしようとしているプロ
ジェクトの名前がワークスペースの他のプロジェクトと同じ場合は、エラーメッセージが表示されます。競合を避けるため
に、プロジェクトの名前を変更してください。
- 58 -
すべてのインポート設定を指定した後の[Barファイルのインポート]ダイアログは、以下のようになります。
図3.10 インポート設定の指定
3. プロジェクトに関する以下の情報を指定できます。以下の手順に従います。
a. [次へ]をクリックします。
b. [プロジェクト]ダイアログで、プロジェクトの追加情報を入力します。
- 59 -
プロジェクトの追加情報の入力はオプションです。プロジェクトの簡単な説明やプロジェクト所有者グループの名前を入力できま
す。なお、所有者グループは設定する必要はありません。
図3.11 追加情報の入力
4. [完了]をクリックして、選択したプロジェクトコンポーネントをワークスペースにインポートします。
アプリケーションのインポート中は、[ナビゲーター]ビューに一時プロジェクトがリストされます。この一時プロジェクトは、~~MyApp
のように、アプリケーションプロジェクトに入力した名前の前に2つのチルダが付くので、名前によって識別できます。インポートが
完了したら、一時アプリケーションプロジェクトは削除され、インポートされたプロジェクトが[ナビゲーター]ビューにリストされます。
3.1.13 ワークフローアプリケーションプロジェクトのエクスポート
ワークスペースからローカルファイルシステムにワークフローアプリケーションプロジェクトをエクスポートして、アプリケーションを構成す
るすべてのファイルを.barファイルとしてパッケージ化できます。この.barファイルは、後にWebコンソールから管理サーバに登録できま
す。
ワークフローアプリケーションプロジェクトをローカルファイルシステムにエクスポートするには、以下の手順に従います。
- 60 -
1. [ナビゲーター]ビューで、プロジェクト名を右クリックします。ポップアップメニューから[エクスポート]を選択します。または、[ファ
イル]メニューからこのオプションを選択することもできます。
[ワークフローアプリケーションプロジェクトのエクスポート]ダイアログが表示されます。ローカルファイルシステムと、ワークスペー
スで選択した.barファイルの名前が表示されます。
図3.12 [ワークフローアプリケーションプロジェクトのエクスポート]ダイアログの表示
2. エクスポートするプロジェクトコンポーネントを指定します。以下の手順に従います。
a. [アプリケーション]ドロップダウンリストから、エクスポートするアプリケーションを選択します。デフォルトのアプリケーション
は、[ナビゲーター]ビューで選択したプロジェクトの名前です。
アプリケーションを構成するすべてのファイルが表示されます。
b. チェックボックスを使用して、エクスポートするファイルを選択または選択解除します。[すべて選択]または[選択をすべて
解除]ボタンを使用して、すべてのファイルを一度に選択できます。
c. [アーカイブ・ファイル]ドロップダウンリストを使用して、エクスポートするプロジェクトをアーカイブするファイルを指定しま
す。[参照]タブを使用してアーカイブファイルを参照することもできます。デフォルトのアーカイブファイルの名前は、エクス
ポートするプロジェクトの名前(BankLoan.barファイルなど)です。
[アーカイブ・ファイル]ドロップダウンリストには、ファイルのパスが表示されます
(C:\Fujitsu\Systemwalker\SWRBA_Studio\workspace\Archiveなど)。
- 61 -
以下の図は、特定のプロジェクトコンポーネントを選択し、デフォルトのアーカイブファイルを指定する方法を示していま
す。
図3.13 プロジェクトコンポーネントとアーカイブファイルの指定
- 62 -
3. エクスポートするプロジェクトコンポーネントを選択し、アーカイブファイルを指定し、[完了]をクリックしてプロジェクトをエクスポー
トします。
これによってワークフローアプリケーションプロジェクトは、ローカルファイルシステムの指定したディレクトリに、.barファイルとして
保存されます。
図3.14 エクスポートされるプロジェクトの場所
3.1.14 ワークフローアプリケーションプロジェクトのサーバからのダウンロード
.barファイルとしてパッケージ化されているワークフローアプリケーションプロジェクトを管理サーバからローカルのワークスペースにダウ
ンロードできます。ウィザードの手順に従ってダウンロードを実行します。
サーバからワークフローアプリケーションプロジェクトをダウンロードするには、以下の手順に従います。
- 63 -
1. [ナビゲーター]ビューで、プロジェクト名を右クリックします。ポップアップメニューから、[サーバからアプリケーションのダウンロー
ド]を選択します。
[アプリケーションのダウンロード]ダイアログが表示されます。前回活性状態だったサーバ接続が自動的に表示されます。
図3.15 [アプリケーションのダウンロード]ダイアログの表示
2. 使用可能なサーバ接続を使用する場合は、[サーバ接続情報]ドロップダウンリストからサーバを選択し、ステップ5に進みます。
- 64 -
3. サーバ接続のいずれかを編集する場合、または新しいサーバを指定する場合は、以下の手順に従います。
a. [アプリケーションのダウンロード]ダイアログで、[接続情報の参照]をクリックします。
[サーバの接続情報の選択]ダイアログが表示されます。使用できるサーバ接続がアルファベット順で表示されます。デフォ
ルトでは、常にリストの最初のサーバが選択されます。まだサーバ接続を指定していない場合は、[サーバ接続情報の一
覧]リストは空になります。以下の例では、1つのサーバ接続のみが使用できます。
図3.16 サーバ接続の表示
b. [サーバ接続情報の選択]ダイアログで、[新規]をクリックします。[サーバ接続情報の設定]ダイアログが表示されます。
c. このダイアログにおいて:
1. 新しいサーバ接続情報を指定します。サーバ接続情報の詳細については、“2.4.1 サーバ接続情報の設定”を参照
してください。
2. オプション: [パスワードの保存]チェックボックスをオンにして、パスワードを保存すると、次回、管理サーバにログイ
ンする際に、改めてパスワードを入力する必要がなくなります。
- 65 -
d. サーバ設定を確認して、[OK]をクリックします。
新しいサーバ接続が[サーバ接続情報の一覧]リストに追加されます。以下の例では、管理サーバが指定されています。
図3.17 新しいサーバ情報の選択
- 66 -
e. [サーバ接続情報の選択]ダイアログで、[OK]をクリックしてサーバの選択を確定します。
[アプリケーションのダウンロード]ダイアログに、選択したサーバ接続(例では管理サーバ)が表示されます。
図3.18 選択したサーバ接続の表示
- 67 -
4. [アプリケーションのダウンロード]ダイアログで、[リストの獲得]ボタンをクリックします。
指定されたサーバに存在するすべてのアプリケーションの名前が表示されます。例では、3つのプロジェクトが表示されていま
す。
図3.19 ワークフローアプリケーションプロジェクトの表示
5. サーバからダウンロードするプロジェクトを選択し、[次へ]をクリックします。[アプリケーションのダウンロード]ダイアログが表示さ
れます。選択したプロジェクトのすべてのコンポーネントが表示されます。
チェックボックスを使用して、ダウンロードするコンポーネントをオンまたはオフにすることができます。また、[すべて選択]および
[選択をすべて解除]ボタンを使用して、すべてのプロジェクトコンポーネントを一度に選択できます。
[アプリケーション名]ドロップダウンリストを使用して、ダウンロードするプロジェクトの名前を選択します。デフォルト名は、ワークス
ペースのプロジェクトの名前です。名前の競合を避けるために、この名前を変更してください。以下の例は、ダウンロードするプ
ロジェクトコンポーネントを選択する方法を示しています。
注意
[ダウンロード]リストには、使用可能なすべてのプロジェクトの名前が表示されます。ただし、ファイルのパスは表示されません。
6. ダウンロードするプロジェクトコンポーネントを選択し、[次へ]をクリックします。[プロジェクト]ダイアログが表示されます。ここで、
プロジェクトの追加情報を入力できます。
- 68 -
7. プロジェクトの説明を入力します。所有者グループは設定する必要はありません。
注意
プロジェクトの追加情報の入力はオプションです。このステップを省略して、即座にダウンロード手順を完了することもできます。
8. [完了]をクリックして、指定したサーバからプロジェクトをダウンロードします。
アプリケーションのダウンロード中は、[ナビゲーター]ビューに一時プロジェクトがリストされます。この一時プロジェクトは、~~MyApp
のように、アプリケーションプロジェクトに入力した名前の前に2つのチルダが付くので、名前によって識別できます。ダウンロード
が完了したら、一時アプリケーションプロジェクトは削除され、ダウンロードされたプロジェクトが[ナビゲーター]ビューにリストされ
ます。
注意
Systemwalker Runbook Automation Studioを使用してサーバからワークフローアプリケーションプロジェクトをダウンロードする際
に、ダウンロード対象のプロセス定義に複数のバージョンが存在する場合、以下のルールでダウンロード対象のプロセス定義が
決定します。
- ダウンロード対象は状態が公開およびドラフトのものとなります。
- 状態が公開のものがあれば、それがダウンロード対象となります。
- 公開状態のプロセス定義がない場合は、バージョン番号の最も大きなドラフト状態のプロセス定義が対象となります。
ダウンロード対象のアプリケーションの一部であっても、ドラフト状態のプロセス定義については、所有者のみがダウンロードでき
ます。公開状態のプロセス定義は、所有者以外でもダウンロードできます。
3.1.15 ワークフローアプリケーションプロジェクトのサーバへのアップロード
Systemwalker Runbook Automation Studioから管理サーバにワークフローアプリケーションプロジェクトをアップロードして、アプリケー
ションを構成するすべてのファイルを.barファイルとしてパッケージ化できます。アップロードウィザードの手順に従って、ワークスペース
からリモートサーバにプロジェクトをアップロードします。
注意
リモートサーバでこのタスクを実行するには、管理者権限が必要です。
ワークフローアプリケーションプロジェクトをリモートサーバにアップロードするには、以下の手順に従います。
- 69 -
1. [ナビゲーター]ビューで、プロジェクト名を右クリックします。ポップアップメニューから[アプリケーションのアップロード]を選択しま
す。
[アプリケーションのアップロード]ダイアログが表示されます。サーバ接続を指定しないと、ダイアログにエラーメッセージが表示
されます。
図3.20 [アプリケーションのアップロード]ダイアログの表示
2. アップロードするプロジェクトを指定するには、以下の手順に従います。
a. [アプリケーション]ドロップダウンリストからプロジェクトを選択します。
デフォルトのアプリケーションは、[ナビゲーター]ビューで選択したプロジェクトの名前です。
b. チェックボックスを使用して、アップロードするコンポーネントをオンまたはオフにします。プロジェクト全体またはプロジェク
トの単独のコンポーネントをアップロードできます。このためには、プロジェクト名の前の[+]記号をクリックして、プロジェクト
フォルダを配備します。プロジェクトコンポーネントを選択することにより、同じプロジェクトをアップロードすることを防げま
す。目的以外のファイルを配備する必要はありません。また、[すべて選択]または[選択をすべて解除]タブを使用して、す
べてのコンポーネントを選択または選択解除できます。デフォルトでは、すべてのプロジェクトコンポーネントが選択されま
す。
3. リモートサーバを選択します。
サーバを選択するには、ドロップダウンリストから選択するか、使用可能なサーバ接続を参照します。
- 70 -
[サーバ接続情報]ドロップダウンリストからリモートサーバを選択します。ここには、前回選択したサーバが自動的に表示されま
す。サーバを選択したことがない場合、リストは空です。その場合、または別のサーバを選択する場合は、以下の手順に従いま
す。
1. [アプリケーションのアップロード]ダイアログにおいて、[接続情報の参照]ボタンをクリックします。[サーバ接続情報の選
択]ダイアログが表示されます。
2. 接続したいサーバ接続情報を選択して、[OK]ボタンをクリックします。
3. 新しいサーバ接続情報を追加したい場合は、[新規]ボタンをクリックします。[サーバ接続情報の設定]ダイアログが表示さ
れます。
4. [サーバ接続情報の設定]ダイアログで、必要な項目を入力します。サーバ接続情報の詳細については、“2.4.1 サーバ接
続情報の設定”を参照してください。
例では、管理サーバを指定しています。[アプリケーションのアップロード]ダイアログは以下のようになります。
図3.21 プロジェクトコンポーネントとサーバの選択
- 71 -
4. [アプリケーションのアップロード]ダイアログで、[次へ]をクリックします。
サーバにすでに存在するプロジェクトを更新するか、新規プロジェクトを作成するかを選択できます。
図3.22 アプリケーションの更新または作成の選択
- サーバにすでに存在する別のプロジェクトにプロジェクトをアップロードする場合は、["サーバ"に存在するプロセスグループ
を更新する]をオンにします。
注意
プロセス定義について
- サーバ上に同一名のプロセス定義が存在する場合は、プロセス定義は新バージョンとして登録されます。
- 更新処理でサーバ上のプロセス定義は削除されません。
プロセス定義以外のファイルについて
- 72 -
- アップロードしたファイルでサーバ上のファイルを置き換えます。
- アップロードしたアプリケーションに存在しないサーバ上のファイルは削除されます。
- サーバに新規プロジェクトをアップロードするには、["サーバ"に新規にプロセスグループを作成する]をオンにします。新規
プロジェクトの名前がサーバの他のプロジェクトと同じ場合は、上書きするかどうかを確認するメッセージが表示されます。
- アップロード後にアップロード先のプロセスグループをオンライン状態にしたい場合は、[アップロード後にアプリケーションを
オンラインにする]をオンにします。
注意
サーバ上のプロセスグループの状態について
- アップロードする場合、サーバ上のプロセスグループはオフライン状態でなければなりません。[アップロード後にアプリ
ケーションをオンラインにする]をオフにする場合は、アップロード先のプロセスグループをオフライン状態にしてくださ
い。
- [アップロード後にアプリケーションをオンラインにする]をオンにしたとき、アップロード先のプロセスグループは自動的に
オフライン状態に変更され、アップロード処理の完了後にオンライン状態に変更されます。
5. [完了]をクリックして新規プロジェクトをアップロードします。
3.1.16 アプリケーション変数
アプリケーション変数は、ワークフローアプリケーションプロジェクトレベルで定義できる変数です。アプリケーション変数は、そのアプリ
ケーションプロジェクトで共有することができます。
アプリケーション変数の値は、動的に定義できます。そしてプロセス定義の様々なJava Actionで使用することができます。例えば、
Webサービス呼出しアクションにWSDLロケーションとしてアプリケーション変数を使用できます。 これで、プロセス定義のJava Actionを
変更せずに、ダイナミックにWSDLロケーションを変更することができます。
新しいワークフローアプリケーションプロジェクトを作成するとき、アプリケーション変数を定義できます。
プロセス定義のUDAと共に、アプリケーション変数も[式の作成]ダイアログで利用できます。 [式の作成]ダイアログに関する詳細につ
いては“11.14 JavaScript式の定義”を参照してください。
プロセス定義のユーザ定義属性と区別するために、アプリケーション変数は、%ApplicationVariable1%として表示されます。
例えば、Variable1がアプリケーション変数の名前ならば、Variable1を取得するためのJava Scriptは以下となります。
sec.getApplicationVariable("Variable1").
アプリケーション変数はアプリケーションプロジェクトにxmlファイルとして保存されます。 ファイルは以下に格納されます。
Workspace >> アプリケーションプロジェクト >> Appvariable.xml
3.1.17 アプリケーション変数の定義
アプリケーション変数を定義する方法について説明します。
1. [ナビゲーター]ビューでアプリケーションプロジェクトを右クリックします。
2. ポップアップメニューから[プロパティ]をクリックします。
アプリケーションプロジェクトのプロパティダイアログが表示されます。
3. 左のフレームで[アプリケーション変数]をクリックします。
右フレームにアプリケーション変数の一覧を表示します。
- 73 -
4. アプリケーション変数を追加するために、[追加]ボタンをクリックします。
以下にアプリケーション変数の例を示します。
図3.23 アプリケーション変数の定義
注意
デフォルトで、アプリケーション変数はApplicationVariable1、ApplicationVariable2などとして加えられます。 名前と初期値を変
更することができます。
注意
アプリケーション変数を使用したJavaActionが定義されている場合でも、このアプリケーション変数を削除することができます。そ
のため、アプリケーション変数を削除する場合には、このアプリケーション変数が使用されているかをチェックする必要がありま
す。
5. 名前と初期値を編集します。ただし、名前に日本語を入力することはできません。
注意
変数名の長さの最大値は、256文字です。初期値の長さの最大値は、2000文字です。
6. アプリケーション変数を保存するために、[OK]ボタンをクリックします。
- 74 -
3.2 サーバプロジェクトの管理
このセクションでは、サーバプロジェクトの管理に使用する機能について説明します。
注意
サーバプロジェクトで、アプリケーションプロジェクトに属するプロセス定義を編集しないでください。
3.2.1 サーバプロジェクトの作成
管理サーバにアクセスするプロジェクトを作成する方法について説明します。
1. [ナビゲーター]ビューを選択してから、[ファイル] > [新規] > [プロジェクト] > [サーバ]の順に選択します。
[新規サーバプロジェクト]ダイアログが表示されます。
2. [新規サーバプロジェクト]ダイアログで、 [プロジェクト名]フィールドに、プロジェクトの名前を入力します。
作成したプロジェクトはファイルシステム内のフォルダになります。デフォルトでは、プロジェクトはワークスペースに作成されま
す。
図3.24 サーバのプロジェクトの作成
3. オプション:プロジェクトの場所を変更する場合、以下の操作を行います。
a. [デフォルトロケーションの使用]チェックボックスをオフにします。
b. [参照]をクリックします。既存のフォルダを選択するか、新しいフォルダを作成します。[OK]をクリックします。
- 75 -
4. [次へ]をクリックします。管理サーバの場所を入力するダイアログが開きます。
[新しいサーバプロジェクト]ダイアログが表示されます。このダイアログを使用して必要なサーバ情報を入力します。
図3.25 サーバ情報の入力
5. Wf-XML登録URLを入力します。URLは以下のフォーマットです。
http://<hostname>:<port>/<context>/_wfxml/Default/service/registry/
<context>を“console”、<hostname>を“rbaserver”、<port>を“80”とした場合のURLは、以下となります。
http://rbaserver:80/console/_wfxml/Default/service/registry/
注意
サーバプロジェクトは、Defaultテナントの“System”アプリケーションのみにアクセスすることができます。
6. [ユーザID]フィールドにSystemwalker Runbook Automationで認証されるユーザーIDを入力し、[パスワード]フィールドにその
ユーザーのパスワードを入力します。
7. オプション:[パスワードの保存]チェックボックスをオンにして、パスワードを保存すると、次回、管理サーバにログインする際に、
改めてパスワードを入力する必要がなくなります。
- 76 -
8. [完了]をクリックします。
作成したサーバのプロジェクト(以下の例ではMyFirstServerProject)が[ナビゲーター]ビューに表示されます。
図3.26 新しいサーバプロジェクトの表示
デフォルトのサーバプロジェクトには、Analyticsアプリケーションへのアクセスに使用できる空のAnalyticsフォルダが置かれます。
注意
Systemwalker Runbook Automation StudioではAnalytics機能を使用しません。
9. サーバ上のプロセス定義を実際に[ナビゲーター]ビューに表示するには、サーバにログインする必要があります。[ナビゲー
ター]ビューで作成したサーバのプロジェクトを右クリックし、[ログイン]を選択します。サーバのプロジェクト作成時にパスワードを
- 77 -
保存していた場合、すぐにログインし、プロセス定義が表示されます。パスワードを保存していない場合、[ログイン]ダイアログで
パスワードを入力してください。
図3.27 サーバパスワードの入力
サーバからログオフするには、サーバのプロジェクトを右クリックし、[ログオフ]を選択します。
注意
プロセス定義がフォームや、ビジネスカレンダー、CSSスタイルシート、Javaクラス、ルールファイルなどの外部ファイルを参照する場合
は、ファイルがSystemwalker Runbook Automation Studioがインストールされたコンピュータから参照できること、また、ファイルパスが正
しいことを確認します。詳細は、次の項を参照してください。
・ “第8章 フォームの使用”
・ “6.22.4 ビジネスカレンダーの作成”
・ “11.6 汎用Java Actionの使用”
・ “第10章 決定ルール表”
注意
ログインに失敗した場合、以下のエラーメッセージが表示される場合があります。
ログインに失敗しました。[詳細]:Connection refused:connect
または
ログインに失敗しました。[詳細]:Connection timed out:connect
このメッセージが表示された場合は、以下の確認をしてください。
・ サーバプロジェクトのサーバの情報の接続情報(ホスト名、ポート番号またはBase URL)に正しい情報が設定されていること。
[サーバのプロパティ]ダイアログの[サーバ情報]ページに接続情報が表示されます。このダイアログを開くには、[ナビゲーター]
ビューでサーバプロジェクトを右クリックし、ポップアップメニューから[プロパティ]を選択します。
・ 接続するサーバが起動されていること。
3.2.2 サーバプロジェクトを閉じる
ワークフローアプリケーションプロジェクトで説明した方法と同じ方法で、サーバプロジェクトを終了できます。
サーバプロジェクトを閉じるには、以下の手順に従います。
・ [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューから[プロジェクトを閉じる]を選択します。
- 78 -
プロジェクト名の左のアイコン(
)は、閉じられていることを示します。
複数のプロジェクトを同時に閉じることができます。[Shift]キーまたは[Ctrl]キーを押しながら、閉じるすべてのプロジェクトを選択しま
す。
3.2.3 サーバプロジェクトを開く
現在閉じられているサーバプロジェクトを再度開くことができます。プロジェクト名の左のアイコンは、プロジェクトが閉じられている(
または開いている(
)、
)ことを示します。
サーバプロジェクトを開くには、以下の手順に従います。
・ [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューから[プロジェクトを開く]を選択します。
3.2.4 サーバプロジェクトの削除
Systemwalker Runbook Automation Studioからサーバプロジェクトとその内容を削除できます。
注意
サーバプロジェクトを削除すると、登録されている管理サーバの情報も削除され、サーバに置かれているプロセス定義にはアクセスで
きなくなります。
サーバプロジェクトを削除するには、以下の手順に従います。
1. [ナビゲーター]ビューでプロジェクトを右クリックします。ポップアップメニューから[削除]を選択します。
2. [はい]をクリックしてプロジェクトの削除を確定します。
- 79 -
第4章 プロセス定義の管理
ここでは新しいプロセス定義を作成して使用する方法について説明します。
4.1 プロセス定義の新規作成
プロセス定義を新規に作成する方法について説明します。
前提条件は以下です。
・ プロセス定義を格納できるプロジェクトを作成している。
作成手順を以下に示します。
1. [ファイル] > [新規] > [プロセス定義]の順に選択します。
2. [新規プロセス定義]ダイアログボックスで、[参照]をクリックします。プロセス定義を格納するプロジェクトを選択し、[OK]をクリック
します。
プロジェクト名が[プロジェクト]フィールドに表示されます。
3. [名前]フィールドにプロセス定義名を入力します。
プロセス定義名がすでに存在する場合は、ファイル名を入力するダイアログボックスが表示されます。ファイル名を入力し、[OK]
をクリックします。
4. [説明]フィールドに、プロセス定義の説明を入力します。
図4.1 プロセス定義の作成
5. [完了]をクリックします。
作成したプロセス定義が[ナビゲーター]ビューに表示されます。プロセス定義エディタが開かれ、Startノードが自動的に追加されます。
これで、プロセス定義の名前と説明を定義し、プロセスの編集を開始できるようになります。
- 80 -
注意
サーバのプロジェクトでプロセス定義を作成する場合には、そのアプリケーションIDはSystemに設定されます。
4.2 プロセス定義の正当性の確認
プロセス定義の正当性の確認を実行すると、プロセス定義、ノードや矢印などのエラーを検出することができます。
前提条件は以下です。
・ プロセス定義を格納できるプロジェクトを作成している。
注意
Java Actionとトリガに関しては、正当性を確認しません。
注意
サーバプロジェクト配下のプロセス定義の正当性を確認することはできません。
プロセス定義の正当性を確認する方法について説明します。
1. 以下のどちらかの操作を行います。
- プロセス定義エディタをアクティブにして、ツールバーの[正当性を確認する]を選択します。
- プロセス定義エディタ内の空のスペースをクリックして、ポップアップメニューから[正当性を確認する]を選択します。
[問題]ビューに、プロセス定義のエラーを表示します。[問題]ビューに関しては、“2.2.10 [問題]ビュー”を参照してください。
4.3 プロセス定義の保存
変更を加えたプロセス定義を保存できます。何も変更を加えていない場合、この保存機能は無効です。
プロセス定義を保存する方法について説明します。
1. 以下のどちらかの操作を行います。
- プロセス定義エディタに現在表示されているプロセス定義を保存するには、[ファイル] > [保存]の順に選択します。
- 変更を加えたすべてのプロセス定義を保存するには、[ファイル] > [すべて保存]の順に選択します。
2. プロセス定義に誤りがある場合は、エラーメッセージが表示されます。検出されたエラーに関する詳細情報を表示することがで
きます。以下のどちらかの操作を行います。
- エラーを無視してプロセス定義を保存する場合は、[はい]をクリックします。
- 保存せずにSystemwalker Runbook Automation Studioに戻る場合は、[いいえ]をクリックします。エラーを修正し、もう一度プ
ロセス定義を保存します。
4.4 プロセス定義の別名保存
プロセス定義を別の名前で保存する、または別のプロジェクトに保存する方法について説明します。
1. 保存するプロセス定義が表示されているプロセス定義エディタをクリックします。
2. [ファイル] > [別名保存]の順に選択します。
- 81 -
3. プロセス定義に誤りがある場合は、エラーメッセージが表示されます。検出されたエラーに関する詳細情報を表示することがで
きます。以下のどちらかの操作を行います。
- エラーを無視してプロセス定義を保存する場合は、[OK]をクリックします。
- 保存せずにSystemwalker Runbook Automation Studioに戻る場合は、[キャンセル]をクリックします。エラーを修正し、もう一
度プロセス定義を保存します。
4. [プロセス定義の別名保存]ダイアログで、プロセス定義の保存先となるプロジェクトを選択します。ワークフローアプリケーション
プロジェクト、ローカルのプロジェクトまたは、現在ログインしているサーバのプロジェクトに保存できます。シミュレーションのシナ
リオのプロジェクトにプロセス定義を保存することはできません。
注意
サーバのプロジェクトでプロセス定義を保存する場合には、そのアプリケーションIDは“System”に設定されます。
5. プロセス定義を別の名前で保存する場合は、新しいプロセス定義名を[名前]フィールドに入力します。
図4.2 プロセス定義の別の名前での保存、または別のプロジェクトへの保存
6. [OK]をクリックします。
- 82 -
4.5 プロセス定義名と説明の変更
プロセス定義名は、管理サーバにおける自動運用プロセスの識別に使用されるため、プロセス定義の管理では特に注意する必要が
あります。
なお、プロセス定義の説明は、プロセスに関する説明情報を記載するために使用できます。
注意
ローカルのプロジェクトのプロセス定義だけプロセス定義名を変更することができます。サーバのプロジェクトのプロセス定義は、プロセ
ス定義名を変更することはできません。
プロセス定義名と説明を変更する方法について説明します。
1. [ナビゲーター]ビューで、プロセス定義をダブルクリックします。
2. プロセス定義名を変更する場合は、[プロパティ]ビューの[一般]タブの[名前]にプロセス定義名を入力します。
3. プロセス定義に関する説明情報を変更する場合は、[プロパティ]ビューの[一般]タブの[説明]に説明情報を入力します。
4.6 プロセス定義の優先度の設定
プロセス定義の優先度を設定します。初期値では、“8”が設定されています。0以上の整数値の範囲で優先度を変更することができま
す。
プロセス定義の優先度を設定する方法について説明します。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [プロパティ]ビュー内の[一般]タブを選択します。
3. [優先度]フィールドに、優先度を入力します。
4.7 同じバージョンのサブプロセス定義の使用
サブプロセス定義をもつ親プロセス定義を使用する場合、親プロセス定義とサブプロセス定義に複数のバージョンが存在することがあ
ります。親プロセス定義を起票して、サブプロセス定義を使用するときに、特定のバージョンのサブプロセス定義を使用したいことがあ
ります。この機能を使用すると、親プロセス定義のバージョンと同じサブプロセス定義のバージョンを使用することができます。
サブプロセス定義を実行するときに、親プロセス定義と同じバージョンのサブプロセス定義を検索し、それが利用可能であるならば、サ
ブプロセスインスタンスは作成されます。利用可能でないならば、エラーが発生します。
例えば、アプリケーションプロジェクト(APP01)に、親プロセス定義A(バージョン1)と2つのサブプロセス定義B(バージョン2)とC(バージョ
ン3)が存在するとします。
親プロセス定義Aの[同じバージョンのサブプロセス定義を使用する]をチェックして、APP01をアップロードすると、A、B、およびCのバー
ジョンは4になります。 このバージョンは以下の方法で計算されます。新しいバージョン=更新されるプロセス定義の最大のバージョン
番号+1。 この場合、親プロセス定義A(バージョン4)はバージョン4のサブプロセス定義を検索します。また、BとCには、バージョン4が
存在し、プロセスインスタンスは開始されます。
サブプロセス定義の同じバージョンを使用したい場合、アプリケーションを更新している間、サブプロセス定義と同様に親プロセス定義
を更新する必要があります。
注意
この機能を使用する場合、親プロセス定義と同じバージョンのサブプロセス定義が存在することを確認してください。
- 83 -
注意
この機能は、Subprocess ノードとChained Process ノードにのみ適用されます。
注意
この機能は、親プロセス定義とサブプロセス定義を選択して、[アプリケーションのアップロード]を実行した場合のみ有効です。
同じバージョンのサブプロセス定義を使用する方法について説明します。
1. 親プロセス定義の[プロパティ]ビューの[一般]タブを選択します。
2. [同じバージョンのサブプロセス定義を使用する]をチェックします。
4.8 プロセスレポートの使用
プロセス定義のレポートをHTMLおよびMS-PowerPoint形式で作成できます。 この機能は、プロセス定義の概要を理解する必要があ
るユーザーに役立ちます。そのユーザーは、本製品に対する技術的詳細を理解する必要はなく、本製品を使用して設計しているシス
テムのビジネス特有の情報を理解する必要があります。例えば、銀行の支配人は銀行のクレジットカードと貸出方式に関する詳細を理
解する必要がありますが、そのシステムに関係する本製品の詳細は理解する必要はありません。
以下のレポートを作成できます。
・ プロセス定義エディタとプロセスアウトラインエディタからプロセス定義レポートを作成できます。
このレポートには以下が含まれます。
・ プロセス定義名
・ プロセス定義の説明
・ プロセス定義の作成日付
・ プロセス定義のスナップショット(プロセス定義エディタからドキュメントを作成したときのみ)
・ プロセス定義の以下のノードの詳細:Activity, Voting Activity, Compound Activity, Subprocess
レポートに含まれるノードの詳細は、以下のとおりです。
・ ノード名
・ ノードの説明
・ Activityの担当者
・ Activityの期限
Activityは、タスクとして表示されます。
HTMLレポートは詳細をテーブルで表示します。各ActivityとCompound Activityの詳細は別々のテーブルに表示されます。
MS-PowerPointレポートはプロセス定義の主なActivityとCompound Activityの詳細を別々のスライドで表示します。Compound Activity
の子ノードは関する詳細は1つのスライドに表示されます。
注意
タスクの期限に関する時刻コードと日付コードとしてAppendix(付録)をレポートの末尾に追加しています。時刻コードと日付コードの詳
細は、“6.22.3 時刻コードと日付コード”を参照してください。
- 84 -
注意
レポートには、プロセス定義のトリガ、タイマー、アクションセット、エージェント、およびユーザ定義属性の情報を含んでいません。
注意
レポートには、人が作業する必要があるタスクだけを含んでいます。これらのタスクは、ActivityとVoting Activityです。
作成されたレポートは、アプリケーションプロジェクトのDocumentsフォルダに保存されます。デフォルトで、レポートは[プロセスレポート
の生成]ダイアログのタイトルフィールドに入力した名前で保存されます。
Documentsフォルダに対して以下の操作を実行できます。
・ コピー
・ 貼り付け
・ 名前変更
・ 削除
・ インポート
注意
PDFドキュメントを作成することはできません。
4.8.1 プロセス定義のレポートの作成
プロセス定義のドキュメントを作成する方法について説明します。
前提条件は以下です。
・ プロセス定義エディタまたはプロセスアウトラインエディタをアクティブにして、[ファイル]メニューの[プロセスレポートの生成]を有効
にします。
・ プロセス定義を保存します。
作成手順を以下に示します。
1. [ナビゲーター]ビューからプロセス定義のレポートを作成したいプロセス定義を開きます。
2. [ファイル]メニューの[プロセスレポートの生成]を選択します。
[プロセスレポートの生成]ダイアログを表示します。
3. レポートの名前を[タイトル]フィールドに入力します。
4. 出力するレポートの形式を選択します。チェックボックスでHTML形式とMS-PowerPoint形式を選択できます。複数の形式を選
択することもできます。PDF形式は使用できません。
5. [保存]をクリックします。
レポートは、[ナビゲーター]ビューにおいて、アプリケーションプロジェクトのDocumentsフォルダに格納されます。レポートが
Documentsフォルダに保存されたとき、それを通知するメッセージを表示します。もし、レポートの保存に失敗した場合は、エラー
メッセージを表示します。
注意
サブプロセス定義を含んだプロセス定義のレポートでは、サブプロセス定義のスナップショットは出力されません。
- 85 -
注意
サーバプロジェクト配下のプロセス定義を開いた場合、[プロセスレポートの生成]は使用できません。
注意
プロセス定義エディタで[プロセスレポートの生成]を実行し、レポートの形式でHTML形式を選択した場合、HTMLレポートにプロセス
定義のスナップショットが含まれます。そのスナップショットのファイル名は、レポートファイル名の末尾に、“.jpg”の拡張子を付加した名
前です。
注意
[プロセスレポートの生成]でレポートの形式としてHTML形式を選択し、HTMLレポートを作成した場合、_IBPM_STUDIO_Stype.cssが
作成されます。このファイルは、HTMLドキュメントのスタイルシートファイルです。このファイルの名前を変更してはなりません。もし、
HTMLレポートを別のフォルダにコピーする場合は、このファイルも一緒にコピーする必要があります。
4.9 プロセス定義を開く
プロセス定義を開く方法について説明します。
・ [ナビゲーター]ビューで、プロセス定義をダブルクリックします。
・ [ナビゲーター]ビューでプロセス定義を右クリックし、ポップアップメニューの[開く]を選択します。
管理サーバのプロジェクトに格納されているプロセス定義の場合、特定の版を指定して開くことができます。
1. [ナビゲーター]ビューでプロセス定義を右クリックし、[バージョンを指定して開く ]を選択します。
2. 該当するバージョンを選択し、[OK]をクリックします。
4.10 プロセス定義のインポート
プロセス定義は、XPDL形式でSystemwalker Runbook Automation Studioにインポートできます。
前提条件は以下です。
・ プロセス定義のインポート先となるプロジェクトを作成している。
注意
サーバのプロジェクトにプロセス定義をインポートする場合には、そのアプリケーションIDは“System”に設定されます。
プロセス定義をインポートする方法を説明します。
1. [ナビゲーター]ビューで、プロセス定義をインポートするワークフローアプリケーションプロジェクトのプロセス定義フォルダを右ク
リックします。ポップアップメニューの[インポート]を選択します。
2. プロセス定義が格納されている場所に移動します。
3. プロセス定義を選択し、[開く]をクリックします。
4. プロジェクトに同じファイル名のプロセス定義がすでに存在する場合は、ファイル名を入力するダイアログボックスが表示されま
す。ファイル名を入力し、[OK]をクリックします。
- 86 -
注意
プロセス定義が、フォームやビジネスカレンダー、スタイルシート、汎用JavaAction、規約ファイルのような外部のファイルを参照してい
る場合、これらのファイルもインポート先のコンピュータにコピーしてください。詳細については、以下を参照してください。
・ “第8章 フォームの使用”
・ “6.22.4 ビジネスカレンダーの作成”
・ “11.6 汎用Java Actionの使用”
・ “第10章 決定ルール表”
4.11 プロセス定義のエクスポート
Systemwalker Runbook Automation Studioからファイルシステムにプロセス定義をエクスポートできます。たとえば、エクスポートしたファ
イルを使用して、プロセス定義をほかのシステムにインポートできます。エクスポート形式として、XPDL 1.0、XPDL 2.0またはXPDL 2.1
を選択できます。
注意
1回のステップで、すべてのプロセス定義、フォーム、添付ファイルなどを含む、ワークフローアプリケーションプロジェクト全体をエクス
ポートし、あとで管理サーバ上にそのアプリケーションを配置することができます。
詳細については、“3.1.13 ワークフローアプリケーションプロジェクトのエクスポート”を参照してください。
プロセス定義をエクスポートする方法について説明します。
1. [ナビゲーター]ビューで、プロセス定義を右クリックします。[エクスポート]を選択し、使用するXPDL形式を選択します。
2. エクスポートしたプロセス定義を格納する場所に移動します。
3. [保存]をクリックします。
プロセス定義を管理サーバにインポートするには、サーバのプロジェクトを作成して、そのプロジェクトにプロセス定義をインポートする
か、Webコンソールを使用します。
注意
プロセス定義が、フォームやビジネスカレンダー、スタイルシート、汎用JavaAction、規約ファイルのような外部のファイルを参照してい
る場合、これらのファイルもエクスポート先のコンピュータにコピーしてください。詳細については、以下を参照してください。
・ “第8章 フォームの使用”
・ “6.22.4 ビジネスカレンダーの作成”
・ “11.6 汎用Java Actionの使用”
・ “第10章 決定ルール表”
4.12 プロセス定義のサーバへの送信
プロセス定義のサーバへの送信について説明します。
前提条件は以下です。
・ ローカルのワークフローアプリケーションプロジェクトに1つ以上のプロセス定義を作成している。
・ 1つ以上のSystemwalker Runbook Automation サーバに接続している。
例) 1つ以上のサーバプロジェクトを作成済みで、それぞれに対応するサーバにログインしている。
- 87 -
注意
サーバのプロジェクトにプロセス定義を送信する場合には、そのアプリケーションIDは“System”に設定されます。
ローカルのプロセス定義をサーバへ送信する方法について説明します。
1. [ナビゲーター]ビューで、管理サーバにアップロードするプロセス定義を右クリックし、[サーバへ送信]を選択します。
[Shift]キーまたは[Ctrl]キーを使用して、同じプロジェクト内の複数のプロセス定義を選択できます。
2. [プロセス定義をサーバへ送信]ダイアログに表示されるドロップダウンリストから、プロセス定義を送信するサーバのプロジェクト
を選択します。
図4.3 プロセス定義のサーバへの送信
3. 選択したサーバのプロジェクトに現在ログインしていない場合で、サーバのプロジェクトのプロパティで[パスワードの保存]のチェッ
クボックスをオフにしている場合は、[ログイン]ダイアログボックスが表示されます。パスワードを入力し、[OK]をクリックします。
[ログイン]ダイアログの表示は、サーバのプロジェクトを作成した際に、[パスワードの保存]チェックボックスにチェックしたかどうか
により変わります。
詳細については、“3.2.1 サーバプロジェクトの作成”を参照してください。
4. ローカルのプロセス定義がサーバにアップロードされ、選択されたサーバのプロジェクト内に表示されます。プロセス定義がすで
にサーバに存在する場合、新規バージョンが作成されます。[ナビゲーター]ビューのポップアップメニューから[バージョンを指定
して開く]を使用すると、プロセス定義の特定のバージョンにアクセスできます。
サーバへの送信が失敗した場合、[ナビゲーター]ビューのプロセス定義名の横に赤いアイコンが表示されます。送信に失敗したプロ
セス定義は、該当するサーバのプロジェクトに格納されますが、利用はできません。再度サーバへ送信を実行し成功した場合は、送信
に失敗したプロセス定義は削除されます。
注意
ローカルのプロセス定義が、フォームやビジネスカレンダー、スタイルシート、汎用JavaAction、規約ファイルのような外部のファイルを
参照している場合、これらのファイルも管理サーバにコピーしてください。詳細については、以下を参照してください。
・ “第8章 フォームの使用”
・ “6.22.4 ビジネスカレンダーの作成”
・ “11.6 汎用Java Actionの使用”
・ “第10章 決定ルール表”
4.13 プロセス定義のコピー
[ナビゲーター]ビューで、プロセス定義をコピーできます。
- 88 -
注意
ワークフローアプリケーションプロジェクトに含まれるローカルのプロジェクトのプロセス定義だけコピーできます。サーバのプロジェクト
のプロセス定義はコピーできません。
プロセス定義をコピーする方法について説明します。
1. [ナビゲーター]ビューで、コピーするプロセス定義を右クリックし、ポップアップメニューの[コピー]を選択します。
2. コピーしたプロセス定義を貼り付けるプロジェクトのProcess Definitionsフォルダを右クリックし、ポップアップメニューの[貼り付け]
を選択します。
3. 同一のプロジェクト内でコピーするときに、同じファイル名のプロセス定義がすでに存在する場合は、ファイル名を指定するダイ
アログボックスが表示されます。新しいファイル名を入力し、[OK]をクリックします。
4. 他のプロジェクトにコピーするときに、同じファイル名のプロセス定義がすでに存在する場合は、その旨を通知するダイアログボッ
クスが表示されます。以下のどちらかの操作を行います。
- 既存のプロセス定義を上書きする場合は、[はい]をクリックします。
- 既存のプロセス定義を維持する場合は、[いいえ]をクリックします。
[いいえ]の場合、プロセス定義は貼り付けられません。
注意
プロセス定義をコピーした場合、プロセス定義名はコピー元と同じ値のままとなりますので、合わせてプロセス定義名も変更してくださ
い。
ファイル名が異なるプロセス定義でもプロセス定義名が同じ場合は、管理サーバでは同じプロセス定義として扱われます。プロセス定
義を管理サーバに登録する際に、対象の自動運用プロセスグループ内に同じプロセス定義名のプロセス定義が存在する場合は、既
存のプロセス定義は更新されてしまいます。
プロセス定義名を変更する方法については“4.5 プロセス定義名と説明の変更”を参照してください。
4.14 プロセス定義のファイル名の変更
プロセス定義の新しいファイル名を指定できます。
注意
ファイル名を表示するようナビゲーターを設定している場合だけ、ワークフローアプリケーションプロジェクトに含まれるローカルのプロ
ジェクトのプロセス定義のファイル名を変更できます。サーバのプロジェクトのプロセス定義のファイル名を変更することはできません。
プロセス定義のファイルの名前を変更する方法について説明します。
1. [ナビゲーター]ビューでプロセス定義を右クリックします。ポップアップメニューの[名前変更]を選択します。
2. プロセス定義の新しいファイル名を入力します。
3. [Enter]キーを押します。
4. そのプロジェクトに同じファイル名のプロセス定義がすでに存在する場合は、それを通知するダイアログボックスが表示されま
す。以下のどちらかの操作を行います。
- 既存のプロセス定義を上書きするには、[はい]をクリックします。
- 既存のプロセス定義を維持するには、[いいえ]をクリックします。
[いいえ]の場合、プロセス定義のファイル名は変更されません。
- 89 -
注意
プロセス定義のファイル名を変更してもプロセス定義名は変更されません。
プロセス定義名を変更する方法については“4.5 プロセス定義名と説明の変更”を参照してください。
4.15 プロセス定義を閉じる
プロセス定義を閉じる方法について説明します。
1. 以下のどちらかの操作を行います。
- 特定のプロセス定義を閉じるには、プロセス定義エディタの[閉じる]ボタンをクリックします。
- すべてのプロセス定義を閉じるには、[ファイル] > [すべて閉じる]の順に選択します。
2. 保存していない変更内容があった場合は、その旨を通知するメッセージが表示されます。以下のどちらかの操作を行います。
- 変更内容を保存してプロセス定義を閉じるには、[はい]をクリックします。
- 変更内容を保存しないでプロセス定義を閉じるには、[いいえ]をクリックします。
4.16 プロセス定義の削除
プロセス定義を削除すると、そのプロセス定義はSystemwalker Runbook Automation Studioとファイルシステムの両方から削除されま
す。
注意
この方法では、ワークフローアプリケーションプロジェクトに含まれるローカルのプロジェクトのプロセス定義だけを削除できます。サー
バのプロジェクトのプロセス定義は削除できません。
プロセス定義を削除する方法について説明します。
1. [ナビゲーター]ビューでプロセス定義を右クリックします。ポップアップメニューの[削除]を選択します。
2. [はい]をクリックして削除を実行します。
- 90 -
第5章 運用操作部品の管理
運用操作部品の作成と管理のための手順について説明します。
5.1 運用操作部品プロジェクトの新規作成
運用操作部品プロジェクトは、1つの運用操作部品を構成するファイルを管理するためのコンテナです。
運用操作部品プロジェクトを作成する方法について説明します。
1. [運用操作部品管理]ビューで、カテゴリを右クリックします。
- 91 -
2. ポップアップメニューの[新規(N)] > [運用操作部品]を選択します。
[新規運用操作部品プロジェクト]ダイアログが表示されます。
3. [プロジェクト名]フィールドにプロジェクトの名前を128文字以内で入力します。
プロジェクトの名前はワークスペース上で一意にする必要があります。アプリケーションプロジェクトなど、ワークスペース上に存
在する他のプロジェクトと同じ名前を付けることはできません。
4. [運用操作部品名]フィールドに運用操作部品の名前を61文字以内で入力します。
5. [運用操作部品ID]フィールドに運用操作部品を一意に識別するためのIDを入力します。左側のフィールドには、IDのプレフィッ
クス(接頭辞)を半角英字5文字以内で入力します。右側のフィールドには、半角英数字、アンダースコア、55文字以内で入力し
ます。
注意
- 運用操作部品IDのプレフィックスに、“SWRBA” を使用することはできません。
- 入力した運用操作部品名は、プロセス定義エディタでプロセス定義内に運用操作部品ノードを配置する際のデフォルトの名
前のプレフィックスとして使用されます。
6. [カテゴリ]コンボボックスから運用操作部品のカテゴリを選択します。
7. [説明]フィールドに運用操作部品の説明を4096文字以内で入力します。
8. [次へ]ボタンをクリックします。
※ここで[完了]ボタンをクリックすることもできます。
- 92 -
9. [エディタ設定]画面でプロセス定義エディタおよびプロセス定義エディタのパレットで使用するアイコンイメージの情報を設定し
ます。
10. [アイコンイメージ(32x32)]グループの[参照]ボタンをクリックし、アイコンのイメージファイルを選択します。(省略可能)
以下のアイコンがデフォルトで指定されています。
ポイント
プロセス定義エディタで表示するアイコンは、アイコンイメージ(32x32)で指定された基本イメージおよび、修飾イメージを重ね合
わせて自動的に生成します。
11. [修飾イメージの種類]コンボボックスから状態を表すアイコンイメージの種類を選択します。
修飾イメージは以下の20種類から選択することができます。
種類
イメージ
実行、開始
再実行
- 93 -
種類
イメージ
停止
一時停止
作成、追加
削除
確認、監視
検索
取得、参照
設定、変更、更新
転送
変換、交換
接続
切断
情報、詳細、プロパティ
一覧、表
復元
通信、会話
印刷
繰り返し
12. [修飾イメージの位置]コンボボックスから基本イメージに修飾イメージを重ねあわせる位置を選択します。
基本イメージに対して重ね合わせ可能な位置は、基本イメージの[左上]、[右上]、[左下]、[右下]の4カ所です。[修飾イメージの
種類]で[なし]が選択されている場合、[修飾イメージの位置]コンボボックスはグレーアウトされ、選択できません。
13. 同様に[アイコンイメージ(16x16)]グループから[基本イメージ]、[修飾イメージの種類]、[修飾イメージの位置]を指定します。(省
略可能)
以下のアイコンがデフォルトで指定されています。
14. [ツールチップ]フィールドに、運用操作部品の簡単な説明を入力します。(省略可能)
ここで入力した説明は、プロセス定義エディタパレットで運用操作部品ノードにカーソルを合わせたときに、ツールチップヘルプ
として表示されます。
また、入力した説明は、プロセス定義エディタで、パレットのフィルタリングを利用するときの対象キーワードとなります。
15. [次へ]ボタンをクリックします。
※ここで[完了]ボタンをクリックすることもできます。
16. [入出力設定]画面で運用操作部品を実行するための入出力情報を設定します。
[入力情報]タブを選択すると、入力情報を設定する画面に変わります。[出力情報]タブを選択すると、出力情報の設定を参照す
ることができます。
- 94 -
[入力情報]の[基本]タブを選択すると、基本パラメーターを設定することができます。[入力情報]の[拡張]タブを選択すると、拡
張パラメーターを設定することができます。
- 95 -
- 96 -
入力情報を追加/削除する場合は、[追加]、[削除]ボタンをクリックします。
[リストから選択]チェックボックスをチェックすると、リスト形式のデータを入力することができます。
[追加]ボタンをクリックすると、テーブルコントロールの末尾に新しい項目が追加されます。
- 項目名:“NewItemText数字”
- 97 -
- 値:“NewValue数字”(データタイプがINTEGERの場合は“数字”)
17. [完了]をクリックします。
運用操作部品プロジェクトが作成されます。
5.2 運用操作部品の変更
運用操作部品の情報を変更する方法について説明します。
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューの[運用操作部品の編集[日
本語]]を選択します。英語の名前や説明を入力する場合は、[運用操作部品の編集[英語]]を選択します。
- 運用操作部品が動作するサーバが日本語環境の場合
[運用操作部品の編集[日本語]]で設定した情報が使用されます。
- 運用操作部品が動作するサーバが英語環境の場合
[運用操作部品の編集[英語]]で設定した情報が使用されます。
運用操作部品を編集するためのエディタが開きます。
[概要]ページでは、運用操作部品の名前やカテゴリ、説明を設定します。
- 98 -
運用操作部品IDは変更できません。
2. [エディタ設定]ページでは、プロセス定義エディタおよび、プロセス定義エディタのパレットに表示するアイコンの情報やツール
チップを設定します。
- 99 -
3. [入出力設定]ページでは運用操作部品を実行するための入出力情報を設定します。
4. [×]ボタンをクリックまたは、[ファイル]>[保存]メニューを押下して変更を保存します。
5.3 運用操作部品プロジェクトのインポート
パッケージ化されている運用操作部品のプロジェクトを自分のワークスペースにインポートできます。
運用操作部品をローカルファイルシステムからインポートするには、以下の手順に従います。
- 100 -
1. [運用操作部品管理]ビューで、プロジェクトをインポートするカテゴリを右クリックします。ポップアップメニューから、[運用操作部
品のインポート]を選択します。
[運用操作部品のインポート]ダイアログが開きます。
2. [アーカイブ・ファイル]フィールドにインポートする運用操作部品のアーカイブファイル(.zip)のフルパスを入力します。または、[参
照]ボタンをクリックし、インポートする運用操作部品のアーカイブファイル(.zip)を選択します。
3. インポートと合わせて運用操作部品をプロセス定義エディタのパレットに登録する場合、[プロセス定義エディタのパレットに運用
操作部品を登録する]をチェックします。
4. [OK]をクリックします。
以下のいずれかの場合は、エラーメッセージが表示され、インポートできません。
- 同じ運用操作部品IDを持つ運用操作部品プロジェクトが存在する場合
- 同じ運用操作部品名を持つ運用操作部品プロジェクトが存在する場合
以下の場合は、[プロジェクトの名前変更]ダイアログが表示されます。
- 同じ名前の運用操作部品プロジェクトが存在する場合
[プロジェクトの名前変更]ダイアログで、名前を変更し[OK]をクリックすると、プロジェクトの名前を変更してインポートが行われま
す。[キャンセル]をクリックするとインポートは行われません。
5.4 運用操作部品プロジェクトのエクスポート
Systemwalker Runbook Automation Studioのワークスペースから運用操作部品をエクスポートして、運用操作部品を構成するすべて
のファイルを.zipファイルとしてパッケージ化できます。この.zipファイルは、後でWebコンソールを使用して管理サーバに登録できます。
また、他の環境のSystemwalker Runbook Automation Studio にインポートすることもできます。
運用操作部品をエクスポートするには、以下の手順に従います。
- 101 -
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューから[運用操作部品のエクス
ポート]を選択します。
[運用操作部品のエクスポート]ダイアログが表示されます。
2. [アーカイブ・ファイル]フィールドに、出力するアーカイブファイルの名前を指定します。
3. [OK]をクリックします。
これによって運用操作部品プロジェクトは、指定したアーカイブファイルとして保存されます。
5.5 運用操作部品プロジェクトの削除
プロジェクトとその中のすべての内容を Systemwalker Runbook Automation Studioから削除することができます。
注意
・ 運用操作部品プロジェクトを削除すると、そのプロジェクトに含まれるスクリプトファイルなどのすべてのファイルがSystemwalker
Runbook Automation Studioから削除されます。
・ Systemwalker Runbook Automation Studioのプロセス定義で使用されている運用操作部品のプロジェクトは削除できません。プロ
ジェクトを削除する前に、プロセス定義から削除する必要があります。
・ プロセス定義エディタのパレットに登録されている運用操作部品のプロジェクトは削除できません。プロジェクトを削除する前に、プ
ロセス定義エディタのパレットから削除する必要があります。
運用操作部品プロジェクトを削除する方法について説明します。
- 102 -
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューの[削除]を選択します。
[運用操作部品の削除]ダイアログボックスが表示されます。
2. [はい]をクリックして、削除を確定します。
[いいえ]をクリックした場合、運用操作部品プロジェクトは削除されません。
5.6 運用操作部品のサーバへのアップロード
運用操作部品をアップロードする方法について説明します。
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューから、[運用操作部品のアッ
プロード]を選択します。[運用操作部品のアップロード]ダイアログが開きます。サーバ接続情報を指定しないと、ダイアログにエ
ラーメッセージが表示されます。
2. 管理サーバを選択します。
[サーバ接続情報]ドロップダウンリストから管理サーバを選択します。ここには、前回選択したサーバが自動的に表示されます。
サーバを選択したことがない場合、リストは空です。その場合、または別の管理サーバを選択する場合は、以下の手順に従いま
す。
a. [接続情報の参照]ボタンをクリックします。[サーバ接続情報の選択]ダイアログが表示されます。
b. 別の管理サーバを選択する場合は、一覧からサーバ接続情報を選択して、[OK]ボタンをクリックします。
c. [サーバ接続情報の選択]ダイアログにない管理サーバへの接続が必要な場合は、[新規]ボタンをクリックし、[サーバ接続
情報の設定]ダイアログで、必要な項目を入力します。サーバ接続情報の詳細については、“2.4.1 サーバ接続情報の設
定”を参照してください。
3. アップロードと合わせて運用操作部品をプロセス定義エディタのパレットに登録する場合、[プロセス定義エディタのパレットに運
用操作部品を登録する]をチェックします。
4. [完了]をクリックして運用操作部品をアップロードします。
同じIDを持つ運用操作部品が管理サーバに存在する場合、更新アップロードの確認メッセージを表示が表示されます。[はい]
をクリックすると運用操作部品を更新アップロードします。[いいえ]をクリックするとアップロードされません。
- 103 -
また、アップロードする運用操作部品の作成日付が管理サーバ上にある運用操作部品よりも古い場合は以下のメッセージが表
示されます。
5.7 運用操作部品のサーバからのダウンロード
管理サーバから運用操作部品をダウンロードする方法について説明します。
1. [運用操作部品管理]ビューで、カテゴリまたは運用操作部品プロジェクトを右クリックします。ポップアップメニューから、[運用操
作部品のダウンロード]を選択します。
[運用操作部品のダウンロード]ダイアログが表示されます。前回活性状態だったサーバ接続が自動的に表示されます。
2. [サーバ接続情報]ドロップダウンリストからサーバを選択します。
3. [運用操作部品のダウンロード]ダイアログで、[リストの獲得]ボタンをクリックします。
ツリーに運用操作部品の一覧が表示されます。
4. ダウンロードする運用操作部品を選択します。
5. ダウンロードと合わせて運用操作部品をプロセス定義エディタのパレットに登録する場合、[プロセス定義エディタのパレットに運
用操作部品を登録する]をチェックします。
6. [完了]をクリックして、指定した管理サーバから運用操作部品をダウンロードします。
同じIDを持つ運用操作部品がStudioに存在する場合、更新ダウンロードの確認メッセージを表示が表示されます。[はい]をクリッ
クすると運用操作部品を更新ダウンロードします。[いいえ]をクリックするとダウンロードされません。
- 104 -
また、ダウンロードする運用操作部品の作成日付が開発コンピュータ上にある運用操作部品よりも古い場合は以下のメッセージ
が表示されます。
5.8 スクリプトファイルのインポート
RubyまたはPerlのスクリプトファイルをインポートする方法を説明します。
前提条件は以下です。
・ スクリプトファイルのインポート先となる運用操作部品プロジェクトを作成している。
- 105 -
1. [運用操作部品管理]ビューで、スクリプトファイルをインポートするプロジェクトを右クリックします。ポップアップメニューの[スクリ
プトファイルのインポート]を選択します。
[スクリプトファイルのインポート]ダイアログが表示されます。
2. スクリプトファイルが格納されている場所に移動します。
3. スクリプトファイルを選択し、[開く]をクリックします。
4. プロジェクトに同じファイル名のスクリプトファイルがすでに存在する場合は、ファイルを上書きするかどうかを確認するダイアログ
が表示されます。また、すでに別の名前のスクリプトファイルがプロジェクト内に存在する場合、ファイルを置き換えるかどうかを
確認するダイアログが表示されます。[はい]をクリックするとファイルの上書き/置き換えが行われます。[いいえ]をクリックするとイ
ンポートは行われません。
注意
拡張子が.rb または.pl のファイルのみインポートできます。
5.9 スクリプトファイルのエクスポート
Systemwalker Runbook Automation StudioからファイルシステムにRubyまたはPerlのスクリプトファイルをエクスポートできます。たとえ
ば、エクスポートしたファイルを使用して、スクリプトファイルをほかの環境のSystemwalker Runbook Automation Studioにインポートす
ることができます。
スクリプトファイルをエクスポートする方法について説明します。
- 106 -
1. [運用操作部品管理]ビューで、スクリプトファイルを右クリックします。ポップアップメニューの[スクリプトファイルのエクスポート]を
選択します。
[スクリプトファイルのエクスポート]ダイアログが表示されます。
2. エクスポートするスクリプトファイルを格納する場所に移動します。
3. [OK]をクリックします。
4. エクスポート先のフォルダに同じファイル名のスクリプトファイルがすでに存在する場合は、ファイルを上書きするかどうかを確認
するダイアログが表示されます。ファイルを上書きする場合は、[はい]をクリックします。[いいえ]をクリックするとエクスポートは行
われません。
5.10 スクリプトファイル名の変更
スクリプトファイルの名前を変更する方法について説明します。
1. [運用操作部品管理]ビューで、スクリプトファイルを右クリックします。ポップアップメニューの[名前変更]を選択します。
[名前変更]ダイアログが表示されます。
2. テキストフィールドに、スクリプトファイルの新しいファイル名を入力します。名前には拡張子を含めずに入力してください。テキス
トフィールドには変更前のファイル名が入力されています。別の名前を入力すると[OK]ボタンが有効になります。
3. [OK]をクリックし、名前の変更を確定します。
- 107 -
5.11 スクリプトファイルを開く
スクリプトファイルを開く方法について説明します。
1. 以下のどちらかの操作を行います。
- [運用操作部品管理]ビューで、RubyまたはPerlスクリプトファイルをダブルクリックします。
- [運用操作部品管理]ビューで、RubyまたはPerlスクリプトファイルを右クリックします。ポップアップメニューの[開く]を選択し
ます。
スクリプトファイル毎に、最後に起動したエディタでファイルを開きます。スクリプトファイルを初めて開く場合には、テキストエディタでファ
イルを開きます。
5.12 スクリプトファイルをアプリケーションから開く
スクリプトファイルを任意のエディタを選択して開く方法について説明します。
1. [運用操作部品管理]ビューで、RubyまたはPerlスクリプトファイルを右クリックします。ポップアップメニューの[アプリケーションか
ら開く]を選択します。
2. RubyまたはPerlスクリプトファイルを開くエディタを選択します。選択できるエディタは以下の2つです。
- テキストエディタ
Systemwalker Runbook Automation Studioが提供するテキストエディタが起動します。
- システムエディタ
システム(OS)で拡張子に関連付けられているエディタが起動します。
5.12.1 コンテンツアシスト
運用操作部品プロジェクトにインポートされているRubyスクリプトをテキストエディタで編集する際に、Ctrl + Spaceキーを押下した場合、
または、キーとなる文字が入力された場合に入力可能な候補のリストを表示します。表示される候補のリストは以下になります。リストか
ら候補を選択すると、選択した情報が挿入されます。
・ ソース内で定義されている変数、定数、メソッド、クラス、モジュール
・ Rubyが標準で提供しているライブラリに定義されている変数、定数、メソッド、クラス、モジュール
・ RBAが提供しているライブラリに定義されている変数、メソッド、クラス、モジュール
・ 予約語
・ 制御文の構文テンプレート
入力可能な候補のリストには、挿入される情報と情報の内容を表すイメージが表示されます。リストに表示される各情報を表すイメージ
は以下のとおりです。
イメージ
挿入される情報のタイプ
クラス
モジュール
変数、定数
メソッド
構文テンプレート
何も表示しません
予約語
使用方法
Rubyのスクリプトにおいて、メソッドや変数の入力補完を行う方法を説明します。
- 108 -
1. Rubyのスクリプトファイルをテキストエディタで開きます。
2. テキストエディタ上においてCtrl + Spaceキーを押下したタイミング、または、キーとなる文字が入力されたタイミングで入力補完
候補のリストが表示されます。入力補完候補が表示されるタイミングおよび表示される候補は以下です。
- 単語の区切りでCtrl + Spaceキーを押下したタイミングにおいて、変数、メソッドの入力可能な候補が表示されます。
- 文字を1文字以上入力してCtrl + Spaceキーを押下したタイミングにおいて、入力された文字と前方一致するクラス/パッケー
ジ、モジュール、予約語、および、制御文の構文テンプレートの入力可能な候補が表示されます。
- 変数名の後に“.”を入力したタイミングにおいて、変数、メソッドの入力可能な候補が表示されます。
- 変数名の後に“:”が2個連続する場合、かつ、2個目の“:”を入力したタイミングにおいて、変数、メソッドの入力可能な候補が
表示されます。
3. リストの中から候補を選択します。
5.12.2 [アウトライン]ビューの表示
運用操作部品プロジェクトにインポートされているRubyスクリプトをテキストエディタで開いた場合に、Require宣言、クラス、モジュール、
変数、定数、メソッドのスクリプトにおける親子関係の構造の概要をツリー状に表示します。また、ツリー上のノードをクリックすると、ソー
スコード上の該当するノード名(Require宣言、クラス名、モジュール名、メソッド名、変数名、定数名)が選択されます。アウトラインビュー
に表示されるノードのイメージおよび説明は以下になります。
イメージ
ノードの説明
Require宣言ブロック
Require宣言
- 109 -
イメージ
ノードの説明
クラス
モジュール
変数、定数
メソッド
コンストラクタ
Staticメンバー
使用方法
Rubyのスクリプトにおいて、アウトライン表示機能を利用する方法を説明します。
1. Rubyのスクリプトファイルをテキストエディタで開きます。[アウトライン]ビューはデフォルトで、テキストエディタの右端に表示され
ます。
2. [アウトライン]ビューにおいてノード名(Require宣言、クラス名、モジュール名、変数名、定数名、メソッド名)を選択し、クリックしま
す。
3. クリックされたノードの文字列がソースコード上で選択されます。なお、メソッドの場合、アウトラインには引数も含めて表示されま
すが、ノードをクリックした際に選択されるソースコード上の文字列は、メソッド名の部分のみです。
- 110 -
ポイント
・ [アウトライン]ビューに表示されるツリーのノードは、ビュー内のツールバーで[ソート]のアイコンをクリックすることで、Require宣言、
クラス、モジュールごとに変数名、定数名、およびメソッド名をアルファベット順にソートして表示することが可能です。また、アルファ
ベット順にソートされている状態で、ツールバーの[ソート]のアイコンをクリックすると元の表示順に戻ります。
・ テキストエディタでソースが編集された場合、[アウトライン]ビューは自動的に更新されます。
注意
Perlスクリプトをテキストエディタで開いて、[アウトライン]ビューを表示した場合、[アウトライン]ビューには何も表示されません。
5.12.3 予約語の強調表示
運用操作部品プロジェクトにインポートされたRubyまたはPerlスクリプトファイルをテキストエディタで開いた場合に、以下の項目を強調
表示することができます。具体的な強調表示の種類として、色、太字、斜体の設定をすることができます。
[Ruby]
・ 予約語
・ ストリング(引用符で囲まれた文字列)
・ コメント
・ メソッド
・ 変数
[Perl]
・ 予約語
・ ストリング
・ コメント
使用方法
Rubyのスクリプトファイルをテキストエディタで開きます。スクリプトの強調表示の詳細を変更する場合は以下の操作を実施します。Perl
のスクリプトの場合の手順に関しては、RubyをPerlに読み替えて実施してください。
1. Rubyのスクリプトファイルをテキストエディタで開きます。スクリプトの強調表示の詳細を変更する場合は以下の操作を実施しま
す。
2. [ウィンドウ] > [設定]を選択します。
- 111 -
3. [設定]ダイアログの左側のツリーから[Systemwalker RBA Studio] > [エディタ設定] > [Ruby] > [構文の色の指定]を選択します。
4. 要素欄内から強調表示の設定を行う項目を選択します。
5. 強調表示種別のチェックボックスをオンまたはオフにします。色の設定を変更する場合は、色選択ボタンをクリックし、[色の設
定]ダイアログにおいて、変更後の色を指定します。なお、強調表示種別の[使用可能にする]のチェックボックスをオフにした場
合、要素欄内で選択している項目の設定内容がすべて無効になります。
6. プレビュー欄で強調表示のイメージを確認します。
7. [OK]ボタンをクリックします。
ポイント
[設定]ダイアログにおいて、[適用]ボタン、または、[OK]ボタンをクリックすると、スクリプトファイルがすでに開かれているテキストエディ
タに対して、強調表示設定が即時反映されます。
5.13 スクリプトファイルの構文チェック
Perlスクリプトファイルの構文チェック機能を利用する場合は、以下のソフトウェアをインストールします。
インストール先は任意のディレクトリを指定することができます。
・ strawberry perl 5.12.0
- 112 -
Perlスクリプトファイルの構文チェック機能を利用する場合、Perl実行ファイルのパスを設定する必要があります。
1. [ウィンドウ] > [設定] を選択します。
[設定]画面が表示されます。
2. [設定]ダイアログの左側のツリーから[Systemwalker RBA Studio] > [エディタ設定] > [Perl] を選択します。
3. [参照]ボタンをクリックし、Perlの実行ファイルを選択します。
4. [OK]ボタンをクリックします。
構文チェック方法
RubyまたはPerlのスクリプトファイルの構文チェックを行う方法について説明します。
- 113 -
1. 以下のいずれかの操作を行います。
- [運用操作部品管理]ビューに表示されているRubyまたはPerlスクリプトファイルを選択して右クリックします。ポップアップメ
ニューの[構文チェック]を選択します。
- RubyまたはPerlスクリプトファイルをテキストエディタ上で開いて右クリックします。ポップアップメニューの[構文チェック]を選
択します。
- RubyまたはPerlスクリプトファイルをテキストエディタ上で開き、ファイルの編集操作後に保存操作を実行します。
2. スクリプトの構文に問題がある場合は、構文チェックの結果が[問題]ビューに表示されます。また、スクリプトファイルをテキストエ
ディタで開いた場合には、問題の該当行にマーカーが表示されます。
3. [問題]ビューを選択し、表示された構文問題をダブルクリック、または、コンテキストメニューから[ジャンプ]を選択することで、テ
キストエディタ上の問題行の先頭(最左端)にカーソルが移動します。なお、構文問題の対象となるスクリプトファイルがテキストエ
ディタで開かれていない状態で上記操作を実施した場合は、自動的にテキストエディタが開かれます。
注意
・ RubyまたはPerlのスクリプトを開くために最後に起動したエディタがシステムエディタの場合に、 [問題]ビューに表示された構文問
題をダブルクリック、または、コンテキストメニューから[ジャンプ]を選択しても、テキストエディタは自動起動せず、システムエディタ
がアクティブになります。また、システムエディタ上の構文問題の該当箇所に自動的にはジャンプしません。
・ [問題]ビューでエラーが表示されており、エディタでソースを編集した場合、エディタ上のマーカー表示、[問題]ビューの行番号表
示、および、[問題]ビューでダブルクリックした際のジャンプ先は、ファイルを保存したタイミングで更新されます。
- 114 -
5.14 スクリプトファイルの削除
スクリプトファイルを削除すると、そのスクリプトファイルは Systemwalker Runbook Automation Studioとファイルシステムの両方から削除
されます。
スクリプトファイルを削除する方法について説明します。
1. [運用操作部品管理]ビューで、スクリプトファイルを右クリックします。ポップアップメニューの[削除]を選択します。
[スクリプトファイルの削除]ダイアログボックスが表示されます。
2. [はい]をクリックし、削除を確定します。[いいえ]をクリックすると削除は行われません。
5.15 パレットへの登録
新規作成または編集した運用操作部品ノードをプロセス定義エディタのパレットに登録することができます。
すでにパレットに登録済みの運用操作部品を編集した場合は再登録(上書き)となります。
プロセス定義エディタのパレットへ運用操作部品を登録する方法について説明します。
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューの[プロセス定義エディタパ
レットへの登録]を選択します。
[プロセス定義エディタパレットへの登録]ダイアログが表示されます。
2. [はい]をクリックします。
ポイント
・ 編集した運用操作部品をプロセス定義エディタで使用するには、プロセス定義エディタのパレットに再登録(上書き登録)する必要
があります。パレットへ上書き登録を行うまでは編集前の運用操作部品の定義が利用されます。
5.16 パレットからの削除
プロセス定義エディタのパレットから運用操作部品ノードを削除することができます。
運用操作部品をプロセス定義エディタのパレットから削除する方法について説明します。
- 115 -
1. [運用操作部品管理]ビューで、運用操作部品プロジェクトを右クリックします。ポップアップメニューの[プロセス定義エディタパ
レットからの削除]を選択します。
[プロセス定義エディタパレットからの削除]ダイアログが表示されます。
2. [はい]をクリックし、削除を確定します。
注意
・ プロセス定義で使用されている運用操作部品をプロセス定義エディタのパレットから削除することはできません。
- 116 -
第6章 プロセスのモデル化
プロセス定義は、Startノードと1つ以上のExitノードが設定され、すべてのノードが矢印で連結されると完了します。
プロセス定義の作成後、以下の手順に従ってプロセスをモデル化することをお勧めします。
1. プロセス定義で必要なすべてのノードを追加します。
詳細については、“6.1 運用操作部品ノードの入力定義”、“6.2 運用操作部品ノードの出力定義”および“6.7 ノードの追加と編
集”を参照してください。
2. ノードを連結する矢印を追加します。
詳細については“6.8 矢印の追加と編集”を参照してください。
3. オプション: 同じロールによって実行されるアクティビティを視覚的にグループ化するスイムレーンを追加します。
詳細については、“6.9 スイムレーンの追加と編集”を参照してください。
4. オプション:グループを追加して、同じ種類のアクティビティを視覚的にグループ化します。
詳細については、“6.10 グループの追加と編集”を参照してください。
5. オプション: プロセス定義にコメントを付加したい場合は、アノテーションを追加します。
詳細については、“6.11 アノテーションの追加”を参照してください。
6. オプション: そのプロセス定義から作成されるプロセスインスタンスの所有者を定義します。
詳細については、“6.14 プロセスインスタンス所有者の割当て”を参照してください。
7. すべてのアクティビティをロールに割り当てます。
詳細については、“6.16 アクティビティにロールを割り当てる”を参照してください。
8. プロセス関係者がアクセス、変更、または追加する必要がある情報を定義します。
詳細については、“6.18 ユーザ定義属性の指定”を参照してください。
9. フォームを作成し、アクティビティと関連付けます。
詳細については、“第8章 フォームの使用”を参照してください。
10. Voting Activityノードを追加した場合は、投票ルールを定義します。
詳細については、“6.23 投票ルールの定義”を参照してください。
11. アクティビティを特定の時刻に完了させる場合は、それらのアクティビティの期限またはタイマーを定義します。
詳細については、“6.22 期限とタイマー”を参照してください。
12. プロセスを特定の日付に開始させる場合は、プロセス定義のタイマーを定義します。
詳細については、“6.22.2 タイマーの定義”を参照してください。
13. Delayノードを追加した場合は、Delayノードのタイマーを定義します。
詳細については、“6.22.2 タイマーの定義”を参照してください。
14. ConditionalノードまたはComplex Conditionalノードを追加した場合は、必要な分岐条件を定義します。
詳細については、“6.24 分岐条件の定義”および“6.25 複合分岐条件の定義”を参照してください。
ポイント
プロセス定義を効率的に作成するために、事前に定義された再利用可能なプロセス定義のフラグメント(断片)を使用することができま
す。プロセスフラグメントについては、“第7章 プロセス フラグメントの使用”を参照してください。
- 117 -
6.1 運用操作部品ノードの入力定義
運用操作部品ノードには運用操作部品を呼び出す際の入力および出力情報を定義することができます。入力情報の定義について以
下に説明します。
運用操作部品ノードを含むすべてのノードで共通の操作方法については、“6.7 ノードの追加と編集”を参照してください。
6.1.1 入力情報の定義
運用操作部品を呼び出す際の入力情報について説明します。
[入力情報]タブ
[入力情報]タブには運用操作部品を実行するために必要な入力情報を設定します。[入力情報]タブには運用操作部品のパラメーター
の一覧がツリー形式で表示されます。ツリーには実行に必要な入力情報を設定する[基本]パラメーターと、オプション(任意)の入力情
報を設定する[拡張]パラメーターがあります。名前の左側に(*)が付いている入力情報には必ず値を設定する必要があります。[拡張]
パラメーターの入力情報には設定が必要な場合のみ設定を行ってください。変更したい行を選択すると、画面の右側に入力情報を編
集するための[設定内容]セクションが表示され、入力情報を編集することができます。
注意
[入力情報]-[基本]パラメーター、および[拡張]パラメーターで設定可能なパスワード情報については、運用操作部品ノードでの入力
情報の設定は省略することを推奨します。パスワードの入力を省略した場合、あらかじめ管理サーバで設定された情報を安全に利用
することができます。
運用操作部品ノードでの入力情報として指定した値は外部から参照しやすい情報となってしまうため、パスワードを設定する方法とし
てはセキュリティの面から推奨できません。なお、本製品では、テスト環境など機密情報を保護する必要がない場合に簡単に設定でき
るようパスワードの値を指定できるようにしています。
[入力情報]タブの[基本]/[拡張]の項目
項目名
基本
説明
運用操作部品の実行に必要な入力情報の一覧を表示します。
(※この項目名は表示されません)
拡張
オプション(任意)の入力情報の一覧を表示します。
- 118 -
項目名
名前
説明
入力情報の名前が表示されます。
入力情報への値の設定が必須の場合に、左端に(*)が表示されます。
入力元
運用操作部品に渡す情報の入力元の種別と値が表示されます。
表示例: “[値] server1”
表示例: “[変数] hostname”
[入力情報]タブの[設定内容]セクションの項目
項目名
説明
名前
入力情報の名前を表示します。
種別
入力元の種別を選択します。
- 値 (fixed)
- 変数 (uda)
- 実行結果 (result)
値
値を直接入力するか、リストから選択します。
値フィールドに“@{uda:UDA名}”と記述することにより、運用操作部品の実行時に複数の可
変パラメーターを渡すことができます。
値フィールドでCtrl + Spaceキーを押下すると可変パラメーターの入力補完機能が利用できま
す。
※種別に “fixed” を選択した場合にラベルが “値” になります。
変数
ユーザ定義属性の名前をリストから選択します。
※種別に “変数 (uda)” を選択した場合にラベルが “変数” になります。
ノード名
実行結果を参照するノード名をコンボボックスから選択します。
※種別に “実行結果” を選択した場合にラベルが “ノード名” になります。
実行結果
実行結果をリストから選択します。
※種別に “実行結果” を選択した場合、“実行結果”というラベルは表示されません。リストの
ヘッダ部に表示されます。
[変数の参照]
[変数の参照]ダイアログが表示されます。
[実行結果の参照]
[実行結果の参照]ダイアログが表示されます。
[追加]
リストの末尾に項目を追加します。
※表形式での入力がサポートされている場合のみ
[一括編集]
[一括編集]ダイアログを表示します。
※表形式での入力がサポートされている場合のみ
[削除]
リストの項目を削除します。
※表形式での入力がサポートされている場合のみ
[上へ]
リストの項目をひとつ前に移動します。
※表形式での入力がサポートされている場合のみ
[下へ]
リストの項目をひとつ後ろに移動します。
※表形式での入力がサポートされている場合のみ
- 119 -
図6.1 [変数の参照]ダイアログ
項目名
名前
説明
変数の名前を表示します。
カラムをクリックすると、変数の名前でソートします。
※ソート方向はカラムに表示します。(▲: 昇順、▼: 降順)
タイプ
変数のタイプを表示します。
カラムをクリックすると、タイプでソートします。
※ソート方向はカラムに表示します。(▲: 昇順、▼: 降順)
[OK]
[設定内容]セクションの[値]フィールドに、“@{uda:変数名}”という文字列を挿入し、ダイアロ
グを閉じます。挿入位置は現在のカーソル位置です。
[キャンセル]
変数の挿入をキャンセルし、ダイアログを閉じます。
図6.2 [実行結果の参照]ダイアログ
- 120 -
項目名
説明
ノード名
プロセス定義に配置されている運用操作部品ノードの名前の一覧を表示します。
実行結果
運用操作部品ノードの実行結果の一覧を表示します。
[OK]
[設定内容]セクションの[値]フィールドに、“@{:ノード名:実行結果}”という文字列を挿入し、ダ
イアログを閉じます。挿入位置は現在のカーソル位置です。
[キャンセル]
実行結果の挿入をキャンセルし、ダイアログを閉じます。
[入力情報]タブの[説明]セクションの項目
項目名
-
説明
入力情報についての説明を表示します。(編集不可)
入力情報の設定手順
入力情報の設定方法について、代表的な操作手順を以下の項に説明します。
6.1.2 固定値または、可変パラメーターを指定する
運用操作部品の入力情報に固定値、または、可変パラメーターを指定することができます。
固定値、または可変パラメーターを入力するには、[種別]コンボボックスから“値 (fixed)”を選択します。
[値]フィールドに、“@{uda:UDA名}”と記述することにより、運用操作部品の実行時に複数の可変パラメーター(変数の値)を渡すこと
ができます。また、“@{:ノード名:実行結果}”と記述することにより、運用操作部品の実行時に複数の可変パラメーター(前の運用操作
部品の実行結果)を渡すことができます。
[値]フィールドの記述中に、Ctrl + Spaceキーを押下すると、選択可能な変数(UDA)のリストが表示されます。変数(UDA)のリストは、
データタイプが STRING の場合にのみ表示されます。
[変数の参照]ボタンをクリックすると、[変数の参照]ダイアログが表示されます。[実行結果の参照]ボタンをクリックすると、[実行結果の
参照]ダイアログが表示されます。[変数の参照]、および[実行結果の参照]ボタンは、データタイプが STRING の場合にのみ表示され
ます。
変数(UDA)から運用操作部品の入力情報として値が渡される際のデータ変換規則については、“6.1.4 変数(UDA)の値を指定する”
の“データの変換規則”を参照してください。
- 121 -
入力値に誤りがある場合、入力情報の名前と入力元の間にエラーアイコンが表示されます。また、エラーメッセージがステータスバー
(Studio下部)の左端に表示されます。
6.1.3 表形式で値を指定する
「メールを送信」部品の入力情報(toaddress)や、「REST型の通信」部品の入力情報(param)など、区切り文字を使って入力する値を表
形式で指定することができます。
[種別]コンボボックスから“値 (fixed)”を選択すると、表形式の入力フィールドが表示されます
表形式による入力をサポートしていない入力情報の場合、従来どおりのテキストフィールド(単一行、または複数行)が表示されます。
リストに新しい項目を追加するには、[追加]ボタンをクリックします。リストの末尾に初期値(この例では、“[email protected]”)を持つ新
しい項目が追加されます。リストから項目を削除するには、[削除]ボタンをクリックします。リストの項目をひとつ前に移動するには、[上
へ]ボタンをクリックします。リストの項目をひとつ後ろに移動するには、[下へ]ボタンをクリックします。
データを一括して入力するには、[一括編集]ボタンをクリックします。[一括編集]ダイアログでは、従来どおりセミコロン区切りでメール
アドレスを入力することができます。また、CSV形式のファイルから一括して値を読み込むこともできます。
値を編集するには、リスト項目のセルをシングルクリックします。または、リスト項目を選択し、[F2]キーを押下します。([F2]キーを押下す
ると、選択項目の左端のセルが編集状態になります)
編集内容を確定するには、[Enter]キーを押下します。編集内容をキャンセルするには、[ESC]キーを押下します。
リスト項目が編集状態のときに、[Tab]キーを押下すると隣(右)のセルが編集状態に変わります。最後(右端)のセルが編集状態のときに
[Tab]キーを押下すると、先頭(左端)のセルが編集状態に変わります。
[↑]キーを押下すると、ひとつ前のセルが編集状態に変わります。[↓]キーを押下すると、ひとつ後ろのセルが編集状態に変わります。
空値のデータを含んでいる項目が存在する場合、項目の先頭に警告アイコンが表示されます。また、エラーメッセージがステータス
バー(Studio下部)の左端に表示されます。
- 122 -
図6.3 [一括編集]ダイアログ
[ファイル読込み]ボタンをクリックすると、[ファイル選択]ダイアログが表示されます。
[ファイル選択]ダイアログで選択した、CSV形式のファイルから一括して値を読み込むことができます。
[ファイル読込み]を行うと、[値]フィールドに設定されている内容は読み込んだ値で上書きされます。
ポイント
読み込むことが可能なCSV形式ファイルの仕様を以下に示します。
・ 項目ごとに改行で区切ります。
・ 1つの項目に2つ以上のデータが入力できるパラメーターの場合、カンマ(,)でデータを区切ります。
・ データにカンマ(,)およびダブルクォーテーション(")を含める場合は、カラムに指定するデータの全体をダブルクォーテーション(")で
囲みます。また、データ内にダブルクォーテーション(")を含める場合は、ダブルクォーテーション(")を連続して2回記述します。ダ
ブルクォーテーション(")を連続して2回記述することで、1つのダブルクォーテーション(")を表現します。
[変数の参照]ボタンをクリックすると、[変数の参照]ダイアログが表示されます。[実行結果の参照]ボタンをクリックすると、[実行結果の
参照]ダイアログが表示されます。
[変数の参照]ダイアログ、および[実行結果の参照]ダイアログの使用方法は、“6.1.1 入力情報の定義”を参照してください。
表形式によるデータ入力は、以下の運用操作部品のパラメーターで使用できます。
運用操作部品名
パラメーター名
REST型の通信
param
メールを送信
toaddress、ccaddress、filename
SNMPで値を取得
oid
SNMPで値を設定
oid、value、type
SNMPトラップを送信
oid、value、type
Webサービスを実行
parametername、parametervalue、returnpropname
サービスの起動確認
service
サーバを起動
hostname、ipmiipaddress、ipmiusername、ipmipassword
サーバを停止
hostname、ipmiipaddress、ipmiusername、ipmipassword
- 123 -
運用操作部品名
パラメーター名
OSを停止
hostname、ostype、username、password、execusername
OSを再起動
hostname、ostype、username、password、execusername
仮想サーバを起動
servername
仮想サーバを停止
servername
仮想サーバを再起動
servername
仮想サーバを構築
network、serveripaddress
サーバの正常稼働確認
service、port
サーバの監視抑止を設定
deterrenceipaddress、deterrencehostname
パフォーマンスカウンタを取得
perfcounterpath
ノードの稼働状態確認
hostname
ポートの接続確認
port
OSのネットワーク設定
dns、wins
OSの修正パッチ適用
mod_patchfilename、wsus_patchno
[一括編集]ダイアログで読み込み可能なファイルの書式について
【例1】各項目に入力するデータが1つの場合
運用操作部品名:
サービスの起動確認
パラメーター名:
service
読み込みファイル:
service1[改行]
service2[改行]
service3[改行]
service4[改行]
【例2】各項目に入力するデータが2つの場合
運用操作部品名:
REST型の通信
パラメーター名:
param
読み込みファイル:
param1,value1[改行]
param2,value2[改行]
param3,value3[改行]
param4,value4[改行]
6.1.4 変数(UDA)の値を指定する
運用操作部品の入力情報に変数(UDA)の値を指定することができます。
- 124 -
1. [種別]コンボボックスから“変数(uda)”を選択します。
→[変数]リストには選択可能な変数(UDA)の一覧が表示されます。
変数(UDA)の名前でリストをソートするには、[名前]カラムをクリックします。タイプでソートするには、[タイプ]カラムをクリックしま
す。デフォルトは昇順です。
入力情報のタイプ(STRING/INTEGER/PASSWORD)により、[変数]リストに表示される変数(UDA)の種類が異なります。
入力情報のタイプ
[変数]リストに表示される変数(UDA)の種類
STRING
STRING, INTEGER, BOOLEAN, DATE, XML
INTEGER
STRING, INTEGER
PASSWORD
STRING
ポイント
データの変換規則
変数の値は以下のように変換され、入力情報へ渡されます。
入力情報
のタイプ
STRING
INTEGER
変数
のタイプ
変数の値(例)
入力情報に渡される内容
(例)
備考
STRING
"aaaa"
"aaaa"
変換なし
INTEGE
R
100
"100"
数値の文字列表現
BOOLEA
N
true
"true"
ブール値の文字列表現
DATE
2011/08/31 10:49:12
"1314755352734"
日時(ミリ秒)の文字列表現
XML
<root>...</root>
"<root>...</root>"
XMLデータの文字列表現
STRING
"100"
100
文字列を数値に変換します。
変数の値に数字以外の文字を含
む場合はエラーとなります。
- 125 -
入力情報
のタイプ
PASSWOR
D
変数
のタイプ
変数の値(例)
入力情報に渡される内容
(例)
備考
INTEGE
R
100
100
変換なし
STRING
"password"
"password"
変換なし
2. [変数]リストから変数を選択します。
6.1.5 前の運用操作部品の実行結果を指定する
運用操作部品の入力情報に前の運用操作部品の実行結果を指定することができます。
1. [種別]コンボボックスから“実行結果(result)”を選択します。
2. [ノード名]コンボボックスから実行結果を入力としたい運用操作部品ノードを選択します。
3. [実行結果]リストから入力情報として渡す実行結果を選択します。
ポイント
運用操作部品を特定しやすくするために運用操作部品の名前はプロセス定義内で一意にすることを推奨します。
運用操作部品ノードの名前が同じ場合、プロセス定義の保存時、または、[正当性を確認する]ボタンをクリックすると、[問題]ビューに
名前が同じである旨の警告メッセージが表示されます。
6.1.6 構成情報を取得するためのXPath式を生成する
入力した条件をもとにXPathを生成し、入力情報の値に使用できます。
- 126 -
1. [Webコンソールを開く]ボタンをクリックします。
→[サーバ接続情報の選択]ダイアログが表示されます。
2. [サーバ接続情報の選択]ダイアログから接続先のサーバを選択します。
→外部ブラウザが起動し、[ログイン]画面が表示されます。
すでにWebコンソールが表示されている場合、ログイン画面は表示されません。
3. IDとパスワードを入力し、[OK]ボタンをクリックします。
→[構成管理]画面が表示されます。
4. [構成管理メニューを開く]をクリックします。
→[構成管理メニュー]画面が開きます。
- 127 -
5. [CI参照]メニューをクリックします。
→[CI参照]画面が開きます。
6. [検索]タブを選択します。
7. 画面上で条件を選択(入力)すると、画面左下にXPath式が表示されます。XPath式をコピーし、Studioの[値]フィールドにペース
トします。
6.2 運用操作部品ノードの出力定義
運用操作部品ノードには運用操作部品を呼び出す際の入力および出力情報を定義することができます。出力情報の定義について以
下に説明します。
運用操作部品ノードを含むすべてのノードで共通の操作方法については、“6.7 ノードの追加と編集”を参照してください。
6.2.1 出力情報の定義
運用操作部品を呼び出す際の出力情報について説明します。
[出力情報]タブ
運用操作部品ノードをプロセス定義エディタ上に配置した直後は、[出力情報]セクションに出力情報は表示されません。必要に応じて
[追加]ボタンをクリックし、出力情報を追加します。出力情報の一覧から変更したい行を選択すると、画面の右側に出力情報を編集す
るための[設定内容]セクションが表示され、出力情報を編集することができます。
注意
・ V14.1.0A以前のStudioで配置された運用操作部品ノードの[出力情報]セクションに表示されているデフォルトの出力情報
(SWRBA_RCODE/SWRBA_STDOUT/SWRBA_STDERR)は編集(削除)することはできません。
・ V14.1.0A以前のStudioで配置した運用操作部品ノードの[出力情報]には、[フィルター定義]セクションは表示されません。V15.0.0
以降のStudioで配置した運用操作部品ノードの[出力情報]には、[フィルター定義(V14.1.x互換)]と[フィルター定義]の2つのセク
ションが表示されます。
・ V15.0.0以降のStudioで作成した運用操作部品ノードの[出力情報]には、[フィルター定義]セクションは表示されません。
[出力情報]タブの[出力情報]セクションの項目
- 128 -
項目名
実行結果
説明
出力先に格納される情報を表示します。
returnCode: 終了コード
message : 結果を示すメッセージ
上記以外に運用操作部品ノードの種類ごとに異なる実行結果があります。
詳細については、“Systemwalker Runbook Automation リファレンスガイド”の“運用操作部品
リファレンス”を参照してください。
フィルター
定義されているフィルターの個数を表示します。
例: “n個のフィルターとJavaScriptフィルター”
フィルターが定義されていない場合は、何も表示しません。
新しい出力情報を追加します。リストに以下の新しい出力情報が追加されます。
[追加]
出力先 : [変数]-- Unselected 実行結果: returnCode (V14.1.0A以前のStudioで配置されたノード)
実行結果: message (V15.0.0以降のStudioで配置されたノード)
出力情報を削除します。
[削除]
※V14.1.0A以前のStudioで配置されたノードのあらかじめ用意されている出力情報が選択さ
れている場合、[削除]ボタンは選択できません。
[出力情報]タブの[設定内容]セクションの項目
項目名
実行結果
説明
出力情報を選択します。
※リストに表示される項目は運用操作部品ノードの種類によって異なります。詳細について
は、“Systemwalker Runbook Automation リファレンスガイド”の“運用操作部品リファレンス”を
参照してください。
変数
出力情報を格納する変数(ユーザ定義属性)の名前を選択します。
[名前]または[タイプ]カラムをクリックすると、昇順または降順でソートすることができます。
フィルター定義 (V14.1.x互換)
フィルター名
フィルターの名前を表示します。(編集不可)
[追加]
フィルターを定義します。
[フィルター定義]ダイアログが表示されます。
Javaスクリプトを使用したフィルターの設定方法については、“6.5 運用操作部品のフィルター
定義(Javaスクリプト使用)”を参照してください。
フィルターが追加されている場合、このボタンはグレーアウトします。
[編集]
フィルターを編集します。
[フィルター定義]ダイアログが表示されます。
フィルターが追加されていない場合、このボタンはグレーアウトします。
[削除]
フィルターを削除します。
フィルターが追加されていない場合、このボタンはグレーアウトされます。
フィルター定義
-
設定されているフィルターの一覧を表示します。(編集不可)
[追加]
フィルターを追加します。
[フィルター設定]ダイアログが表示されます。
- 129 -
項目名
説明
この新しい形式のフィルターではスクリプトレスによる多段のフィルタリング機能を利用すること
ができます。
フィルターの設定方法については、“Systemwalker Runbook Automation 運用ガイド”の“出力
情報のフィルタリング”を参照してください。
スクリプトレスによるフィルタリングについて、“6.3 運用操作部品のフィルター定義(スクリプトレ
ス)”で説明します。
フィルターが追加されている場合、このボタンはグレーアウトします。
フィルターを編集します。
[編集]
[フィルター設定]ダイアログが表示されます。
フィルターが追加されていない場合、このボタンはグレーアウトします。
[すべて削除]
フィルターを削除します。
適用フィルターがすべて削除されます。適用フィルターを個々に削除する場合は、[フィルター
設定]画面から操作します。
フィルターが追加されていない場合、このボタンはグレーアウトされます。
変数(ユーザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について
[出力情報]セクションに定義した出力情報による変数(ユーザ定義属性)やフィルターおよびフィルター(V14.1.x互換)は、以下の順で
処理されます。
[処理順序]
1. 変数(ユーザ定義属性)の値が最新化されます。
出力情報の定義に従って、個々の実行結果の値が対応する変数(ユーザ定義属性)の最新値になります。
2. フィルターが実行されます。
すべての実行結果において、個々の実行結果に対応するフィルター定義がある場合は、その定義に含まれた複数のフィルター
が実行されます。
注意
フィルターが参照する変数(ユーザ定義属性)の値について
フィルターが参照する変数(ユーザ定義属性)の値は、運用操作部品の実行前の値ではなく、最新値となります。複数のフィル
ターの実行で得られた出力結果は、変数(ユーザ定義属性)の最新値として上書きされます。
3. 変数(ユーザ定義属性)の値が格納されます。
フィルター実行後の変数(ユーザ定義属性)の最新値が、確定した値として変数(ユーザ定義属性)に格納されます。
4. フィルター(V14.1.x互換)が実行されます。
すべての実行結果において、個々の実行結果に対応するJavaScriptを使用したフィルター(V14.1.x互換)が定義されている場合
は、そのフィルター(V14.1.x互換)が実行されます。
以下に、運用操作部品[データを実行結果に格納]の実行を例にして説明します。
[前提]
・ 変数(ユーザ定義属性):variable1には、運用操作部品の実行前に"ABC"が格納されている。
・ 出力情報で実行結果:result1と変数(ユーザ定義属性):variable1を対応付けしている。
・ 実行結果:result1にフィルターが定義され、かつ、フィルター内で変数(ユーザ定義属性):variable1を参照している。
[動作]
- 130 -
運用操作部品[データを実行結果に格納]の実行により実行結果:result1に"123"が出力されると以下のように動作します。
1. 上記[処理順序]1により、変数(ユーザ定義属性):variable1の値が"ABC"から最新値"123"に変化します。
2. 上記[処理順序]2により、フィルターが参照する変数(ユーザ定義属性):variable1は最新値の"123"になります。最新値に変化す
る前の"ABC"ではないことに注意してください。
3. 複数のフィルターの実行で得られた出力結果(例えば"123,ABC")が変数(ユーザ定義属性):variable1の最新値として上書きさ
れます。
4. 上記[処理順序]3により、最新値("123,ABC")が変数(ユーザ定義属性):variable1に格納されます。
6.3 運用操作部品のフィルター定義(スクリプトレス)
フィルター定義(スクリプトレス)を利用することで、運用操作部品の実行結果(出力情報)を加工するためのJavaスクリプトを記述する必
要がなくなります。
以下に使用方法を説明します。
6.3.1 フィルターの設定
運用操作部品の出力情報にフィルターを設定する方法を説明します。
1. [プロパティ] > [入出力情報] > [出力情報]タブを選択し、[出力情報]セクションからフィルターを設定する出力情報を選択しま
す。
- 131 -
2. [設定内容] > [フィルター定義]の[追加]ボタンをクリックします。
→[フィルター設定]ダイアログが開きます。
3. [フィルター一覧]リストから適用するフィルターを選択し、[追加]ボタンをクリックします。
→[適用するフィルター]リストにフィルターが追加されます。
1つの出力情報に対して最大10個のフィルターを設定することができます。
- 132 -
4. [適用するフィルター]リストで追加したフィルターを選択します。
→[フィルター定義]領域にフィルターの設定内容が表示されます。
5. [フィルター定義]領域でフィルターの項目を設定します。
6. [OK]ボタンをクリックします。
6.3.2 フィルターのテスト
設定したフィルターをStudio上でテストすることができます。
- 133 -
1. [フィルター定義]タブで適用するフィルターを追加し、項目を設定します。
2. [テスト]タブを選択します。
3. フィルターを定義した運用操作部品の実行結果(例えば“変数(ユーザ定義属性)、フィルターおよびフィルター(V14.1.x互換)に
ついて”で説明している実行結果:result1)に相当する値をテストデータとして[入力]フィールドに入力し、[テスト実行]ボタンをク
リックします。
[テスト実行]ボタンをクリックすると、“変数(ユーザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”で説明してい
る処理順序で、変数(ユーザ定義属性)の値の変化とフィルターのテスト実行が行われ、テスト実行結果が[出力]フィールドに表
示されます。
[結果をクリア]ボタンをクリックすると、[出力]フィールドの内容がクリアされます。[読み込み]ボタンをクリックし、ファイルからテスト
データを読み込むことができます。
フィルターの実行がエラーとなった場合、[出力]フィールドにはエラーの内容が表示されます。
フィルターのテスト実行時に埋め込む変数(ユーザ定義属性)の値や運用操作部品の実行結果の値は、[テスト変数の設定]ダイ
アログで設定することができます。
- 134 -
[テスト変数の設定]ダイアログを表示するには、[テスト変数の設定]ボタンをクリックします。
[テスト変数の設定]ダイアログで設定した変数の値は、[フィルター設定]ダイアログで[OK]ボタンをクリックすると確定します。この
確定した値は、Studioが終了するまでの間保持されます。
※変数の値はプロセス定義単位に保持します。
変数の設定
[テスト変数の設定]ダイアログには、以下の一覧が表示されます。
- プロセス定義に定義されている変数(ユーザ定義属性)の一覧
- 135 -
- [出力情報]タブの[出力情報]セクションで[変数]と対応付けられている実行結果およびフィルター定義で参照している実行
結果の一覧
変数リストに表示される変数のタイプは、STRING/INTEGER/BOOLEAN/DATE/XMLです。
変数リストには、名前の先頭が2つのアンダースコアで始まる変数(システム定義属性)は表示されません。
[編集]ボタンをクリックすると、[値の編集]ダイアログが表示され、変数や実行結果に値を設定することができます。ただし、フィル
ターの実行結果を出力する変数と[出力情報]タブの[出力情報]セクションで対応付けられている実行結果については、[テスト]
タブの[入力]フィールドに入力された値が表示され、編集することはできません。
- 136 -
[値の編集]ダイアログ (タイプ: STRING)
[値の編集]ダイアログ (タイプ: BOOLEAN)
- 137 -
[値の編集]ダイアログ (タイプ: INTEGER)
[値]フィールドには、数字のみ入力できます。
[値の編集]ダイアログ (タイプ: DATE)
[値]フィールドに入力できる日付と時刻の書式はOSの設定に従います。日付と時刻の書式に誤りがある場合、[OK]ボタンをク
リックするとエラーメッセージが表示されます。
[値の編集]ダイアログを表示したとき、[値]フィールドにはロケールに従い次の書式で日付と時刻が表示されます。
日本語
- yyyy/MM/dd HH:mm:ss
英語
- MM/dd/yyyy HH:mm:ss
ロケールに従い、日付と時刻は次のいずれかの書式で入力することができます。※日付と時刻の間には半角空白を1つ入れて
ください。
- 138 -
日本語
- yyyy/MM/dd HH:mm:ss
- yyyy-MM-dd HH:mm:ss
英語
- MM/dd/yyyy HH:mm:ss
- yyyy-MM-dd HH:mm:ss
[値の編集]ダイアログ (タイプ: XML)
[値]フィールドに入力されたXMLデータの書式に誤りがある場合、[OK]ボタンをクリックするとエラーメッセージが表示されます。
[値の編集]ダイアログ (実行結果)
4. 各フィルターの実行結果を参照するには、[テスト結果の詳細]タブを選択します。
[適用フィルター]リストにアイコン付き(
:正常、
:異常:)で表示されます。[適用フィルター]リストの項目を選択すると、[テス
ト結果]領域にはフィルターに対する入力と実行結果が表示されます。
- 139 -
アイコンの付いているフィルターを選択すると、[テスト
結果]領域の[出力]フィールドにはエラーの内容が表示されます。(XML関連フィルターのエラー内容は例外オブジェクトが持つ
エラーメッセージです。)
- 140 -
6.4 フィルターの詳細
Systemwalker Runbook Automation Studioでは、以下のフィルターを提供します。
・ 大文字と小文字の変換
・ 行カウント
・ 文字列の付加
・ 文字列の抽出
・ フォーマット
・ 重複行の削除
・ 置換
・ 行の抽出
- 141 -
・ ソート
・ 行の削除
・ スペースの削除
・ CSV形式データの抽出
・ XML属性の抽出
・ 日付フォーマット変換
・ 演算
ポイント
フィルターへの入力データについて
・ 入力データが空の場合、次のフィルターの出力結果は空文字列になります。
- [大文字と小文字の変換]フィルター
- [文字列の抽出]フィルター
- [フォーマット]フィルター
- [重複行の削除]フィルター
- [置換]フィルター
- [行の抽出]フィルター
- [ソート]フィルター
- [行の削除]フィルター
- [スペースの削除]フィルター
- [XML属性の抽出]フィルター
・ 入力データが空の場合、次のフィルターの実行はエラーになります。
- [日付フォーマット変換]フィルター
- [演算]フィルター
空白文字の表示について
各テキストフィールドでは一般的なテキストエディタと同様に空白文字(半角空白/マルチバイト空白/タブ/復帰改行)を表示することがで
きます。※数値のみ入力するフィールドは除く。
表示例:
空白文字の表示/非表示を変更するには、[ウィンドウ] > [設定] > [一般] > [エディタ] > [テキストエディタ]から行います。
注意
・ 行単位に処理を行うフィルターを実行すると、出力結果の改行コードはラインフィード(LF)に変更されます。
・ フィルターの実行結果が1行で出力される場合、行末に改行コードは付きません。フィルターの実行結果が複数行で出力される場
合、各行末には改行コード(ラインフィード(LF))が付きます。
- 142 -
6.4.1 [大文字と小文字の変換]フィルター
運用操作部品の結果やフィルター出力に含まれるすべての文字を大文字または小文字に変換します。
[小文字に変換する]
すべての文字を小文字に変換する場合に選択します。(デフォルト)
[大文字に変換する]
すべての文字を大文字に変換する場合に選択します。
6.4.2 [行カウント]フィルター
運用操作部品の結果やフィルター出力に含まれる行数をカウントします。
文末が改行文字のみで終了している行も1行として扱います。このフィルターには設定項目はありません。
例
【例1】
入力:
aaa[改行]
bbb[改行]
出力:
2
【例2】
入力:
aaa[改行]
bbb
出力:
2
【例3】
入力:
[改行]
出力:
1
【例4】
入力:
- 143 -
出力:
0
6.4.3 [文字列の付加]フィルター
運用操作部品の結果やフィルター出力に任意のテキストまたは、変数の内容を付加します。
[テキスト]
運用操作部品の実行結果やフィルター出力に付加するテキストを入力します。[テキスト]フィールドはフィルターの実行時に変数
(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGER/BOOLEAN/DATE/XMLです。変数(UDA)のタイプが
INTEGER/BOOLEAN/DATEの場合、それぞれのタイプに沿った文字列が付加されます。たとえば、BOOLEAN型の変数
(UDA)が指定された場合、“true” または “false” という文字列が付加されます。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
[テキスト]フィールドが空の場合、フィルターの実行はエラーとなります。
入力可能な最大文字数は512文字です。
[適用方法]
フィルター入力の全体に対してこのフィルターを適用する場合は、[全体に適用する]を選択します。行単位にこのフィルターを適用
する場合は、[行単位に適用する]を選択します。
デフォルトは、[全体に適用する]です。
[配置]
先頭にテキスト、または、変数(UDA)や実行結果の値を付加する場合は、[先頭に追加する]を選択します。末尾に付加する場合
は、[末尾に追加する]を選択します。
デフォルトは、[末尾に追加する]です。
- 144 -
注意
フィルターのテストにおける注意点
・ [テキスト]フィールドに、“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に“@{uda:変数名}”という文字列が設定されているものとしてテストが実行されます。
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に“@{uda:
変数名}”という文字列が設定されているものとしてテストが実行されます。
・ [テキスト]フィールドに、“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に“@{:ノード名:実行結
果}”という文字列が設定されているものとしてテストが実行されます。
・ 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。
*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。
[フィルター設定]ダイアログの[テキスト]フィールドに変数(UDA)を指定する場合の注意点
・ 運用操作部品の出力先として定義されている変数(UDA)を、[テキスト]フィールドに設定しないでください。運用操作部品の出力
先として定義されている変数(UDA)を参照する場合、変数(UDA)の値を別の変数(UDA)に複写しておき、[テキスト]フィールドに
は複写した変数(UDA)を使用するようにしてください。
図6.4 [変数の参照]ダイアログ
[変数]リストには選択可能な変数(UDA)の一覧が表示されます。
- 145 -
変数(UDA)を選択し、[OK]ボタンをクリックすると、“@{uda:変数名}”という文字列がカーソル位置に挿入されます。
変数(UDA)の名前でリストをソートするには、[名前]カラムをクリックします。タイプでソートするには、[タイプ]カラムをクリックします。[名
前]または[タイプ]カラムはクリックする度に昇順と降順が切り替わります。デフォルトは昇順です。
[変数]リストには名前の先頭が2つのアンダースコアで始まる変数(システム定義変数)は表示されません。
図6.5 [実行結果の参照]ダイアログ
[ノード名]コンボボックスには選択可能なノード(運用操作部品ノード)の一覧が表示されます。
ノード名を選択すると、[実行結果]リストにはノードの実行結果の一覧が表示されます。
実行結果を選択し、[OK]ボタンをクリックすると、“@{:ノード名:実行結果}”という文字列がカーソル位置に挿入されます。
【例1】
入力:
192.168.1.10[改行]
192.168.1.20[改行]
テキスト:
ping[半角空白]
適用方法:
全体に適用する
配置:
先頭に追加する
出力:
ping 192.168.1.10[改行]
192.168.1.20[改行]
【例2】
入力:
192.168.1.10[改行]
192.168.1.20[改行]
テキスト:
ping[半角空白]
適用方法:
行単位に適用する
配置:
先頭に追加する
出力:
ping 192.168.1.10[改行]
ping 192.168.1.20[改行]
6.4.4 [文字列の抽出]フィルター
運用操作部品の結果やフィルター出力から正規表現のパターンにマッチする文字列を抽出します。
- 146 -
[正規表現]
文字列を抽出するための正規表現を入力します。
[正規表現]フィールドが空の場合、フィルターの実行はエラーとなります。
入力可能な最大文字数は512文字です。
ポイント
正規表現の記述方法について
正規表現の構文
マッチする対象
[abc]
a、b、または c のいずれか1文字
[a-z]
英小文字 a ~ z のいずれか1文字
[A-Z]
英大文字 A ~ Z のいずれか1文字
[0-9]
数字 0 ~ 9 のいずれか1文字
\d
数字 0 ~ 9 のいずれか1文字
.
任意の1文字
.*
任意の文字列
ドット(.)は正規表現の構文で任意の1文字として評価されます。ドット(.)を正規表現の構文としてではなく、通常の文字として扱いた
い場合は、“\.” と記述します。
上記以外の正規表現の構文については、“Java 2 プラットフォーム API 仕様”を参照してください。
[大文字と小文字を区別する]
正規表現の大文字と小文字を区別する場合に選択します。
デフォルトは大文字と小文字を区別しません。
ポイント
[正規表現]に “[a-zA-Z]” を入力し、[大文字と小文字を区別する]をオンにした場合と、[正規表現]に “[a-z]” を入力し、[大文字と
小文字を区別する]をオフにした場合は、等価です。(参考:【例3】、【例4】)
- 147 -
[適用方法]
正規表現をフィルターの入力全体に対して適用する場合は、[全体に適用する]を選択します。行単位に適用する場合は、[行単位
に適用する]を選択します。
[行単位に適用する]を選択し、正規表現にマッチする文字列が複数存在する場合は、抽出した文字列を改行文字(LF)で連結して
出力します。
デフォルトは、[全体に適用する]です。
【例1】
入力:
Ethernet adapter1:[改行]
IP Address. . . .
Subnet Mask . . .
Default Gateway .
[改行]
Ethernet adapter2:[改行]
IP Address. . . .
Subnet Mask . . .
Default Gateway .
正規表現:
192\.168\.\d+\.\d+
大文字と小文字を区
別する:
オフ
適用方法:
全体に適用する
出力:
192.168.238.1
. . . . . . . . : 192.168.238.1[改行]
. . . . . . . . : 255.255.255.0[改行]
. . . . . . . . :[改行]
. . . . . . . . : 192.168.187.102[改行]
. . . . . . . . : 255.255.255.0[改行]
. . . . . . . . : 192.168.187.1[改行]
【例2】
入力:
Ethernet adapter1:[改行]
IP Address. . . .
Subnet Mask . . .
Default Gateway .
[改行]
Ethernet adapter2:[改行]
IP Address. . . .
Subnet Mask . . .
Default Gateway .
正規表現:
192\.168\.\d+\.\d+
大文字と小文字を区
別する:
オフ
適用方法:
行単位に適用する
出力:
192.168.238.1[改行]
192.168.187.102[改行]
192.168.187.1[改行]
. . . . . . . . : 192.168.238.1[改行]
. . . . . . . . : 255.255.255.0[改行]
. . . . . . . . :[改行]
. . . . . . . . : 192.168.187.102[改行]
. . . . . . . . : 255.255.255.0[改行]
. . . . . . . . : 192.168.187.1[改行]
【例3】
入力:
1[改行]
a[改行]
A[改行]
正規表現:
[a-zA-Z]
大文字と小文字を区
別する:
オン
適用方法:
行単位に適用する
出力:
a[改行]
- 148 -
A[改行]
【例4】
入力:
1[改行]
a[改行]
A[改行]
正規表現:
[a-z]
大文字と小文字を区
別する:
オフ
適用方法:
行単位に適用する
出力:
a[改行]
A[改行]
6.4.5 [フォーマット]フィルター
運用操作部品の結果やフィルター出力を区切り文字で分割し、指定された書式文字列へ埋め込みます。
[区切り文字]
入力データ(運用操作部品の結果やフィルター出力)を値(列)に分割する区切り文字を選択します。
- カンマ (デフォルト)
- タブ
- 半角空白
[囲み文字]
値の囲み文字を以下から選択します。
- ダブルクォーテーション (デフォルト)
- シングルクォーテーション
- 149 -
参考
- 囲み文字は値の中に区切り文字を含む場合、値の範囲を規定するものです。たとえば、次のようなデータがあるとします。
"aaaa,bbbb","cccc","dddd"
囲み文字にダブルクォーテーションを指定した場合、次のように3つの値(列)に分割されます。
1: aaaa,bbbb
2: cccc
3: dddd
囲み文字にシングルクォーテーションを指定した場合、次のように4つの値(列)に分割されます。
1: "aaaa
2: bbbb"
3: "cccc"
4: "dddd"
- 区切り文字に半角空白を指定した場合、半角空白が連続しているデータは次のように分割されます。
分割前: "aaaa"[空白][空白]"bbbb"[空白][空白][空白]"cccc"
分割後
1: "aaaa"
2: 空文字列
3: "bbbb"
4: 空文字列
5: 空文字列
6: "cccc"
[書式文字列]
分割したテキストを埋め込む書式文字列を入力します。
テキストを埋め込む位置を書式指示子({n*1})で指定します。
書式指示子({n})よりも埋め込むテキストの数が多い場合、余分なテキストは無視されます。埋め込むテキストの数よりも書式指示
子({n})が多い場合、余分な書式指示子の位置は空文字列で置換されます。同じ番号の書式指示子が複数存在する場合、同じ
番号の書式指示子の位置には同じテキストが埋め込まれます。
[書式文字列]フィールドが空の場合、フィルターの実行はエラーとなります。
入力可能な最大文字数は512文字です。
“[$number]”と記述すると、入力されたデータの行数に応じて、通し番号(1~)を埋め込むことができます。
書式指示子の番号は、0以上の値です。
【例1】
入力:
serverA[改行]
serverB[改行]
列の区切り文字:
カンマ
テキストの区切り文字:
ダブルクォーテーション
書式文字列:
<Parameter ID="[$number]">
<TargetUDA Name="hostname" Value="{0}"/>
</Parameter>
- 150 -
出力:
<Parameter ID="1">
<TargetUDA Name="hostname" Value="serverA"/>
</Parameter>
<Parameter ID="2">
<TargetUDA Name="hostname" Value="serverB"/>
</Parameter>
【例2】
入力:
"1" "server A"[改行]
"2" "server B"[改行]
列の区切り文字:
半角空白
テキストの区切り文字:
ダブルクォーテーション
書式文字列:
<Parameter ID="{0}">
<TargetUDA Name="hostname" Value="{1}"/>
</Parameter>
出力:
<Parameter ID="1">
<TargetUDA Name="hostname" Value="server A"/>
</Parameter>
<Parameter ID="2">
<TargetUDA Name="hostname" Value="server B"/>
</Parameter>
【例3】
入力:
1,serverA[改行]
2,serverB[改行]
列の区切り文字:
カンマ
テキストの区切り文字:
ダブルクォーテーション
書式文字列:
<Parameter ID="{0}" target="{1}">
<TargetUDA Name="hostname" Value="{1}"/>
</Parameter>
出力:
<Parameter ID="1" target="serverA">
<TargetUDA Name="hostname" Value="serverA"/>
</Parameter>
<Parameter ID="2" target="serverB">
<TargetUDA Name="hostname" Value="serverB"/>
</Parameter>
6.4.6 [重複行の削除]フィルター
運用操作部品の結果やフィルター出力から同一の行を検出し、そのうち1つを残してすべて削除します。
また、連続している重複行のみ1つを残して削除することもできます。
- 151 -
[連続する重複行のみ削除]
連続している重複行にのみフィルターを適用する場合に選択します。
デフォルトはオフ。
[大文字と小文字を区別する]
同一行を検出する際に大文字と小文字を区別する場合に選択します。
デフォルトはオフ。
【例1】
入力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
BBBB[改行]
BBBB[改行]
DDDD[改行]
連続する重複行のみ削除する:
オフ
大文字と小文字を区別する:
オフ
出力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
DDDD[改行]
【例2】
入力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
BBBB[改行]
BBBB[改行]
DDDD[改行]
連続する重複行のみ削除する:
オン
大文字と小文字を区別する:
オフ
出力:
AAAA[改行]
BBBB[改行]
- 152 -
CCCC[改行]
BBBB[改行]
DDDD[改行]
6.4.7 [置換]フィルター
運用操作部品の結果やフィルター出力から指定の文字列を検索して別の文字列に置き換えます。
[検索]
検索および置換対象の文字列を入力します。
入力可能な最大文字数は512文字です。
[検索]フィールドが空の場合、フィルターの実行はエラーとなります。
[正規表現を使用する]
[検索]フィールドで正規表現を使用する場合に選択します。
デフォルトはオフ。
[大文字と小文字を区別する]
検索時に大文字と小文字を区別する場合に選択します。
デフォルトはオフ。
[置換]
[検索]フィールドに入力した文字列(または、正規表現にマッチする文字列)と置換する文字列を入力します。
入力可能な最大文字数は512文字です。
[置換]フィールドが空の場合、[検索]フィールドに入力した文字列(または、正規表現にマッチする文字列)が空文字列で置換され
ます。
[対象]
置換する対象を選択します。
最初に一致した文字列のみを置換する場合は、“最初に一致した文字列”を選択します。最後に一致した文字列のみを置換する
場合は、“最後に一致した文字列”を選択します。一致したすべての文字列を置換する場合は、“一致したすべての文字列”を選
択します。
- 一致したすべての文字列 (デフォルト)
- 153 -
- 最初に一致した文字列
- 最後に一致した文字列
【例1】
入力:
Ethernet adapter1:
IP Address. . . . . . . . . . . . : 192.168.238.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter2:
IP Address. . . . . . . . . . . . : 192.168.187.102
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.187.1
検索:
192\.168\.\d+\.\d+
正規表現を使用する:
オン
大文字と小文字を区別する:
オフ
置換:
xxx.xxx.xxx.xxx
対象:
一致したすべての文字列
出力:
Ethernet adapter1:
IP Address. . . . . . . . . . . . : xxx.xxx.xxx.xxx
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter2:
IP Address. . . . . . . . . . . . : xxx.xxx.xxx.xxx
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : xxx.xxx.xxx.xxx
6.4.8 [行の抽出]フィルター
運用操作部品の結果やフィルター出力から指定条件にマッチする行を抽出します。
- 154 -
[行の抽出方法]
抽出する行の条件を以下から選択します。
- 対象文字列で始まるすべての行
- 対象文字列で終わるすべての行
- 対象文字列を含むすべての行 (デフォルト)
- 対象文字列を含まないすべての行
- 指定行
- 先頭行
- 最終行
- 先頭行からn行
- 最終行からn行
[対象文字列]
抽出する行の対象文字列を入力します。入力可能な最大文字数は512文字です。[対象文字列]フィールドはフィルターの実行時
に変数(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込むための方法は以下のとおりです。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRINGです。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
- “@{uda:変数名}”または“@{:ノード名:実行結果}”が複数指定された場合、フィルターの実行はエラーとなります。
フィールドが空の場合、フィルターの実行はエラーとなります。
[行番号/行数]
抽出する行の行番号、または行数を 1 ~ 2147483647 の範囲で入力します。[行番号/行数]フィールドはフィルターの実行時に変
数(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。
[行の選択方法]が“先頭行”または“最終行”の場合、このフィールドは使用しません。(グレーアウト)
- 155 -
フィールドが空の場合、フィルターの実行はエラーとなります。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGERです。STRING型の変数(UDA)の場合、数字以外の値
が格納されている場合、フィルターの実行はエラーとなります。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
[正規表現を使用する]
[対象文字列]フィールドに正規表現を指定する場合に選択します。
デフォルトはオフ。
[行の選択方法]で、指定する文字列がある場合のみ、このフィールドを使用します。(使用できない場合はグレーアウト)
[大文字と小文字を区別する]
対象文字列の検索時に大文字と小文字を区別する場合に選択します。
デフォルトはオフ。
[行の選択方法]で、指定する文字列がある場合のみ、このフィールドを使用します。 (使用できない場合はグレーアウト)
注意
フィルターのテストにおける注意点
・ [行番号/行数]フィールドに“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に“1”が設定されているものとしてテストが実行されます。
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に“1”が設定
されているものとしてテストが実行されます。
・ [行番号/行数]フィールドに“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に“1”が設定されているも
のとしてテストが実行されます。
・ [対象文字列]フィールドに、“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に“@{uda:変数名}”という文字列が設定されているものとしてテストが実行されます。
- 156 -
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に“@{uda:
変数名}”という文字列が設定されているものとしてテストが実行されます。
・ [対象文字列]フィールドに、“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に“@{:ノード名:実行結
果}”という文字列が設定されているものとしてテストが実行されます。
・ [対象文字列]フィールドに“@{uda:変数名}”または“@{:ノード名:実行結果}”が指定されている場合、[正規表現を使用する]は無
視されます。
・ 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。
*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。
[フィルター設定]ダイアログの[対象文字列]フィールドに変数(UDA)を指定する場合の注意点
・ 運用操作部品の出力先として定義されている変数(UDA)を、[対象文字列]フィールドに設定しないでください。運用操作部品の
出力先として定義されている変数(UDA)を参照する場合、変数(UDA)の値を別の変数(UDA)に複写しておき、[対象文字列]フィー
ルドには複写した変数(UDA)を使用するようにしてください。
【例1】
入力:
AAAA.AAAA[改行]
AAAA$BBBB[改行]
AAAA.CCCC[改行]
AAAA@DDDD[改行]
行の抽出方法:
対象文字列で始まるすべての行
対象文字列:
AAAA.
正規表現を使用する:
オフ
大文字と小文字を区別する:
オフ
出力:
AAAA.AAAA[改行]
AAAA.CCCC[改行]
【例2】
入力:
AAaa.AAAA[改行]
AAAA$BBBB[改行]
AAAA.CCCC[改行]
AAaa@DDDD[改行]
行の抽出方法:
対象文字列で始まるすべての行
対象文字列:
AAaa.
正規表現を使用する:
オン
※正規表現を使用する場合、対象文字列内のドット(.)は任意の1文字として評価されま
す。
大文字と小文字を区別する:
オン
出力:
AAaa.AAAA[改行]
AAaa@DDDD[改行]
【例3】
- 157 -
入力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
DDDD[改行]
EEEE[改行]
行の抽出方法:
先頭からn行
行数:
3
出力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
6.4.9 [ソート]フィルター
運用操作部品の結果やフィルター出力を行単位にソートします。
[昇順]
昇順でソートする場合に選択します。(デフォルト)
[降順]
降順でソートする場合に選択します。
[大文字と小文字を区別する]
ソート時に大文字と小文字を区別する場合に選択します。
デフォルトはオフ。
【例1】
入力:
ID0002[改行]
ID0001[改行]
ID0004[改行]
ID0003[改行]
昇順:
オン
降順:
オフ
大文字と小文字を区別する:
オフ
- 158 -
出力:
ID0001[改行]
ID0002[改行]
ID0003[改行]
ID0004[改行]
【例2】
入力:
ID0002[改行]
ID0001[改行]
ID0004[改行]
ID0003[改行]
昇順:
オフ
降順:
オン
大文字と小文字を区別する:
オフ
出力:
ID0004[改行]
ID0003[改行]
ID0002[改行]
ID0001[改行]
6.4.10 [行の削除]フィルター
運用操作部品の結果やフィルター出力から指定された行より前、または後ろのすべての行を削除します。
空行をすべて削除することもできます。また、先頭行や最終行からn行を残してそれ以外の行をすべて削除することもできます。
[削除方法]
削除方法を以下から選択します。
- 空行をすべて削除 (デフォルト)
- 先頭行からn行を削除
- 最終行からn行を削除
[行数]
行数(1~)を入力します。入力可能な値の範囲は、1~2147483647です。
[削除方法]で“空行をすべて削除”を選択した場合、このフィールドは使用しません(グレーアウト)。
- 159 -
[行数]フィールドが空の場合、フィルターの実行はエラーとなります。
【例1】
入力:
AAAA[改行]
BBBB[改行]
[空行]
CCCC[改行]
DDDD[改行]
削除方法:
空行をすべて削除
出力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
DDDD[改行]
【例2】
入力:
AAAA[改行]
BBBB[改行]
CCCC[改行]
DDDD[改行]
EEEE[改行]
削除方法:
先頭からn行を削除
行数:
2
出力:
CCCC[改行]
DDDD[改行]
EEEE[改行]
6.4.11 [スペースの削除]フィルター
運用操作部品の結果やフィルター出力の先頭または末尾から半角空白、全角空白、タブ文字、改行文字(CRLF/CR/LF)を削除しま
す。
[適用方法]
運用操作部品の結果やフィルター出力の全体に対してこのフィルターを適用する場合は、[全体に適用する]を選択します。入力
データの先頭および末尾にある半角空白、全角空白、タブ文字、改行文字が削除されます。
- 160 -
行単位にこのフィルターを適用する場合は、[行単位に適用する]を選択します。入力データの各行に対して先頭および末尾にあ
る半角空白、全角空白、タブ文字が削除されます。行単位に適用する場合、各行の末尾にある改行文字は削除されません。
デフォルトは、[全体に適用する]です。
【例1】
入力:
[半角空白][全角空白]abc[タブ文字][改行]
[半角空白][全角空白]def[タブ文字][改行]
適用方法:
全体に適用する
出力:
abc[タブ文字][改行]
[半角空白][全角空白]def
【例2】
入力:
[半角空白][全角空白]abc[タブ文字][改行]
[半角空白][全角空白]def[タブ文字][改行]
適用方法:
行単位に適用する
出力:
abc[改行]
def[改行]
6.4.12 [CSV形式データの抽出]フィルター
列の並べ替えや、列、行、ブロックの選択など運用操作部品の結果やフィルター出力を表として操作します。
- 161 -
[区切り文字]
データを値(列)に分割するための文字を選択します。
- カンマ (デフォルト)
- タブ
- 半角空白
[囲み文字]
値の囲み文字を以下から選択します。
- ダブルクォーテーション (デフォルト)
- シングルクォーテーション
[最初の行をヘッダとして扱う]
最初の行をヘッダとして扱う場合に選択します。[最初の行をヘッダとして扱う]を選択すると最初の行はソートの対象外となります。
デフォルトはオフ。
[ヘッダを削除する]
ヘッダ行を削除する場合に選択します。
デフォルトはオフ。
[最初の行をヘッダとして扱う]が選択された場合にのみ選択可能です。
[ソート条件]
“ソート条件” をクリックすると、ソート条件の設定項目が展開(表示)されます。
対象列
列で並べ替えを行うには、[対象列]フィールドにソート対象の列番号(1~)を入力します。[対象列]フィールドが空の場合はソー
トは行いません。ソート対象の列は最大3つまで指定することができます。対象列1から対象列2、対象列3の順にソートが実行さ
れます。
- 162 -
すべてのフィールドの初期値は空です。初期状態では対象列1のフィールドのみ入力可能です。対象列2および対象列3の
フィールドは入力不可(グレーアウト)。対象列1のフィールドに値が入力された場合、対象列2のフィールドが入力可能となりま
す。また、対象列2のフィールドに値が入力された場合、対象列3のフィールドが入力可能となります。
昇順
列を昇順で並び替える場合に選択します。(デフォルト)
降順
降順で並び替える場合に選択します。
数値として扱う
ソートを行う際に値を数値として評価する場合に選択します。数値として評価する値が空または値に数字以外の文字が含まれ
ている場合、フィルターの実行はエラーとなります。
デフォルトはオフ。
[抽出する行]
抽出する行の開始位置と終了位置を以下の形式で入力します。デフォルトは空です。[抽出する行]フィールドはフィルターの実行
時に変数(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGERのみです。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
書式(開始行-終了行)
選択される行
なし
すべての行
1-10
1行目から10行目
-10
1行目から10行目
1-
1行目から最終行
- ハイフン(-)のみ、またはハイフン(-)が2つ以上ある場合、フィルターの実行はエラーとなります。
- ハイフン(-)、数字(0-9)以外の文字が入力された場合、フィルターの実行はエラーとなります。
- “@{uda:変数名}” または “@{:ノード名:実行結果}” が複数指定された場合、フィルターの実行はエラーとなります。
[抽出する列]
抽出する列を以下の形式で入力します。デフォルトは空です。[抽出する列]フィールドはフィルターの実行時に変数(UDA)の値や
前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGERのみです。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
書式
選択される列
なし
すべての列
1,3
1列目(最左端)と3列目
1-3
1列目(最左端)~3列目
2-
2列目から最終列(最右端)
- 163 -
書式
選択される列
-10
1列目(最左端)~10列目
1-3,6-8
1列目(最左端)から3列目と6列目から8列目
- ハイフン(-)のみ、ハイフン(-)が連続(--)している場合、フィルターの実行はエラーとなります。
- ハイフン(-)、カンマ(,)、数字(0-9)以外の文字が入力された場合、フィルターの実行はエラーとなります。
- カンマ(,)のみ、カンマ(,)が連続(,,)している場合、フィルターの実行はエラーとなります。
- 同じ列が複数指定された場合、最初の指定が有効となります。たとえば、“1-5,2” は、“1,2,3,4,5”と指定した場合と同じになりま
す。
- 指定された番号の列が存在しない場合、フィルターの実行はエラーとなります。
- “@{uda:変数名}” または “@{:ノード名:実行結果}” が複数指定された場合、フィルターの実行はエラーとなります。
注意
フィルターのテストにおける注意点
・ [抽出する行]フィールドに“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に空文字列が設定されているものとしてテストが実行されます。(※すべての行が抽出されます)
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に空文字列
が設定されているものとしてテストが実行されます。(※すべての行が抽出されます)
・ [抽出する行]フィールドに“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に空文字列が設定されて
いるものとしてテストが実行されます。(※すべての行が抽出されます)
・ [抽出する列]フィールドに“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に空文字列が設定されているものとしてテストが実行されます(※すべての列が抽出されます)。
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に空文字列
が設定されているものとしてテストが実行されます。(※すべての列が抽出されます)
- 164 -
・ [抽出する列]フィールドに“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に空文字列が設定されて
いるものとしてテストが実行されます。(※すべての列が抽出されます)
・ 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。
*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。
[フィルター設定]ダイアログの[抽出する行]フィールドおよび[抽出する列]フィールドに変数(UDA)を指定する場合の注意点
・ 運用操作部品の出力先として定義されている変数(UDA)を、[抽出する行]フィールドおよび[抽出する列]フィールドに設定しない
でください。運用操作部品の出力先として定義されている変数(UDA)を参照する場合、変数(UDA)の値を別の変数(UDA)に複写
しておき、[抽出する行]フィールドおよび[抽出する列]フィールドには複写した変数(UDA)を使用するようにしてください。
【例1】
入力:
"サーバ名","管理者","連絡先"[改行]
"Server-C","User2","1111-2222"[改行]
"Server-A","User1","1111-1111"[改行]
"Server-B","User3","2222-1111"[改行]
"Server-A","User2","1111-2222"[改行]
区切り文字:
カンマ
囲み文字:
ダブルクォーテーション
最初の行をヘッダとして扱う:
オン
ヘッダを削除する:
オン
ソート条件(対象列1):
1列目、昇順
ソート条件(対象列2):
2列目、降順
抽出する行:
未入力
抽出する列:
未入力
出力:
Server-A,User2,1111-2222[改行]
Server-A,User1,1111-1111[改行]
Server-B,User3,2222-1111[改行]
Server-C,User2,1111-2222[改行]
6.4.13 [XML属性の抽出]フィルター
XML形式の運用操作部品の結果やフィルター出力から属性の値を抽出します。
- 165 -
[XPath]
属性を持つ要素のパスを入力します。入力可能な最大文字数は4096文字です。[XPath]フィールドはフィルターの実行時に変数
(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。
- “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボ
タンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。
値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGERのみです。
- “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。
また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品
の実行結果を埋め込むことができます。
空の場合、フィルターの実行はエラーとなります。
[属性名]
値を抽出する属性の名前を入力します。入力可能な最大文字数は512文字です。
空の場合、フィルターの実行はエラーとなります。
[複数選択]
抽出結果が複数存在し、すべて抽出する場合に選択します。このチェックボックスがオフの場合、最初の1件のみ抽出されます。
デフォルトはオン。
[区切り文字]
抽出結果(値)の区切り文字を選択します。抽出結果が1つしかない場合は無視されます。
- カンマ
- タブ
- 半角空白
- 改行[LF] (デフォルト)
[囲み文字]
抽出結果(値)を囲む文字を選択します。
- ダブルクォーテーション (デフォルト)
- シングルクォーテーション
- 166 -
- なし
[区切り文字]に “改行” が選択された場合、[囲み文字]はグレーアウトされ、無視されます。
注意
フィルターのテストにおける注意点
・ [XPath]フィールドに、“@{uda:変数名}”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に“@{uda:変数名}”という文字列が設定されているものとしてテストが実行されます。
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)の場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に“@{uda:
変数名}”という文字列が設定されているものとしてテストが実行されます。
・ [XPath]フィールドに、“@{:ノード名:実行結果}”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に“@{:ノード名:実行結
果}”という文字列が設定されているものとしてテストが実行されます。
・ 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。
*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。
[フィルター設定]ダイアログの[XPath]フィールドに変数(UDA)を指定する場合の注意点
・ 運用操作部品の出力先として定義されている変数(UDA)を、[XPath]フィールドに設定しないでください。運用操作部品の出力先
として定義されている変数(UDA)を参照する場合、変数(UDA)の値を別の変数(UDA)に複写しておき、[XPath]フィールドには複
写した変数(UDA)を使用するようにしてください。
【例1】
入力:
<systems>
<system name="システムA" mail="[email protected]">
<servers>
<server ipaddress="192.168.1.10"/>
<server ipaddress="192.168.1.20"/>
</servers>
</system>
<system name="システムB" mail="[email protected]">
<servers>
<server ipaddress="192.168.2.10"/>
<server ipaddress="192.168.2.20"/>
<server ipaddress="192.168.2.30"/>
</servers>
</system>
</systems>
XPath:
/systems/system[@name='システムA']/servers/server
属性名:
ipaddress
複数選択:
オン
- 167 -
区切り文字:
改行
囲み文字:
-
出力:
192.168.1.10[改行]
192.168.1.20[改行]
【例2】
入力:
<systems>
<system name="システムA" mail="[email protected]">
<servers>
<server ipaddress="192.168.1.10"/>
<server ipaddress="192.168.1.20"/>
</servers>
</system>
<system name="システムB" mail="[email protected]">
<servers>
<server ipaddress="192.168.2.10"/>
<server ipaddress="192.168.2.20"/>
<server ipaddress="192.168.2.30"/>
</servers>
</system>
</systems>
XPath:
/systems/system[@name='システムA']/servers/server
属性名:
ipaddress
複数選択:
オン
区切り文字:
カンマ
囲み文字:
ダブルクォーテーション
出力:
"192.168.1.10","192.168.1.20"
【例3】
入力:
<systems>
<system name="システムA" mail="[email protected]">
<servers>
<server ipaddress="192.168.1.10"/>
<server ipaddress="192.168.1.20"/>
</servers>
</system>
<system name="システムB" mail="[email protected]">
<servers>
<server ipaddress="192.168.2.10"/>
<server ipaddress="192.168.2.20"/>
<server ipaddress="192.168.2.30"/>
</servers>
</system>
</systems>
XPath:
/systems/system[@name='システムA']/servers/server
属性名:
ipaddress
複数選択:
オフ
区切り文字:
改行
囲み文字:
-
出力:
192.168.1.10
- 168 -
【例4】変数(SystemName)に、“システムA”が設定されている場合
入力:
<systems>
<system name="システムA" mail="[email protected]">
<servers>
<server ipaddress="192.168.1.10"/>
<server ipaddress="192.168.1.20"/>
</servers>
</system>
<system name="システムB" mail="[email protected]">
<servers>
<server ipaddress="192.168.2.10"/>
<server ipaddress="192.168.2.20"/>
<server ipaddress="192.168.2.30"/>
</servers>
</system>
</systems>
XPath:
/systems/system[@name='@{uda:SystemName}']/servers/server
属性名:
ipaddress
複数選択:
オン
区切り文字:
改行
囲み文字:
-
出力:
192.168.1.10[改行]
192.168.1.20[改行]
6.4.14 [日付フォーマット変換]フィルター
運用操作部品の結果やフィルター出力の日付データを別の形式の日付文字列に変換します。
入力データが変換元の書式にマッチしない場合(入力データの末尾に余分な空白文字や改行コードが存在する場合など)、フィルター
の実行はエラーとなります。
- 169 -
[変換元]
書式
入力として受け取る日付の書式文字列をコンボボックスから選択します。または、入力します。入力可能な文字数は最大512文
字です。
[書式]が空の場合、フィルターの実行はエラーとなります。書式に含まれる半角英字は日付/時刻フォーマットのパターンとして
評価されます。日付/時刻フォーマットのパターンに合致しない任意の半角英字を含めることはできません。
- yyyyMMddHHmmss
- yyyy/MM/dd HH:mm:ss
- yyyy/MM/dd
- yyyy-MM-dd
- yyyy-MM-ddZ
- HH:mm:ss
- HH:mm:ssZ
- EEE, dd MMM yyyy HH:mm:ss Z
参考
- y は年を表します。(例: “2012”、“12”)
- M は月を表します。(例: “05”)
- d は月における日を表します。(例: “12”)
- H は1日における時(0~23)を表します。(例: “08”)
- m は分を表します。(例: “40”)
- s は秒を表します。(例: “59”)
- Z はタイムゾーンを表します。(例: “+0900”)
- E は曜日を表します。(例: “土”)
例
日付/時刻フォーマットのパターンの例を示します。
日付/時刻のパターン(例)
対応する文字列表現
yyyyMMddHHmmss
20120512084000
yyyy/MM/dd HH:mm:ss
2012/05/12 08:40:00
EEE, dd MMM yyyy HH:mm:ss Z
土, 12 5 2012 08:40:00 +0900
yyyyMMddHHmmssZ
20120512084000+0900
上記以外のパターンについては、“Java 2 プラットフォーム API 仕様”を参照してください。
タイムゾーン
使用するタイムゾーンを選択または入力します。デフォルトはシステムのタイムゾーンです。
タイムゾーンは “GMT+09:00” という形式で指定することもできます。指定されたタイムゾーンの書式に誤りがある場合、タイム
ゾーンは GMT が指定されたものとして扱います。
- (UTC-10:00) ハワイ
- 170 -
- (UTC-09:00) アラスカ
- (UTC-08:00) 太平洋標準時 (米国およびカナダ)
- (UTC-07:00) 山地標準時 (米国およびカナダ)
- (UTC-06:00) 中部標準時 (米国およびカナダ)
- (UTC-05:00) 東部標準時 (米国およびカナダ)
- (UTC) 協定世界時
- (UTC+09:00) 大阪、札幌、東京
ロケール
日付変換に使用するロケールをコンボボックスから選択します。または、2桁の言語コードと2桁の国コードをアンダースコアで繋
いだ形式で指定することもできます。デフォルトはシステムのロケールです。指定されたロケールの書式に誤りがある場合、シス
テムのロケールが指定されたものとして扱います。
- 日本語 (日本) [ja_JP]
- 英語 (アイルランド) [en_IE]
- 英語 (アメリカ合衆国) [en_US]
- 英語 (イギリス) [en_GB]
- 英語 (インド) [en_IN]
- 英語 (オーストラリア) [en_AU]
- 英語 (カナダ) [en_CA]
- 英語 (ニュージーランド) [en_NZ]
- 英語 (南アフリカ) [en_ZA]
参考
2桁の言語コードと2桁の国コードをアンダースコアで繋いだ形式の指定例
- “de_DE” はドイツ語(ドイツ)のロケールを表します。
[変換先]
書式
変換後の日付文字列の形式を入力します。入力可能な文字数は最大512文字です。選択可能な書式の一覧は、[変換元]の
[書式]を参照してください。
[書式]が空の場合、フィルターの実行はエラーとなります。書式に含まれる半角英字は日付/時刻フォーマットのパターンとして
評価されます。日付/時刻フォーマットのパターンに合致しない任意の半角英字を含めることはできません。
書式にマルチバイト文字が含まれている場合、マルチバイト文字はそのまま出力されます。たとえば、変換先の書式に“yyyy年
MM月dd日 HH時mm分ss秒”と指定することで、“2012年05月31日 08時40分00秒”という形式に変換することができます。
タイムゾーン
使用するタイムゾーンを選択または入力します。デフォルトはシステムのタイムゾーンです。選択可能なタイムゾーンの一覧は、
[変換元]の[タイムゾーン]を参照してください。
ロケール
日付変換に使用するロケールをコンボボックスから選択します。または、2桁の言語コードと2桁の国コードをアンダースコアで繋
いだ形式で指定することもできます。デフォルトはシステムのロケールです。選択可能なロケールの一覧は、[変換元]の[ロケー
ル]を参照してください。
【例1】
入力:
20120513223400
- 171 -
書式(変換元):
yyyyMMddHHmmss
タイムゾーン(変換元):
(UTC+09:00) 大阪、札幌、東京
ロケール(変換元):
日本語 (日本) [ja_JP]
書式(変換先):
yyyy/MM/dd HH:mm:ss
タイムゾーン(変換先):
(UTC+09:00) 大阪、札幌、東京
ロケール(変換先):
日本語 (日本) [ja_JP]
出力:
2012/05/13 22:34:00
【例2】
入力:
20120513223400
書式(変換元):
yyyyMMddHHmmss
タイムゾーン(変換元):
(UTC+09:00) 大阪、札幌、東京
ロケール(変換元):
日本語 (日本) [ja_JP]
書式(変換先):
EEE, dd MMM yyyy HH:mm:ss Z
タイムゾーン(変換先):
(UTC+09:00) 大阪、札幌、東京
ロケール(変換先):
日本語 (日本) [ja_JP]
出力:
日, 13 5 2012 22:34:00 +0900
6.4.15 [演算]フィルター
運用操作部品の結果やフィルター出力に固定値/変数の値/実行結果の値(整数)を加算、または減算します。
- 172 -
[演算方法]
演算の種類を以下から選択します。
- 加算 (デフォルト)
- 減算
[演算値の種類]
加算、または減算する値の種類を以下から選択します。
- 固定値 (デフォルト)
- 変数の値
- 実行結果の値
[加算値/減算値]
グループのタイトルは[演算方法]により、“加算値”または“減算値”に変わります。
- 173 -
固定値
加算、または減算する値(数字)を入力します。入力可能な値の範囲は、0~2147483647です。
フィールドが空の場合、フィルターの実行はエラーとなります。
変数の値
加算、または減算する値を持つ変数をリストから選択します。リストに表示される変数の種類は、STRING/INTEGERのみです。
実行結果の値
加算、または減算する値を持つ実行結果を[実行結果]リストから選択します。
[ノード名]コンボボックスには選択可能なノード(運用操作部品ノード)の一覧が表示されます。ノード名を選択すると、[実行結
果]リストにはノードの実行結果の一覧が表示されます。
注意
演算できる値
・ 演算できる値は整数値のみです。
・ 演算可能な範囲は、-2147483648~2147483647です。2147483647に1を加算すると、オーバーフローが発生し、演算結果の値
は、-2147483648になります。
・ STRING型の変数(UDA)を指定する場合、変数の値には数字以外の文字を含むことはできません。数字以外の文字を含む場合、
フィルターの実行はエラーとなります。
・ 実行結果の値には数字以外の文字を含むことはできません。数字以外の文字を含む場合、フィルターの実行はエラーとなります。
フィルターのテストにおける注意点
・ [演算値の種類]に“変数の値”が指定されている場合
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられている変数
(UDA)が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されずに、“変数(ユー
ザ定義属性)、フィルターおよびフィルター(V14.1.x互換)について”の記載に従って設定される変数の値が使用されます。
[テスト変数の設定]ダイアログ(*1)で[出力情報]セクションで対応付けられた実行結果に値が設定されていない場合または空
値の場合は、変数の値に“0”が格納されているものとしてテストが実行されます。
- フィルターを実行する運用操作部品ノードの[出力情報]タブの[出力情報]セクションで実行結果と対応付けられていない変数
(UDA)が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合または空値の場合は、変数の値に“0”が格納
されているものとしてテストが実行されます。
・ [演算値の種類]に“実行結果の値”が指定されている場合
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合は、その値がテストで使用されます。
[テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合は、実行結果の値に“0”が格納されているも
のとしてテストが実行されます。
・ 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。
*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。
[フィルター設定]ダイアログの[演算値の種類]で[変数の値]を指定する場合の注意点
・ 運用操作部品の出力先として定義されている変数(UDA)を、[変数の値]から選択しないでください。運用操作部品の出力先として
定義されている変数(UDA)を参照する場合、変数(UDA)の値を別の変数(UDA)に複写しておき、[変数の値]には複写した変数
(UDA)を使用するようにしてください。
【例1】
- 174 -
入力:
1
演算の種類:
加算
演算値の種類:
固定値
加算値:
1
出力:
2
【例2】
入力:
1
演算の種類:
減算
演算値の種類:
固定値
減算値:
1
出力:
0
【例3】
入力:
0
演算の種類:
減算
演算値の種類:
固定値
減算値:
1
出力:
-1
【例4】変数(AddValue)に、1が設定されている場合
入力:
1
演算の種類:
加算
演算値の種類:
変数の値
変数名:
AddValue
出力:
2
【例5】実行結果(returnCode)に、1が設定されている場合
入力:
1
演算の種類:
加算
演算値の種類:
実行結果の値
ノード名:
○○を実行する
実行結果:
returnCode
出力:
2
6.5 運用操作部品のフィルター定義(Javaスクリプト使用)
フィルター定義(Javaスクリプト使用)を利用することで、運用操作部品の実行結果(出力情報)を任意のデータに加工するためのJavaス
クリプトを記述することができます。
以下に使用方法を説明します。
- 175 -
1. [設定内容]-[フィルター定義 (V14.1.x互換)]の[追加]ボタンをクリックします。
→[フィルター定義]ダイアログが表示されます。
- 176 -
2. [アクション名]フィールドに任意のフィルター名を入力します。
- 177 -
3. [式モード選択]ボタンをクリックして、[E]ボタンに変更します。
- 178 -
4. [A+B...]ボタンをクリックします。
→[式の作成]ダイアログが表示されます。
- 179 -
5. テキストフィールドにJavaScriptを入力します。
6. [式の作成]ダイアログで、[OK]ボタンをクリックします。
7. [フィルター定義]ダイアログで、[OK]ボタンをクリックします。
→[設定内容]-[フィルター名]に、作成したフィルターの名前が表示されます。
6.6 一般的な手順
以降の各節では、プロセス定義エディタの表示を拡大/縮小する方法、プロセス定義の変更を元に戻す/やり直す方法、および印刷す
る方法について説明します。
6.6.1 [元に戻す]と[やり直し]
ノード、矢印、スイムレーン、およびグループに加えた変更は、簡単に元に戻したり、やり直したりすることができます。
変更を元に戻す/やり直す方法について説明します。
・ 最後に加えた変更を元に戻すには、プロセス定義エディタ内の空のスペースを右クリックし、[元に戻す]を選択します。
・ 元に戻した変更をもう一度有効にするには、プロセス定義エディタ内の空のスペースを右クリックし、[やり直し]を選択します。
6.6.2 ズームインとズームアウト
ズームイン/ズームアウトを行って、プロセス定義エディタの倍率を変更できます。
ズームイン/ズームアウトする方法について説明します。
・ 倍率を上げるには、ツールバーの[ズームイン]ボタンをクリックします。
・ 倍率を下げるには、ツールバーの[ズームアウト]ボタンをクリックします。
- 180 -
・ ツールバーで、あらかじめ定義されているズームイン/ズームアウトレベルを選択します。
・ ツールバーで、表示倍率のテキストフィールドに値を入力します。[Enter]キーを押して変更を適用します。
図6.6 ツールバーのズームイン/ズームアウトツール
6.6.3 プロセス定義の印刷
プロセス定義を印刷する方法について説明します。
1. プロセス定義を開きます。
2. [ファイル] > [印刷]の順に選択します。
3. 設定内容を確認し、必要に応じて変更します。
4. [OK]をクリックします。
6.7 ノードの追加と編集
パレットには、プロセス定義に追加できるすべてのノードのボタンがあります。ノードは簡単に移動させることができ、位置を調整するこ
とができます。
以降の各節では、ノードを追加および削除する方法、ノードの基本的なプロパティを定義する方法、およびノードの位置を調整する方
法について説明します。
6.7.1 ノードの追加
プロセス定義に追加するノードごとに、ノードのタイプをパレットから選択します。少なくとも1つのExitノードを追加する必要があります。
ノードを追加する方法について説明します。
1. プロセス定義エディタにプロセス定義を表示します。
2. パレットを表示します。
- 181 -
3. カテゴリタブから追加するノードのカテゴリを選択します。
図6.7 ノードのタイプを選択するために使用するパレット
4. 追加するノードのタイプをクリックします。
5. プロセス定義エディタで、ノードを配置する領域をポイントします。クリックしてノードを追加します。
プロセス定義エディタパレットのフィルタリング
[キーワードを入力]フィールドにキーワードを入力します。ノードの名前または説明に[キーワードを入力]フィールドで入力されたキー
ワードを含むノードのみがパレット内の[フィルタ]タブに表示されます。右側の[×]ボタンをクリックするとフィルターが解除され、初期表
示に戻ります。カテゴリタブを選択することにより、カテゴリごとのフィルタリング結果からノードを選択することもできます。
図6.8 フィルタリングされたパレット
- 182 -
6.7.2 ノード名と説明の定義
ノードのデフォルトの名前を変更し、説明を入力することができます。
ノードの名前を指定し、説明を入力する方法について説明します。
・ ノード名を指定するには、プロセス定義エディタでそのノードを選択します。ノード名をクリックし、新しい名前を入力します。
ノード名は64文字以内で指定する必要があります。
ANDノードなど、一部のノードではノード記号に名前が表示されません。その場合は、[プロパティ]ビューで名前を入力できます。
・ 説明を入力するには、ノードを選択し、[プロパティ]ビューで説明を入力します。
6.7.3 アクティビティの優先度の定義
アクティビティの優先度は、Activityノード、Voting Activityノード、およびCompound Activityノードで設定できます。 デフォルトで、“-1”
が設定されています。優先度は-1以上の整数値の範囲に変更することができます。
アクティビティの優先度は、[プロパティ]ビューの[一般]タブの[優先度]フィールド、またはJava Actionで設定することができます。アク
ティビティの優先度の設定、Java Actionの詳細は、“11.2.4 アクティビティの優先度の設定”を参照してください。
[プロパティ]ビューの[一般]タブで優先度を設定する方法を説明します。
1. 優先度を設定したいアクティビティを選択します。
2. [プロパティ]ビューの[一般]タブを選択します。
3. [優先度]フィールドに優先度を入力します。これは、アクティビティの優先度として設定されます。
6.7.4 ノードの位置合わせ
複数のノードの端の位置を合わせることができます。
ノードの位置を合わせる方法を説明します。
1. プロセス定義エディタで、位置合わせをするノードを選択します。[Shift]キーまたは[Ctrl]キーを押したまま、対象となる複数の
ノードを選択してください。
2. ノードの位置合わせの基準となる場所に応じて、ツールバーで以下のいずれかのボタンをクリックします。
ボタン
説明
最後に選択したエレメントの左端に位置合わせします。(左揃え)
各エレメントの中心線を合わせて垂直方向に位置合わせします。(中央揃え)
最後に選択したエレメントの右端に位置合わせします。(右揃え)
最後に選択したエレメントの上端に位置合わせします。(上揃え)
各エレメントの中心線を合わせて水平方向に位置合わせします。(中央揃え)
最後に選択したエレメントの下端に位置合わせします。(下揃え)
ノード、スイムレーン、グループの位置を合わせることもできます。位置合わせするノード、スイムレーン、グループを選択し、ツールバー
の整列ボタンのどれかをクリックします。スイムレーンの使用方法については、“6.9 スイムレーンの追加と編集”を参照してください。グ
ループの使用方法については、“6.10 グループの追加と編集”を参照してください。
6.7.5 ノードの切り取り、コピー、貼リ付け
一度に複数のノードの切り取り、コピー、および貼り付けを行うことができます。Startノードは必須のノードで、1つしか存在しないため、
Startノードの切り取り、コピー、または貼り付けを行うことはできません。
・ ノードを切り取ります。
ノードを選択します。右クリックし、ポップアップメニューの[切り取り]を選択します。
- 183 -
選択したノードは、関連付けられている矢印とともに、プロセス定義から削除されます。
・ ノードをコピーします。
ノードを選択します。右クリックし、ポップアップメニューの[コピー]を選択します。
・ ノードを貼り付けます。
[編集] > [貼り付け]の順に選択します。
ノードは、元のノードの近くに挿入されます。
注意
・ ほかのプロセス定義から切り取った、またはコピーしたノードを貼り付けるときには、元のプロセス定義でそのノードが使用している
すべてのユーザ定義属性(以降、UDAと呼びます)を追加する必要があります。
・ 運用操作部品ノードのノードをコピーし貼り付けを行うと、以下のメッセージが表示されますが、問題はありませんので対処を行う
必要はありません。
- 同じ名前とIDを持つUDAが既に存在するため、以下のUDAを追加できません。:SWRBA_RCODE 定義内容を確認し、必要
であれば更新してください。
6.7.6 ノードの移動
ノードの場所を移動することができます。
ノードを移動する方法について説明します。
1. 移動するノードを選択します。
2. ノードを目的の場所までドラッグして移動します。Systemwalker Runbook Automation Studioでは、連結されているすべての矢印
が自動的に調整されます。
複数のノードを一度に移動することもできます。[Shift]キーまたは[Ctrl]キーを押しながら、移動するノードをすべて選択します。
6.7.7 ノードの削除
Startノードを除くすべてのノードをプロセス定義から削除できます。
ノードを削除する方法について説明します。
・ 削除するノードを右クリックします。ポップアップメニューの[削除]を選択します。
ノードは、関連付けられた矢印とともに削除されます。
6.8 矢印の追加と編集
矢印は、プロセス定義内のノードを連結します。矢印を使用して、イベントの流れを定義します。
以降の各節では、矢印を追加および削除する方法、矢印の基本的なプロパティを定義する方法、および矢印の形状を変更する方法
について説明します。
6.8.1 矢印の追加
ツールバーの[矢印の作成]ボタン
を使用して、ノード間を連結する矢印を描画できます。矢印を描画する前に、少なくとも2つのノー
ドをプロセス定義に設定しておく必要があります。2つのノードを連結しない矢印を描画することはできません。
矢印を追加する方法について説明します。
1. ツールバーの[矢印の作成]ボタンをクリックします。
2. 矢印の始点となるノードへマウスカーソルを移動します。マウスカーソルの形状が変わるので、矢印を開始できる場所がわかりま
す。
- 184 -
3. 矢印の始点のノードから終点のノードへマウスカーソルをドラッグします。
すべてのノードには、矢印を置くことのできる点(結合端子)がいくつかあります。ノードの端をポイントすると、結合端子を確認できます。
矢印カーソルは活性状態のままなので、引き続き矢印を描画できます。矢印の活性状態を解除するには、[Esc]キーを押すか、ツール
バーの[選択]ボタンをクリックします。
図6.9 Activityノードの矢印の追加
運用操作部品ノードの矢印の追加
運用操作部品をパレットから選択し、プロセス定義エディタ上に配置すると、以下のように正常、異常などを示すシンボルの付いた結
合端子がある運用操作部品が配置されます。
運用操作部品の種類によりシンボルの数や表示位置が異なります。
図6.10 運用操作部品ノードの矢印の追加
・ シンボルにカーソルを合わせると、デフォルトの矢印の名前がツールチップで表示されます。
・ 矢印の名前は運用操作部品の種類ごとに定義されているデフォルトの名前が使用されます。矢印の名前はあとで変更することが
できます。
・ 矢印の数が不足している場合、プロセス定義の保存時、または[正当性を確認する]ボタンをクリックしたとき、[問題]ビューにエラー
メッセージを表示します。
・ シンボルが配置されていない側面から矢印を追加できません。
・ すべてのシンボルに矢印が追加されているとき矢印を追加できません。さらに細かく分岐を行う必要がある場合は、[Conditional]
ノードまたは、[Complex Conditional]ノードをシンボルに接続してください。
・ 運用操作部品ノードの実行結果(正常または異常)に関わらず、同じ後続のノードに対して矢印を引くことができます。
・ 古いバージョンのStudioでプロセス定義に配置された運用操作部品ノードは、古いバージョンどおりの表現で表示されます。ただ
し、古いバージョンの運用操作部品ノードに追加できる矢印は1つだけです。
・ 古いバージョンの運用操作部品ノードとシンボルがある運用操作部品ノードは混在して利用することができます。
・ 本製品のバージョンがV15以降の場合、Studioで配置できる運用操作部品は、すべてシンボルがある運用操作部品ノードとなりま
す。古いバージョンの運用操作部品ノードの形式でノードを配置することはできません。
- 185 -
・ 古いバージョンのStudioでプロセス定義に配置された運用操作部品ノードを、シンボルがある運用操作部品ノードに更新すること
はできません。シンボルがある運用操作部品ノードを利用する場合、古いバージョンの運用操作部品ノードを一旦削除し、新しく
運用操作部品ノードを配置しなおしてください。
・ 本製品のバージョンV15以降で作成したプロセス定義は、古いバージョンのプロセス定義として利用することはできません。
シンボルの種類と意味は以下のとおりです。
シンボル
(本製品のバージョンがV15
以降の場合)
シンボル
(古いバージョンの場合)
意味
選択を示します。
正常を示します。
失敗またはエラーを示します。
6.8.2 矢印名の定義
矢印を追加すると、その矢印に関する操作としてデフォルトの名前が自動的に追加されます。このデフォルトの名前を変更することが
できます。
注意
・ 以下のノードの外向き矢印には、それぞれ異なる名前を付ける必要があります。
- Activityノード
- Voting Activityノード
- Compound Activityノード
- Conditionalノード
- Complex Conditionalノード
矢印名を定義する方法について説明します。
1. 矢印を選択します。
2. 矢印名をクリックし、新しい名前を入力します。
新しい名前を[プロパティ]ビューで入力することもできます。
6.8.3 矢印の形状変更
矢印をドラッグして、矢印の形状を変えることができます。矢印をドラッグするとドラッグポイント(ドラッグできる点)が自動的に追加また
は削除されます。
矢印の形状を変更する方法について説明します。
1. 矢印を選択してそのドラッグポイントが表示されるようにします。
2. 矢印の形状を変更するには、ドラッグポイントを目的の場所までドラッグします。
6.8.4 矢印の連結の変更
矢印の始点と終点を変更することができます。たとえば、矢印をノードの別の結合端子に置くことが必要な場合があります。
矢印を移動する方法について説明します。
1. 矢印の始点を別の場所にするには、矢印の始点を目的の場所までドラッグします。
- 186 -
2. 矢印の終点を別の場所にするには、矢印の先端を目的の場所までドラッグします。
注意
以下のノードに複数の矢印を追加する場合、外向き矢印には、それぞれ異なる名前を付ける必要があります。:
・ Activityノード
・ Voting Activityノード
・ Conditionalノード
・ Complex Conditionalノード
このため、矢印の連結を変更する前に矢印名の変更が必要となる場合があります。
6.8.5 矢印の削除
矢印を削除する方法について説明します。
1. 削除する矢印を選択します。
2. 右クリックして[削除]を選択します。
6.9 スイムレーンの追加と編集
Systemwalker Runbook Automation Studioでは、スイムレーンを使用して、同じロールによって実行されるアクティビティを視覚的にグ
ループ化できます。
以降の各節では、スイムレーンを追加および削除する方法と、スイムレーンの外観を変更する方法について説明します。
6.9.1 スイムレーンの追加
スイムレーンを追加する方法について説明します。
1. プロセス定義エディタにプロセス定義を表示します。
2. パレットの[スイムレーン]ボタンをクリックします。
3. プロセス定義エディタでドラッグ操作し、スイムレーンを描画します。
図6.11 スイムレーンの追加
6.9.2 スイムレーンのタイトルの定義
通常、スイムレーンのタイトルは、そのスイムレーンに配置されたアクティビティの実行者を示します。 スイムレーンを追加したときに自
動的に生成されるデフォルトのタイトルは、変更することができます。
スイムレーンのタイトルを定義する方法について説明します。
1. スイムレーンを選択します。
2. スイムレーンのタイトルをクリックし、新しいタイトルを入力します。
- 187 -
新しいタイトルを[プロパティ]ビューで入力することもできます。
6.9.3 スイムレーンの位置合わせ
複数のスイムレーンの端の位置を合わせることができます。
スイムレーンの位置を合わせる方法を説明します。
1. 位置合わせをするスイムレーンを選択します。[Shift]キーまたは[Ctrl]キーを押したまま、対象となる複数のスイムレーンをクリック
してください。
2. ツールバーで、以下のいずれかのボタンをクリックします。
ボタン
説明
最後に選択したエレメントの左端に位置合わせします。(左揃え)
各エレメントの中心線を合わせて垂直方向に位置合わせします。(中央揃え)
最後に選択したエレメントの右端に位置合わせします。(右揃え)
最後に選択したエレメントの上端に位置合わせします。(上揃え)
各エレメントの中心線を合わせて水平方向に位置合わせします。(中央揃え)
最後に選択したエレメントの下端に位置合わせします。(下揃え)
ノードとスイムレーンの位置を合わせることもできます。位置合わせするノードとスイムレーンを選択し、ツールバーの整列ボタンのどれ
かをクリックします。
6.9.4 スイムレーンサイズの調整
スイムレーンの高さと幅を手動で調整できます。また、複数のスイムレーンを同じ幅と高さに合わせることもできます。
スイムレーンのサイズを調整する方法について説明します。
・ 高さと幅を手動で調整する場合
- スイムレーンを選択します。
- サイズ調整ハンドルの1つをポイントし、希望のサイズになるまでスイムレーンをドラッグします。
・ 複数のスイムレーンを同じ幅と高さに合わせる場合
- 対象となるスイムレーンを選択します。[Shift]キーまたは[Ctrl]キーを押したまま、対象となる複数のスイムレーンを選択します。
- ツールバーで、以下のどちらかのボタンをクリックします。
ボタン
説明
最後に選択したスイムレーンの高さに合わせます。
最後に選択したスイムレーンの幅に合わせます。
6.9.5 スイムレーンの色の変更
スイムレーンの色を変更する方法について説明します。
1. スイムレーンを選択します。
2. [プロパティ]ビューで、[色]を選択します。
- 188 -
3. [値]列に表示されるボタンをクリックして、[色の設定]ダイアログを開きます。
図6.12 パレットの色の選択
4. パレットの色を選択します。
5. [OK]をクリックします。
6.9.6 スイムレーンのスタイル変更
スイムレーンのタイトルは、スイムレーンの左側または上側に配置できます。
この設定は、プロセス定義のすべてのスイムレーンを対象として変更することができます。
プロセス定義のすべてのスイムレーンのスタイルを変更します。
1. プロセス定義エディタをクリックして活性化させます。
2. 以下のどちらかの操作を行います。
- タイトルを左側に配置するには、[編集] > [スイムレーンスタイル] > [左部]の順に選択します。
- タイトルを上側に配置するには、[編集] > [スイムレーンスタイル] > [上部]の順に選択します。
次回、開くときのプロセス定義エディタのスイムレーンのスタイルを設定することができます。[ウィンドウ] > [設定]の順に選択し、[Interstage
BPM Studio] > [表示]の順に選択します。
6.9.7 スイムレーンの切り取り、コピー、貼り付け
一度に1つのスイムレーンの切り取り、コピー、および貼り付けを行うことができます。
1. スイムレーンを切り取ります。
スイムレーンを選択します。右クリックし、ポップアップメニューの[切り取り]を選択します。
2. スイムレーンをコピーします。
スイムレーンを選択します。右クリックし、ポップアップメニューの[コピー]を選択します。
3. スイムレーンを貼り付けます。
[編集] > [貼り付け]の順に選択します。
スイムレーンは、元のスイムレーンの近くに挿入されます。
- 189 -
6.9.8 スイムレーンの移動
スイムレーンの場所を移動することができます。
スイムレーンを移動する方法について説明します。
1. 移動するスイムレーンをクリックします。
2. スイムレーンを目的の場所までドラッグします。
複数のスイムレーンを一度に移動することもできます。[Shift]キーまたは[Ctrl]キーを押しながら、移動するスイムレーンをすべて選択し
ます。
6.9.9 スイムレーンの削除
スイムレーンを削除する方法について説明します。
1. スイムレーンを選択します。
2. 右クリックしてポップアップメニューの[削除]を選択します。
6.10 グループの追加と編集
Systemwalker Runbook Automation Studioでは、複数のグループを使用して、指定した分類方法でアクティビティを視覚的にグループ
化できます。
以降では、グループを追加および削除する方法と、グループの外観を変更する方法について説明します。
6.10.1 グループの追加
グループを追加する方法について説明します。
1. プロセス定義エディタでプロセス定義を表示します。
2. パレットのグループボタンをクリックします。
3. プロセス定義エディタでドラッグします。
図6.13 グループの追加
6.10.2 グループのタイトルの定義
通常、グループのタイトルは、グループ化されたアクティビティの種類を表します。グループを追加したときに自動的に生成されるデフォ
ルトのタイトルは、変更することができます。
グループのタイトルを定義する方法について説明します。
1. グループを選択します。
2. [プロパティ]ビュー[一般]タブの名前*フィールドで、タイトルを入力します。
6.10.3 グループの位置合わせ
複数のグループの端の位置を合わせることができます。
- 190 -
グループの位置を合わせる方法を説明します。
1. 位置合わせをするグループを選択します。[Shift]キーまたは[Ctrl]キーを押したまま、対象となる複数のグループをクリックしてく
ださい。
2. ツールバーで、以下のいずれかのボタンをクリックします。
ボタン
説明
最後に選択したエレメントの左端に位置合わせします。(左揃え)
各エレメントの中心線を合わせて垂直方向に位置合わせします。(中央揃え)
最後に選択したエレメントの右端に位置合わせします。(右揃え)
最後に選択したエレメントの上端に位置合わせします。(上揃え)
各エレメントの中心線を合わせて水平方向に位置合わせします。(中央揃え)
最後に選択したエレメントの下端に位置合わせします。(下揃え)
ノードとグループの位置を合わせることもできます。位置合わせするノードとグループを選択し、ツールバーの整列ボタンのどれかをク
リックします。
6.10.4 グループサイズの調整
グループの高さと幅を手動で調整できます。また、複数のグループを同じ幅と高さに合わせることもできます。
グループのサイズを調整する方法について説明します。
・ 高さと幅を手動で調整する場合
- グループを選択します。
- サイズ調整ハンドルの1つをポイントし、希望のサイズになるまでグループをドラッグします。
・ 複数のグループを同じ幅と高さに合わせる場合
- 対象となるグループを選択します。[Shift]キーまたは[Ctrl]キーを押したまま、対象となる複数のグループを選択します。
- ツールバーで、以下のどちらかのボタンをクリックします。
ボタン
説明
最後に選択したグループの高さに合わせます。
最後に選択したグループの幅に合わせます。
6.10.5 グループの切り取り、コピー、貼り付け
一度に1つのグループの切り取り、コピー、および貼り付けを行うことができます。
1. グループを切り取ります。
グループを選択します。右クリックし、ポップアップメニューの[切り取り]を選択します。
2. グループをコピーします。
グループを選択します。右クリックし、ポップアップメニューの[コピー]を選択します。
3. グループを貼り付けます。
[編集] > [貼り付け]の順に選択します。
グループは、元のグループの近くに挿入されます。
- 191 -
6.10.6 グループの移動
グループの場所を移動することができます。
グループを移動する方法について説明します。
1. 移動するグループをクリックします。
2. グループを目的の場所までドラッグします。
複数のグループを一度に移動することもできます。[Shift]キーまたは[Ctrl]キーを押しながら、移動するグループをすべて選択します。
6.10.7 グループの削除
グループを削除する方法について説明します。
1. グループを選択します。
2. 右クリックしてポップアップメニューの[削除]を選択します。
6.11 アノテーションの追加
アノテーションを追加して、プロセス定義についてのコメントや、プロセス設計時の要点などを記述できます。
アノテーションを追加する方法について説明します。
1. プロセス定義エディタでプロセス定義を表示します。
2. パレットの[アノテーション]ボタンをクリックします。
3. プロセス定義エディタでアノテーションを配置する領域をドラッグし、アノテーションを追加します。
4. アノテーションをクリックし、コメントを入力します。
5. アノテーションの参照先が特定のノードの場合、両者を連結して、関係を視覚的に表現できます。以下の手順で指定します。
a. ツールバーの[矢印の作成]ボタンをクリックします。
b. アノテーションから参照先のノードへカーソルをドラッグします。
次の例は、ノードに連結されたアノテーションを示します。
図6.14 アノテーションの追加とノードへの連結
注意
1つのノードには1つのアノテーションしか連結できません。
6. アノテーションのサイズは、以下の手順で変更できます。
a. アノテーションを選択します。
b. サイズ調整ハンドルの1つにマウスカーソルを合わせ、ドラッグしてアノテーションのサイズを変えます。
- 192 -
6.12 ノードの取戻し
取戻し機能は、完了した作業の取戻しを行うことができるか否かを指定します。デフォルトでは、取戻しすることができます。この機能
は、Activityノード、Voting Activityノード、およびDelayノードだけに使用することができます。
注意
・ 完了した作業のみ取戻すことができます。
・ 1つ前の完了した作業のみ取戻すことができます。
ノードの取戻しを設定する方法について説明します。
1. 取戻しを設定したいActivityノード、Voting Activityノード、またはDelayノードを選択し、[プロパティ]ビューを表示します。
2. [一般]タブで、[取戻しを有効にする]項目をチェックします。
6.13 Activityノードの将来のワークアイテムを有効にする
以下の[将来のワークアイテムを有効にする]チェックボックスは、表示されますが、Systemwalker Runbook Automation Studioでは利用
できません。
図6.15 Activityノードの将来のワークアイテムを有効にする
6.14 プロセスインスタンス所有者の割当て
プロセスインスタンス所有者は、所有するプロセスインスタンスを実行中に編集することができます。
デフォルトでは、プロセス定義の所有者(プロセス定義をサーバに登録したユーザー)が、そのプロセス定義から作成されたプロセスイ
ンスタンスの所有者になります。なお、ほかのロールにプロセスインスタンスの所有権を割り当てることもできます。
プロセスインスタンス所有者を割り当てる方法を説明します。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [プロパティ]ビュー内の[一般]タブを選択します。
- 193 -
3. 所有者の名前を[プロセスインスタンス所有者]に入力します。
図6.16 プロセスインスタンス所有者の割当て
6.15 プロセス起動権限の割当て
プロセス起動権限を設定することで、そのグループに所属するユーザーとシステム管理者のみ、公開済み状態の自動運用プロセスを
起動することができます。
プロセス起動権限に設定されているグループに所属していないユーザー(システム管理者は除く)は、自動運用プロセスを起動するこ
とはできません。なお、プロセス起動権限の設定を省略した場合、すべてのユーザーが公開済み状態の自動運用プロセスを起動する
ことができます。
プロセス起動権限を割り当てる方法を説明します。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [プロパティ]ビュー内の[一般]タブを選択します。
3. プロセスの起動を許可するユーザーが所属するグループの名前を[プロセス起動権限]の[グループ名]に入力します。
図6.17 プロセス起動権限の割当て
[プロセス起動権限]の[グループ名]には、グループの名前をひとつだけ指定することができます。グループ名の長さの上限は200文字
です。
6.16 アクティビティにロールを割り当てる
アクティビティをモデル化する際は、誰がアクティビティを処理するのか確認し適切なロールを割り当てます。各アクティビティ(Activity
ノード、Voting Activityノード、およびCompound Activityノード)にロールを割り当てる必要があります。ロールの割り当てが行われてい
ない場合、プロセス定義から作成されたプロセスインスタンスがエラーになります。
- 194 -
ここでは、アクティビティを1つのロールに割り当てる方法について説明します。アクティビティを特定のユーザーに割り当てる方法につ
いては、“11.2.1 アクティビティをユーザーに割り当てる”を参照してください。
アクティビティを割り当てる方法を説明します。
1. Activityノード、Voting Activityノード、またはCompound Activityノードを選択します。
2. [プロパティ]ビューの[一般]タブを選択し、担当者の[ロール]フィールドに担当者の名前を入力します。
6.17 ワークアイテム生成の設定
ActivityノードまたはCompound Activityノードが活性化すると、ロールに属するユーザーごとワークアイテムが生成されます。ユーザー
がそのワークアイテムを受理するとすぐに、そのアクティビティに関連付けられている他のワークアイテムは非活性になります。これによ
り、複数のユーザー間で互いの作業が重複しないようにすることができます。
ActivityノードまたはCompound Activityノードを選択した際に[プロパティ]ビューの[一般]タブに表示される[個別ワークアイテムの生
成]チェックボックスはオフにしないでください。必ずオンにしておく必要があります。
6.18 ユーザ定義属性の指定
UDAには、プロセス参加者がアクセス、変更、または追加する必要のあるデータが含まれています。UDAは、プロセスインスタンス内
のすべてのノードをすべてのUDAにアクセス可能にするため、プロセス定義レベルで定義されるグローバル変数です。
UDAの値は、プロセス実行中保持されます。プロセス参加者は、フォームや、JavaScript、Java Actionを使用して値を設定します。UDA
は、名前と識別子(ID)で構成されています。両方の値が、データベースに保存されます。デフォルトでは、UDAのIDは、システムによ
り自動的に設定されますが、固有のIDを指定することも可能です。UDA名は必要に応じて、UDAのIDに自動的にマッピングされま
す。UDAのIDは、QuickFormの作成時やJavaScriptの使用時など、特殊文字の使用を禁止している項目で使用されます。
たとえば、購買請求業務には、購入する品物、購入数、および費用を定義したUDAが設定されます。購買請求業務の担当者は、ユー
ザーアプリケーションのフォームなどから値を入力することで、UDAに値を設定できます。
ユーザ定義属性を指定する方法について説明します。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [ユーザ定義属性]タブを選択します。
3. [追加]をクリックします。以下のパラメーターを指定します。
フィールド
名前
説明
UDAの名前。
UDA名は、記述により、ユーザーが定義できます。
UDA名は、64文字以内で指定します。大文字、小文字は区別されません。
システムで使用するUDA名は、プレフィックスとして、アンダースコアを2つ持ちます。
ID
UDAを識別する固有の名前。
デフォルトでは、UDAのIDは、システムが発行します。しかし、独自のIDを指定することも可
能です。UDAのIDは、32文字以内で指定します。以下の文字から構成されます。
“a”~“z”、“A”~“Z”、“0”~“9”
IDの値を指定しない場合には、UDA名からASCII文字をのぞくすべての文字を削除して、自
動的にIDの値を構成します。これをUDAのサニタイズと呼びます。このサニタイズされた名前
(ID)が32文字以上、空文字、またはユニークでない場合には、uda1のように、uda<数字>の
形式でIDにプレフィックスが付加されます。付加される数字の値は、新しいIDが1回作成され
るごとに、1ずつ増えます。
注:[ID]フィールドは、[プロパティ]ビュー下部の[IDを表示する]を選択した場合にのみ、表示
されます。
タイプ
UDAのデータ型です。BIGDECIMAL、BOOLEAN、DATE、FLOAT、INTEGER、LONG、
STRING、XMLがあります。
- 195 -
フィールド
初期値
説明
UDAの初期値です。プロセス参加者はこの値を変更できます。XMLタイプのUDAを選択し
た場合、2つのボタンが追加表示されます。XMLデータタイプの設定に、それらのボタンを使
用できます。詳細については、“6.18.1 XML型のユーザ定義属性の指定”を参照してくださ
い。
初期値として以下の範囲の値を入力することができます。
INTEGER タイプ
• 最大値: 2147483647
• 最小値: - 2147483648
LONG タイプ
• 最大値: 9223372036854775807
• 最小値: - 9223372036854775808
Floatタイプ: 有効桁数は8桁です。
BIGDECIMALタイプ: 有効桁数は17桁です。
ワークリスト
UDAがワークリストUDAであるかどうかを示します。ワークリストUDAの場合は、プロセス参加
者がワークリストをフィルターおよびソートできるので、ワークリストアイテムをより迅速に取得で
きます。XMLタイプのUDAを選択した場合には、この欄は、無効になります。
注:STRING型のワークリストUDAの値は、256文字までです。256文字を超えた場合、自動運
用プロセスが実行時に中止状態になります。
トラック可能
UDAのトラッキングを有効または無効にします。UDAのトラッキングを有効にすると、プロセス
実行中に起こったUDAの値の変更を記録できます。
注:プロセス定義から作成されるすべてのプロセスインスタンスに初期設定が定義されます。
4. 指定するUDAごとに、手順3の操作を繰り返します。
以下は、3つのタイプのUDAが指定された [プロパティ]ビューの図です。
図6.18 UDAの指定
5. UDAの識別子を表示させる場合には、[IDを表示する]チェックボックスを選択します。
[ユーザ定義属性]タブに、新しい[ID]フィールドが追加され、新しいIDや既存UDAのIDを変更できます。
- 新しいIDを設定する:[ID]フィールドの空行を選択し、新しいIDを入力します。
- 既存のIDを変更する:[ID]フィールドで既存のIDを選択し、他のIDを入力します。
注意
IDを変更する場合には、Javascript式またはデータマッピングで参照されているIDのアップデートを実行してください。
- 196 -
UDAのIDを表示しない場合、または[ID]フィールドを空のままにしておいた場合には、自動的にデフォルト識別子が生成されま
す。(例:“Variable1”、“Variable2”、“Variable3”)
6. UDAの名前を変更するには、名前をダブルクリックし、必要な名前に変更します。
7. UDAを削除するには、削除するUDAを選択し、[削除]をクリックします。
[Shift]キーまたは[Ctrl]キーを使用して、複数のUDAを選択できます。
注意
プロセス定義で参照されるUDAの名前変更や削除はできません。UDAの名前変更や削除ができない場合は、その旨のメッセー
ジが表示されます。メッセージには、そのUDAの使用箇所も表示されます。
6.18.1 XML型のユーザ定義属性の指定
Systemwalker Runbook Automation Studioでは、XML型のユーザ定義属性(UDA)を作成して、システムの柔軟性を向上できます。
XMLデータ型を使用することで、さまざまな要素と属性を必要な数だけ作成できます。また、XML型のUDAは、使いやすく制限のな
い自己定義仕様です。
XML型のUDAを指定するには、以下の手順に従います。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。または、ノードを
選択して、ノードの[プロパティ]ビューを表示します。
2. [ユーザ定義属性]タブを選択します。
3. [追加]をクリックし、UDAのタイプとして“XML”を選択します。
[プロパティ]ビューの[初期値]列に、[XML]ボタンと[XMLスキーマ]ボタンが表示されます。これらのボタンは、XMLでないUDA
を選択した場合は使用できません。
図6.19 UDAの表示
注意
XML型のUDAは、ワークリストUDAにすることはできません。このため、XML型のUDAを選択した場合、[ワークリスト]列は無効
になります。
4. [名前]および[ID]フィールドで、XML型UDAのパラメーターを指定します。これらのパラメーターの詳細については、“6.18 ユー
ザ定義属性の指定”を参照してください。
5. [初期値]列で、[XML]ボタンを選択します。[ユーザ定義型UDAの値を編集]ダイアログが表示されます。
- 197 -
6. UDAの値を入力するか、XMLファイルを参照します。
- UDA値を入力する場合:[UDAの値]フィールドに、UDAの値を入力します。
- ファイルを参照する場合:[参照]ボタンをクリックし、ローカルファイルシステムからファイルを選択します。[UDAの値]フィー
ルドにファイルの内容が表示されます。このファイルの内容から値を選択し、[OK]をクリックします。
以下の例は、[XMLの値を編集]ダイアログでXML値を指定する方法を示しています。
図6.20 UDA値の指定
7. オプション:[初期値]列で、[XMLスキーマ]ボタンを選択します。[XMLスキーマの編集]ダイアログが表示されます。このダイアロ
グを使用して、UDAのXMLスキーマを入力するか、ローカルファイルシステム内のスキーマファイル(.xsd)を参照します。
8. UDAのXMLスキーマを入力するか、XMLファイルを参照します。
- XMLスキーマを入力する場合:[XMLスキーマ]フィールドに、UDAのXMLスキーマを入力します。
- ファイルを参照する場合:[参照]ボタンをクリックし、ローカルファイルシステムからファイルを選択します。[XMLスキーマの編
集]ダイアログにファイルの内容が表示されます。このファイルの内容から値を選択し、[OK]をクリックします。
- 198 -
以下の例は、[XMLスキーマの編集]ダイアログでXMLスキーマを指定する方法を示しています。
図6.21 XMLスキーマの指定
9. 指定するすべてのXML型UDAに対して、同じ操作を繰り返します。他のすべてのUDA型と同様に、以下の操作を実行できま
す。
- UDA識別子の表示:UDA識別子を表示または変更するには、[IDを表示する]チェックボックスをオンにします。別の[ID]列
に識別子が表示されます。
- UDAの名前変更:UDAの名前を変更するには、UDAの名前をダブルクリックし、新しい名前を入力します。
- UDAの削除:UDAを削除するには、削除するUDAを選択し、[削除]をクリックします。
6.19 Loopingの定義
プロセス定義では、個々のノードを定義せずに複数のノードインスタンスを生成する必要がある場合があります。通常、プロセス定義内
の各ノードに対して、実行時に生成されるノードインスタンスは1つだけです。
Loopingの定義では、Iterator (Parallel) LoopとSequential Loopの2つの繰り返し方法を定義することができ、1つのノード定義で複数の
ノードインスタンスを生成させることができます。このLoopingを定義したノードを、それぞれIterator (Parallel) Loopノード、Sequential
Loopノードと呼びます。
Iterator (Parallel) Loopノードでは、同時に複数のノードインスタンスを並行して生成します。Sequential Loopノードでは、ある条件を満
たしている間、逐次的にノードインスタンスを生成します。
例えば、受注管理のプロセス定義においては、注文に含まれるすべての品目に対して同じアクティビティ(例えば“承認”)を繰り返すこ
とが要求されます。“承認” ActivityノードにIterator (Parallel) Loopを定義することで各注文品のために新規のActivityノードを追加す
る必要がなくなります。Iterator (Parallel) Loopノードでは、プロセス定義の設計において、ユーザ定義属性を使用して、ノードインスタ
ンスの数を設定できます。
また、受注出荷のプロセス定義では、注文に含まれる品目がなくなるまで商品を出荷品に追加するアクティビティ、またはサブプロセス
を繰り返し実行する場合があります。このような場合、Sequential Loopノードを使用することで、条件を満たしている間、ノードインスタン
スを生成できます。
- 199 -
Sequential Loopノードでは、プロセス定義の設計において、繰り返し条件と最大繰り返し回数を指定し、どちらか、または組合せで、
ノードインスタンスの数を設定できます。
以降の各項では、Iterator (Parallel) LoopとSequential Loopの定義方法について説明します。
6.19.1 Iterator (Parallel) Loop
Iterator (Parallel) Loopノードは、同時に複数のノードインスタンスを並行して生成します。Activityノード、Subprocessノード、および
Chained-ProcessノードをIterator (Parallel) Loopノードとして定義できます。
Iterator (Parallel) Loopノードを定義する方法について説明します。
・ ActivityノードとSubprocessノードの場合
1. Iterator (Parallel) Loopノードとして定義したいノードを選択します。
2. [プロパティ]ビューの[一般]タブで、[Looping]の[Iterator (Parallel) Loop]を選択します。
3. [カウント]ドロップダウンリストで、INTEGER型のユーザ定義属性を選択します。選択されたユーザ定義属性の整数値は、生
成するノードインスタンス数であるとみなされます。
・ Chained-Processノードの場合
1. Iterator (Parallel) Loopノードとして定義したいノードを選択します。
2. [プロパティ]ビューの[一般]タブを選択します。
3. [Iteratorの設定]の[カウント]ドロップダウンリストからINTEGER型のユーザ定義属性を選択します。選択されたユーザ定義属
性の整数値は、生成するノードインスタンス数であるとみなされます。
注意
- [Iterator (Parallel) Loop]の[カウント]ドロップダウンリストでユーザ定義属性を選択しない場合は、選択されたノードはIterator
(Parallel) Loopノードとして定義されません。
- Iterator (Parallel) Loopノードが生成するノードインスタンスの数は、[カウント]ドロップダウンリストで選択したユーザ定義属性の
値となります。このユーザ定義属性に設定できる最大値は、ロールで指定される担当者の数に関係します。サーバ環境のセッ
トアップ状態やシステム負荷に影響しますが、担当者数にノードインスタンス数をかけた値が2000を超えないようにしてくださ
い。例えば、担当者数が10の場合、ユーザ定義属性の値は200以内としてください。
- Iterator (Parallel) Loopノードとして定義したActivityノードから引ける矢印(外向きの矢印)の数は1つだけです。
- Iterator (Parallel) Loopノードとして定義したActivityノードに、トリガを設定することはできません。
Iterator (Parallel) Loopノードを無効にするには、[Looping]で[なし]を選択してください。
Iterator (Parallel) Loopは、3つの垂直の平行線で表現されます。Iterator (Parallel) Loopノードとして定義した、Activityノード、Subprocess
ノード、Chained-Processノードを以下に示します。
図6.22 Activityノード
図6.23 Subprocessノード
- 200 -
図6.24 Chained-Processノード
6.19.2 Sequential Loop
Sequential Loopノードは、ある条件を満たしている間、逐次的にノードインスタンスを生成します。Activityノード、Subprocessノードおよ
びCompound ActivityノードをSequential Loopノードに定義できます。
Sequential Loopノードを定義する方法について説明します。
1. Sequential Loopノードとして定義したいノードを選択します。
2. [プロパティ]ビューの[一般]タブで、[Looping]の[Sequential Loop]を選択します。
3. ノードインスタンスを生成する繰り返しの条件と最大繰り返し回数を、以下の方法で設定します。
- 繰り返し条件を設定する場合は、[条件]チェックボックスをオンにして、条件とするJavaScript式を入力します。フィールドに直
接入力することも、[式の作成]ダイアログを使用して作成することもできます。入力した繰り返し条件が真(有効)の間、ノード
インスタンスを生成します。
注意
条件はノードインスタンスの生成の前に評価されます。条件が1回目から偽の場合、ノードインスタンスは1つも生成されませ
ん。
- 最大繰り返し回数を設定する場合は、[カウント]チェックボックスをオンして、フィールドに数値を入力するか、ドロップダウン
リストからINTEGER型のユーザ定義属性を選択します。入力した数値、または選択されたユーザ定義属性の整数値が、生
成するノードインスタンス数とみなされます。最大繰り返し回数のカウンタは、加算か減算かを選べます。
- [カウンタ加算]を選択した場合、繰り返し回数のカウンタは1から始まり最大繰り返し回数の値まで増加していきます。繰
り返し回数のカウンタが最大繰り返し回数になったときにループが終了します。
- [カウンタ減算]を選択した場合、繰り返し回数のカウンタは最大繰り返し回数の値から始まり1まで減少していきます。繰
り返し回数のカウンタが1になったときにループが終了します。
注意
- 繰り返しの条件と最大繰り返し回数のカウントは、どちらか一方、または両方を指定できます。両方を指定した場合は、どち
らかの条件に達したときにループが終了します。
- どちらも指定されない場合、選択されたノードはSequential Loopノードとして定義されません。
4. 繰り返しノードインスタンスを実行している間の例外処理をドロップダウンリストから選択します。
- [プログラムに基づいて例外を処理する]: ノードの例外処理設定に応じて、例外は処理されます。詳細は“例外処理オプショ
ンの動作”を参照してください。
- [無視してループを続ける]:エラーを無視してループを続行します。
- [ループを抜ける]:ループを終了します。
以下の例ではSequential Loopで[条件]と[カウント]の両方を定義しています。
- 201 -
図6.25 Sequential Loopの定義
注意
・ Sequential Loopノードから引ける矢印(外向きの矢印)の数は1つだけです。
・ Sequential Loopノードを定義したActivityノードに、期限、またはタイマーを設定することはできません。
Sequential Loopノードを無効にするには、[Looping]で[なし]を選択してください。
Sequential Loopノードは、丸い矢印で表現されます。Sequential Loopノードとして定義した、Activityノード、Subprocessノードおよび
Compound Activityノードを以下に示します。
図6.26 Activity ノード
図6.27 Subprocess ノード
- 202 -
図6.28 Compound Activity ノード
例外処理オプションの動作
以下の表に、ActivityノードをSequential Loopノードとして使用し、指定された例外処理が実行された際のループの動作、プロセスイン
スタンスおよびループノードインスタンスの状態を示します。
エラーが発生した
処理
指定した例外処理
開始アクション
ロールアクション
エージェント
プログラムに基づいて
例外を処理する
エラーが発生したループ
ノードインスタンスで停止
エラー
エラー
エラーを無視してルー
プを続ける
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続
終了
実行中
ループを抜ける
ループを抜け、次のノード
を活性化
中止
実行中
プログラムに基づいて
例外を処理する
選択操作の失敗
実行中
実行中
エラーを無視してルー
プを続ける
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続
終了
実行中
ループを抜ける
ループを抜け、次のノード
を活性化
中止
実行中
終了アクション
ループの動作
ループノードインスタ プロセスインスタンスの状態
ンスの状態
以下の表に、SubprocessノードをSequential Loopノードとして使用し、指定した例外処理が実行された際のループの動作、プロセスイ
ンスタンスおよびループノードインスタンスの状態を示します。
エラーが発生した
処理
開始アクション
終了アクション
指定した例外処理
ループの動作
ループノードインスタ 親プロセスの 子プロセスの
ンスの状態
状態
状態
プログラムに基づいて
例外を処理する
エラーが発生したループ
ノードインスタンスで停止
エラー
エラー
作成されな
い
エラーを無視してルー
プを続ける
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続
終了
実行中
作成されな
い
ループを抜ける
ループを抜け、次のノード
を活性化
中止
実行中
作成されな
い
プログラムに基づいて
例外を処理する
エラーが発生したループ
ノードインスタンスで停止
一時停止
エラー
一時停止
エラーを無視してルー
プを続ける
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続
終了
実行中
終了
- 203 -
エラーが発生した
処理
指定した例外処理
ループを抜ける
ループの動作
ループを抜け、次のノード
を活性化
ループノードインスタ 親プロセスの 子プロセスの
ンスの状態
状態
状態
中止
実行中
終了
以下の表に、Compound ActivityノードをSequential Loopノードとして使用し、指定した例外処理が実行された際のループの動作、プ
ロセスインスタンスおよびループノードインスタンスの状態を示します。
エラーが発生した
処理
指定した例外処理
ループの動作
開始アクション
ロールアクション
プログラムに基づいて
例外を処理する
エラーが発生したループ
ノードインスタンスで停止、
Compound Activityノード
の子ノードのインスタンスが
そのまま残ります。
エラー
エラー
エラーを無視してルー
プを続ける
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続、Compound
Activityノードの子ノードの
インスタンスがそのまま残り
ます。
終了
実行中
ループを抜ける
ループを抜け、次のノード
を活性化、Compound
Activityノードの子ノードの
インスタンスがそのまま残り
ます。
中止
実行中
プログラムに基づいて
例外を処理する
すべての子ノードインスタ
一時停止
ンスの完了によって
Compound Activityノード
が正常終了した場合、ルー
プはその特定のループノー
ドインスタンスで停止となり、
Compound Activityノード
およびその有効な子ノード
の状態は一時停止となりま
す。
終了アクション
エラーを無視してルー
プを続ける
ループノードインスタ プロセスインスタンスの状態
ンスの状態
エラー
Compound Activityノード
のワークアイテムを選択す
ると、エラーとなります。
サブプロセスで待機
実行中
ループ条件、ループカウン
トの上限値の設定に従い
ループを継続、子ノードイ
ンスタンスの状態は以下の
とおりです。
終了
実行中
・ すべての子ノードイン
スタンスの完了によっ
て Compound Activity
ノードが正常終了した
場合、子ノードインスタ
ンスの状態はそのまま
になります。
・ Compound
Activity
ノードのワークアイテム
を選択すると、有効な
- 204 -
エラーが発生した
処理
指定した例外処理
ループの動作
ループノードインスタ プロセスインスタンスの状態
ンスの状態
子ノードインスタンスの
状態は“終了”になりま
す。他の子ノードインス
タンスの状態はそのま
まになります。
ループを抜ける
ループを抜け、次のノード
を活性化、子ノードインスタ
ンスの状態は以下のとおり
です。
中止
実行中
・ すべての子ノードイン
スタンスの完了によっ
て Compound Activity
ノードが正常終了した
場合、子ノードインスタ
ンスの状態はそのまま
になります。
・ Compound
Activity
ノードのワークアイテム
を選択すると、有効な
子ノードインスタンスの
状態は“終了”になりま
す。他の子ノードインス
タンスの状態はそのま
まになります。
6.20 Compound Activity ノードの使用
個々のActivityより大きな範囲でプロセスの状態を確認したい場合があります。そのときにCompound Activity ノードを使用します。
Compound Activity ノードは、様々なノードや矢印を含むコンテナです。
Compound Activity ノードは、子ノードを含んでいます。Compound Activity ノードには、1つのStart ノードと少なくとも1つのExitノード
が含まれていなければなりません。また、矢印は、Compound Activity ノードの境界を越えて定義することはできません。
Compound Activity ノードは、Compound Activity ノード以外のすべてのノードを持つことができます。
以下にCompound Activity ノードの特徴を示します。
・ Compound Activity ノードの境界をドラッグして、リサイズすることができます。
・ Compound Activity ノード内に定義したExit ノードの名前と同じ名前の矢印を、Compound Activity ノードの外向きの矢印として定
義しなければません。
・ Compound Activity ノードは、1つのStartノードしか持つことができません。
・ Compound Activity ノードのデフォルト名はCompound Activity1です。 Compound Activity ノードの作成に応じて、末部の数字は
増加します。
・ Compound Activity ノードは、Iterator ノード、取戻し、投票ルールおよびトリガをサポートしません。
・ Compound Activityノードは、Iterator (Parallel) Loopノード、取戻し、投票ルールおよびトリガをサポートしません。
・ Compound Activity ノードに以下を定義することができます。
1. ユーザ定義属性:詳細は、“6.16 アクティビティにロールを割り当てる”を参照してください。
2. アクションセット:詳細は、“11.1 Java Action”を参照してください。
3. タイマー:詳細は、“6.22 期限とタイマー”を参照してください。
4. 期限:詳細は、“6.22 期限とタイマー”を参照してください。
- 205 -
5. フォーム:詳細は、“第8章 フォームの使用”を参照してください。
6. 優先度:詳細は、“6.7.3 アクティビティの優先度の定義”を参照してください。
6.20.1 Compound Activity ノードの作成
Compound Activity ノードを作成する方法を説明します。
1. プロセス定義エディタでプロセス定義を表示します。
2. パレットの[Compound Activity]ボタンをクリックし、プロセス定義エディタでクリックします。
Start ノードを持ったCompound Activityがエディタに表示されます。
3. 新規のプロセス定義の作成または既存のプロセス定義の更新時に、以下の操作を行います。
- Compound Activity ノードの子ノードを作成するために、パレットを使用してノードを作成し、矢印でノードを接続します。
- Compound Activity ノードの境界をドラッグして、必要な子ノードをCompound Activity ノードに含めます。Compound Activity
ノードの境界の内部に存在するノードは、子ノードとして定義されます。
注意
- ノードのすべての4つのコーナーがCompound Activity ノード領域の中にある場合、そのノードは子ノードとして取り扱われま
す。子ノードを選んで、Compound Activity ノードの外にドラッグすると、Compound Activity ノードからそのノードを除外する
ことができます。
- Compound Activityノードの中に少なくとも1つの子Exitノードが定義されていなければなりません。
- Compound Activityノードの子Exitノードの数とCompound Activityノードからの外向き矢印の数は同じである必要がありま
す。
- Compound Activityノードを移動するとき、Compound Activityノードの中のノードと矢印が一緒に移動します。しかし、スイム
レーン、注釈やグループは一緒に移動しません。Compound Activityノードの削除操作についても同様です。
4. Compound Activity ノードとそのCompound Activityノードの外側のノードを矢印で接続します。
注意
Compound Activityノードから外のノードに繋がる矢印の名前と、Compound ActivityのExitノードの名前は同じである必要があり
ます。
5. プロセス定義の[保存]を実行します。
以下にCompound Activityノードを示します。
図6.29 Compound Activityノード
- 206 -
6.21 フォーム情報の設定
フォーム情報は、プロセスインスタンスの起票やアクティビティの作業を業務アプリケーションの画面(JSPやサーブレットなど)で操作す
る場合に指定します。フォーム情報は、Startノード、Activityノード、Voting ActivityノードおよびCompound Activityノードと関連付け、
業務アプリケーションからはAPI経由でフォームの情報を取り出します。
フォーム情報を設定する方法を説明します。
1. 上述したノードの[プロパティ]ビューを開きます。
2. [フォーム]タブを選択します。
3. [追加]をクリックし、以下の情報を設定します。
- [フォーム名]:任意のフォーム名を入力します。
- [フォームパス]:業務アプリケーションの画面のパス(絶対または相対URL)を入力します。
4. 設定したいフォーム情報が複数ある場合は、3の手順を繰り返します。
6.22 期限とタイマー
期限は、活性状態になったアクティビティが完了する期限を指定します。また、期限に到達したときにそのアクティビティがまだ完了し
ていない場合の処理についても指定します。たとえば、アクティビティに設定しているユーザーへの割り当てや、メール送信を指定で
きます。期限は、Activityノード、Voting ActivityノードおよびCompound Activityノードに対して定義できます。
タイマーの期限が切れると、特定のアクションがトリガされます。たとえば、タイマーをDelayノードと組み合わせることで、プロセスの実
行を一定の時間停止します。タイマーは、1度だけ機能させることも、繰返し機能させることもできます。プロセス定義全体、個々のアク
ティビティ(Activityノード、Voting Activityノード、Compound Activityノード)、およびDelayノードに対してタイマーを定義できます。
期限およびタイマーを定義するときには、絶対時間または相対時間で指定します。相対時間で指定する場合は、通常のカレンダーに
基づいて指定することも、業務時間だけをカウントするビジネスカレンダーに基づいて指定することもできます。
以降の各節では、期限とタイマーの定義方法について説明します。また、独自のビジネスカレンダーを使用する手順についても説明
します。
6.22.1 期限の定義
期限を定義するときには、以下のタイプから選択できます。
・ 絶対: 期限を絶対時刻で設定します。たとえば、2010/01/01 00:00:00のようになります。
・ カレンダー: 通常のカレンダーに基づいて、相対的な期限を設定します。期限は、アクティビティが活性状態になる時刻から相対
的に計算されます。時間の計算には、1週間のすべての曜日(7日間)、1日のすべての時間(24時間)を使用します。このため、通常
の営業時間外に期限が設定されることもあります。
・ ビジネス: ビジネスカレンダーに基づいて、相対的な期限を設定します。時間の計算には、営業日と営業時間だけを使用します。
このため、アクティビティの期限は必ず通常の営業時間内に設定されます。
Systemwalker Runbook Automation Studioでは、ビジネスカレンダーを使用して営業日と営業時間を判断します。ビジネスカレン
ダーの詳細については、“6.22.4 ビジネスカレンダーの作成”を参照してください。
・ 詳細: 指定した式に従って期限を設定します。この式では、絶対的な期限または相対的な期限を定義します。時間の計算には、
通常のカレンダーまたはビジネスカレンダーを使用します。
期限を定義する方法について説明します。
1. 以下のどちらかの操作を行います。
- ノードの[プロパティ]ビューを表示するために、Activityノード、Voting ActivityノードまたはCompound Activityノードを選択
します。
- プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [期限]タブを選択します。
- 207 -
3. 以下の期限タイプの1つを指定します。
- 通常のカレンダーに基づく絶対的な日付の場合。
[絶対]を選択し、日付と時刻を入力します。
注意
[絶対]を選択し、日付と大きな値を設定した場合、24時間を1日と換算して、[日付]フィールドに加算されます。
注意
[時間]フィールドに、24:00:00より大きな値を設定した場合、24時間を1日と換算して、[日付]フィールドに加算されます。
注意
期限を定義するために、JavaScriptを[スクリプト]フィールドに入力します。詳細は、“6.22.2 タイマーの定義”参照してくださ
い。
- 通常のカレンダーに基づく相対的な日付の場合。
[カレンダー]を選択し、アクティビティの完了期限を、アクティビティが活性状態になってから何日後のいつ(何時間・何分・何
秒後)にするかを指定します。
注意
カレンダーの最大値は、カレンダー(日付と時間)をミリ秒で変換し、その値がLong.MAX_VALUEを超えない値です。
- ビジネスカレンダーに基づく相対的な日付の場合。
[ビジネス]を選択し、アクティビティの完了期限を、アクティビティが活性状態になってから何日後(営業日)の何時(営業時
間)にするかを指定します。
営業時間についてはいくつかのオプションがあります。絶対的な時刻、現在の時刻を基準とした相対的な時刻、始業時刻を
基準とした相対的な時刻、または終業時刻を基準とした相対的な時刻を指定できます。
- 式で指定する絶対的な日付または相対的な日付の場合。
[詳細]を選択し、式を入力します。
注意
[詳細]を選択して、日付を入力した場合、その入力した日付が、[ビジネス]で表現できる場合、その値は、[ビジネス]として表
示されます。
式で使用できる日付コードの詳細については、“6.22.3 時刻コードと日付コード”を参照してください。
4. [追加]をクリックし、期限に到達したときにアクティビティがまだ完了していない場合に実行するJava Actionを選択します。
デフォルトでは、空の状態の[Timer Actions]フォルダが表示されます。[Action]リストに、通常のJava Action、エラーアクション、
または補償アクションを追加できます。Java Actionについては、“11.1 Java Action”を参照してください。
- 208 -
3営業日後にアクティビティが完了していない場合は、メールが送信されます。
図6.30 期限の定義
6.22.2 タイマーの定義
タイマーの期限が切れると、特定のアクションがトリガされます。タイマーは、1回だけ機能させることも、繰返し機能させることもできま
す。タイマーは以下のエレメントに使用できます。
・ プロセス定義
タイマーを含むプロセス定義から新しいプロセスインスタンスが作成されるたびに、タイマーが実行されます。
・ Activityノード、Voting Activityノード、およびCompound Activityノード
ノードが活性状態になるとタイマーが実行されます。
・ Delayノード
プロセスの実行を一定の時間停止させる場合に、Delayノードとタイマーを組み合わせます。 Delayノードが活性状態になるとタイ
マーが実行されます。
注意
ご利用の環境によっては、タイマーで設定した時間と実際にタイマーが解除される時間に、1時間当たり1分程度の誤差がでる場合が
あります。
注意
サーバのプロジェクトのプロセス定義にタイマーを設定している場合は、以下について注意してください。
サーバを停止するなどの理由により、定義している開始日を過ぎることがあります。タイマーのタイプで、定期的のチェックボックスをオ
ンにしている場合は、プロセスは一度は実行されますが、その後はエラーとなります。
タイマーを定義するときには、以下のタイプから選択できます。
・ 絶対:
通常のカレンダーに基づく絶対的な日付を設定します。
絶対時間を日時で設定するかJavaScriptで設定します。例えば、日付とJavaScriptの両方を設定し、JavaScriptで4時間の値を返却
する場合、その設定した日付から4時間後に期限が設定されます。例えば、JavaScriptを定義しないか、JavaScriptの返却値が無効
な場合は、設定した日付で期限が設定されます。
- 209 -
・ カレンダー:
通常のカレンダーに基づいて、タイマーの期限が切れるまでの期間を設定します。
タイマーは、割り当てられているノードまたはプロセスインスタンスが活性状態になると開始します。時間の計算には、1週間のすべ
ての曜日(7日間)、1日のすべての時間(24時間)を使用します。このため、通常の営業時間外にタイマーが設定されることもありま
す。カレンダーの日付は、JavaScriptで定義された時間を起点に設定することもできます。例えば、日付とJavaScriptの両方を設定
した場合、JavaScriptで返却された日時を起点に入力された日付が計算され、それがタイマーの期限となります。JavaScriptが設定
されていない場合は、入力された日付がタイマーの期限となります。
・ ビジネス:
ビジネスカレンダーに基づいて、タイマーの期限が切れるまでの期間を設定します。
タイマーは、割り当てられているノードまたはプロセスインスタンスが活性状態になると開始します。時間の計算には、営業日と営
業時間だけを使用します。このため、タイマーの期限は必ず通常の営業時間内に設定されます。
注意
Systemwalker Runbook Automation Studioでは、ビジネスカレンダーを使用して営業日と営業時間を判断します。ビジネスカレン
ダーの詳細については、“6.22.4 ビジネスカレンダーの作成”を参照してください。
・ 詳細:
指定した式に従ってタイマーを設定します。この式では、絶対時刻タイマーまたは相対時刻タイマーを定義します。時間の計算に
は、通常のカレンダーまたはビジネスカレンダーを使用します。
タイマーを定義する方法について説明します。
1. 以下のどちらかの操作を行います。
- プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
- ノードの[プロパティ]ビューを表示するために、ノードを選択します。
ポイント
Delayノードをパレットから選択してドラッグアンドドロップし、ActivityノードやVoting Activityノードに関連付けることもできます。
タイマーの名前を入力した後、ノードの[プロパティ]ビューでプロパティを定義します。
2. [タイマー]タブを選択します。
3. [すべてのタイマー]領域で、[追加]ボタンをクリックします。
[タイマーの詳細]領域に、追加されたタイマーの情報が表示されます。
4. デフォルトで、新しいタイマー名は、“Timer1”となります。[名前]フィールドで名前を変更できます。
5. タイマーを変更するために、[すべてのタイマー]領域で、タイマーを選択します。
6. オプション: [説明]フィールドにタイマーの説明を入力することもできます。
7. タイマーを設定するために、以下のいずれかを設定します。
- 通常のカレンダーに基づく絶対的な時刻でタイマーを設定する方法について説明します。
1. [タイマーの詳細]領域の[タイプ]ドロップダウンリストで[絶対]を選択します。
2. [年]、[月]、[日]、[時間]フィールドに、年月日、時間を入力します。
3. JavaScriptを[スクリプト]フィールドに入力します。[スクリプト]フィールドに直接入力することも、[A+B]ボタンをクリックし
て 、 [ 式 の 作 成 ] ダ イ ア ロ グ を 表 示 し 、 そ の ダ イ ア ロ グ で JavaScript を 入 力 す る こ と も で き ま す 。 例 え ば、
- 210 -
“DateAdd(Packages.java.util.Date(), 4, "hh").getTime()”は、ノードが活性化されてから4時間後にタイマーの期限が設
定されます。以下の図は、 タイマー(タイプは[絶対])を示しています。
図6.31 タイマー(タイプは[絶対])
以下は、[式の計算]ダイアログを示しています。
図6.32 [式の計算]ダイアログ
- 211 -
注意
[時間]フィールドに、24:00:00より大きな値を設定した場合、24時間を1日と換算して、[日付]フィールドに加算されます。ノードま
たはプロセスインスタンスが活性化されてからの相対時間でタイマーを設定する方法について説明します。
- 通常のカレンダーに基づく相対的な時刻でタイマーを設定する方法について説明します。
1. [タイマーの詳細]領域の[タイプ]ドロップダウンリストで、[カレンダー]を選択します。
2. タイマーの期限を何日、何時間後で設定します。例えば、ノードが活性化されてから2日と3時間後にタイマーの期限
を設定する場合は、2日後03:00:00時間と入力します。
3. 繰り返して実行する[カレンダー]のタイマーを設定する場合は、[定期的]チェックボックスを選択し、タイマーが期限を
設定します。繰り返して実行する[カレンダー]のタイマーは通常のカレンダーに基づく周期的なタイマーです。 [定期
的]チェックボックスを選択していない場合は、タイマーが一度だけ実行される[カレンダー]のタイマーです。
4. JavaScriptを使用すると、相対的な期限を計算する起点を設定することができます。カレンダータイマーは、起点の時
間としてJavaScriptで返却された値を使用し、それを起点に相対的な時間を使用して期限を計算します。例えば、[日]
フィールドに2日と入力し、[スクリプト]フィールドに“uda.get("RequestDate")”を入力した場合、スクリプトの返却した日
時から2日後がタイマーの期限となります。 RequestDateの値は、Dateのクラスのlong値を設定します。
注意
カレンダーの最大値は、カレンダー(日付と時間)をミリ秒で変換し、その値がLong.MAX_VALUEを超えない値です。
- ビジネスカレンダーを使用してタイマーを設定する方法について説明します。
1. [タイマーの詳細]領域の[タイプ]ドロップダウンリストで、[ビジネス]を選択します。
2. 何営業日後にタイマーの期限を設定します。ビジネス時間に対して、以下のオプション(“現在時刻に対して”、“開始
時刻に対して”、“終了時刻に対して”,“絶対時刻”)を選択することができます。
3. 繰り返して実行する[ビジネス]のタイマーを設定する場合は、[定期的]チェックボックスを選択し、タイマーの期限を設
定します。繰り返して実行する[ビジネス]のタイマーはビジネスカレンダーに基づく周期的なタイマーです。 [定期的]
チェックボックスを選択していない場合は、タイマーが一度だけ実行される[ビジネス]のタイマーです。
- タイマーの式を使用してタイマーを設定する方法について説明します。
1. [タイマーの詳細]領域の[タイプ]ドロップダウンリストで、[詳細]を選択します。タイマーの式については、“6.22.3 時刻
コードと日付コード”を参照してください。
2. 繰り返して実行する[詳細]のタイマーを設定する場合は、[定期的]チェックボックスを選択し、タイマーの期限を設定し
ます。[定期的]チェックボックスを選択していない場合は、タイマーが一度だけ実行される[詳細]のタイマーです。
注意
[詳細]を選択して、日付を入力した場合、その入力した日付が、[ビジネス]で表現できる場合、その値は、[ビジネス]として表示
されます。
注意
定期タイマーは常に指定されたイベントと相対的に設定されます。定期タイマーが最初に起動するのは、プロセスインスタンスま
たはノードが活性化された時刻との相対時刻です。その次からは、最後にタイマーが起動した時刻からの相対時刻に起動しま
す。
8. [追加]をクリックし、タイマーの期限が切れたときに実行するアクションを選択します。
[アクション]リストに、通常のアクション、エラーアクション、または補償アクションを追加できます。
アクションについては、“11.1 Java Action”を参照してください。
- 212 -
以下の図は、1 営業日後に期限が切れるタイマーを示しています。タイマーの期限が切れると、アクティビティはエスカレートされ
ます。
図6.33 タイマーの定義
定義するタイマーごとに、1つまたは複数のUDAが作成されます。UDA名は、タイマーとタイマーアクションを識別します。
たとえば、一般的なUDA名が__atmr_publication_timeであるとします。この場合の__atmrはこれがタイマーであることを示し、publication
にはタイマーの名前が指定され、timeにはUDAの機能が指定されます。
これらのUDAは、フォーム、アクション、またはJavaScriptを使用して変更できます。
タイマーにMake Choiceアクションが定義済みで、そのアクションの選択アイテムとして矢印の名前も定義済みの場合、Activityノード、
Voting ActivityノードまたはCompound Activityノードを他のノードと接続する矢印には、以下のようなシンボルが追加されます。
図6.34 タイマーのシンボル
6.22.3 時刻コードと日付コード
期限とタイマーの[詳細]には、式の設定が可能です。
例:UC(Japan);BD(1);OT(00)
UCの詳細については、“6.22.6 期限またはタイマーにビジネスカレンダーを割り当てる”を参照してください。
時刻コード
コード
意味
例
AT
1日のうちの絶対時刻を設定します。
AT(16:30:00): その日の午後4時30分。
CT
1日の終業時刻に対して相対的に表され
る時刻を設定します。
CT(00): 終業時刻。
CT(-02:00:00): 終業時刻の2時間前。
設定可能な値: 00またはマイナスの時間。
一般的には、終業時刻までの相対的な
時刻を計算するために、終業時刻ととも
にマイナスの時間を使用します。
OT
1日の始業時刻に対して相対的に表され
る時刻を設定します。
OT(00): 始業時刻。
OT(02:00:00): 始業時刻の2時間後。
- 213 -
コード
意味
例
設定可能な値: 00またはプラスの時間。
BT
現在の時刻に対して相対的に表される営
業時刻を設定します。
BT(04:30:00): 営業時刻で現時刻から4時間30分後。
BT(-02:00): 営業時間の2時間前。
BT(00): 現在の時刻が営業時刻ではない場合に、時
刻を変えずに次の営業時刻を順方向検索することがで
きます。営業日によって営業時刻が異なる場合は、こ
れを使用する必要があります。
BT(-00): 直前の営業時刻に逆方向検索する場合に使
用します。現在の時刻がすでに営業時刻になっている
場合は無効です。
日付コード
コード
BD
意味
営業日を設定します。
例
BD(4): 今日から4営業日後。
BD(0): その日が営業日の場合は同じ日、営業日でな
い場合は翌営業日。
BD(-0): その日が営業日の場合は同じ日、営業日でな
い場合は前営業日。
RD
WD
現在の日付から日付を相対的に設定し
ます。
RD(7): 1週間後。
曜日を設定します。
WD(1): その週の日曜日。
設定可能な値: 1以上。
WD(7): その週の土曜日。
RD(-1): 1日前。
WD(8): 次の週の日曜日。
今日以降の次の曜日を設定します。
WN(1): 今日以降の次の日曜日。
設定可能な値: 1から7。
WN(7): 今日以降の次の土曜日。
RM
将来の月を相対的に設定します。その月
に十分な日数がないため同じ日に設定
できない場合は、月の最後の日になりま
す。
RM(3): 3か月後。
DM
月の特定の日を設定します。
DM(1): 月の最初の日。
設定可能な値: -1、1から31
DM(-1): 月の最後の日。
月の特定の営業日を設定します。
BM(1): 月の最初の営業日。
設定可能な値: -1、1から31
BM(-1): 月の最後の営業日。
その年の特定の日を設定します。
DY(1): 年の最初の日。
設定可能な値: -1、1から365
DY(-1): 年の最後の日。
その年の特定の営業日を設定します。
BY(1): 年の最初の営業日。
設定可能な値: -1、1から365
BY(-1): 年の最後の営業日。
WN
BM
DY
BY
6.22.4 ビジネスカレンダーの作成
期限やタイマーを定義するときに、通常のカレンダーの代わりにビジネスカレンダーを使用することができます。ビジネスカレンダーは、
組織の営業時間と営業日を定義するものです。ビジネスカレンダーを使用することによって、タイマーが必ず営業時間内に切れるよう
にすることができます。期限についても同様です。ビジネスカレンダーを使用することによって、アクティビティの期限が必ず営業時間
内に設定されるようにすることができます。
- 214 -
Systemwalker Runbook Automation Studioには、デフォルトのビジネスカレンダーが用意されています。このデフォルトのビジネスカレ
ンダーに修正を加えることも、独自のビジネスカレンダーを作成することもできます。ビジネスカレンダーは、組織のニーズに応じて必
要なだけ作成できます。たとえば、営業日や祝日の異なる複数の地域に組織の部門が分散されている場合は、地域ごとにビジネスカ
レンダーを作成します。
ビジネスカレンダーを作成する方法について説明します。
1. ワークフローアプリケーションプロジェクトで、[Calendar]フォルダを右クリックし、[新規] - [カレンダー]の順に選択します。
[新規カレンダー]ダイアログが表示されます。[プロジェクト]フィールドに自動的にビジネスカレンダーを作成したいワークフロー
アプリケーションプロジェクトの名前が表示されます。
図6.35 [新規カレンダー]ダイアログの表示
2. 別のプロジェクトを選択した場合には、[参照]をクリックします。
[フォルダの選択]ダイアログが表示されます。新しいカレンダーファイルのプロジェクトのディレクトリを選択します。カレンダーファ
イルのデフォルト名は、<任意の名前>.calになります。
拡張子.calは、そのファイルがビジネスカレンダーであることを示します。カレンダーは、プロパティ、もしくは、営業日や営業時間
を指定する初期化ファイルのようなものです。
3. 新しいカレンダーファイルが保存されるプロジェクトを選択し、[OK]をクリックします。ファイル名がすでに存在している場合には
新しい名前を入力し、ファイル名の重複を避けるようにしてください。
4. [名前]フィールドに新しいカレンダーファイルの名前を入力し、[完了]をクリックします。
新しいカレンダー(.cal)ファイルは、選択したプロジェクトの[Calendar]フォルダに自動的に保存されます。
以下の図は、新しいmyNewBusinessCalendar.calファイルの保存場所を示しています。
図6.36 新しいカレンダーファイルの保存場所
- 215 -
新しいファイルは、.calファイルを開くために指定してあるテキストエディタで自動的に開きます。デフォルトのカレンダーファイル
は、C:\Fujitsu\Systemwalker\SWRBA_Studio\ibpm\Data\calendarディレクトリに保存されています。ファイルは以下のようにな
ります。
注意
日本で管理サーバを動作させる場合は、以下のコードをカレンダーファイルに追加してください。
TIMEZONE=+9:00;
EVERYDAY=8:30,18:00;
SAT=;
SUN=;
2009/01/01=;
2010/01/01=;
2011/01/01=;
2012/01/01=;
2013/01/01=;
2014/01/01=;
2015/01/01=;
2016/01/01=;
CALENDAR_BEGIN=2009/01/01;
CALENDAR_END=2018/12/31;
5. ビジネスカレンダーを定義します。
例として、デフォルトのカレンダーを使用できます。ビジネスカレンダーの形式の詳細については、“6.22.4.1 ビジネスカレンダー
の形式”を参照してください。
注意
変更の保存は、[ファイル]メニューの[保存]で行います。[別名保存]は使用できません。
作成したビジネスカレンダーは、プロセス定義または特定のタイマーに割り当てることができます。
6.22.4.1 ビジネスカレンダーの形式
ビジネスカレンダーの形式を以下に示します。
ビジネスカレンダーには、以下のパラメーターを使用して営業時間を指定します。
・ EVERYDAY
デフォルトの営業時間を指定します。
・ <曜日>
通常、1週間の営業日から土日などの曜日を除外するために使用します。
・ <日付>
通常、1年間の営業日から休暇を除外するために使用します。
これらのパラメーターには、以下の優先順位があります。
<日付> > <曜日> > EVERYDAY
例: 営業時間を以下のように設定できます。
EVERYDAY=9:00,17:00;
FRI=9:00,14:00;
2007/06/08=09:30,13:00;
この例では、6月8日金曜日は午前9時半から午後1時、そのほかの金曜日は午前9時から午後2時、それ以外のすべての曜日は午前
9時から午後5時という営業時間が設定されています。
- 216 -
以下にカレンダーファイルで使用できる各パラメーターについて詳細を説明します。
EVERYDAY
このパラメーターは必須です。このパラメーターは、すべての曜日に適用されるデフォルトの営業時間を定義します。
例: EVERYDAY=9:00,17:00;
<曜日>
このパラメーターは、特定の曜日に適用されるデフォルトの営業時間を定義します。指定曜日については、この設定がEVERDAYパラ
メーターの設定よりも優先されます。
例: 特定の曜日(SUN、MON、TUE、WED、THU、FRI、SAT)の営業時間を以下のように指定できます。
FRI=9:00,16:00;
時間を特に指定しない場合、その曜日は営業日外ということになります。
このパラメーターは、通常、1週間の営業日から土日を除外するために使用します。その場合は、土曜日と日曜日にnull値を設定しま
す。1週間の営業日から土曜日と日曜日を除外する方法を以下の例に示します。
SAT=; SUN=;
<日付>
このパラメーターは、特定の日付の営業時間を定義します。この設定は、EVERYDAYパラメーターまたは<曜日>パラメーターの設定
よりも優先されます。
形式: yyyy/mm/dd (年/月/日)
このパラメーターは、通常、1年間の営業日から休暇を除外するために使用します。
例: 2007/01/01=;
また、特別な用件があって昼休みを長く取る場合など、特別な時間を指定する場合にも使用されます。
例: 2007/12/01=9:00,12:00;15:30,17:00;
DST
このパラメーターは、夏時間(DST: Daylight Saving Time、サマータイム)の調整用に使用されます。
形式: <日付>=DST(<調整時間数>)
<調整時間数>には、0時間から4時間までの値を指定できます。
例: 春に時間を進め、秋に時間を戻すように調整する方法について説明します。
2006/04/20=DST(1);
2006/10/19=DST(0);
DST(<調整時間数>)と時間の指定を組み合わせることはできません。たとえば、2006/10/20=DST(1);9:00,12:00;13:00,17:30;のような
指定は正しくありません。
CALENDAR_END
このパラメーターは必須です。このパラメーターは、カレンダーの有効期限日を定義します。このパラメーターに指定された日付が過ぎ
ると、該当カレンダーは使用できなくなります。タイマーの有効期限がこの日付よりも後に設定されている場合は、配列の範囲外エラー
が発生し、タイマーは適切に機能しません。
デフォルト値: CALENDAR_END=2010/12/31;
CALENDAR_BEGIN
このパラメーターは必須です。このパラメーターは、カレンダーの発効日を定義します。このパラメーターに指定された日付以前に、該
当カレンダーを使用することはできません。タイマーの有効期限がこの日付よりも前に設定されている場合は、配列の範囲外エラーが
発生し、タイマーは適切に機能しません。
デフォルト値: CALENDAR_BEGIN=2003/01/01;
- 217 -
注意
カ レ ン ダ ー の 有 効 期 間 は 最 長 10 年 で す 。 こ の た め 、 ビ ジ ネ ス カ レ ン ダ ー の 発 効 日 (CALENDAR_BEGIN) と 有 効 期 限 日
(CALENDAR_END)には、最長で10年間離れた日付を指定できます。
TIMEZONE
このパラメーターは必須です。このパラメーターは、クライアントの所在地のタイムゾーンをグリニッジ標準時(GMT)を基準とした表記で
定義します。
例: 日本の標準時(JST)は、グリニッジ標準時(GMT)よりも9時間進んでいるため、TIMEZONE=+9:00;と指定します。
6.22.5 ビジネスカレンダーをプロセス定義に割り当てる
各プロセス定義にそれぞれ異なるビジネスカレンダーを割り当てることができます。
前提条件は以下です。
・ 独自のビジネスカレンダーを作成している。
ビジネスカレンダーをプロセス定義に割り当てる方法を説明します。
1. プロセス定義の[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
2. [ユーザ定義属性]タブを選択します。
3. STRING型のUDA __businessCalendarをプロセス定義に追加します。拡張子.calを除いたビジネスカレンダー名を値として指定
します。
以下の例では、Japan.calという名前のビジネスカレンダーをプロセス定義に割り当てています。
図6.37 ビジネスカレンダーの割当て
6.22.6 期限またはタイマーにビジネスカレンダーを割り当てる
前提条件: 独自のビジネスカレンダーを作成している。
特定の期限またはタイマーにビジネスカレンダーを割り当てることができます。その期限またはタイマーは、割り当てられたビジネスカ
レンダーに基づいて計算されます。
ビジネスカレンダーをタイマーまたは期限に割り当てる方法を説明します。
1. タイマーまたは期限を詳細に定義します。 手順については、“6.22.1 期限の定義”または“6.22.2 タイマーの定義”を参照してく
ださい。
2. [式の設定]フィールドに以下の式を入力します。
UC(<ビジネスカレンダー>);
<ビジネスカレンダー>には、拡張子.calを除いたビジネスカレンダー名を指定します。
- 218 -
以下の例では、Japanという名前のビジネスカレンダーをタイマーに割り当てています。
図6.38 タイマーへのビジネスカレンダーの割当て
6.23 投票ルールの定義
投票ルールの定義について説明します。
前提条件は以下です。
・ プロセス定義にVoting Activityノードを追加している。
・ Voting Activityノードに外向き矢印がある。
Voting Activityノードは、ユーザー同士が連携して1つのアクティビティを処理できるようにするノードです。すべてのユーザーがそれ
ぞれの選択(投票)を行うことができます。すべてのユーザーの投票が行われます。投票ルールに従って選出された投票は、外向きの
矢印で表されます。
以下の図は、あるプロジェクトの変更に関する要求があった場合に、管理者が投票を行う例を示しています。
図6.39 変更要求への投票
すべての外向き矢印について投票ルールを定義します。投票ルールには以下のタイプがあります。
- 219 -
・ 過半数ルール
矢印にこのルールが割り当てられている場合は、その矢印への投票が過半数を得るとその矢印が選ばれます。
たとえば、“可決”という名前の矢印にこのルールが割り当てられた場合は、“可決”矢印への投票が過半数を得たときに、その矢
印が選ばれます。プロセスインスタンスは“可決”矢印に従って次のアクティビティに進みます。
・ パーセントルール
矢印にこのルールが割り当てられている場合は、その矢印への投票が指定した割合に達するとその矢印が選ばれます。
たとえば、“可決”という名前の矢印に50%のルールが割り当てられた場合は、“可決”矢印への投票が全投票数の50%に達したと
きに、その矢印が選ばれます。
・ 投票数ルール
矢印にこのルールが割り当てられている場合は、その矢印への投票が指定した投票数に達するとその矢印が選ばれます。
たとえば、“否決”という名前の矢印に“1”が割り当てられている場合は、“否決”矢印への投票が1つでもあるとその矢印が選ばれ
ます。
投票ルールを定義するときには、デフォルトのルールも選択します。どのルールにも当てはまらない場合は、デフォルトのルールが選
択されます。
投票ルールを定義する方法について説明します。
1. Voting Activityノードを選択します。
2. [プロパティ]ビューで[投票ルール]タブを選択します。
[すべての投票ルール]領域に、Voting Activity ノードのすべての外向き矢印が表示されます。
3. すべての矢印について、投票ルールを定義します。
4. 以下のどちらかの操作を行います。
- 投票ルールに一致したらすぐにアクティビティを完了させる場合は、[各投票について投票ルールを評価]を選択します。
- 必ず全員が投票できるようにする場合は、[すべての票が投じられたら投票ルールを評価]を選択します。
5. デフォルトの矢印を定義する場合は、その矢印を選択し、[デフォルト]ボタンをクリックします。
6. 投票ルールの評価順序を変更するには、ルールを選択し、[上へ]または[下へ]をクリックします。
すべての外向き矢印は、このタブに表示された順序で確認され、最初に一致したルールが選択されます。有効なルールが見つ
からない場合は、ルールに当てはまらなくても、デフォルト値として定義した矢印が選択されます。
例
以下の図は、パーセントルールの例を示しています。マネージャーの少なくとも75%が投票した場合に、決定が承認されます。[すべて
の票が投じられたら投票ルールを評価]が設定されているため、すべてのマネージャーが必ず投票します。
- 220 -
図6.40 パーセントルール
次の例は、過半数ルールの例を示しています。ユーザーの過半数が賛成投票または反対投票を行った場合に、決定が承認または却
下されます。賛成投票と反対投票が同数の場合は、デフォルトの投票ルールが使用されます。この場合は、既定のルールに従って決
定が却下されます。
図6.41 過半数ルール
以下の例では、すべてのユーザーが賛成投票を行った場合にだけ、決定が承認されます。ユーザーが1人でも反対投票を行うとすぐ
に決定が却下され、プロセスは次のアクティビティに進みます。
- 221 -
図6.42 “投票数”ルール
6.24 分岐条件の定義
分岐条件の定義について説明します。
前提条件は以下です。
前提条件:
・ プロセス定義にConditionalノードを追加している
・ Conditionalノードに外向き矢印がある
・ 評価するUDAを指定している
Conditionalノードは、いくつかの選択肢の中からプロセスが進む1つの方向を示すステップです。ノードの外向き矢印はプロセスが進
むことのできる方向を表しています。どの方向に進むかは、UDAの値によって決定されます。
以下の図は、購買プロセスの一部を示しています。価格がある限度を下回る場合は、チームのメンバーが直接商品を注文できます。
それ以外の場合は、プロジェクトマネージャーの承認が必要になります。
図6.43 Conditionalノードの使用
分岐条件の定義では、デフォルトの矢印も定義できます。どの分岐条件とも一致しない場合は、デフォルトの矢印が選択されます。評
価するConditionalノードの値を入力しない場合も、デフォルトの矢印が選択されます。
分岐条件を定義する方法について説明します。
- 222 -
1. Conditionalノードを選択します。
2. [決定ルール]タブを選択します。
3. [評価する変数]領域で、評価する変数を選択します。XMLタイプのUDAを選択した場合は、[XPath]フィールドに評価で使用す
るXPathを入力します。
注意
XML以外のUDAタイプを選択した場合には、[XPath]フィールドは無効になります。
4. オプション:[XPath]カラムで選択したXPathを編集する場合は、[編集]ボタンをクリックします。[XPath エディタ]ダイアログが表示
され、XPathを編集することができます。
注意
[XPath]フィールドには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択されたユーザ
定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択されたユーザ
定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両方定義さ
れている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタは編集されたXPathの正当性を確認しません。
5. Conditional ノードを起点とする各矢印に、UDA の値と比較する評価基準を指定します。
図6.44 分岐条件の定義
6. デフォルトの矢印を定義する場合は、その矢印を選択し、[デフォルト]ボタンをクリックします。
7. 分岐条件の評価順序を変更するには、分岐条件を選択し、[上へ]または[下へ]をクリックします。
すべての外向き矢印は、このテーブルに表示された順序で確認され、最初に一致した分岐条件が選択されます。有効な分岐
条件が見つからない場合は、分岐条件に当てはまらなくても、デフォルト値として定義した矢印が選択されます。
分岐条件を詳細に指定する場合は、ConditionalノードではなくComplex Conditionalノードを使用します。
- 223 -
6.25 複合分岐条件の定義
前提条件:
・ プロセス定義にComplex Conditionalノードを追加している
・ Complex Conditionalノードに外向き矢印がある
・ 評価するUDAを指定している
Conditionalノードを使用するときに指定できるのは単純な分岐条件だけです。UDAが指定した値と同じであるか、指定した値より小さ
いか、または大きいかだけを指定できます。Complex Conditionalノードの場合は、JavaScript式を使用して、より柔軟に分岐条件を指
定できます。
複合分岐条件を定義する方法について説明します。
1. Complex Conditionalノードを選択します。
2. [決定ルール]タブを選択します。
図6.45 複合分岐条件の定義
3. Complex Conditionalノードを起点とする各矢印に、JavaScript式を指定します。各矢印の[条件]の列を選択します。JavaScript式
を直接入力することも、[式の作成]ダイアログを使用して作成することもできます。詳細については、“11.14 JavaScript式の定義”
を参照してください。
矢印に指定したJavaScript式がtrueに評価されると、その矢印が選択されます。
4. デフォルトの矢印を定義する場合は、その矢印を選択し、[デフォルト]ボタンをクリックします。
5. 分岐条件の評価順序を変更するには、分岐条件を選択し、[上へ]または[下へ]ボタンをクリックします。
すべての外向き矢印は、このダイアログに表示された順序で確認され、最初に一致した分岐条件が選択されます。有効な分岐
条件が見つからない場合は、分岐条件に当てはまらなくても、デフォルト値として定義した矢印が選択されます。
- 224 -
第7章 プロセス フラグメントの使用
プロセスフラグメントは、プロセス定義へ追加できる、事前に定義された再利用可能なプロセス定義のフラグメント(断片)です。プロセス
定義を効率的に作成するために、プロセスフラグメントを使用します。
プロセスフラグメントは、[ナビゲーター]ビューに表示されます。新しいプロセスフラグメントが作成されると、それはProcess Fragmentsプ
ロジェクトのBusiness プロセスフラグメント(.bpf)ファイルとして[ナビゲーター]ビューに表示されます。
プロセスフラグメントファイルを開くと、プロセス定義エディタにそれが表示されます。このエディタで、プロセスフラグメントを編集するこ
とができます。
図7.1 Process Fragmentsプロジェクト
Workflow PatternsフォルダはProcess Fragmentsプロジェクトフォルダの中のデフォルトフォルダです。 このフォルダはプロセス定義に
使用する6つの事前に定義されたパターンを含んでいます。Process Fragmentsプロジェクトに新しいフォルダを作成し、そのフォルダに
新しいプロセスフラグメントファイルを保存することができます。
プロセスフラグメントの詳細は、以下を参照してください。
・ “7.1 プロセスフラグメントの作成”
・ “7.2 プロセス定義へプロセスフラグメントを追加”
7.1 プロセスフラグメントの作成
プロセスフラグメントを作成する方法について説明します。
1. アクティブなプロセス定義エディタにおいて、プロセスフラグメントとして再利用したいノードや矢印を選択します。
注意
- もしノードや矢印を選択していない場合、以前の操作でコピーされたノードや矢印が使用されます。
2. [Process Fragments]プロジェクトを右クリックします。ポップアップメニューから[新規]>[プロセスフラグメント]を選択します。また
は、[ファイル]>[新規]>[プロセスフラグメント]の順に選択します。
3. プロセスフラグメントを保管するためのフォルダ名を入力します。[参照]ボタンをクリックして、プロセスフラグメントを保存したいフォ
ルダを検索することができます。
4. [名前]フィールドにプロセスフラグメント名を入力します。
5. [説明]フィールドにプロセスフラグメントの説明を入力します。
6. [完了]ボタンをクリックします。
- 225 -
プロセス定義エディタにプロセスフラグメントが表示されます。このエディタでプロセスフラグメントを編集し、保存することができます。
注意
プロセス定義と異なって、プロセスフラグメントには、Start ノードが必須ではありません。
[ナビゲーター]ビューのProcess Fragmentsプロジェクト配下にBusiness プロセスフラグメント(.bpf)が表示されます。
7.2 プロセス定義へプロセスフラグメントを追加
前提条件:追加したいプロセスフラグメントが、Process Fragments プロジェクトで利用可能であることを確認してください。
プロセスフラグメントをプロセス定義に追加する方法について説明します。
1. プロセス定義エディタでプロセスフラグメントを追加したいプロセス定義を開きます。
2. [ナビゲーター]ビューで、追加したいプロセスフラグメントファイルを選択します。
3. プロセスフラグメントをプロセス定義エディタにドラッグアンドドロップします。
プロセスフラグメントのノードと矢印はプロセス定義に追加されます。
プロセスフラグメントがドロップされた位置に、プロセスフラグメントの左上が位置付きます。
プロセスフラグメントをプロセス定義に追加する場合の注意事項を以下に示します。
・ Start ノードが定義されたプロセスフラグメントをプロセス定義に追加する場合、プロセス定義に存在するStart ノードをプロセスフラ
グメントのStart ノードに置き換えるか否かの確認ダイアログを表示します。もし、プロセスフラグメントのStartノードに置き換えるなら
ば、プロセス定義のStartノードから出る矢印は、プロセスフラグメントのStartノードに再接続されます。
・ スイムレーンには、スイムレーンスタイルのプロパティがあります。プロセスフラグメントを追加するプロセス定義とこのプロセスフラグ
メントのスイムレーンスタイルが異なる場合、追加されたプロセスフラグメントのスイムレーンスタイルは、プロセス定義のスイムレー
ンスタイルに変更されます。
・ プロセスフラグメントをプロセス定義に追加するとき、プロセスフラグメントに定義されたノードで使用されるユーザ定義属性は、プロ
セス定義にコピーされます。このプロセス定義に既に同じ名前のユーザ定義属性が定義されている場合は、コピーされません。こ
のプロセス定義に、同じ名前のシステムで生成されたユーザ定義属性が定義されている場合は、ユーザ定義属性の名前を変更し
てコピーされます。
- 226 -
第8章 フォームの使用
ほとんどのビジネスプロセスでは、情報に基づく決定とアクションが必要です。ユーザーはフォームを通して情報を表示したり、情報に
アクセスすることができます。
フォームは、構造化されたフィールドベースのHTMLファイルです。フォームは、Systemwalker Runbook Automationと構造化された
データリポジトリの間でデータを交換するためのインターフェースとして機能します。
フォームは以下の目的で使用します。
・ ユーザ定義属性(UDA)に保存されたデータを表示またはレポートするため
・ UDAに保存されたデータをユーザーが追加または変更できるようにするため
フォームは、Startノード、Activityノード、Voting Activityノード、およびCompound Activityノードに関連付けることができます。必要に
応じて、1つのフォームを複数のノードに関連付けることができます。逆に、1つまたは複数のフォームを1つのノードに関連付けることも
できます。複数のフォームを1つのノードに関連付ける場合、Webコンソールは関連付けたフォームごとにタブを作成します。ユーザー
は、そのタブをクリックして、フォームを選択します。
Systemwalker Runbook Automationでは、QuickFormを使用することができます。
QuickFormは、UDAの値を表示/更新するためのフォームです。QuickFormはAjaxページエディタを使用して定義します。このエディ
タでは、フォームの部品(UI部品と呼びます。TextInput、SelectやRadioButtonなど)を自由にレイアウトすることができ、これらのUI部品
とUDAを関連付けて、UDAの値の表示/更新を行います。
QuickFormのUI部品の詳細は、“Systemwalker Runbook Automation リファレンスガイド”の“QuickForm UI部品リファレンス”を参照し
てください。
8.1 QuickFormの作成
QuickFormは、Ajaxページエディタで作成します。
QuickFormを作成するには、以下の手順に従います。
1. フォームエディタを開く方法は2つあります。
a. [ナビゲーター]ビューで、QuickFormを作成するワークフローアプリケーションプロジェクトを選択し、[ファイル]メニューか
ら[新規] > [QuickForm]を選択します。
b. プロセス定義エディタで、QuickFormを作成するワークフローアプリケーションプロジェクトのプロセス定義を開き、関連す
るStartノード、Activityノード、Voting Activityノード、またはCompound Activityノードをクリックして、ポップアップメニュー
から[QuickForm] > [新規作成]を選択します。
- 227 -
以下の画面が開きます。
図8.1 QuickFormの作成
2. [プロジェクト]フィールドに、選択したワークフローアプリケーションプロジェクトのwebフォルダ名が表示されます。
3. [名前]フィールドにQuickForm名を入力し[完了]をクリックします。
webフォルダに新しいQuickForm(.jspファイル)が作成されます。
注意
QuickForm(.jspファイル)名とQuickFormのサブフォルダ名には、以下の特殊文字は使用できません。
$@&<>?;#:=,"'~+%
注意
QuickForm(.jspファイル)およびQuickFormを含むワークフローアプリケーション/webフォルダ配下のサブフォルダには、webではじま
る名前を使用しないでください。
8.2 Ajaxページエディタの概要
Ajaxページエディタは、QuickFormを編集するためのツールです。
Ajaxページエディタには、以下のような特長があります。
・ 実行イメージを確認しながら、QuickFormを編集することができる
- 画面のレイアウトを、実際に表示する画面イメージで表示する
- 部品の位置や大きさを、実際に表示する画面イメージで編集できる
- 属性やCSSの設定に従って画面を表示する
- UI部品と同様に、HTMLタグも実際に表示する画面イメージで編集できる
・ ビジュアル編集機能と連動したテキスト編集を行うことができる
- 228 -
8.2.1 ビューの概要
以下に、Ajaxページエディタのビューの概要を説明します。
図8.2 Ajaxページエディタのビュー
・ 設計ビュー
UI部品を使用したQuickFormをWYSIWYGで編集するビューです。
以下の特長があります。
- 絶対座標を使用した編集が可能
- パレットからマウスで選択した部品を配置
- 選択した部品をマウスで移動、リサイズすることが可能
- UI部品、HTMLタグに対してクリップボードを使用した編集操作が可能
- 編集結果は、ソースビュー、プロパティビュー、アウトラインビューと連動
・ ソースビュー
UI部品を使用したQuickFormのソースコードを編集するビューです。
以下の機能を提供します。
- 編集結果を、設計ビュー、プロパティビュー、アウトラインビューに反映
・ パレットビュー
HTMLタグおよびUI部品をパレットに表示して、設計ビュー上に配置するためのビューです。
・ アウトラインビュー
編集中の画面のタグの構造を表示するビューです。
- 229 -
・ プロパティビュー
設計ビューで選択されたUI部品、ソースビューでキャレットのあるタグおよびUI部品、アウトラインビューで選択されたタグおよびUI
部品のプロパティを表示するビューです。
以下のように、タブによって表示内容を切り替えることができます。
- [属性]タブ: 選択されたタグや部品のプロパティの属性が表示されます。
- [コンテンツ]タブ:選択されたタグや部品のコンテンツ内容が表示されます。
・ プレビュー
エディタのタブにより、設計ビュー/ソースビューとプレビューを切り分けて表示することができます。
- [Design]タブ: 設計ビューとソースビューが表示されます。
- [Preview]タブ: プレビューが表示されます。
プレビューでは、Internet ExplorerのIEコンポーネントを使用して、実行時の画面表示およびブラウザで動作するイベント処理を確
認することができます。
編集可能なファイル
Ajaxページエディタで編集できるファイルは、以下の条件を満たすQuickFormです。
・ XHTML 1.0に適合している
・ 以下のDOCTYPE宣言が記述されている
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
・ Ajaxフレームワークの動作定義(rcf_config.js)を使用している
・ Ajaxフレームワークの初期化処理(rcf.js)を使用している
ワークフローアプリケーションプロジェクトのwebフォルダ配下のQuickFormでは、上記のファイル(rcf_config.js、rcf.js)のパスは以下の
ように定義されなければなりません。
<script type="text/javascript" src="../rcf_config.js"></script>
<script type="text/javascript" src="../acf/file/rcf/rcf.js"></script>
同様に、webフォルダのサブフォルダ(web/sub1)配下のQuickFormでは、上記のファイル(rcf_config.js、rcf.js)のパスは以下のように定
義されなければなりません。
<script type="text/javascript" src="../../rcf_config.js"></script>
<script type="text/javascript" src="../../acf/file/rcf/rcf.js"></script>
注意
QuickFormを開くと、自動的に上記のパスを更新します。しかし、[別名保存]で、編集中のQuickFormを他のフォルダに保存した場合、
上記のパスが自動的に更新されません。その場合は、ソースビューで上記のパスを更新してください。
注意
QuickFormを編集する場合、基本的には、<body>タグのみを編集します。
特別な説明がない限り、それ以外のタグは変更しないでください。
Ajaxページエディタの設定
[Ajaxページエディタ設定]ページを利用して、編集するファイルごとに、Ajaxページエディタの動作オプションを設定します。
[Ajaxページエディタ設定]ページは、ナビゲータービューでjspファイルのポップアップメニューから[プロパティ]を実行し、[プロパティ]
画面で[Ajaxページエディタ設定]を選択すると表示されます。
以下に、[Ajaxページエディタ設定]ページを示します。
- 230 -
以下の表に、[Ajaxページエディタ設定]ページの項目を説明します。
項目
説明
編集時に指定したCSSファイル、
JavaScriptファイルを読み込む
この項目を選択しないでください。
編集時に読み込むCSSファイル
この項目は使用できません。
編集時に読み込むJavaScriptファイ
ル
この項目は使用できません。
- 231 -
項目
説明
編集サイズ
選択したファイルに対して、Ajaxページエディタで編集できるサイズ(幅と
高さ)をピクセルで指定します。Ajaxページエディタの設計ビューでは、指
定したサイズの範囲内でUI部品を編集することができます。
デフォルトの復元
デフォルトの設定に戻します。デフォルトは何も指定しないため、指定した
すべてのファイルが削除されます。
適用
指定した内容を適用します。
8.2.2 設計ビュー
設計ビューでは、HTMLタグおよび画面部品が実行時と同じイメージで表示されます。表示された部品を、部品単位で、選択、移動、
リサイズ、削除を行うことができます。また、パレットビューで選択した部品を設計ビューに配置することができます。
注意
編集中のソースコードにエラーが存在する場合、設計ビューの編集操作ができません。その場合は、ソースビューでソースコードを修
正してください。
設計ビューのポップアップメニューのコマンドを以下の表に示します。
コマンド名
説明
更新
設計ビューの表示を最新の状態に更新します。
また、エラー発生により設計ビューで編集操作ができなく
なった場合、ソースコードを修正したあとに更新する必要が
あります。
切り取り
選択した部品を切り取ってクリップボードに保存します。
コピー
選択した部品をコピーしてクリップボードに保存します。
貼り付け
クリップボードの内容を貼り付けます。
設計ビューで切り取りまたはコピーした場合に有効になりま
す。
削除
選択した部品を削除します。
整列
部品の位置を揃えます。
モデルバインディング定
義
このコマンドは使用できません。
イベント処理定義
このコマンドは使用できません。
機能付加部品バイン
ディング定義
このコマンドは使用できません。
ソースビュー編集中の
自動反映
ソースビュー編集中に設計ビューに自動反映するか、反映
しないかを設定します。
自動反映する場合は、コマンド名の先頭にチェックマーク
が表示されます。
プロパティ
プロパティビューを表示します。
参考
表示/編集禁止状態の設計ビュー
ソースビュー編集中に設計ビューに自動反映しない設定の場合、ソースビューが編集されると、ソースコードと設計ビューの同期がと
れなくなります。この時点で、設計ビューはグレー画面になり、表示および編集できない状態(表示/編集禁止状態)になります。
表示/編集禁止状態の設計ビューは、以下のタイミングで表示/編集禁止状態が解除され、最新の状態に更新されます。
- 232 -
・ 設計ビューにフォーカスが当たった場合
・ [編集]メニューの[更新]、またはツールバーの
・ ツールバーの
(Ajaxページエディタを更新)をクリックした場合
(ソースビュー編集中に設計ビューを自動反映)をクリックして自動反映する状態に変更した場合
なお、設計ビューが表示/編集禁止状態でも、[Preview]タブに切り替えた場合は、最新状態の画面が表示されます。
設計ビューでは、以下の2つの操作を行うことができます。
・ 部品に対する共通の操作
・ 部品固有の操作(コンテナ部品の編集操作およびカレンダ部品の編集操作)
部品に対する共通の操作
部品共通の操作について説明します。
・ 配置
設計ビューの部品を配置するには、以下の方法があります。
- パレットビューから設計ビュー領域内の任意の位置へ配置
以下に、部品を配置する手順を示します。
1. パレットビューから部品を選択します。
2. 設計ビュー上で配置場所をマウスカーソルでポイントしてクリックします。
配置場所が決定するまでは、部品枠が表示されるので、部品の大きさを確認することができます。
パレットビューから設計ビューにUI部品が配置されると、部品ID(rcf:id属性)が自動的に付加されます。
なお、パレットビューからの部品の選択を解除するには、ESCキーを押します。
パレットビューの詳細は、“8.2.4 パレットビュー”を参照してください。
なお、部品をコンテナ部品内に配置する場合は、“コンテナ部品の編集操作”を参照してください。
・ 選択
設計ビューの部品を選択するには、以下の方法があります。
- 設計ビューの部品の選択可能領域上でクリック
- アウトラインビューで部品をクリック
- ソースビューで部品のタグ上にキャレットを置く
・ 移動
設計ビューの部品を移動するには、以下の方法があります。
- 部品を選択し、マウスによるドラッグ
- 部品を選択し、キーボード(カーソルキー)の押下
・ 切り取り
設計ビューで選択状態の部品をクリップボードにコピーし、削除するには、以下の方法があります。
- 部品を選択し、ポップアップメニューから[切り取り]を選択
- 部品を選択し、キーボードでCtrl + Xを押下
・ コピー
設計ビューで選択状態の部品をクリップボードにコピーするには、以下の方法があります。
- 部品を選択し、ポップアップメニューから[コピー]を選択
- 部品を選択し、キーボードでCtrl + Cを押下
- 233 -
・ 貼り付け
クリップボードにコピーされた部品を設計ビューに貼り付けるには、以下の方法があります。
- 設計ビューのポップアップメニューから[貼り付け]を選択
- キーボードでCtrl + Vを押下
部品は、切り取りまたはコピーした部品の右下に貼り付けられます。
rcf:idが設定されている部品を貼り付けた場合、rcf:idに新しい値が設定されます。
・ 削除
設計ビューから部品を削除するには、以下の方法があります。
- 選択部品のポップアップメニューから[削除]を選択
- 部品を選択し、キーボードでDeleteキーを押下
なお、子要素を持つ部品が選択された場合は、子要素も含めて削除されます。
・ リサイズ
設計ビューの部品をリサイズするには、以下の方法があります。
- リサイズ用マークのドラッグによるリサイズ
部品を選択すると、矩形域の四隅と辺にリサイズ用のマークが表示されます。このマークをドラッグすることによって、部品をリ
サイズします。
コンテナ部品をリサイズした場合は、コンテナ部品の子要素の位置は、コンテナ部品の左上座標からの相対位置がリサイズ前後で
変わりません。リサイズした結果、部品がコンテナ部品領域に含まれた場合は、その部品は子要素にはなりません。
・ 元に戻す
設計ビューでの直前の操作を元に戻すには、以下の方法があります。
- [編集]メニューから[元に戻す]を選択
- キーボードでCtrl + Zを押下
なお、元に戻せる操作は、配置、移動、切り取り、貼り付け、削除、リサイズ、整列です。
・ やり直し
設計ビューで元に戻した操作をやり直すには、以下の方法があります。
- [編集]メニューから[やり直し]を選択
- キーボードでCtrl + Yを押下
・ 整列
設計ビューで複数の部品を整列させるには、以下の方法があります。
- 2つ以上の部品を選択し、ポップアップメニューから[整列]の整列方法を選択
整列方法には、以下の種類があります。
- 左揃え
- 左右中央揃え
- 右揃え
- 上揃え
- 上下中央揃え
- 下揃え
コンテナ部品の編集操作
設計ビューで操作できる部品を子要素に持つ部品をコンテナ部品と呼びます。コンテナ部品には、以下のものがあります。
- 234 -
・ 画面部品のコンテナ部品(FragmentContainerを除く)
・ HTML formタグ
ここでは、コンテナ部品固有の操作について説明します。
・ コンテナ部品の移動
コンテナ部品の移動では、コンテナ部品上の部品(子ノード)も含めて移動します。
・ コンテナ部品内への部品配置・移動
コンテナ部品内に部品を追加するには、コンテナ部品の領域内に子要素として追加したい部品を配置、移動します。
コンテナ部品の詳細は、“Systemwalker Runbook Automation リファレンスガイド”の“コンテナ部品”を参照してください。
カレンダ部品の編集操作
PopupCalendarはCalendarButtonと対で使用する部品です。CalendarButtonを配置すると、自動的にPopupCalendarも配置されます。
8.2.3 ソースビュー
ソースビューでは、HTML/JSPファイルをプレーンテキストとして編集します。基本的な定義は設計ビューで行い、付加的な定義はソー
スビューで行ってください。
ソースビューのポップアップメニューのコマンドを以下の表に示します。
コマンド名
説明
テキストの変更を元に戻す
直前に行った動作を元に戻します。
ファイルを前回保存した状態に戻
す
前回保存した状態に戻します。
保存
作業中のファイルを保存します。
切り取り
選択したデータを切り取ってクリップボードに保
存します。
コピー
選択したデータをコピーしてクリップボードに保
存します。
貼り付け
クリップボードの内容を貼り付けます。
クリップボードにテキスト形式で保存されている
場合に有効です。
フォーマット
エディタの内容をフォーマットします。
アクティブ要素のフォーマット
アクティブ要素の内容をフォーマットします。
プロパティ
プロパティビューを表示します。
設定
このコマンドは使用できません。
8.2.4 パレットビュー
パレットビューは、設計ビューへUI部品を追加する操作で使用します。パレットビューには、以下の2つのカテゴリが存在します。
・ Basic
・ Advanced
[Basic]カテゴリ
以下の表に、Basicカテゴリで表示される部品を示します。
- 235 -
画面部品
(表示名)
説明
HTMLタグ
Button
input
type=submitを備えたinput要素はフォームを実行するようにユーザーエー
ジェントに知らせるための入力オプション、ボタンを表します。
HorizontalRule
hr
hr要素はテキストのセクションの間のデバイダーです。通常は、全幅罫線
か同等なグラフィックです。
Image
img
img要素はハイパーリンクでイメージかアイコンを参照します。
Image Button
input
type=imageを備えたinput要素は表示するイメージリソースを指定し、イメー
ジから選択したピクセルのXとY座標を指定します。
Link
a
a要素はユーザーがドキュメントの内容をナビゲートすることを可能にしま
す。
[Advanced]カテゴリ
以下の表に、Advancedカテゴリで表示される部品を示します。
画面部品
(表示名)
説明
Text
テキストを表示する部品です。HTMLの<span>テキスト</span>に相当する部品です。
TextInput
単一行のテキストを入力および編集するための部品です。HTMLの<input type="text"
value="値">および<input type="password" value="値">に相当する部品です。
CheckBox
オンまたはオフの状態を表すチェックボックス部品です。HTMLの<input
type="checkbox" value="値">に相当する部品です。
RadioButton
ラジオボタン部品です。HTMLの<input type="radio" value="値">に相当する部品で
す。
TextArea
単一行または複数行のテキストを、入力および編集するための部品です。HTMLの
<textarea>に相当する部品です。
Select
単一選択および複数選択が可能な選択リスト部品です。HTMLの<select> <option>に
相当する部品です。
ComboBox
入力フィールドと選択リストから構成され、項目の選択および選択されている項目の表
示を行う部品です。
DateInput
TextInputの一種であり、日付および時間データを、入力および編集するための部品
です。
NumberInput
TextInputの一種であり、数値を入力および編集するための部品です。
SelectList
単一選択および複数選択が可能な選択リスト部品です。
CheckList
チェックボックス付きのリスト部品です。
ViewContainer
汎用コンテナ部品です。子要素にHTML要素を持つことができ、それらをまとめて部
品として扱うことができます。
ViewContainer自体は表示部分を持ちません。
Panel
タイトル部、ボディ部から成り立っているタイトルバー付きコンテナ部品です。子要素に
HTML要素を持つことができ、子要素に定義された内容はボディ部の内容となります。
ViewStack
同じ位置で表示切替えを行う場合に利用するコンテナ部品です。
TabPanel
タブにより表示切替えを行う場合に利用するコンテナ部品です。
FragmentContainer
ページ表示後、任意のタイミングで外部から画面情報を読み込み表示するためのコン
テナ部品です。
Calendar
カレンダの表示と日付の選択を行う部品です。
- 236 -
画面部品
(表示名)
CalendarButton
説明
PopupCalendarを表示するボタン部品です。PopupCalendarと組み合わせて利用しま
す。
パレットビューのポップアップメニュー
パレットビューのポップアップメニューのコマンドを以下の表に示します。
コマンド名
説明
Hide(注1)
パレットでカテゴリを非表示にします。
レイアウト
部品のレイアウトを変更します。
大きいアイコンを使用
パレットで大きいアイコンを使用して部品を表示します。
カスタマイズ
[パレットのカスタマイズ]ダイアログボックスを表示し、パレッ
ト上のカテゴリをカスタマイズします。
設定
[パレット設定]ダイアログボックスを表示し、パレット上の部
品の表示形式を設定します。
ピン留め(注1)
ピン留めされた場合、そのカテゴリを閉じずに開いておきま
す。
注1) [Hide]および[ピン留め]は、カテゴリで右クリックした場合にだけ表示されます。
8.2.5 アウトラインビュー
アウトラインビューでは、画面上の部品がツリー形式で一覧表示されます。また、画面上の部品を一覧から選択することができます。
アウトラインビューのポップアップメニューのコマンドを以下の表に示します。
コマンド名
説明
削除
選択したノードを削除します。
モデルバインディング定
義
このコマンドは使用できません。
イベント処理定義
このコマンドは使用できません。
機能付加部品バイン
ディング定義
このコマンドは使用できません。
プロパティ
選択したノードのプロパティを表示します。
8.2.6 プロパティビュー
プロパティビューでは、設計ビュー、ソースビュー、またはアウトラインビューで選択されたタグや部品のプロパティが表示されます。ま
た、表示されたプロパティを編集することができます。
プロパティビューでは、以下のように、タブによって表示内容を切り替えることができます。
・ [属性]タブ: 選択されたタグや部品のプロパティの属性が表示されます。
・ [コンテンツ]タブ :選択されたタグや部品のコンテンツ内容が表示されます。
属性の表示と編集
プロパティビューの[属性]タブでは、選択されたタグや部品のプロパティの属性と値が表示されます。また、表示された属性値を編集
することができます。
プロパティビューの[属性]タブで表示される項目を以下に示します。
- 237 -
項目
プロパティ
説明
プロパティは、以下のカテゴリ分けで階層化して表示します。
・ 共通プロパティ
画面部品共通プロパティを表示します。
・ 固有プロパティ
UI部品に固有のプロパティを表示します。
・ スタイルプロパティ
スタイルのプロパティを表示します。
・ イベントリスナ
使用できるイベントリスナを表示します。
・ 検証プロパティ
検証(入力が必須か否かなど)のプロパティを表示します。
値
プロパティの値を表示します。
注意
プロパティビューで値を削除した場合、プロパティは削除されず、値に""が設定されます。
このため、省略値が空文字列("")以外のプロパティをプロパティビューで削除すると不当な値になります。
その結果、設計ビューでエラーが発生し、編集できなくなります。
この場合、以下のどれかの対処を実施してください。
a. 空となったプロパティを削除する
- ソースビューでプロパティを削除する
- プロパティビューのポップアップメニューから[デフォルト値の復元]を選択する
b. プロパティ値に適切な値を指定する
ただし、プロパティが必須プロパティの場合、プロパティを削除するとエラーが発生します。対処b.を実施してください。
コンテンツの表示と編集
プロパティビューの[コンテンツ]タブ をクリックすると、コンテンツ編集エリアに切り替わり、選択されたタグや部品のコンテンツ内容が表
示されます。コンテンツ編集エリアでは、コンテンツ内容を編集することができます。
コンテンツ編集エリアでは、以下のHTMLタグ(空要素)を除いた、HTMLタグを編集することができます。
・ area
・ base
・ br
・ col
・ hr
・ img
・ input
・ link
・ meta
・ param
また、上記以外のHTMLタグを編集対象外にすることもできます。
編集対象外にするHTMLタグは、以下の手順で設定します。
- 238 -
1. [ウィンドウ]メニューから[設定]を選択します。
2. [設定]ダイアログボックスの設定項目で、[Ajaxページエディタ] > [プロパティビュー]を選択します。
3. [コンテンツ タブ]の[コンテンツ編集不可とする要素]に編集対象外とするHTMLタグの要素名を入力します。
複数指定する場合は、要素名をカンマ(,)で区切ります。
・ 改行の入力
コンテンツ編集エリアでは、以下のどちらかのキーで改行を入力します。
- Ctrl + Enter
- Shift + Enter
上記のどちらのキーで改行を入力するかを選択することができます。デフォルトは、Ctrl + Enterです。
改行の入力キーは、以下の手順で設定します。
1. [ウィンドウ]メニューから[設定]を選択します。
2. [設定]ダイアログボックスの設定項目で、[Ajaxページエディタ] > [プロパティビュー]を選択します。
3. [コンテンツ タブ]の[改行の入力キー]で、改行の入力キーを選択します。
・ 特殊文字の変換
エスケープを設定すると、以下の特殊文字の変換が行われます。
ただし、すでにコンテンツ内容に値が設定されている場合は、特殊文字の変換は行われません。
元の文字
変換後の文字
"
"
&
&
<
<
>
>
エスケープは、以下の手順で設定します。
1. [ウィンドウ]メニューから[設定]を選択します。
2. [設定]ダイアログボックスの設定項目で、[Ajaxページエディタ] > [プロパティビュー]を選択します。
3. [コンテンツ タブ]の[特殊文字の変換]をチェックします。
8.3 QuickForm入門
このセクションでは、ユーザーがプロセスインスタンスを開始するためのQuickFormの作成方法を説明します。以下の図は、QuickForm
を作成するプロセス定義を示しています。
- 239 -
図8.3 QuickFormを作成するプロセス定義
Step 1: QuickFormの作成
プロセス定義エディタで、ワークフローアプリケーションプロジェクトのプロセス定義を開き、関連するActivityノードをクリックして、ポッ
プアップメニューから[QuickForm] > [新規]を選択します。
ファイル名を入力します。詳細については、“8.1 QuickFormの作成”を参照してください。
ワークフローアプリケーションプロジェクトに、QuickForm(.jspファイル)が作成されます。
Step 2: UI部品の定義
ユーザ定義属性(UDA)の値を表示するUI部品をQuickFormに定義します。
- 240 -
図8.4 UDAの値を表示するUI部品の定義方法
1. パレットビューの[Advanced]カテゴリの[Text]部品を選択します。Ajaxページエディタの設計ビューで、[Text]部品を配置したい
場所をクリックします。[Text]部品は、UDAを識別するためのラベルとして使用されます。
2. パレットビューの[Advanced]カテゴリの[TextInput]部品を選択します。Ajaxページエディタの設計ビューで、[TextInput]部品を配
置したい場所をクリックします。[TextInput]部品は、UDAの値を表示するために使用されます。[TextInput]部品を追加すると、
[Text]部品が一緒に追加されます。Consoleにおいて、この[TextInput]部品に誤った操作(この[TextInput]部品を入力必須で定
義したが、ユーザーが値を入力しない、サポートしていないUDAのタイプをこの部品に関連付けたなど)を実施した場合に、この
[Text]部品にエラーメッセージが表示されます。
図8.5 [TextInput]部品と一緒に追加される[Text]部品
3. 手順1と手順2を繰り返して、[Text]部品と[TextInput]部品をもう1組追加します。
4. 最初に追加した[Text]部品を選択します。プロパティビューにおいて、[rcf:value]フィールドに“Variable01:”を入力します。
5. 2番目に追加した[Text]部品を選択します。プロパティビューにおいて、[rcf:value]フィールドに“Variable02:”を入力します。
6. 最初に追加した[TextInput]部品を選択します。プロパティビューにおいて、[rcf:id]フィールドに“uda_Variable01”を入力します。
この値の形式は、“uda_<UDAの識別子>”です。もし、エラーメッセージを表示する[Text]部品を必要とする場合、エラーメッセー
- 241 -
ジを表示する[Text]部品を選択し、プロパティビューにおいて、[rcf:id]フィールドに“error_Variable01”を入力します。この値の形
式は、“error_<UDAの識別子>”です。
7. 2番目に追加した[TextInput]部品を選択します。プロパティビューにおいて、[rcf:id]フィールドに“uda_Variable02”を入力しま
す。もし、エラーメッセージを表示する[Text]部品が不要な場合、この[Text]部品を削除します。
参考
- [TextInput]部品を設計ビューに配置すると、エラーメッセージを表示するための[Text]部品が一緒に追加(2. を参照)されま
す。また、枠([TextInput]部品と[Text]部品を囲む枠)が一緒に追加されます。
エラーメッセージを表示する[Text]部品が不要な場合、この[Text]部品および枠を削除し、[TextInput]部品のみ残す手順を
以下に示します。
1. 不要な[Text]部品を選択し、削除します。
→[Text]部品が削除され、[TextInput]部品と枠([TextInput]部品を囲む枠)が残ります。
2. 枠を削除します。枠の領域内に[Textinput]部品があると[Textinput]部品も削除されてしまうので以下の手順で削除し
ます。
1) [TextInput]部品を選択し、それを囲む枠の領域外に移動します。
2) [TextInput]部品を囲んでいた枠を選択し、削除します。
3) [TextInput]部品を元の位置に移動します。
- [TextInput]部品を削除したい場合、[TextInput]部品を選択して削除しても、エラーメッセージを表示する[Text]部品と枠
([TextInput]部品と[Text]部品を囲む枠)は一緒に削除されません。すべて削除したい場合は、枠を選択して削除してくださ
い。枠および、枠の領域内にある[TextInput]部品と[Text]部品が削除されます。
注意
・ プロセス定義に存在しないUDAの識別子をQuickFromに定義した場合、ユーザーによって入力された値は、プロセスインスタンス
に反映されません。
・ 複数のQuickFormをノードに定義した場合、Consoleでは、そのQuickFormごとにTabが表示されます。
・ あるノードに関連付けた複数のQuickFormで同一のUDAを使用する場合、以下の注意が必要です。
- Consoleにおいて、同一のUDAを関連付けたすべての部品に同じ値を設定しなければなりません。
そのため、同一のUDAを各部品に関連付けないことを推奨します。
Step 3: QuickFormの保存
QuickFormを保存すると、ワークフローアプリケーションプロジェクトにjspファイルが保存されます。
Step 4: QuickFormのプロセス定義への関連付け
最後に、新規作成したQuickFormをプロセス定義に関連付ける必要があります。フォームはどのプロセス定義にも関連付けることがで
きます。
1. プロセス定義エディタでプロセス定義を開きます。
2. [ナビゲーター]ビューで、新規作成したQuickFormを選択します。
3. プロセス定義のStartノードにドラッグアンドドロップします。
詳細については、“8.4.2 QuickFormのノードへの関連付け”を参照してください。
8.4 QuickFormの管理
QuickFormの管理方法について説明します。
- 242 -
8.4.1 QuickFormの更新
既存のQuickFormを変更することができます。たとえば、フォームに別のユーザ定義属性(UDA)を追加したり、UI部品の種類を変更
することができます。
QuickFormを更新するには、以下の手順に従います。
1. Ajaxページエディタで既存のQuickFormを開くには、次の2つの方法があります。
a. [ナビゲーター]ビューで、関連するQuickFormをダブルクリックするか、フォームを右クリックしてポップアップメニューから
[開く]を選択します。
b. プロセス定義エディタで、QuickFormが関連付けられているノードを右クリックし、ポップアップメニューから[QuickForm]
> [編集]を選択します。
2. Ajaxページエディタで、必要な変更を行います。
詳細については、“8.2 Ajaxページエディタの概要”を参照してください。
3. ワークベンチウィンドウの[保存]ボタンをクリックして保存を変更します。
8.4.2 QuickFormのノードへの関連付け
プロセス定義エディタで、特定のノードに対してQuickFormの作成を開始すると、作成したフォームはそのノードに自動的に関連付け
られます。既存のQuickFormを再利用して、それらを追加ノードに関連付けることができます。
既存のQuickFormをノードに関連付けるには、以下の手順に従います。
1. プロセス定義を開きます。
2. [ナビゲーター]ビューで、プロセス定義のStartノード、Activityノード、Voting Activityノード、またはCompound Activityノードに
関連付けるQuickFormをクリックします。
3. そのフォームをそれぞれのノードにドラッグします。[プロパティ]ビューの[フォーム]タブで、フォームの名前とパスを確認すること
ができます。
既存のQuickFormを再使用するには、以下の手順に従います。
1. プロセス定義を開きます。
2. QuickFormを関連付けるノードを右クリックし、ポップアップメニューから[QuickForm] > [ノードへの追加]を選択します。以下の
ダイアログが開きます。
図8.6 QuickFormをノードへ追加
3. QuickFormのリストから、特定のノードに関連付けるフォームを選択し、[OK]をクリックします。
- 243 -
注意
プロセス定義のStartノード、Activityノード、Voting Activityノード、またはCompound Activityノードの[プロパティ]ビューの[フォーム]タ
ブの[参照]ボタンは、QuickForm以外のフォームとノードを関連付けるために提供しています。
QuickFormとノードは、上記に示す操作で関連付けを行ってください。
8.4.3 QuickFormのノードへの関連付けの解除
QuickFormのノードへの関連付けを解除できます。関連付けを削除しても、フォーム自体は削除されません。
・ [プロパティ]ビューを使用して、QuickFormのノードへの関連付けを解除するには、以下の手順に従います。
1. アクティビティを選択します。
2. [プロパティ]ビューから[フォーム]タブを選択します。
3. 関連付けを解除するフォームを選択し、[削除]をクリックします。
・ ポップアップメニューを使用して、QuickFormのノードへの関連付けを解除するには、以下の手順に従います。
1. プロセス定義エディタで、各ノードを右クリックします。
2. ポップアップメニューから[QuickForm] > [ノードからの削除]を選択します。
3. 削除するフォームを選択し、[OK]をクリックします。
8.4.4 QuickFormの名前変更
フォームへのすべての参照を考慮しながら、QuickFormの名前を変更できます。
QuickFormを名前変更するには、以下の手順に従います。
1. [ナビゲーター]ビューで、各QuickFormを右クリックし、ポップアップメニューから[名前変更]を選択します。
2. [名前]フィールドに、フォームの新しい名前を入力します。
3. このQuickFormへのすべての関連付けも新しい名前に合わせて更新するかどうかを決定します。
4. [OK]をクリックします。
8.4.5 QuickFormの削除
フォームへのすべての参照を考慮しながら、QuickFormを削除できます。
QuickFormを削除するには、以下の手順に従います。
1. [ナビゲーター]ビューで、各QuickFormを右クリックし、ポップアップメニューから[削除]を選択します。
2. このQuickFormへのすべての関連付けも削除するかどうかを決定します。
3. [はい]をクリックしてフォームの削除を確定します。
8.4.6 QuickFormのインポート
前提条件:QuickFormのインポート先となるワークフローアプリケーションプロジェクトを作成しておく必要があります。
QuickFormをインポートするには、以下の手順に従います。
1. [ナビゲーター]ビューで、フォームをインポートするwebフォルダを右クリックします。ポップアップメニューから[インポート]を選択
します。
2. インポートしたいQuickFormが格納されている場所に移動します。
3. フォームを選択し、[完了]をクリックします。
詳細は、“3.1.4 フォルダとファイルのインポート”を参照してください。
- 244 -
8.4.7 QuickFormのエクスポート
Systemwalker Runbook Automation StudioからQuickFormをファイルシステムにエクスポートできます。エクスポートしたファイルを他の
システムにインポートできます。
注意
すべてのプロセス定義、フォーム、アタッチメントなどを含めてワークフローアプリケーションプロジェクト全体を1回の操作でエクスポー
トし、後で管理サーバ上にアプリケーションを配備することができます。詳細については、“3.1.13 ワークフローアプリケーションプロジェ
クトのエクスポート”を参照してください。
QuickFormをエクスポートするには、以下の手順に従います。
1. [ナビゲーター]ビューで、QuickFormを右クリックします。[エクスポート]を選択します。
2. エクスポートされたフォームを格納する場所に移動します。
3. [保存]をクリックします。
- 245 -
第9章 サブプロセス、チェインプロセスのモデル化
Systemwalker Runbook Automation Studioでは、複雑なタスクを取り扱い易い単位に分割できます。
サブプロセスを使用すると、異なる作業手順を使う他部門の作業をシームレスにリンクして、情報を交換したり、共同作業を調整したり
できます。サブプロセスは、親プロセスと同じワークフローサーバ上で実行することができます。
チェインプロセスは、親プロセスによって活性化されると、親プロセスから独立して動作するプロセスです。親プロセスは、チェインプロ
セスが完了するのを待たずに、親プロセス自体のプロセスフローに従って続行します。
ここでは、サブプロセス、およびチェインプロセスをモデル化する方法について説明します。
9.1 サブプロセスのモデル化
サブプロセスは、複雑なタスクを取り扱い易い単位に分割するために使用されます。異なるプロセスをもつ異なる部門の作業をシーム
レスにリンクして、情報を交換したり、共同作業を調整したりするには、サブプロセスが最も適しています。
サブプロセスは、親プロセス定義ではSubprocessノードによって表されます。Subprocessノードに到達すると、サブプロセスに制御が渡
されます。親プロセスは、サブプロセスが完了してその結果が戻されるまで待機します。
サブプロセスをモデル化する方法について説明します。
1. 親プロセス定義を作成し、プロセスフローをモデル化します。
2. サブプロセス定義を作成し、プロセスフローをモデル化します。
3. Subprocessノードを親プロセス定義に追加します。
4. 親プロセス定義とサブプロセス定義を連結します。
その手順については、“9.1.1 親プロセス定義とサブプロセス定義の連結”を参照してください。
プロセス定義が連結されると、親プロセス定義からサブプロセス定義に簡単に移動できます。その手順については、“9.1.2 サブ
プロセス定義への移動”を参照してください。
5. 親プロセス定義とサブプロセス定義の両方で、やり取りされるUDAを指定します。
注意
各プロセス定義で、同じUDAに別の名前を付けることができます。ただし、同じデータ型である必要があります。異なるデータ型
の場合、UDAをマッピングできません。
6. やり取りする必要があるUDAのデータマッピングを定義します。
その手順については、“9.1.3 サブプロセスのデータマッピング定義”を参照してください。
注意
再帰的なサブプロセスがあるプロセス定義をデザインする場合は、注意が必要です。関連するプロセス定義をすべてチェックし、
無限ループが起きないことを確認してください。
9.1.1 親プロセス定義とサブプロセス定義の連結
親プロセスとサブプロセスの定義を作成したら、それらを連結することができます。
ドラッグアンドドロップによるプロセス定義を連結する方法について説明します。
親プロセス定義とサブプロセス定義を連結するためには、[ナビゲーター]ビューからサブプロセス定義をドラッグし、親プロセス定義の
Subprocessノードにドロップします。
また、[参照]ボタンを使ってプロセス定義を連結することもできます。ここでは、この方法について説明します。
1. 親プロセス定義にSubprocessノードを追加していることを確認します。
- 246 -
2. プロセス定義でSubprocessを選択し、[プロパティ]ビューで[データマッピング]タブを選択します。
3. [参照]をクリックします。
4. [サブプロセス定義の選択]ダイアログボックスで、[リストの取得]をクリックします。
5. サブプロセス定義を選択し、[OK]をクリックします。
9.1.2 サブプロセス定義への移動
前提条件:
・ サブプロセス定義が作成されている。
・ 親プロセス定義でSubprocessノードが追加されている。
・ Subprocessノードがサブプロセス定義に連結されている。
親プロセス定義からサブプロセス定義に移動することができます。
サブプロセス定義に移動する方法について説明します。
1. 親プロセス定義で、Subprocessノードを選択します。
2. 右クリックし、ポップアップメニューの[Subprocessに進む]を選択します。
サブプロセス定義を表示する新しいプロセス定義エディタが開きます。
サブプロセスの定義を編集せず表示のみさせたい場合、別ウィンドウで表示できます。親プロセスの定義で、サブプロセスノードのプ
ラス記号(+)をクリックします。以下のように、サブプロセスの定義が別ウィンドウで開きます。
図9.1 サブプロセス定義
9.1.3 サブプロセスのデータマッピング定義
データが親プロセスとサブプロセスとの間でやり取りされる場合は、親プロセス定義のUDAを、サブプロセス定義の対応するUDAに
マッピングします。また、親プロセス定義とサブプロセス定義との間で、値が渡される方向も指定します。
前提条件は以下です。
・ 親プロセス定義とサブプロセス定義との間でやり取りされるUDAを指定している。
・ 渡すUDAのデータ型が、親プロセス定義とサブプロセス定義のデータ型と一致している。
・ 親プロセス定義とサブプロセス定義を連結している。
親プロセス定義とサブプロセス定義間の自動データマッピングについて説明します。
- 247 -
上記の前提条件が満たされた状態で親プロセス定義とサブプロセス定義を連結すると、UDAが自動的にマッピングされます。親プロ
セス定義のUDAとサブプロセス定義のUDAのうち、名前とデータ型が等しいUDAが自動データマッピングの対象となります。Subprocess
ノードを選択し、[プロパティ]ビューの[データマッピング]タブを選択すると、マッピングされたUDAを確認することができます。マッピン
グされたUDAは、値が渡される方向と共に、[すべてのデータマッピング]領域に表示されます。
データマッピングの編集について説明します。
[すべてのデータマッピング]領域にある[削除]ボタンを使って必要のないマッピングを削除できます。
以下のような場合には、手動でデータマッピングを編集してください。
・ 親プロセス定義とサブプロセス定義を連結した際に自動的に作成されたデータマッピングが間違っており、変更する必要がある場
合
・ プロセス定義の連結後に、親プロセス定義とサブプロセス定義にUDAを追加、あるいは更新した場合
データマッピングを手動で編集する方法について説明します。
1. 親プロセス定義にあるSubprocessノードの[データマッピング]タブを選択します。
2. [マッピングタイプ]ドロップダウンリストから、マッピングしたいUDAの型を選択します。
このドロップダウンリストには、親プロセス定義上で使用中のすべてのデータ型が表示されます。[親プロセス定義UDA名]、およ
び[サブプロセス定義UDA名]ドロップダウンリストには、[マッピングタイプ]ドロップダウンリストで選択されたデータ型のUDAのみ
が表示されます。
a. 親プロセス定義のUDAを選択し、サブプロセス定義の同じデータ型のUDAを、対応するUDAとして選択します。
b. [追加]をクリックします。
[すべてのデータマッピング]領域に、マッピングされたUDAが表示されます。
3. UDAのデータ型がXMLの場合、[XPath]カラムの対応するフィールドをクリックするとドロップダウンリストが表示されます。UDA
に設定されたXMLからデータを抽出するためのXPath式を、このドロップダウンリストから選択します。このフィールドはUDAの
データ型がXMLの場合のみ有効となり、[XPath]ドロップダウンリストには選択したUDAに関連するXPath式が含まれています。
4. オプション: 選択したXPath式を編集したい場合、ドロップダウンリスト横に表示される参照ボタン[...]をクリックします。選択した
XPath式を含む[XPathエディタ]ダイアログが表示されるので、XPath式を編集し[OK]をクリックしてください。
注意
編集したXPath式は[XPath]ドロップダウンリストの先頭に表示されます。
注意
選択したXML型UDAに関連したXPath式が[XPath]ドロップダウンリストに表示されます。選択したUDAにXMLスキーマが設定
されていれば、このXMLスキーマで使用できるXPath式のリストが表示されます。選択したUDAに初期値が設定されている場合
は、この初期値に基づいたXPath式のリストが表示されます。両方が設定されている場合は、XMLスキーマで使用できるXPath
式のリストが表示されます。
注意
[XPathエディタ]はXPathの文法のみを検証します。編集したXPath式で実際にデータを指定できるかどうかについてはチェック
しません。
5. [すべてのデータマッピング]領域で、プロセス定義間でやり取りを行うデータを指定します。
a. データ値が親プロセスからサブプロセスに渡される場合は、[入力]をクリックします。
- 248 -
b. データ値がサブプロセスから親プロセスに渡される場合は、[出力]をクリックします。
図9.2 データマッピングの定義
9.2 チェインプロセスのモデル化
チェインプロセスは、親プロセスによって活性化されると、親プロセスから独立して動作します。親プロセスは、チェインプロセスが完了
するのを待たずに、親プロセス自体のプロセスフローに従って続行します。
親プロセスとチェインプロセスとの間では、データの流れや制御が1方向に限られます。プロセスの制御もUDAの値も、親プロセスには
返されません。
チェインプロセスをモデル化する方法について説明します。
1. 親プロセス定義を作成し、プロセスフローをモデル化します。
2. チェインプロセス定義を作成し、プロセスフローをモデル化します。
3. Chained-Processノードを親プロセス定義に追加します。
4. 親プロセス定義とチェインプロセス定義を連結します。
その手順については、“9.2.1 親プロセス定義とチェインプロセス定義の連結”を参照してください。
プロセス定義が連結されると、親プロセス定義からチェインプロセス定義に簡単に移動できます。その手順については、“9.2.2
チェインプロセス定義の移動”を参照してください。
5. 親プロセス定義とチェインプロセス定義の両方で、親プロセスからチェインプロセスに渡されるUDAを指定します。
注意
各プロセス定義で、同じ情報を扱うUDAに別の名前を付けることができます。ただし、同じデータ型である必要があります。異な
るデータ型の場合、UDAをマッピングできません。
6. チェインプロセスに渡す必要があるUDAのデータマッピングを定義します。
その手順については、“9.2.3 チェインプロセスのデータマッピングの定義”を参照してください。
9.2.1 親プロセス定義とチェインプロセス定義の連結
親プロセスとチェインプロセスの定義を作成したら、それらを連結することができます。
ドラッグアンドドロップを使ってプロセス定義を連結する方法を説明します。
- 249 -
親プロセス定義とサブプロセス定義を連結するためには、[ナビゲーター]ビューからチェインプロセス定義をドラッグし、親プロセス定義
のChained-Processノードにドロップします。
[参照]ボタンを使ってプロセス定義を連結する方法について説明します。
1. 親プロセス定義にChained-Processノードを追加したことを確認します。
2. Chained-Processノードを選択し、[プロパティ]ビューを表示します。
3. [データマッピング]タブを選択します。
4. [参照]をクリックします。
5. [サブプロセス定義の選択]ダイアログボックスで、[リストの取得]をクリックします。
6. チェインプロセス定義を選択し、[OK]をクリックします。
9.2.2 チェインプロセス定義の移動
親プロセス定義からチェインプロセス定義に移動することができます。
前提条件は以下です。
・ チェインプロセス定義が作成されている。
・ Chained-Processノードが親プロセス定義に追加されている。
・ Chained-Processノードがチェインプロセス定義に連結されている。
チェインプロセス定義に移動する方法について説明します。
1. 親プロセス定義で、Chained-Processノードを選択します。
2. 右クリックし、ポップアップメニューの[Subprocessに進む]を選択します。
チェインプロセス定義を表示する新しいプロセス定義エディタが開きます。
チェインプロセスの定義を編集せず表示のみさせたい場合、別ウィンドウで表示できます。親プロセスの定義で、チェインプロセスノー
ドのプラス記号(+)をクリックします。チェインプロセスの定義が、別ウィンドウで開きます。
9.2.3 チェインプロセスのデータマッピングの定義
チェインプロセスのデータマッピングの定義について説明します。
前提条件は以下です。
・ 親プロセス定義からチェインプロセス定義に渡すUDAを親プロセス定義とチェインプロセス定義に指定している。
・ 渡すUDAのデータ型が、親プロセス定義とチェインプロセス定義のデータ型と一致している。
・ 親プロセス定義とチェインプロセス定義を連結している。
親プロセスからチェインプロセスにデータを渡す場合、親プロセス定義のUDAをチェインプロセス定義の対応するUDAにマッピングし
ます。
親プロセス定義とチェインプロセス定義間の自動データマッピングについて説明します。
上記の前提条件が満たされた状態で親プロセス定義とチェインプロセス定義を連結すると、UDAが自動的にマッピングされます。親
プロセス定義のUDAとチェインプロセス定義のUDAのうち、名前とデータ型が等しいUDAが自動データマッピングの対象となります。
Chained-Processノードを選択し、[プロパティ]ビューの[データマッピング]タブを選択すると、マッピングされたUDAを確認することがで
きます。マッピングされたUDAは[すべてのデータマッピング]領域に表示されます。
データマッピングを編集する方法について説明します。
[すべてのデータマッピング]領域にある[削除]ボタンを使って必要のないマッピングを削除できます。以下のような場合には、手動で
データマッピングを編集してください
・ 親プロセス定義とチェインプロセス定義を連結した際に自動的に作成されたデータマッピングが間違っており、変更する必要があ
る場合
・ プロセス定義の連結後に、親プロセス定義とチェインプロセス定義にUDAを追加、あるいは更新した場合
- 250 -
データマッピングを手動で編集する方法について説明します。
1. 親プロセス定義にあるChained-Processノードの、[データマッピング]タブを選択します。
2. UDAをマッピングします。
a. [マッピングタイプ]ドロップダウンリストで、マッピングするUDAのデータ型を選択します。このドロップダウンリストには、親
プロセス定義に含まれているすべてのデータ型が表示されます。[親プロセス定義UDA名]、および[チェインプロセス定義
UDA名]ドロップダウンリストには、[マッピングタイプ]ドロップダウンリストで選択されたデータ型のUDAのみが表示されま
す。
b. 親プロセス定義のUDAを選択し、チェインプロセス定義の同じデータ型のUDAを、対応するUDAとして選択します。
c. [追加]をクリックします。
d. UDAのデータ型がXMLの場合、[XPath]カラムの対応するフィールドをクリックするとドロップダウンリストが表示されます。
UDAに設定されたXMLからデータを抽出するためのXPath式を、このドロップダウンリストから選択します。このフィールド
はUDAのデータ型がXMLの場合のみ有効となり、[XPath]ドロップダウンリストには選択したUDAに関連するXPath式が含
まれています。
e. オプション: 選択したXPath式を編集したい場合、ドロップダウンリスト横に表示される参照ボタン[...]をクリックします。選択
したXPath式を含む[XPathエディタ]ダイアログが表示されるので、XPath式を編集し[OK]をクリックしてください。
注意
編集したXPath式は[XPath]ドロップダウンリストの先頭に表示されます。
注意
選択したXML型UDAに関連したXPath式が[XPath]ドロップダウンリストに表示されます。選択したUDAにXMLスキーマが設定
されていれば、このXMLスキーマで使用できるXPath式のリストが表示されます。選択したUDAに初期値が設定されている場合
は、この初期値に基づいたXPath式のリストが表示されます。両方が設定されている場合は、XMLスキーマで使用できるXPath
式のリストが表示されます。
注意
[XPathエディタ]はXPathの文法のみを検証します。編集したXPath式で実際にデータを指定できるかどうかについてはチェック
しません。
[すべてのデータマッピング]領域にデータマッピングが追加されます。
- 251 -
注意
これは、親プロセスからチェインサブプロセスにデータ値が渡されることを示しています。活性化されたチェインプロセスはその親
プロセスから独立して動作するため、親プロセスにはデータ値が返されません。
図9.3 データマッピングの定義
- 252 -
第10章 決定ルール表
決定ルール表は、意志決定のための高度なルールをプログラミングなしで設計することができます。
決定ルール表はダイナミックに規則を管理するための簡単かつ強力なテーブルベースのアプローチを使用します。
決定ルール表を加えるには、“10.2.2 新しい決定ルール表の作成”を参照してください。
本製品では、決定ルール表を決定表と呼ぶ場合もあります。
10.1 決定ルール表の操作の概要
決定ルール表を使用したい場合、以下の操作を実行しなければなりません。
以下に決定ルール表を作成、編集、使用するための操作の概要を示します。
1. 既存のアプリケーションプロジェクトを開いてください。または新しいアプリケーションプロジェクトを作成します。 詳細は、“3.1.1
ワークフローアプリケーションプロジェクトの作成”を参照してください。
2. Rulesフォルダにルールセットを作成します。詳細は、“10.2.1 新しいルールセットの作成”を参照してください。
3. ルールセットフォルダに決定ルール表ファイルを作成します。詳細は、“10.2.2 新しい決定ルール表の作成”を参照してくださ
い。
4. 決定ルール表に条件変数を追加します。条件変数は、決定ルール表の入力です。後述の操作において、この条件変数とプロ
セス定義のユーザ定義属性をマッピングします。詳細は、“10.3.1 条件変数の編集”を参照してください。
5. 決定ルール表に結果変数を追加します。結果変数は、決定ルール表の出力です。後述の操作において、この結果変数とプロ
セス定義のユーザ定義属性をマッピングします。詳細は、“10.3.2 結果変数の編集”を参照してください。
6. 決定ルール表に決定ルールを追加します。これは、条件変数の値を入力として、その値を決定ルールで評価し、その結果を結
果変数の値に設定します。詳細は、“10.3.3 決定ルールの編集”を参照してください。
7. 決定ルール表を保存するために、ツールバーの[保存]を選択します。決定ルール表を更新すると、[保存]ボタンは活性化され
ます。
8. 決定ルール表を保存するときに、決定ルール表の正当性を確認します。決定ルール表に誤りや警告がある場合は、[問題]ビュー
に表示されます。詳細は、“10.4 決定ルール表の正当性の確認で発生するエラーと警告”を参照してください。
9. 決定ルール表を検証します。詳細は、“10.5 決定ルール表の検証”を参照してください。
10. 条件変数と結果変数にプロセス定義のユーザ定義属性をマッピングします。詳細は、“10.6 決定ルール表アクションの使用”を
参照してください。
10.2 決定ルール表の作成
各アプリケーションプロジェクトは、ルールセットを含むRulesフォルダを持ちます。
各ルールセットには、決定ルール表ファイル(.dtファイル)を保存できます。ルールセットは、Rulesフォルダのサブフォルダです。
- 253 -
図10.1 決定ルール表を表示した[ナビゲーター]ビュー
決定ルール表ファイルを作成する方法について説明します。
・ 新しいアプリケーションプロジェクトを作成します。詳細は、“3.1.1 ワークフローアプリケーションプロジェクトの作成”を参照してくだ
さい。
・ Rulesフォルダにルールセットを作成します。詳細は、“10.2.1 新しいルールセットの作成”を参照してください。
・ ルールセットフォルダに決定ルール表ファイルを作成します。詳細は、“10.2.2 新しい決定ルール表の作成”を参照してください。
10.2.1 新しいルールセットの作成
ルールセットを作成する方法について説明します。
- 254 -
1. Rulesフォルダを右クリックします。ポップアップメニューから[新規]>[ルール]>[ルールセット]を選択します。または、[ファイル]
>[新規]>[ルール]>[ルールセット]の順に選択します。
[新規ルールセット]ダイアログが表示されます。
図10.2 [新規ルールセット]ダイアログ
2. [ルールセット名]フィールドにルールセット名を入力し、[完了]をクリックします。
Rulesフォルダの配下に新しいルールセットが作成されます。
注意
ルールセットは、アプリケーションプロジェクト配下や他のルールセット配下に作成することはできません。Rulesフォルダ配下のみに作
成することができます。
10.2.2 新しい決定ルール表の作成
決定ルール表ファイルを作成する方法について説明します。
前提条件は以下です。
・ Rulesフォルダ配下にルールセットを作成している。
- 255 -
手順を以下に示します。
1. ルールセットフォルダを右クリックします。ポップアップメニューから[新規]>[ルール]>[決定ルール表]を選択します。または、
[ファイル]>[新規]>[ルール]>[決定ルール表]の順に選択します。
[新規決定ルール表]ダイアログが表示されます。
図10.3 [新規決定ルール表]ダイアログ
2. [名前]フィールドに決定ルール表の名前を入力し、[完了]をクリックします。
ルールセットの配下に新しい決定ルール表ファイルが作成され、決定ルール表エディタが表示されます。
3. 決定ルール表エディタで、[説明]フィールドに決定ルール表の説明を入力します。この操作はオプションです。
注意
- 決定ルール表ファイルの拡張子は、“.dt”です。
- ルールセット名は、アプリケーションプロジェクトでユニークである必要があります。また、決定ルール表の名前は、ルールセッ
トでユニークである必要があります。
- 256 -
DiscountDecision.dtを作成した場合の例を以下に示します。
図10.4 決定ルール表エディタ
4. ツールバーの[保存]を選択します。
新しく作成した決定ルール表は保存されます。決定ルール表の編集に関する詳細は、“10.3 決定ルール表の編集”を参照して
ください。
5. 決定ルール表ファイルを削除する場合は、削除する決定ルール表ファイルを右クリックします。ポップアップメニューから[削除]
を選択します。
決定ルール表ファイルのエクスポート
Systemwalker Runbook Automation Studio からファイルシステムに決定ルール表ファイルを以下の方法でエクスポートすることができ
ます。
1. [ナビゲーター]ビューで、決定ルール表ファイルを右クリックします。ポップアップメニューの[エクスポート]を選択します。
2. エクスポートした決定ルール表ファイルを格納する場所に移動します。
3. [保存]をクリックします。
決定ルール表ファイルのインポート
Systemwalker Runbook Automation Studio へファイルシステムから決定ルール表ファイルを以下の方法でインポートすることができま
す。
1. [ナビゲーター]ビューで、決定ルール表ファイルをインポートするルールセットを右クリックします。ポップアップメニューの[イン
ポート]を選択します。
2. 決定ルール表ファイルが格納されている場所に移動します。
3. 決定ルール表ファイルを選択し、[開く]をクリックします。
4. ルールセットに同じファイル名の決定ルール表ファイルがすでに存在する場合は、ファイル名を入力するダイアログボックスが表
示されます。ファイル名を入力し、[OK]をクリックします。
- 257 -
10.3 決定ルール表の編集
決定ルールを入力するために、決定ルール表の入出力となる条件変数と結果変数を定義します。そして、それらを使用して決定ルー
ルを定義します。この節では以下について説明します。
・ 10.3.1 条件変数の編集
・ 10.3.2 結果変数の編集
・ 10.3.3 決定ルールの編集
10.3.1 条件変数の編集
条件変数を編集する方法について説明します。
前提条件は以下です。
・ 決定ルール表ファイルが作成されている。
手順を以下に示します。
1. 決定ルール表ファイルを選択し、決定ルール表エディタを開きます。
2. 条件変数を追加するために、[条件変数]領域で[追加]ボタンをクリックします。デフォルトで、新しい条件変数“Condition0”が追
加されます。
3. 条件変数の名前を変更するために、[名前]カラムをクリックします。
4. 条件変数の説明を[説明]カラムに入力します。この操作はオプションです。
5. データ辞書を入力するために、[データ辞書]カラムをクリックします。詳細は、後述します。この操作はオプションです。
6. 条件変数のタイプを[タイプ]カラムで選択します。
7. 条件変数を保存するために、ツールバーの[保存]を選択します。
以下は、条件変数として、STRINGタイプのCustomerType、Region、およびDayOfWeekを定義した図です。
図10.5 条件変数の追加
8. 条件変数を削除するために、削除する条件変数を選択し、[削除]ボタンをクリックします。
9. 条件変数をコピーするために、コピーする条件変数を選択し、[コピー]ボタンをクリックします。
10. 条件変数を貼り付けるために、条件変数をコピーする必要があります。条件変数を貼り付けたい行を選択し、[貼付け]ボタンをク
リックします。行を選択しないで、[貼付け]ボタンをクリックした場合は、コピーされた条件変数は末尾に貼り付けられます。
- 258 -
11. 条件変数の表示順序を変更するためには、表示順序を変更したい条件変数を選択し、[上へ]、[下へ]ボタンをクリックします。
注意
条件変数の削除、コピーや表示順序の変更は、複数の条件変数を選択して実行することができます。
決定ルール表の結果変数の編集の詳細については、“10.3.2 結果変数の編集”を参照してください。
データ辞書
データ辞書を使用することにより、条件変数の値の同義語を定義することができます。
データ辞書を定義する方法について説明します。
1. データ辞書を定義する条件変数を選択し、[データ辞書]の[New]ボタンをクリックします。
[データ辞書]ダイアログは表示されます。[条件の詳細]グループには、選択した条件変数の情報が表示されます。
2. [入力値]フィールドに、条件変数の値を入力します。
3. [代替値]フィールドに、その条件変数の値と同義語となる値を入力します。
4. [マッピングの追加]ボタンをクリックします。
[マッピング]リストに、これらの値が表示されます。
条件変数の値として、入力値と代替値は、同様に扱われます。
例:“California”を“CA”の代替値として使用する
[入力値]フィールドに、“CA”を入力し、[代替値]フィールドに“California”を入力し、[マッピングの追加]ボタンをクリックすると、条
件変数の値が“California”の場合、その値が“CA”の場合と同様に扱われます。
図10.6 [データ辞書]ダイアログ
- 259 -
10.3.2 結果変数の編集
結果変数の編集について説明します。
前提条件は以下です。
・ 決定ルール表ファイルが作成されている。
決定ルール表の詳細については、“10.2.2 新しい決定ルール表の作成”を参照してください。
条件変数の値が決定ルールで定義した条件を満たす場合、それに対応する結果変数に値が設定されます。
結果変数を編集する方法について説明します。
1. 決定ルール表ファイルを選択し、決定ルール表エディタを開きます。
2. 結果変数を追加するために、[結果変数]領域で[追加]ボタンをクリックします。デフォルトで、新しい結果変数“Result0”が追加さ
れます。
3. 結果変数の名前を変更するために、[名前]カラムをクリックします。
4. 結果変数の説明を[説明]カラムに入力します。この操作はオプションです。
5. 結果変数のタイプを[タイプ]カラムで選択します。
以下は、結果変数として、STRINGタイプのDiscountを定義した図です。
図10.7 結果変数の追加
6. 結果変数を削除するために、削除する結果変数を選択し、[削除]ボタンをクリックします。
7. 結果変数をコピーするために、コピーする結果変数を選択し、[コピー]ボタンをクリックします。
- 260 -
8. 結果変数を貼り付けるために、結果変数をコピーする必要があります。結果変数を貼り付けたい行を選択し、[貼付け]ボタンをク
リックします。行を選択しないで、[貼付け]ボタンをクリックした場合は、コピーされた結果変数は末尾に貼り付けられます。
9. 結果変数の表示順序を変更するためには、表示順序を変更したい結果変数を選択し、[上へ]、[下へ]ボタンをクリックします。
注意
結果変数の削除、コピーや表示順序の変更は、複数の結果変数を選択して実行することができます。
10.3.3 決定ルールの編集
前提条件:決定ルール表ファイルを作成し、必要は条件変数と結果変数が定義されている。
決定ルールを編集する方法について説明します。
1. 決定ルール表ファイルを選択し、決定ルール表エディタを開きます。
2. 決定ルールを追加するために、[決定ルール]領域で[追加]ボタンをクリックします。
新しい行が追加され、[No.]カラムには先頭行からの行番号が表示されます。最初の行番号は“1”です。
3. 決定ルールテーブルに、既に設定している条件変数と結果変数のカラムが表示されます。
4. 条件変数のセルをクリックすると、テキストフィールドとボタンが表示されます。
このボタンをクリックすると、[式の作成]ダイアログが表示されます。
5. [オペレータ]コンボボックスから条件変数の値を判定する際に使用する演算子(オペレータ)を選択します。
図10.8 [式の作成]ダイアログ
以下のオペレータを使用することができます。
- <= (~以下)
- < (~より小さい)
- 261 -
- = (~と等しい)
- != (~と等しくない)
- > (~より大きい)
- >= (~以上)
- in (~と等しい、または~と等しい、…)
- between (~以上、~以下)
- like (~を含む)
- notlike (~を含まない)
注意
- [条件変数]カラムをクリックして、直接、条件変数の式を入力できます。条件変数の式に誤りがある場合は、エラーメッセージ
が表示されます。
- オペレータ(=,!=,<,>,<=,>=)については、オペレータの後の値を入力します(例:“=xyz”)。オペレータ(in, like, not like, between)
の形式は、オペレータ(value1,value2...)となります(例:“in(a,b,c)”)。
以下の表は、条件変数のタイプ毎にサポートされているオペレータの一覧です。
オペレータ
Boolean
Integer
Float
Long
BigDecimal
Date
String
<
×
○
○
○
○
○
×
>=
×
○
○
○
○
○
×
<=
×
○
○
○
○
○
×
>=
×
○
○
○
○
○
×
!=
○
○
○
○
○
○
○
=
○
○
○
○
○
○
○
in
×
○
○
○
○
○
○
between
×
○
○
○
○
○
×
like
×
×
×
×
×
×
○
notlike
×
×
×
×
×
×
○
○: サポート、×:未サポート
6. [OK]ボタンをクリックします。
条件変数の式が対応する条件変数のセルに表示されます。
- 262 -
7. [結果変数]カラムをクリックして、条件変数に定義した式が真(true)の場合に設定する値を入力します。
例えば、以下の図での決定ルールは、条件変数 CustomerTypeが“Gold”と等しく、Regionが“CA”と等しい場合、結果変数
Discountには、“10”が設定されます。
図10.9 決定ルールの追加
複数の条件変数を設定するときに、条件変数のある式を空白に設定することができます。これはワイルドカードとして扱われま
す。
上図の条件変数 DayOfWeekの式は空白で設定され、この変数の式は評価されません。
注意
条件変数のすべてのタイプで、式を空白にすることができます。
決定ルールを実行するときに、すべての決定ルールを評価します。複数の決定ルールが適用される場合、最初に評価された決定ルー
ルが採用されます。 例として、以下の割り引きルールを使用して説明します。
・ 決定ルール 1: 条件変数“sales amount” > $50000 の場合、 結果変数“discount rate” に 20% を設定する。
・ 決定ルール 2: 条件変数“sales amount” > $20000 の場合、 結果変数“discount rate” に 10% を設定する。
sales amountの値が$70000の場合、両方の決定ルールは適用されます。しかし、最初の“決定ルール 1”が採用されて、結果変数
“discount rate”には、20%が設定されます。“決定ルール 2”は無視されます。もし、すべての条件変数の式を空白で設定した場合、最
初の決定ルールが採用され、2番目以降の決定ルールは無視されます。
決定ルール表を検証する方法については、“10.5 決定ルール表の検証”を参照してください。
条件変数と結果変数をプロセス定義のユーザ定義属性にマッピングする方法については、“10.6 決定ルール表アクションの使用”を
参照してください。
10.4 決定ルール表の正当性の確認で発生するエラーと警告
決定ルール表の正当性を確認するために、以下のいずれかを実行します。
・ ツールバーの[正当性を確認する]を選択する:正当性を確認する決定ルール表エディタをアクティブにして、ツールバーの[正当
性を確認する]を選択します。決定ルール表にエラーや警告がある場合は、[問題]ビューにそのメッセージが表示されます。
・ 決定ルール表を検証する:決定ルール表エディタの[決定ルール表の検証]をクリックします。決定ルール表の正当性を確認し、[決
定ルール表の検証]ダイアログを表示します。決定ルール表の検証については、“10.5 決定ルール表の検証”を参照してください。
・ 決定ルール表を保存する:決定ルール表を保存する処理で、決定ルール表の正当性を確認します。決定ルール表が正しく定義
されている場合は、決定ルール表は保存されます。エラーや警告がある場合は、“決定ルール表に誤りがあります。保存しますか?”
- 263 -
のメッセージを表示します。このメッセージで[はい]を選択した場合、[問題]ビューにそのエラーや警告が表示されます。[いいえ]
を選択した場合は、決定ルール表エディタに戻ります。[詳細]を選択した場合は、エラーと警告の詳細を表示します。
・ 決定ルール表エディタを閉じる:決定ルール表エディタを閉じる処理で、決定ルール表の正当性を確認します。決定ルール表を更
新した状態で閉じる処理を実行すると、“決定ルール表ファイルは変更されています。変更を保管しますか?”のメッセージが表示
されます。このメッセージで[はい]を選択した場合、決定ルール表を保存する処理が実行されます。[いいえ]を選択した場合、この
変更を保存せずにエディタを閉じます。
[問題]ビューにエラーと警告を表示します。 エラー行や警告行をダブルクリックすると、決定ルール表エディタが表示され、該当する項
目が選択されます。[問題]ビューの詳細については、“2.2.10 [問題]ビュー”を参照してください。
10.5 決定ルール表の検証
決定ルール表を検証する方法について説明します。
前提条件は以下です。
・ 決定ルール表ファイルを作成し、必要は条件変数、結果変数と決定ルールが定義されている。
手順を以下に示します。
1. 決定ルール表ファイルを選択し、決定ルール表エディタを開きます。
2. [決定ルール表の検証]をクリックします。
決定ルール表の正当性を確認します。もし、決定ルール表にエラーがなければ、[決定ルール表の検証]ダイアログが表示され
ます(警告のみであれば、ダイアログは表示されます)。エラーがあるときは、このダイアログは表示されません。正当性の結果を
[問題]ビューに表示します。
3. [追加]ボタンをクリックし、条件変数、結果変数カラムに設定されうる値を入力します。
4. [検証]ボタンをクリックします。採用された決定ルールの行番号が、“ルール#”カラムに表示されます。
以下にDiscountDecision 決定ルール表の検証結果を表示します。
図10.10 [決定ルール表の検証]ダイアログ
10.6 決定ルール表アクションの使用
決定ルール表を使いやすくするためのJava Actionを使用することができます。この節では以下について説明します。
・ 10.6.1 決定ルール表を適用するプロセス定義の選択
・ 10.6.2 決定ルール表アクション
- 264 -
10.6.1 決定ルール表を適用するプロセス定義の選択
決定ルール表アクションは、プロセス定義に決定ルール表を適用するために使用します。決定ルール表アクションを定義するために
以下を定義しなければなりません。
・ 条件変数とマッピングするプロセス定義のユーザ定義属性
・ 結果変数とマッピングするプロセス定義のユーザ定義属性
注意
プロセス定義で必要なユーザ定義属性が定義されていない場合、決定ルール表は正しく動作しません。その場合、エラーメッセージ
を表示します。
10.6.2 決定ルール表アクション
決定ルール表アクションを定義する方法について説明します。
前提条件は以下です。
・ 決定ルール表ファイルを作成し、必要は条件変数、結果変数と決定ルールが定義されている。
・ 決定ルール表アクションを定義するプロセス定義に、必要なユーザ定義属性が定義されている。
手順を以下に示します。
1. 決定ルール表アクションを定義するプロセス定義を開きます。
2. 決定ルール表アクションを定義するノードまたはプロセス定義を選択し、[プロパティ]ビューの[アクションセット]タブを選択しま
す。
3. 追加するアクションタブを選択し、[追加]ボタンをクリックします。[アクションタイプリスト]ダイアログが表示されます。
4. [ルールアクション]グループをクリックし、[決定ルール表]をダブルクリックします。[決定ルール表]ダイアログが表示されます。
5. アクションの名前、ノートを入力します。
6. [ルールセット]コンボボックスで、定義する決定ルール表が格納されているルールセットを選択します。
[ルールセット]コンボボックスには、このアプリケーションプロジェクトで利用可能なすべてのルールセットが表示されます。
- 265 -
7. [決定ルール表]コンボボックスで、定義する決定ルール表を選択します。
[決定ルール表]コンボボックスには、選択されたルールセットに格納されているすべての決定ルール表が表示されます。
図10.11 [決定ルール表]ダイアログ
8. [データマッピング]テーブルで、[ユーザ定義属性]カラムをクリックし、条件変数と結果変数にマッピングするユーザ定義属性を
選択します。
注意
- [ユーザ定義属性]カラムの初期値は、ユーザ定義属性を選択していません。[ユーザ定義属性]カラムをクリックすると、ユー
ザ定義属性の一覧が表示されます。XMLタイプのユーザ定義属性は、条件変数と結果変数のタイプに関わらず、[ユーザ
定義属性]カラムに表示されます。
- 条件変数にユーザ定義属性を必ずマッピングしなければなりません。しかし、結果変数とユーザ定義属性のマッピングはオ
プションです。条件変数にユーザ定義属性をマッピングしないで、[OK]ボタンをクリックした場合は、エラーメッセージが表示
されます。結果変数にユーザ定義属性をマッピングしないで、[OK]ボタンをクリックした場合は、警告メッセージが表示され
ますが、アクションを定義することができます。
- UDAの選択を確定するためには、他のセルを選択する必要があります。
9. XMLタイプのユーザ定義属性をマッピングした場合、[XPath]カラムをクリックして、XPathを選択します。
注意
- XPathを指定しないで、[OK]ボタンをクリックすると、エラーメッセージが表示されます。
- 266 -
- [XPath]カラムには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択されたユーザ
定義属性でXML スキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択された
ユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
10. オプション:[XPath]カラムで選択したXPathを編集する場合は、カラム左端のボタンをクリックします。[XPath エディタ]ダイアログ
が表示され、XPathを編集することができます。
注意
- 編集されたXPathは、[XPath]カラムに表示されます。
- XPath エディタは編集されたXPathの正当性を確認しません。
11. [決定ルール表]ダイアログを閉じるために、[OK]ボタンをクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker
Runbook Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アク
ションの詳細については、“11.1.7 Java Actionのエラー処理”を参照してください。
- 267 -
第11章 プロセスの高度なモデル化
ここでは、Java Actionとトリガの使用方法について説明します。また、JavaScript式の定義方法に関する情報も記載されています。
11.1 Java Action
Java Actionを使用することで、プロセス実行をカスタマイズし、外部システムと統合できます。
Systemwalker Runbook Automation Studioは、以下の内蔵Java Actionを提供します。
・ 通知アクション
・ サーバアクション
・ XMLアクション
また、Systemwalker Runbook Automation Studioは、以下の機能も提供します。
・ 利用しているJavaクラスのメソッドを汎用Actionとして統合する機能
・ 特定のエラー状況に通常使用される無処理アクション
Java Actionは、プロセス定義自体、ノード、タイマー、および期限に割り当てることができます。StartノードとExitノードにはJava Action
を割り当てることができません。
Java Actionを割り当てるときには、必ずアクションセットに割り当てます。各アクションセットは、プロセス実行中の特定の時点、または特
定のコマンドの実行時に実行されます。
11.1.1 Java Actionのタイプ
以下のJava Actionセットが区別されます。
・ 初期化アクションと所有者アクションは、プロセスの初期化時に実行されます。これらのJava Actionは、最初のアクティビティが実行
される前にユーザ定義属性データを初期化します。
・ 完了アクションは、プロセスの完了時に実行されます。これらのアクションを使用して、プロセスインスタンス全体のデータをクリーン
アップまたは分析できます。
・ 開始アクションは、アクティビティが開始される前に評価されます。したがって、このJava Actionを使用すると、特定のノードが実行
される前に、そのノードに関連付けられている値を設定または初期化できます。
・ 終了アクションは、ノードでの作業が終了し、プロセスインスタンスが別のノードに移動する前に実行されます。したがって、このJava
Actionを使用すると、目的の作業が終了した後で、そのノードに関連付けられている値をクリーンアップまたは分析できます。
・ ロールアクションは、ロールが解決された後、タスクが割り当てられる前に評価されます。したがって、このJava Actionを使用する
と、ロールに関連付けられているタスクの担当者のリストを動的に計算できます。
・ タイマーアクションは、タイマーの日時や期限に到達したときに実行されます。
・ エラーアクションを使用すると、プロセスの実行中に特定のエラー状態を処理できます。エラーアクションは、プロセス定義全体、個
別のノード、および他のJava Action(別のJava Actionの実行中に発生したエラーに対応する場合)に対して定義できます。
・ 補償アクションは、Systemwalker Runbook Automation以外のシステム(外部データベースなど)にアクセスする別のJava Actionに
対して定義できます。補償アクションは、トランザクションのクリーンアップおよびロールバック(外部データベースに新しく追加され
た行を削除する場合など)を行い、トランザクションに参加している全システムを一貫した状態に保つために役立ちます。
・ 管理者がプロセスインスタンスの処理を中止、一時停止、または再開するコマンドを発行したときに、特別なタイプのアクションを直
ちに活性化することができます。このようなアクションは、以下のいずれかのアクションセットに属します。
- 一時停止時アクション
- 再開時アクション
- 中止時アクション
これらのアクションは、プロセスインスタンスの状態が変更される前に実行されます。これらのアクションは、プロセス定義内の個別
ノードまたはプロセス定義全体に対する個別のアクティビティについて定義できます。
- 268 -
11.1.2 Java Actionの割当て
Java Actionは3つのレベルで定義し割り当てることができます。
・ プロセス定義レベル:
初期化アクション、所有者アクション、完了アクション、タイマーアクション、一時停止時アクション、再開時アクション、中止時アク
ション、エラーアクション。
・ ノードレベル:
ロールアクション、開始アクション、終了アクション、一時停止時アクション、再開時アクション、中止時アクション、エラーアクション、
タイマーアクション。ノードのタイプによって、割り当てることのできるJava Actionのタイプと、そのJava Actionを実行するタイミングが
異なります。
・ Java Actionレベル:
補償アクションとエラーアクション
ノードレベルとプロセス定義レベルの両レベルでJava Actionを定義する場合、ノードレベルアクションを実行してからプロセス定義レベ
ルアクションを実行します。
Java Actionの作成後、そのJava Actionを異なる場所で利用できます。たとえば、同じJava Actionを開始アクション、エラーアクション、
補償アクションとして利用できます。
注意
特定のエラー状況に対処できるよう、Systemwalker Runbook Automation Studioがエラーアクションと補償アクションを提供します。これ
らのアクションをその他のJava Actionに割り当てることができます。エラーアクションと補償アクションの詳細については、“11.1.7 Java
Actionのエラー処理”を参照してください。
ここでは、Java Actionを割り当てるときの一般的な手順の概要を説明します。
Java Actionをプロセス定義またはノードに割り当てる方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを割り当てるノード
を選択します。
- 269 -
2. [アクションセット]タブを選択します。
[アクションセット]タブの内容は、対象となるノードによって異なります。以下の図は、Activityノード用の[アクションセット]タブを示
しています。
図11.1 Activityノード用の[アクションセット]タブ
以下の図は、プロセス定義用の[アクションセット]タブを示しています。
図11.2 プロセス定義用の[アクションセット]タブ
注意
[タイマー]と[期限]タブを使用して、Java Actionをタイマーと期限に割り当てることができます。詳細については、“6.22.1 期限の
定義”と“6.22.2 タイマーの定義”を参照してください。
- 270 -
3. 追加するJava Actionのタイプを選択し、[追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
図11.3 アクションタイプリスト
4. [アクションタイプリスト]ダイアログで、Java Actionが置かれているフォルダを展開し、任意のJava Actionを選択した後、[作成]を
クリックします。
選択したアクションに応じて必要な操作を行います。
5. [OK]をクリックします。
6. Java Actionの実行順序を変更するには、変更するJava Actionを選択し、[アクションセット]タブや[タイマー]タブ、または[期限]タ
ブでJava Actionを選択し、右下の[上へ]または[下へ]をクリックします。
注意
[上へ]ボタンや[下へ]ボタンで、Java Actionを別のアクションセットに移動させることはできません。移動させるには、切り取り、コ
ピー、貼り付けを使用します(詳細については、“11.1.4 Java Actionの切り取り、コピー、貼り付け”を参照してください)。
11.1.3 Java Actionの編集
プロセス定義または個々のノードに割り当てたJava Actionを編集することができます。
Java Actionを編集する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを編集するノード
を選択します。
- 271 -
2. [アクションセット]タブを選択します。
[プロパティ]ビューに、アクションセットに割り当てられたすべてのJava Actionが表示されます。所有者アクションセットに割り当て
られたJava Actionの事例を以下にいくつか示します。
図11.4 所有者アクションセットの表示
3. 変更するJava Actionを選択します。その横にある[編集]をクリックします。
表示されるダイアログで、選択したアクションに応じて必要な変更を行います。
4. [OK]をクリックしてダイアログを閉じます。
11.1.4 Java Actionの切り取り、コピー、貼り付け
切り取り、コピー、および貼り付け操作を使用して、Java Actionを別の場所に移動したりコピーしたりすることができます。
Java Actionの切り取り、コピー、貼り付けを行う方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを編集するノード
を選択します。
2. [アクションセット]タブを選択します。
3. Java Actionを切り取るには、以下のいずれかを行います。
- Java Actionを選択し、[切取り]をクリックします。
- Java Actionを右クリックし、ポップアップメニューの[切取り]を選択します。
4. Java Actionをコピーするには、以下のいずれかを行います。
- Java Actionを選択し、[コピー]をクリックします。
- Java Actionを右クリックし、ポップアップメニューの[コピー]を選択します。
5. Java Actionを貼り付けるには、以下のいずれかを行います。
- Java Actionを選択し、[貼付け]を選択します。
- Java Actionを貼り付ける位置を右クリックし、ポップアップメニューの[貼付け]を選択します。
フォルダを選択すると、そのフォルダ内に貼り付けます。Java Actionを選択すると、そのJava Actionの後ろに貼り付けます。
通常のアクション、エラーアクション、補償アクションの貼り付け
ある場所からコピーしたJava Actionを、別の場所に貼り付けることができます。ただし、1つのアクションを別のアクションに貼り付けるこ
とが、必ずしも役に立つとは限りません(たとえば、エラーアクションを補償アクションに貼り付ける場合など)。たとえば、例外修飾子は
補償アクションでは無意味です。よって、例外設定を使わない場所に貼り付ける場合、[貼り付け]機能は自動的に例外設定の有無を
確認します。貼り付け先で不要な情報はすべて失われます。
以下の表では、通常のJava Action、エラーアクション、補償アクションを貼り付ける場合に生じる事象を表示しています。
- 272 -
貼り付けるJava Action > コ
ピーされるJava Actionの位置
通常のJava Action
エラーアクション
補償アクション
通常のJava Action
通常のJava Actionは、そこに
割り当てられたエラーアクショ
ンと補償アクションと一緒に貼
り付けられます。
エラーアクションが貼り付けら
れます。デフォルトのエラー処
理設定が使用されます(トラン
ザクションのロールバック、エ
ラー状態へ遷移)。コピーされ
た通常のJava Actionにあるエ
ラーアクションと補償アクショ
ンの設定は、すべて消されま
す。
エラーアクションが貼り付けら
れます。デフォルトのエラー処
理設定が適用されます(トラン
ザクションのロールバック、エ
ラー状態へ遷移)。コピーされ
た通常のJava Actionにあるエ
ラーアクションと補償アクショ
ンの設定は、すべて消されま
す。
エラーアクション
エラーアクションや補償アク
ションのない、通常のJava
Actionが貼り付けられます。
エラーアクションが貼り付けら
れます。
補償アクションが貼り付けられ
ます。
[例外処理]タブで定義されて
いるエラー処理の設定すべて
が失われます(詳細は、
“11.1.7 Java Actionのエラー
処理”を参照してください)。
[例外処理]タブで定義されて
いるエラー処理の設定すべて
が失われます(詳細は、
“11.1.7 Java Actionのエラー
処理”を参照してください)。
コピーされたエラーアクション
のその他すべての設定は、問
題なく貼り付けることができま
す。
コピーされたエラーアクション
のその他すべての設定は、問
題なく貼り付けることができま
す。
補償アクション
エラーアクションや補償アク
ションのない、通常のJava
Actionが貼り付けられます。
エラー処理が貼り付けられま
す。デフォルトのエラーアクショ
ン設定が使用されます(トラン
ザクションのロールバック、エ
ラー状態へ遷移)。
補償アクションが貼り付けられ
ます。
11.1.5 Java Actionの削除
Java Actionを使用しなくなった場合は、プロセス定義やノードから削除できます。
Java Actionを削除する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを削除するノード
を選択します。
2. [アクションセット]タブを選択します。
3. 削除するJava Actionを選択します。その横にある[削除]をクリックします。
4. [OK]をクリックします。
11.1.6 トランザクションの設定
Java Actionは、アクションセットに割り当てられます。アクションセットは、プロセス実行内の特定の時点に関連付けられています。
・ 初期化アクション: プロセスインスタンスが開始するとき
・ 所有者アクション:プロセスインスタンスが開始するとき
・ ロールアクション: Systemwalker Runbook Automationによってアクティビティを割り当てるユーザーが決定されるとき
・ 開始アクション: アクティビティが活性化される前
・ タイマーアクション: タイマーの期限が切れたとき、または期限に到達したとき
・ 終了アクション: アクティビティが完了したとき
・ 完了アクション: プロセスインスタンスが終了するとき
- 273 -
・ 一時停止時アクション:プロセスインスタンスが一時停止するとき
・ 再開時アクション:プロセスインスタンスが再開するとき
・ 中止時アクション:プロセスインスタンスが中止するとき
・ エラーアクション:Java Actionが例外をスローするとき
・ 補償アクション:外部システムにアクセスするJava Action内でエラーが発生したとき
デフォルトでは、各アクションセットが単一のトランザクションとして実行されます。セット内の1つのアクションの実行に失敗すると、その
セット全体のデータベーストランザクションがロールバックされます。ただし、メールサーバなど、トランザクションの範囲外にあるリソース
にJava Actionがアクセスする場合は、これらの影響をロールバックできません。
トランザクション設定を変更する方法について説明します。
1. ノードの[プロパティ]ビューの[一般]タブに[トランザクションのコミット]チェックボックスがあります。
2. そのノードのアクションセットが単一のトランザクションとして実行されない場合は、[トランザクションのコミット]チェックボックスをオ
フにします。
注意
Java Actionを別のトランザクションで実行させる場合は、それらのJava Actionを別ノードの別アクションセットに移動します。移動先の
ノードの[トランザクションのコミット]チェックボックスがオンになっていることを確認してください。
11.1.7 Java Actionのエラー処理
Java Actionの実行中にエラーが発生した場合は、例外がスローされます。Systemwalker Runbook Automationでは、Java Actionのエ
ラーに対して独自のエラー処理を定義できます。これにより、例外がスローされたときにプロセスインスタンスがエラー状態になることを
防止できます。
また、トランザクションがロールバックされてプロセスインスタンスがエラー状態に設定される前にクリーンアップを実行するJava Action
を定義することもできます。これには、Java Actionセット内のすべてのJava Actionのロールバックが含まれます。プロセスインスタンスが
エラー状態に設定される前に、エラー発生時の通知メールの送信などの一般的なアクションを実行したり、何らかの特別なアクション
を実行することができます。
Systemwalker Runbook Automationには、Java Actionのエラーを処理する以下のオプションが用意されています。
・ 補償アクション:
補償アクションは、システムをクリーンアップし、トランザクションに関連するすべてのシステム(外部データベースやメールサーバな
ど)を一貫した状態に保ちます。補償アクションは、外部システムが関係する場合に特に役立ちます。
Java Actionに対してエラー処理を定義しない場合、このJava Actionで例外がスローされたときは、トランザクションがロールバックさ
れます。ただし、ロールバックは、アプリケーションサーバのコンテキストでの変更に対してのみ実行されます。外部システムでのす
べてのトランザクション(外部データベースに行が追加されるなど)は、ロールバックされません。このため、場合によっては、トラン
ザクションで使用されたすべてのシステムを一貫した状態に保つために、外部システムを手動でクリーンアップする必要がありま
す。必要な場合は、補償アクションセットを使用できます。
アクションセット内の任意のJava Actionに対して補償アクションを指定できます。補償アクションは、たとえば新しくデータベースに
追加された行を削除したり、追加のメールを送信するような場合に役立ちます。通常のJava Actionセットで例外が発生した場合
は、例外がスローされる前に、正常に実行されたすべてのJava Actionに対して定義されているすべての補償アクションが逆の順序
で呼び出されます。
注意
補償アクションを別の補償アクションに埋め込むことはできません。補償アクションが例外をスローした場合、プロセスインスタンス
は直ちにエラー状態になり、残りの補償アクションの実行は中止されます。
・ エラーアクション:
Java Actionレベルで、関係する通常のJava Actionから例外がスローされると、エラーアクションセットが活性化します。エラーアク
ションは、他のすべてのアクションセットと同様に、アクションセット内にまとめられています。エラーアクションは、アクションセット内
- 274 -
の任意のアクションに対して指定できます。ただし、エラーアクションで発生した例外を処理するためのエラーアクションは定義で
きません。
[例外処理]タブの[エラーアクション]では、すべてのエラーアクションに対して、追加のエラー処理設定を指定できます。ただし、こ
のタブは、プロセス定義のJava Actionに対してエラーアクションを定義する場合にのみ使用できます。プロセス定義レベルで補償
アクションを定義する場合は、エラー処理設定を定義する必要はありません。
- エラー後の動作:エラーアクション実行後のプロセスインスタンスの動作を指定します。プロセスインスタンスをエラー状態にす
るか、エラーが発生しても実行を継続するかを指定できます。
- 対象とするException:どのような例外がスローされた際にエラーアクションを実行するかを選択できます。
注意
エラーアクションが例外をスローした場合、トランザクションは直ちにロールバックされ、プロセスインスタンスはエラー状態になりま
す。このような場合に対するエラーアクションを定義することはできません。
通常のJava Actionに対してエラーアクションまたは補償アクションを定義するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。
選択したプロセス定義またはノードで使用できるすべてのJava Actionが表示されます。通常のJava Actionに対するエラーまたは
補償Java Actionがまだ定義されていない場合は、エラーおよび補償Java Action用の空のフォルダが表示されます。以下の図
は、2つのJava Actionで構成されるActivityノードの[開始アクション]フォルダを示しています。
図11.5 [プロパティ]ビューに表示された開始アクション
3. エラーまたは補償アクションの定義対象とする通常のJava Actionを選択します。
4. [エラーアクション]または[補償アクション]フォルダ、またはフォルダ内のエラーまたは補償アクションを選択し、[追加]をクリックし
ます。
[アクションタイプ一覧]ダイアログが表示されます。ここで、Java Actionを選択し、このアクションを新しいエラーまたは補償アクショ
ンとして追加できます。
5. [アクションタイプ一覧]ダイアログで、追加するJava Actionが含まれるフォルダを展開します。Java Actionを選択し、[作成]をクリッ
クします。
選択したJava Actionの詳細を入力するダイアログが表示されます。選択したアクションに応じて必要な操作を行います。
6. Java Actionに対してエラーアクションを定義する場合:選択したJava Actionの[アクションエディタ]の[エラー処理]タブをクリックし
ます。ここで、以下のエラー処理設定を指定できます。
- 275 -
注意
このタブは、通常のJava Actionに対してエラーアクションを定義する場合にのみ使用できます。補償アクションを定義する場合、
またはプロセス定義レベルでエラーアクションを定義する場合は、このタブを使用できません。
図11.6 [エラー処理]タブの表示
- エラー後の動作:エラーアクション実行後のプロセスインスタンスの動作を指定します。プロセスインスタンスをエラー状態に
する場合は、[エラー状態へ遷移]ラジオボタンを選択します。エラーが発生すると、エラーが発生したJava Actionに対して指
定された補償アクションと、プロセスレベルのエラーアクションが実行され、プロセスインスタンスはロールバックされてエラー
状態になります。
プロセスインスタンスの実行を継続する場合は、[プロセス続行]ラジオボタンを選択します。エラーが発生すると、例外がキャッ
チされ、失敗したJava Actionに対して指定されているエラーアクションが実行されて、プロセスインスタンスは続行されます。
デフォルト設定は、[エラー状態へ遷移]です。
注意
複数のエラーアクションを異なる設定で定義してある場合は、[エラー状態へ遷移]の設定が[プロセス続行]の設定よりも優先
されます。
- 276 -
- 対象とするException:どのような例外がスローされた際にエラーアクションを実行するかを選択できます。エラーアクションを
あらゆる種類の例外に対応させる場合は、[すべてのExceptionをcatchする]ラジオボタンを選択します。この場合、[追加]お
よび[削除]ボタンは無効になります。
エラーアクションを特定の種類の例外に対応させる場合は、[以下で指定したExceptionをcatchする]ラジオボタンを選択しま
す。この場合は、[追加]および[削除]ボタンを使用して、例外クラス名(たとえば、java.lang.NullPointerException)を指定する
必要があります。
ただし、例外クラスとしてjava.lang.Exceptionを指定すると、[すべてのExceptionをcatchする]を指定した場合と同じ動作にな
ります。さらに具体的に指定しない限り、すべての例外はこのクラスに属するからです。
任意のエラー処理設定を組み合わせることができます。組み合わせによって異なるエラー処理操作が実行されます。以下の表
は、すべての可能な組み合わせと、定義済みJava Actionが実行された場合の効果を示しています。
エラー処理設定
エラー状態へ遷移
プロセス続行
すべてのExceptionをcatchする
Java Actionが任意の種類の例外をス
ローすると、指定されたエラーアクショ
ンが実行されます。トランザクションは
ロールバックされ、プロセスインスタンス
はエラー状態になります。
任意の種類の例外がJava Actionから
スローされると、指定されたエラーアク
ションが例外をキャッチし、プロセスイン
スタンスは続行されます。
以下で指定したExceptionをcatch
する
指定された例外がJava Actionからス
ローされると、エラーアクションが実行
されます。トランザクションはロールバッ
クされ、プロセスインスタンスはエラー
状態になります。
指定された例外がJava Actionからス
ローされると、エラーアクションが例外
をキャッチし、プロセスインスタンスは続
行されます。
指定されていない例外がJava Actionか
らスローされると、エラーアクションは実
行されず、トランザクションがロールバッ
クされて、プロセスインスタンスはエラー
状態になります(デフォルトのエラー処
理動作)。
指定されていない例外がJava Actionか
らスローされると、エラーアクションは実
行されず、トランザクションがロールバッ
クされて、プロセスインスタンスはエラー
状態になります(デフォルトのエラー処
理動作)。
7. 選択したJava Actionの詳細を入力し、エラーアクションの動作を指定したら、[OK]をクリックします。
[プロパティ]ビューに、新しいJava Actionが表示されます。以下の例では、開始アクションに1つのエラーアクションと1つの補償
アクションが追加されています。
図11.7 エラーアクションと補償アクションの追加
11.2 サーバアクションの使用
サーバアクションは、Systemwalker Runbook Automation サーバとの情報のやり取りを可能にします。サーバアクションを使用して以下
を実行できます。
・ ユーザーにアクティビティを割り当てる、または、アクティビティをエスカレートする
- 277 -
・ 矢印の自動選択を行う
・ プロセス起案者やアクティビティの実行者を取得する
・ 名前、説明、優先度などのプロセスインスタンスの標準的な属性を設定する
・ UDAの値を設定する
・ JavaScriptを評価する
・ 完了したアクティビティの実行者に対してタスクを割り当てる
・ 関連から担当者を設定する
11.2.1 アクティビティをユーザーに割り当てる
[ユーザにタスクを割当て]Java Actionを使用して、1人または複数のユーザーにアクティビティを割り当てることができます。このJava
Actionは、Activityノード、Voting Activityノード、またはCompound Activityノードをもつロールアクションとして使用できます。
注意
アクティビティを割り当てることができるのは、そのアクティビティが現在割り当てられているロール内のユーザーだけです。別のロール
に属するユーザーにアクティビティを再割当てする場合は、そのアクティビティのロールの割当てを変更する必要があります。
ユーザーにアクティビティを割り当てる方法について説明します。
1. Activityノード、Voting ActivityノードまたはCompound Activityノードを選択し、[プロパティ]ビューを表示します。
2. [アクションセット]タブを選択します。 [ロールアクション]タブで[追加]をクリックします。[アクションタイプリスト]ダイアログが表示さ
れます。
3. [サーバアクション]を展開し、[ユーザにタスクを割当て]をダブルクリックします。
4. アクティビティを割り当てるユーザーを指定します。
ユーザー名の直接入力やユーザー名が格納されているUDAの選択、評価結果がユーザー名になる複合JavaScript式の記述
が可能です。詳細については、“11.14 JavaScript式の定義”を参照してください。
注意
UDAの選択で指定する場合は、STRING型のUDAを選択します。STRING型以外のUDAを選択した場合は、Java Action実行
時にエラーとなります。
- 278 -
複数のユーザーを指定する場合は、カンマを使用してユーザー名を区切ります。以下の図は、その例を示しています。
図11.8 ユーザーへのアクティビティの割当て
注意
JavaScript式は、単純なUDA、複合JavaScript式、どちらの場合もアクティビティが現在割り当てられているロール内の1人または
複数のユーザーに設定する必要があります。
5. [詳細]タブで、Java Actionのアクション名とノートを入力します。
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
注意
ロールアクションの定義によって、このアクティビティは特定のユーザーに割当てられます。この場合、アクティビティの担当者の定義
は必要ありません。同じ方法でVoting ActivityやCompound Activityを割り当てることができます。
- 279 -
11.2.2 完了したアクティビティの実行者にタスクを割当て
プロセス定義の[プロパティ]ビューの[一般]タブの[担当者]領域、またはJava Actionを使用して、ユーザーにタスクを割り当てることが
できます。プロセス定義を作成した後でユーザーへタスクを割り当てる場合は、Java Actionを使用します。
ビジネス要件によっては、完了したアクティビティの担当者はさらに別のアクティビティを完了する必要があります。例えば、“User1”は
“Activity1”の実行者です。同じユーザーが“Activity2”を完了する必要がある場合があります。この機能を使用すると、“User1”に
“Activity2”を割り当てることができます。
注意
ロールアクションのみで[完了したアクティビティの実行者にタスクを割当て]Java Actionを設定できます。
注意
このアクティビティに割り当てられているロール内のユーザーのみにタスクを割り当てることができます。別のロールのユーザーにタスク
を割り当てたい場合は、現在のロールにこのユーザーを追加する必要があります。
完了したアクティビティの実行者にタスクを割り当てる方法について説明します。
1. ユーザーを割り当てたいプロセス定義のアクティビティを選択します。
注意
[完了したアクティビティの実行者にタスクを割当て]Java Actionは、Activityノード、Voting ActivityノードまたはCompound Activity
ノードのみに定義できます。
2. [プロパティ]ビューの[アクションセット]タブをクリックします。
[アクションセット]タブに[Java Action セット]領域が表示されます。デフォルトで、[ロールアクション]タブが表示されます。
3. [ロールアクション]を選択し、[追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
4. [アクションタイプリスト]ダイアログで[サーバアクション]をダブルクリックします。
- 280 -
5. [完了したアクティビティの実行者にタスクを割当て]を選択し、[作成]をクリックします。
図11.9 完了したアクティビティの実行者にタスクを割当て
6. オプション: [アクション名]フィールドに名前を入力し、[ノート]フィールドでメモを編集します。
デフォルトでは、[ノート]にはメモが表示されます。
7. [アクティビティ名]コンボボックスから、選択されたタスクに割り当てるユーザーを完了したアクティビティから選択します。
注意
[アクティビティ名]コンボボックスにはアクティビティだけが表示されます。
8. [OK]をクリックします。
[アクティビティ]コンボボックスで選択されたアクティビティの実行者へこのアクティビティは割り当てられます。
注意
ロールアクションの定義によって、このアクティビティは特定のユーザーに割り当てられます。この場合、アクティビティの担当者の定義
は必要ありません。同じ方法でVoting ActivityやCompound Activityを割り当てることができます。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては“11.1.7 Java Actionのエラー処理”を参照してください。
- 281 -
11.2.3 関連から担当者を設定
プロセス定義の[プロパティ]ビューの[一般]タブの[担当者]領域、またはJava Actionを使用して、ユーザーにタスクを割り当てることが
できます。プロセス定義を作成した後でユーザーへタスクを割り当てる場合は、Java Actionを使用します。
ビジネス要件によって、アクティビティは既に完了したアクティビティの実行者と関連するユーザーへ割り当てる必要があります。
この関係は管理者、同僚、チームリーダーなどが考えられます。例えば、“User1”が“Activity1”の実行者であるとします。“Activity2”
は“User1”の管理者のユーザー(“User2”)によって完了する必要があります。この機能を使用すると、“User1”と“User2”の関連を設定
して、“Activity2”を“User2”に割り当てることができます。
同様に、ユーザ定義属性(UDA)に関連したユーザー名にタスクを割り当てることができます。例えば“Variable1”は“User1”に関連す
るSTRINGタイプのユーザ定義属性です。この機能を使用すると、“Activity2”は“User1”の管理者の“User2”に割り当てられます。Java
Actionでこの関連性を設定することで、“User2”に“Activity2”を割り当てることができます。
注意
[関連から担当者を設定]Java ActionはSTRINGタイプのユーザ定義属性のみ定義することができます。
[関連から担当者を設定]を設定する方法について説明します。
1. ユーザーを割り当てるアクティビティをプロセス定義から選択します。
注意
[関連から担当者を設定]Java Actionは、Activityノード、Voting ActivityノードまたはCompound Activityノードのみに定義できま
す。
2. [プロパティ]ビューの[アクションセット]タブをクリックします。
[アクションセット]タブに[Java Actionセット]領域が表示されます。デフォルトで、[ロールアクション]タブが表示されます。
3. [ロールアクション]を選択し、[追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
4. [サーバアクション]をダブルクリックします。
- 282 -
5. [関連から担当者を設定]を選択し、[作成]をクリックします。
図11.10 関連から担当者を選択
以下のセクションでは、アクティビティの実行者やユーザ定義属性(UDA)との関連を使用して、ユーザーにアクティビティを割り当てる
方法について説明します。
注意
[関連名]は必須のフィールドです。
・ 完了したアクティビティの実行者と関連するユーザーにアクティビティを割り当てる方法について説明します。
1. オプション: [アクション名]にアクションの名前を入力します。
2. オプション: [ノート]を編集します。
3. [データソースの選択]にある[完了したアクティビティ]のラジオボタン(デフォルトとして選択されています)を選択します。
このラジオボタンを選択すると、コンボボックスに、ユーザーに割り当てられる必要があるアクティビティを除いたすべてのア
クティビティを表示します。
4. コンボボックスから関連付けたい完了したアクティビティを選択します。
5. [関連名]フィールドに関連名を入力します。例えば、“User1”が“Activity1”を完了しており、“User2”が“User1”の管理者とし
ます。もし“User2”を“Activity2”に割り当てたいなら、[完了したアクティビティ]ドロップダウンリストで“Activity1”を選択して、
[関連名]フィールドで管理者を指定します。
6. [OK]をクリックします。上の例の場合、“Activity2”は“User1”の管理者(“User2”)へ割り当てられます。
・ UDAに関連するユーザーにアクティビティを割り当てる
1. オプション: [アクション名]と[ノート]フィールドそれぞれを編集します。
- 283 -
2. [データソースの選択]にある[UDAの値]のラジオボタンを選択します。このラジオボタンを選択すると、プロセス定義のすべ
てのSTRING型のUDAがコンボボックスに表示されます。
3. [UDAの値]コンボボックスからUDAを選択します。例えば、“User2”を“Activity2”に割り当てたいなら、[UDAの値]で
“Variable1”を選択します。“User1”は“Variable1”に関係しており、“User2”は“User1”の管理者です。
4. [関連名]フィールドに関連名を入力します。[関連名]フィールドで管理者を指定してください。
5. [OK]をクリックします。上の例の場合、“Activity2”は“User1”の管理者(“User2”)へ割り当てられます。
注意
このアクティビティに割り当てられているロール内のユーザーのみにタスクを割り当てることができます。別のロールのユーザーにタスク
を割り当てたい場合は、現在のロールにこのユーザーを追加する必要があります。
注意
ロールアクションの定義によって、このアクティビティは特定のユーザーに割り当てられます。この場合、アクティビティの担当者の定義
は必要ありません。同じ方法でVoting ActivityやCompound Activityを割り当てることができます。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては“11.1.7 Java Actionのエラー処理”を参照してください。
関連名について
関連名について以下に説明します。
アクティビティの作業者
アクティビティがロールに割り当てられたあと、ロールに含まれる人はそのアクティビティを操作することができるようになります。イン
スタンスに対し、アクティビティがマネージャーロールに割り当てられた場合、マネージャーグループのすべてのメンバーが、そのア
クティビティを操作することができます。しかし、実際には、1人のマネージャーだけがそのアクティビティを実行することになります。
マネージャーは、そのアクティビティの作業者と呼ぶことができます。
アクティビティが実行されたあと、作業フローによっては、誰がアクティビティで作業するかを決定したい場合があるかも知れませ
ん。そして、その情報に基づいた対応をとりたいと考えるでしょう。
例えば、“カスタマーサポートの幹部社員”ロールに割り当てられた“カスタマー案件の記録”というアクティビティを考えます。まず、
どの“カスタマーサポートの幹部社員”が、“カスタマー案件の記録”というアクティビティを実際に行ったかを確認する必要がありま
す。次に、プロセスインスタンス中の“案件のエスカレート”という次のアクティビティに、同じ作業者を割り当てることが求められるで
しょう。
アクティビティの作業者の決定
com.fujitsu.iflow.server.intfパッケージのServerEnactmentContextインターフェースには、アクティビティの作業者を決定するために
使用するgetActivityActor()というメソッドが含まれています。
getActivityActor()メソッドは、パラメーターとしてActivityノードの名前を与えることで、完了したActivityノードの作業者を取得する
ことができます。
- Voting Activityノードは、このメソッドをサポートしていません。
- プロセスインスタンスの中のすべてのActivityノードに一意な名前を設定することをお勧めします。通過したノードに同じ名前の
ものが存在する場合、このメソッドは例外を返します。
- 284 -
- 次のサンプルは、Activity A の作業者を取得し、現在のアクティビティにその作業者を割り当てています。
public void assignActivityActor(ServerEnactmentContext sec){
String[] actor = new String[1];
actor[0] = sec.getActivityActor("Activity A");
sec.setActivityAssignees(actor);
}
- JavaScriptの一部として定義されたJavaActionで、このメソッドを呼ぶ必要があります。このメソッドの詳細は、“API Javadocマニュ
アル”を参照してください。
関連
ある作業フローでは、アクティビティの作業者に対する階層関係やUDAの値を参照して、作業を割り当てることがあります。例えば、
“会社名”というUDAに、“富士通”という値が設定されている場合、富士通というキーの“経営者”であることを確かめて、経営者だ
けを、特定のアクティビティに割り当てることができます。また、あるアクティビティに、Jimと呼ばれる作業者が割り当てられていると
き、Jimのマネージャーが誰か探し出し、特定のアクティビティにそのマネージャーを割り当てることができます。
関連の決定
com.fujitsu.iflow.server.intfパッケージに含まれるServerEnactmentContextのresolveRelationship()メソッドを使用して、関係を決定
します。
resolveRelationship()メソッドは、パラメーターとして基になる値と関連を使うことによって目標の値を返します。このメソッドは、ソース
の値、関連、ターゲットの値をあらかじめ定義しておくことで、機能します。これにより、このメソッドは適切な値を返すことができま
す。
ソースの値
関連
ターゲットの値
Jim
manager
Robert
Jim
assistant
Arthur
Fujitsu
executive
Bob
例えば、resolveRelationship("assistant", "Jim")はArthurを返します。
ソースの値 - 関連 - ターゲットの値のマッピングは、ディレクトリサービスまたはローカルユーザーストアのユーザープロファイルとし
て格納しなければなりません。ここで、ソースの値はユーザーID、関連はユーザー属性の名、ターゲットの値はユーザー属性の値
となります。
- ユーザープロファイルを作成するためには、“API Javadocマニュアル”のcom.fujitsu.iflow.model.workflowパッケージに含まれ
るDirectoryServicesインターフェースを参照してください。
- ソースの値には、人および人以外のもの(会社名やグループ名)を設定することができます。人以外のオブジェクトのユーザー
プロファイルをディレクトリサーバやローカルユーザーストアに追加する場合は、ログインする目的で使用されないことに注意し
てください。
- 次のサンプルでは、“Activity A”の作業者とその作業者のManagerを取得して、現在のアクティビティにそのManagerを割り当
てます。
public void assignManagerOfActivityActor(ServerEnactmentContext sec){
String[] managers =
sec.resolveRelationship("Manager",sec.getActivityActor("Activity A"));
sec.setActivityAssignees(managers);
}
- JavaScriptの一部として定義されたJavaActionで、このメソッドを呼ぶ必要があります。このメソッドの詳細は、“API Javadocマニュ
アル”を参照してください。
API Javadocマニュアル
“API Javadocマニュアル”は、“Systemwalker Runbook Automation メディアパック V15.1.3 DISC2 (連携サーバ/中継サーバ/業務サー
バ用プログラム、 開発コンピュータ用プログラム)”の中の“manual\BPM\javadoc”に格納されています。
- 285 -
11.2.4 アクティビティの優先度の設定
Activityノード、Voting Activityノード、Compound Activityノードに、-1以上の整数をアクティビティの優先度として設定できます。[アク
ティビティの優先度の設定]アクションを使用して、アクティビティに優先度を設定することもできます。
アクティビティの優先度は、Java Actionを使用するか[プロパティ]ビューの[一般]タブで設定することができます。[一般]タブによるアク
ティビティの優先度の定義の詳細については、“6.7.3 アクティビティの優先度の定義”を参照してください。
アクティビティの優先度の設定する方法について説明します。
1. Activityノード、Voting ActivityノードまたはCompound Activityノードを選択し、[プロパティ]ビューを表示します。
2. [アクションセット]タブを選択します。
3. Java Actionタイプから[開始アクション]タブを選択し、[追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
4. [サーバアクション]をダブルクリックし、[アクティビティの優先度の設定]を選択し、[作成]をクリックします。
[アクションエディタ - アクティビティの優先度の設定]が表示されます。
5. アクションの名前とノートを入力します。
6. [優先度]フィールドに、整数値と評価されるJavaScriptの式を指定します。優先度は、定数(数値)を入力する、値として優先度が
指定されているUDAを選択する、または、JavaScriptを入力する方法で設定できます。
注意
UDAの選択で設定する場合、INTEGERタイプまたはLONGタイプのUDAを選択します。それ以外の型のUDAを選択した場合
はJava Action実行時にエラーになります。
以下の例では、アクティビティの優先度がUDA Priorityの値に設定されています。
図11.11 Setting Activity Priority
- 286 -
7. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.5 アクティビティのエスカレート
アクティビティの期限を定義する際には、期限に到達したときにそのアクティビティが完了していなかった場合の処理も定義します。そ
の1つの方法は、[タスクのエスカレート]Java Actionを使用してアクティビティを別のユーザーにエスカレートすることです。
アクティビティのタイマーを定義するときも同様で、タイマーの期限が切れたときにアクティビティをエスカレートできます。
アクティビティをエスカレートする方法について説明します。
1. Activityノード、Voting ActivityノードまたはCompound Activityノード用の期限またはタイマーを定義します。
手順については、“6.22.1 期限の定義”または“6.22.2 タイマーの定義”を参照してください。
2. [期限]または[タイマー]タブで、[追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
3. [サーバアクション]を展開し、[タスクのエスカレート]をダブルクリックします。
4. エスカレート先となるユーザー名を指定します。
ユーザー名の直接入力やユーザー名が格納されているUDAの選択、評価結果がユーザー名になる複合JavaScript式の記述
が可能です。詳細については、“11.14 JavaScript式の定義”を参照してください。
注意
UDAの選択で指定する場合は、STRING型のUDAを選択します。STRING型以外のUDAを選択した場合は、Java Action実行
時にエラーとなります。
- 287 -
複数のユーザーを指定する場合は、カンマを使用してユーザー名を区切ります。以下の図はその例を示しています。
図11.12 アクティビティをエスカレートする
5. [詳細]タブで、Java Actionのアクション名とノートを入力します。
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.6 JavaScriptの評価
Java Action内のJavaScriptの機能を使用することもできます。[スクリプトの評価]Java Actionでは、アクションセット内でほかのJava Action
とJavaScriptを結合し、ほかのJavaScriptと関連付けてJavaScriptの実行順序の制御ができます。また、アクションセット内でこれらの一連
のJava Actionを使用して、複数のJavaScriptを任意の順序で評価できます。
ここでは、Java Actionの割当て方法について説明します。JavaScriptの記述方法については、“付録A JavaScript関数”を参照してくだ
さい。
JavaScriptを評価する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[スクリプトの評価]をダブルクリックします。
- 288 -
4. テキスト入力領域にJavaScriptを入力します。
図11.13 JavaScriptの評価
5. [詳細]タブで、Java Actionのアクション名とノートを入力します。
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.7 アクティビティの実行者を取得する
[実行者の取得]Java Actionを使用して、アクティビティを完了したユーザーの名前をUDAに格納することができます。
このJava Actionは、Activityノード、Voting ActivityノードおよびCompound Activityノードの終了アクションとして使用されます。
前提条件は以下です。
・ プロセス定義に、実行者名を格納できるUDAがある。
実行者名をUDAに格納する方法について説明します。
1. Activityノード、Voting ActivityノードまたはCompound Activityノードを選択し、[プロパティ]ビューを表示します。
2. [アクションセット]タブ、[終了アクション]タブを選択し、 [追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
3. [サーバアクション]を展開し、[実行者の取得]をダブルクリックします。
4. [実行者の取得]ダイアログで、Java Actionのアクション名とノートを入力します。
- 289 -
5. [ターゲットUDA]で、実行者の名前を格納するUDAを選択します。
図11.14 実行者名のUDAへの格納
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.8 プロセス起案者を取得する
[プロセス起案者の取得]Java Actionを使用して、プロセスインスタンスを開始したユーザーの名前をUDAに格納することができます。
前提条件は以下です。
・ プロセス定義に、プロセスの起案者名を格納できるUDAがある。
プロセスの起案者名をUDAに格納する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[プロセス起案者の取得]をダブルクリックします。
4. [プロセス起案者の取得]ダイアログで、Java Actionのアクション名とノートを入力します。
- 290 -
5. [ターゲットUDA]で、起案者名を格納するUDAを選択します。
図11.15 起案者名のUDAへの格納
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.9 自動的な矢印選択
[矢印の選択]Java Actionを使用して、ワークアイテム上での矢印の自動選択を設定することができます。このJava Actionは、Activity
ノード、Voting ActivityノードまたはCompound Activityノードのタイマーアクションとして使用できます。
矢印の自動選択を設定する方法について説明します。
1. Activityノード、Voting ActivityノードまたはCompound Activityノードのタイマーを定義します。
手順については、“6.22.2 タイマーの定義”を参照してください。
2. [タイマー]タブで、Java Actionの[追加]ボタンをクリックします。 [アクションタイプリスト]ダイアログが表示されます。
3. [サーバアクション]を展開し、[矢印の選択]をダブルクリックします。
4. Java Actionのアクション名とノートを入力します。
- 291 -
5. 選択する矢印を[矢印]フィールドで定義します。
矢印名を直接入力、値としてその矢印名が指定されているUDAを選択することも、評価された結果が矢印名になる複合JavaScript
式を記述することもできます。詳細については、“11.14 JavaScript式の定義”を参照してください。
図11.16 自動矢印選択の設定
6. [OK]をクリックします。
11.2.10 プロセスインスタンス名の設定
デフォルトでは、プロセスインスタンスには作成元のプロセス定義と同じ名前が設定されます。プロセスインスタンス名は、プロセスイン
スタンスの実行中にプロセスインスタンス名の設定Java Actionを使用して変更することができます。
プロセスインスタンスの名前を設定する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[プロセスインスタンス名の設定]をダブルクリックします。
4. Java Actionのアクション名とノートを入力します。
5. プロセスインスタンス名を[プロセス名]フィールドで指定します。
プロセスインスタンス名を入力することや、値としてプロセスインスタンス名が格納されているUDAを選択すること、また、評価され
た結果がユーザー名になるような複合JavaScript式を記述することができます。詳細については、“11.14 JavaScript式の定義”を
参照してください。
- 292 -
以下の図は、このJava Actionの使用方法の例を示しています。この例では、プロセスの初期化時にJava Actionによってプロセス
インスタンス名に発注番号が付加されます。発注番号はPONumber UDAに格納されています。
図11.17 プロセスインスタンス名の設定
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.11 プロセスインスタンス優先度の設定
デフォルトでは、プロセスインスタンスに中程度の優先度(8)が設定されます。この優先度は、プロセスインスタンスの実行中に[プロセ
スインスタンスの優先度の設定]Java Actionを使用して変更することができます。
プロセスインスタンスの優先度を設定する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[プロセスインスタンスの優先度の設定]をダブルクリックします。
4. Java Actionのアクション名とノートを入力します。
- 293 -
5. プロセスインスタンスの優先度を[プロセスの優先度]フィールドで指定します。
優先度は次の方法で設定することができます。定数(数値)を入力することや、値として優先度が指定されているUDAを選択する
こと、また、複合JavaScript式を記述することができます。詳細については、“11.14 JavaScript式の定義”を参照してください。
注意
UDAの選択で指定する場合は、INTEGER型またはLONG型のUDAを選択します。それ以外の型のUDAを選択した場合は、
Java Action実行時にエラーとなります。
JavaScript式の評価結果はINTEGER型の値となるように定義してください。
以下の例では、プロセスインスタンスの優先度がUDA Priorityの値に設定されます。
図11.18 プロセスインスタンスの優先度の設定
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.12 プロセスインスタンスの説明の設定
デフォルトでは、プロセスインスタンスには作成元のプロセス定義と同じ説明が設定されます。この説明は、プロセスインスタンスの実行
中に[プロセスインスタンスの説明の設定]Java Actionを使用して変更することができます。
プロセスインスタンスの説明を設定する方法について説明します。
- 294 -
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[プロセスインスタンスの説明の設定]をダブルクリックします。
4. Java Actionのアクション名とノートを入力します。
5. プロセスインスタンスの説明を[プロセスの説明]フィールドで指定します。
プロセスインスタンスの説明は次の方法で設定することができます。定数(説明)を入力することや、値として説明が指定されてい
るUDAを選択すること、また、評価された結果が説明になる複合JavaScript式を記述することができます。詳細については、“11.14
JavaScript式の定義”を参照してください。
以下の例では、プロセスインスタンスの説明に“プロセス開始-”という文字列と“uda. get (Description)”の値で設定されます。
図11.19 プロセスインスタンスの説明の設定
6. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.2.13 ユーザ定義属性への値の割当て
UDAの値は、[UDA割当て]Java Actionで設定できます。たとえば、値を別のUDAの値に設定することができます。
前提条件は以下です。
- 295 -
・ プロセス定義にユーザ定義属性(UDA)が追加済みである。
UDAの値を設定するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [サーバアクション]を展開し、[UDA割当て]をダブルクリックします。
4. オプション: [UDA割当て]ダイアログで、[アクション名]フィールドに名前を入力し、[ノート]フィールドにメモを編集します。
5. [ターゲットUDA]リストから、値を設定するUDAを選択します。
6. [値]フィールドに、値のJavaScript式を指定します。
他の方法で値を設定することもできます。定数(値自体)を入力したり、別のUDAの値に設定したり、複合JavaScript式を記述で
きます。詳細については、“11.14 JavaScript式の定義”を参照してください。
以下の例では、UDA“Input”の値がUDA“Output”に割り当てられます。
図11.20 UDAの設定
7. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
- 296 -
11.3 XMLアクションの使用
XMLアクションを使用して、XML型のユーザ定義属性(UDA)にXML要素、テキスト、または属性値を追加できます。また、XML型の
UDAからXML要素、テキスト、または属性値を削除したり、XML文字列をXML型のUDAに割り当てたり、XMLデータから値を抽出す
ることもできます。
11.3.1 XMLでの要素の追加
XML型のUDAを指定するときに、XML要素を追加できます。[XML UDAに要素を追加]Java Actionを使用します。
前提条件は以下です。
・ 新しい要素を追加できるXML型のUDAが、プロセス定義に含まれている。
注意
このJava Actionは、プロセス定義とすべてのノードに割り当てることができます。
XML型のUDAに要素を追加するには
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
- 297 -
3. [XMLアクション]を展開し、[XML UDAに要素を追加]をダブルクリックします。
[XML UDAに要素を追加]ダイアログが表示されます。プロセス定義またはノードに対して定義されている最初のXML型UDA
の名前(この例では、UDA CustomerName)が自動的に表示され、デフォルトの説明が示されます。
図11.21 [XML UDAに要素を追加]ダイアログの表示
4. オプション: [アクション名]フィールドに名前を入力し、[ノート]フィールドでメモを編集します。
5. [ターゲットUDA]ドロップダウンリストから、新しいXML要素を追加するUDAを選択します。
[ターゲットUDA]ドロップダウンリストでは、XMLタイプのUDAのみを表示します。
[XPath]ドロップダウンリストには、選択されたUDAのすべてのXPathを表示します。
6. [XPath]コンボボックスから、ターゲットUDAのXPathを選択します。
7. XPathを編集する場合は、[編集]ボタンをクリックしてください。[XPath エディタ]ダイアログが表示されます。このダイアログでXPath
を編集できます。
注意
[XPath]コンボボックスに、編集されたXPathが表示されます。
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択され
たユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択され
- 298 -
たユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
8. [値]フィールドで、XML要素の値を指定します。
UDA値を入力するときは、UDAにXML文字列を割り当てる場合と同じタグを使用します。詳細については、“11.3.3 XML文字
列のユーザ定義属性への割り当て”を参照してください。以下の例は、UDA CustomerNameに“customer”要素を追加する[アク
ション編集]ダイアログを示しています。
図11.22 XML UDAでの要素の追加
9. [OK]をクリックします。
ダイアログを終了すると、Systemwalker Runbook Automation Studioにより、入力された値が整形式のXMLであるかどうかが自
動的にチェックされます。整形式でない場合は、警告メッセージが表示されます。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
- 299 -
11.3.2 XMLデータからのユーザ定義属性値の抽出
XMLデータからのユーザ定義属性値の抽出について説明します。
前提条件は以下です。
・ プロセス定義に、解析対象となるXML文字列を含んだUDAがある。
・ プロセス定義に、抽出されたXMLデータを格納できるUDAがある。
Systemwalker Runbook Automationに渡されるXML文字列からデータを抽出し、そのデータを[XPath式からUDAを割当て]Java Action
を使用してUDAに格納することができます。XPath式を使用して、XML文字列内のどこにデータがあるかを指定します。
このJava Actionは通常、[UDAにXMLを割当て]Java Actionと共に使用されます。これらの構成要素からなるシステムが、Systemwalker
Runbook Automationの外部にあるシステムへのデータ転送インターフェースを形成します。
受信XMLデータからUDAの値を抽出する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [XMLアクション]を展開し、[XPath式からUDAを割当て]をダブルクリックします。
4. [XPath式からUDAを割当て]ダイアログで、Java Actionの名前を入力します。
5. [ソースUDA]フィールドで、UDAの値を抽出するXML文字列を含んだUDAを選択します。
ドロップダウンリストで利用可能なUDAすべてが表示されます。サポートされているデータタイプの詳細は、“6.18 ユーザ定義属
性の指定”を参照してください。
6. XML文字列からUDAに抽出するデータをマッピングします。マッピングを定義する方法について説明します。
a. [ターゲットUDA]カラムをクリックすると、コンボボックスが表示されます。そこから、割り当てたいUDAを選択します。
b. [ターゲットUDAのXPath]カラムで、ターゲットUDAのXML文字列内におけるデータ保存場所を指定するXPathを選択し
ます。
このカラムは、XMLタイプのUDAを選択したときのみアクティブになります。
[ターゲットUDAのXPath]カラムには、選択されたUDAのすべてのXPathが表示されます。
c. オプション: XPathを編集する場合は、カラムの右端のボタンをクリックしてください。[XPath エディタ]ダイアログが表示され
ます。このダイアログでXPathを編集できます。
d. [ソースUDAのXPath]カラムで、ターゲットUDAのXML文字列内におけるデータ保存場所を指定するXPathを選択しま
す。
このカラムは、XMLタイプのUDAを選択したときのみアクティブになります。
[ソースUDAのXPath]カラムには、選択されたUDAのすべてのXPathが表示されます。
e. オプション: XPathを編集する場合は、カラムの右端のボタンをクリックしてください。[XPath エディタ]ダイアログが表示され
ます。このダイアログでXPathを編集できます。
f. 他のUDAのマッピングを追加する場合は、[追加]ボタンをクリックします。
g. UDAのマッピングを削除する場合は、削除する項目を選択し、[削除]ボタンをクリックします。
注意
[XPath]コンボボックスに、編集されたXPathが表示されます。
- 300 -
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択され
たユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択され
たユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
次の図は、Systemwalker Runbook Automationが受信したXML文字列が顧客データであった場合の例です。顧客データはUDA
Customerに格納されています。顧客名をXML文字列から抽出し、UDA Customerにマッピングします。
図11.23 XML文字列からのデータ抽出
7. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.3.3 XML文字列のユーザ定義属性への割り当て
XML文字列のユーザ定義属性への割り当てについて説明します。
前提条件は以下です。
・ プロセス定義に、XML文字列を格納できるUDAがある。
- 301 -
[UDAにXMLを割当て]Java Actionを使用して、XML文字列を生成し、ユーザ定義属性の値として割り当てることができます。このJava
Actionは通常、[XPath式からUDAを割当て]Java Actionと共に使用します。これらの構成要素からなるシステムが、Systemwalker Runbook
Automationの外部にあるシステムへのデータ転送インターフェースを形成します。
XML文字列をUDAの値として格納する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [XMLアクション]を展開し、[UDAにXMLを割当て]をダブルクリックします。
4. [UDAにXMLを割当て]ダイアログで、追加するJava Actionのアクション名とノートを入力します。
5. [ターゲットUDA]フィールドから、入力されたXML文字列を格納するUDAを選択します。
ドロップダウンリストではSTRING型とXML型のUDAのみ表示されます。
6. [値]フィールドに、XML文字列を入力します。
図11.24 XML文字列のUDAへの割り当て
上の例では、アクション名を顧客情報として定義します。[値]フィールドのXML文字列をターゲットUDA CustomerDetailsに格納
します。
XML文字列では、UDAやJavaScript式を指定する以下のタグを使用できます。
- {{Field <UDAName>}}
このタグは、UDAの値で置き換えられます。値はXMLエンコードされます。XMLエンコードを行うと、XMLで特別な意味を
もつ文字が変換されます。これらの文字は、小なり記号(<)、大なり記号(>)、アンパサンド(&)、および二重引用符(")です。
XMLエンコードによって、これらの文字がそれぞれ<、>、&、および"に変換されます。
- 302 -
- {{Xml <UDAName>}}
このタグは、UDAの値で置き換えられます。値はXMLエンコードされません。
値をそのまま渡すXMLの断片の場合は、このタグを使用します。
- {{Js <JavaScriptExpression>}}
JavaScript式が評価され、このタグはその評価結果で置き換えられます。評価結果はXMLエンコードされます。
- {{JsXml <JavaScriptExpression>}}
JavaScript式が評価され、このタグはその評価結果で置き換えられます。評価結果はXMLエンコードされません。 そのまま
で渡すXMLの断片がJavaScript式に含まれている場合は、このタグを使用します。
7. [OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.3.4 UDAからの要素、テキスト、および属性値の削除
UDAからの要素、テキスト、および属性値の削除について説明します。
前提条件は以下です。
・ 要素、テキスト、または属性値を削除できるXML型のユーザ定義属性が、プロセス定義に含まれている。
XML型のUDAから要素、テキスト、または属性値を削除できます。[XML UDAから削除]Java Actionを使用します。
要素、テキスト、および属性値を削除するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
- 303 -
3. [XMLアクション]を展開し、[XML UDAから削除]をダブルクリックします。[XML UDAから削除]ダイアログが表示されます。プロ
セス定義またはノードに対して定義されている最初のXML型UDA(この例では、UDA CustomerName)が自動的に表示され、
デフォルトの説明が示されます。
図11.25 [XML UDAから削除]の表示
4. オプション: [アクション名]フィールドに名前を入力し、[ノート]フィールドでメモを編集します。
5. [ターゲットUDA]ドロップダウンリストから、要素、テキスト、または属性値を削除するUDAを選択します。[ターゲットUDA]ドロップ
ダウンリストには、XML型のUDAのみが表示されます。
- 304 -
6. [XPath]フィールドに、ターゲットUDAのXPath式を入力します。XPath式は、要素、テキスト、または属性値を削除するUDAの一
部分を示します。この例では、UDAから名(firstname要素)が削除されます。姓だけが残ります(完全な要素については、“11.3.1
XMLでの要素の追加”を参照)。
図11.26 要素の削除
7. オプション: XPathを編集する場合は、[編集]ボタンをクリックします。
[XPath エディタ]ダイアログが表示され、XPathを編集できます。
注意
[XPath]ドロップダウンリストに、編集されたXPathが表示されます。
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択され
たユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択され
たユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
8. [OK]をクリックします。
- 305 -
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.3.5 XMLでの要素の設定
XML型のUDAに新しいXML要素を設定できます。[XML UDAに要素を設定]Java Actionを使用します。このJava Actionは、プロセス
定義とすべてのノードに割り当てることができます。
前提条件は以下です。
・ 置き換え対象の既存の要素を持つXML型のUDAが、プロセス定義に含まれている。
注意
[XML UDAに要素を追加]Java Actionとは異なり、[XML UDAに要素を設定]Java Actionは、既存の構造を上書きします。
XML型のUDAの要素を設定するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
- 306 -
3. [XMLアクション]を展開し、[XML UDAに要素を設定]をダブルクリックします。[XML UDAに要素を設定]ダイアログが表示され
ます。プロセス定義またはノードに対して定義されている最初のXML型UDA(この例では、UDA CustomerName)の名前が自動
的に表示され、デフォルトの説明が示されます。
図11.27 [XML UDAに要素を設定]ダイアログの表示
4. オプション: [アクション名]フィールドに名前を入力し、[ノート]フィールドでメモを編集します。
5. [ターゲットUDA]ドロップダウンリストから、新しいXML要素を設定するUDAを選択します。[ターゲットUDA]ドロップダウンリスト
には、XML型のUDAのみが表示されます。
[XPath]ドロップダウンリストに、[ターゲットUDA]ドロップダウンリストで選択されたUDAのすべてのXPathを表示します。
6. [XPath]ドロップダウンリストから、ターゲットUDAのXPathを選択します。XPath式は、新しいXML要素が格納されるUDAの場所
を示します。
7. オプション: XPathを編集する場合は、[編集]ボタンをクリックします。[XPath エディタ]ダイアログが表示され、XPathを編集できま
す。
注意
[XPath]コンボボックスに、編集されたXPathが表示されます。
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択され
たユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択され
- 307 -
たユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
8. [値]フィールドで、XML要素の値を指定します。
UDA値を入力するときは、UDAにXML文字列を割り当てる場合と同じタグを使用します。詳細については、“11.3.3 XML文字
列のユーザ定義属性への割り当て”を参照してください。以下の例は、以前に追加したcustomer要素を置き換える[アクション編
集]ダイアログを示しています(詳細については、“11.3.1 XMLでの要素の追加”を参照)。
図11.28 XMLでの要素の設定
9. [OK]をクリックし、[アクション編集]ダイアログを終了します。ダイアログを終了すると、Systemwalker Runbook Automation Studio
により、入力された値が整形式のXMLであるかどうかが自動的にチェックされます。整形式でない場合は、警告メッセージが表
示されます。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
- 308 -
11.3.6 XMLでのテキストまたは属性値の設定
XML型のUDAを指定するときに、UDAに新しいテキストまたは属性値を設定できます。これは、[XML UDAにテキストまたは属性を設
定]Java Actionを使用して実行できます。
前提条件は以下です。
・ 新しいテキストまたは属性値を設定するXML型のUDAが、プロセス定義に含まれている。
注意
このJava Actionは、プロセス定義とすべてのノードに割り当てることができます。
新しいテキストまたは属性値を設定するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [XMLアクション]を展開し、[XML UDAにテキストまたは属性を設定]をダブルクリックします。
[XML UDAにテキストまたは属性値を設定]ダイアログが表示されます。プロセス定義またはノードに対して定義されている最初
のUDA(この例では、UDA CustomerName)が自動的に表示され、デフォルトの説明が示されます。
図11.29 [XML UDAにテキストまたは属性を設定]ダイアログの表示
4. オプション: [アクション名]フィールドに名前を入力し、[ノート]フィールドでメモを編集します。
- 309 -
5. [ターゲットUDA]ドロップダウンリストから、テキストまたは属性値を設定するUDAを選択します。[ターゲットUDA]ドロップダウンリ
ストには、XML型のUDAのみが表示されます。[XPath]ドロップダウンリストに、[ターゲットUDA]ドロップダウンリストで選択された
UDAのすべてのXPathを表示します。
6. [XPath]ドロップダウンリストから、ターゲットUDAのXPathを選択します。XPath式は、新しいテキストまたは属性値が格納される
UDAの場所を示します。
7. オプション: XPathを編集する場合は、[編集]ボタンをクリックします。[XPath エディタ]ダイアログが表示され、XPathを編集できま
す。
注意
[XPath]コンボボックスに、編集されたXPathが表示されます。
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選択され
たユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示します。 選択され
たユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリストを表示します。 両
方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
8. [値]フィールドで、XML要素の値を指定します。
UDA値を入力するときは、UDAにXML文字列を割り当てる場合と同じタグを使用します。詳細については、“11.3.3 XML文字
列のユーザ定義属性への割り当て”を参照してください。以下の例は、顧客の姓を“Doe”から“Miller”に変更する[アクション編
- 310 -
集]ダイアログを示します(完全な要素については、“11.3.1 XMLでの要素の追加”を参照)。したがって、以下のXML値とXPath
式を使用してください。
図11.30 XMLでのテキストまたは属性値の設定
9. [OK]をクリックして、[アクション編集]ダイアログを閉じます。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook
Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細に
ついては、“11.1.7 Java Actionのエラー処理”を参照してください。
11.4 ルールアクションの使用
ルールアクションは、プロセス定義から高度なルールエンジンを使用できる機能を提供します。ルールアクションには、“第10章 決定
ルール表”アクションがあります。このアクションの詳細は、“10.6 決定ルール表アクションの使用”を参照してください。
11.5 通知アクションの使用
通知アクションは、プロセス実行に関連するイベントをユーザーに通知します。たとえば、プロセスやアクティビティの開始をユーザー
に通知できます。本バージョンではメールを送信してイベントを通知することができます。
- 311 -
11.5.1 メールの送信
メールは、[メール送信]Java Actionを使用して送信できます。このJava Actionは、プロセスやアクティビティの開始をほかのユーザーに
通知するときなどに使用できます。
また、送信するメールにファイルを添付することもできます。
メール送信は、任意のノードに割り当てることや、プロセス定義自体に割り当てることができます。Emailノードを使用する場合に割り当
てることができるのは、このJava Actionだけです。
メールを送信する方法について説明します。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
3. [アクションタイプリスト]ダイアログが表示されたら、[通知アクション]を展開し、[メール送信]をダブルクリックします。
Emailノードの場合は、この操作は不要です。
4. [メール送信]ダイアログの[アドレス]タブで、メールの宛て先を設定します。
a. 電子メールアドレスの直接入力や電子メールアドレスが格納されているUDAの選択、評価結果が電子メールアドレスにな
る複合JavaScript式の記述が可能です。詳細については、“11.14 JavaScript式の定義”を参照してください。
注意
UDAの選択で指定する場合は、STRING型のUDAを選択します。STRING型以外のUDAを選択した場合は、Java Action
実行時にエラーとなります。
b. メッセージの送信先に応じて、[To]、[Cc]、または[Bcc]をクリックします。
- 312 -
c. アドレスを削除する場合は、削除するアドレスを選択し、[選択を削除]をクリックします。
図11.31 [アドレス]タブ
- 313 -
5. [コンテンツ]タブで、[件名]と[From]フィールドとメッセージ本文を指定します。また、メールの送信形式を選択します。
図11.32 メールのコンテンツの指定
6. オプション:添付ファイルを設定します。
a. [参照]ボタンまたは[A+B]ボタンを使用して添付文書を追加します。[参照]ボタンをクリックすると、[ファイルを入力または
選択]ダイアログが表示されます。このダイアログには、そのプロセス定義が登録されているアプリケーションプロジェクトの
dmsフォルダが表示されます。そこからファイルを選択するか、[Path]フィールドにファイル名を入力します。[A+B]ボタンを
クリックすると、[式の作成]ダイアログが表示されます。このダイアログで、添付文書を示すJavaScript式を入力します。
注意
添付文書を編集するために、 [編集]ボタンをクリックします。添付文書を削除するために、[削除]ボタンをクリックします。
b. [添付文書]リストで、[追加]ボタンをクリックします。[添付文書]ダイアログが表示されます。
- 314 -
注意
JavaScript式については、“11.14 JavaScript式の定義”を参照してください。
図11.33 [添付文書]ダイアログ
図11.34 [ファイルを入力または選択]ダイアログ
注意
添付文書は、アプリケーションプロジェクトのルートから相対パスで設定します。また、ワイルドカードを使用することはでき
ません。例えば、dms/Attachments/abc.doc やuda.get("DMSattachment") + ".txt"と設定します。
c. [添付文書]ダイアログで[OK]ボタンをクリックします。
7. オプション:プロセスインスタンスに添付されているファイルをメールに添付したい場合は、[プロセスインスタンスに添付されたファ
イルをメールに添付する]をチェックします。
8. [詳細]タブで、アクション名とノートを入力します。
9. [OK]をクリックします。
11.6 汎用Java Actionの使用
汎用Java Actionの使用について説明します。
前提条件は以下です。
・ 汎用Java Actionとして統合できるメソッドを持つJavaクラスを実装している。
・ プロセス定義で、メソッドに渡されるすべてのパラメーターに対してUDAが定義されている。
・ メソッドに戻り値がある場合、プロセス定義には、戻り値を代入可能なUDAが定義されている。
注意
・ プロセス定義に正しいUDAを追加しなかった場合、Java Actionの動作は予測できません。
- 315 -
・ 独自に実装するJavaクラスは、クラスファイルの形式で格納してください。jarファイルの形式では、Java Actionの呼出しはできませ
ん。
汎用Java ActionはSystemwalker Runbook Automationが提供する機能以外のJavaメソッドの実行を可能にします。独自に実装したJava
クラスのメソッドを使用して、プロセスの実行をカスタマイズできます。
汎用Java Actionを割り当てる方法について説明します。
1. 使用するJavaクラスをコピーします。ワークフローアプリケーションプロジェクト、サーバプロジェクトのどちらで作業中かによって、
コピー先が異なります。
- ワークフローアプリケーションプロジェクト:
ワークフローアプリケーション プロジェクトのフォルダ構造で、Javaクラスファイルを[ナビゲーター]ビューのApplication Classes
> engine > classesフォルダに格納します。
- サーバプロジェクト:
Javaクラスを<Systemwalker Runbook Automation Studioインストールディレクトリ>\ibpm\Data\attachmentsフォルダにコピー
します。
2. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
3. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
4. [汎用Java Action]をダブルクリックします。[アクションのプロパティ]ダイアログが表示されます。
5. [アクション名]フィールドにJava Actionの名前を入力します。
6. 参照ボタン[...]をクリックし、使用するJavaクラスを選択します。
7. [メソッド名]リストから呼び出すメソッドを選択します。
注意
すべてのパラメーターがUDAとして設定され、かつ、データ型が一致している場合のみ、メソッドが使用できます。
8. メソッドから戻り値を受け取るUDAがあれば、[戻り値]リストからそのUDAを選択します。
- 316 -
9. UDAのマッピングを確認します。UDAがメソッドのパラメーターに正しくマッピングされているかを確認します。これらのUDAは、
メソッドの入力値になります。マッピングを変更するには、UDAをクリックして表示されるドロップダウンリストから他のUDAを選択
します。
図11.35 汎用Java Actionの割り当て
10. [OK]をクリックします。
注意
プロセス定義を管理サーバに送信する、またはワークフローアプリケーションプロジェクトを配備する際は、汎用Java Actionは管理サー
バに自動的に送信されます。
11.7 無処理Java Actionの定義
無処理Java Actionは、何もしない組み込みのJava Actionです。これらのJava Actionは、Java Action例外をキャッチするだけで、他の
処理を行いません。無処理Java Actionを使用すると、Systemwalker Runbook Automationは、単に次の命令に移動します。
注意
無処理Java Actionは、プロセス定義とすべてのノードに割り当てることができます。
無処理Java Actionを定義するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [アクションセット]タブを選択します。Java Actionを追加する場所に対応する[追加]をクリックします。[アクションタイプリスト]ダイア
ログが表示されます。
- 317 -
3. [無処理Java Action]をダブルクリックします。
4. オプション: [アクションエディタ - 無処理]ダイアログで、Java Actionの名前とメモを入力します。
図11.36 無処理Java Actionの定義
5. [OK]をクリックします。
無処理Java Actionの例
以下の例は、無処理アクションの使用方法を示しています。
この例では、通常のJava Action、たとえばメール送信というJava Actionが作成されています。このJava Actionでは、無処理アクションを
エラーアクションとして定義しています。たとえば、受信者のメールボックスが一杯で、受信メールがすべて送信者に送り返された場合
に、エラーが発生します。電子メールの送信よりもプロセスインスタンスの実行の方が重要な場合は、無処理アクションをエラーアクショ
ンとして定義します。これにより、エラーに関係なくプロセスインスタンスの継続が保証されます。
11.8 例外処理の定義
Systemwalker Runbook Automation Studioでは、例外処理動作を以下のように定義できます。
・ エラーアクションは、特定エラーの処理を行うと共に、エラーが発生した場合のプロセスインスタンスの動作を決定します。エラー処
理を定義しないと、例外がスローされるとすぐにプロセスインスタンスがエラー状態となります。これは、どのようなタイミング(電子
メールの送信の失敗)でエラーが発生した場合も同じです。
エラーアクションは、複数のレベルで定義できます。
- プロセス定義レベル:
これらのエラーアクションは、エラーが発生したアクティビティにかかわりなく、またエラーの重大度にも関係なく、すべてのエ
ラーで実行されます。プロセス定義レベルで定義されたエラーアクションセットは、プロセスインスタンスがエラー状態になる直
前に実行されます。このようなエラーアクションは、プロセスインスタンスの動作には影響しません。プロセス定義レベルのエラー
アクションは、たとえば、通知メールの送信やログファイルへの追加情報の書き込みに利用できます。詳細については、“11.8.1
プロセス定義レベルでのエラーアクションの使用”を参照してください。
- Java Actionレベル:
このレベルのエラーアクションセットは、通常のJava Actionの実行中にエラーが発生すると実行されます。エラーアクションは、
- 318 -
エラーアクションと補償アクションを除くすべてのタイプのJava Actionに対して定義できます。Java Actionに対するエラーアク
ションの割り当てについては、“11.1.7 Java Actionのエラー処理”で説明されています。
・ 一時停止時、再開時、中止時アクション(*時アクション)は、管理者がプロセスインスタンスの実行を一時停止、再開、中止したとき
の処理に使用できます。たとえば、これらのアクションを使用して、通知メールを送信できます。詳細については、“11.8.2 一時停
止時、再開時、中止時アクションの使用方法”を参照してください。
11.8.1 プロセス定義レベルでのエラーアクションの使用
プロセス定義レベルのエラーアクションは、例外発生時のアクティビティにかかわりなく、また問題の重大度にも関係なく、すべての種
類の例外に対して実行されます。プロセス定義レベルのエラーアクションは、通常、メールの送信や重要情報のログファイルへの書き
込みなど、一般的なJava Actionの実行に使用されます。
このセクションでは、プロセス定義に対してエラーアクションを定義する方法を説明します。
プロセス定義レベルでエラーアクションを定義するには、以下の手順に従います。
1. プロセス定義またはノードの[プロパティ]ビューを開きます。[プロパティ]ビューを表示するために、プロセス定義エディタ内の空
のスペースをクリック、または、Java Actionを設定するノードを選択します。
2. [例外処理]タブを選択します。ここで、プロセス定義に対して新しいエラーアクションを追加できます。まだエラーアクションを1つ
も定義していない場合は、このタブに空のエラーアクションフォルダが表示されます。
図11.37 [例外処理]タブの表示
注意
このタブでは、一時停止時、再開時、中止時アクションも作成できます。これらのアクションは、特定のエラー処理動作の定義に
は使用されません。プロセスインスタンスの状態が管理者によって変更されたときに使用されます。詳細については、“11.8.2 一
時停止時、再開時、中止時アクションの使用方法”を参照してください。
3. [追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
4. エラーアクションとしてのJava Actionを定義します。詳細については、“11.1 Java Action”を参照してください。
5. [OK]をクリックします。
この新しいエラーアクションは、プロセスの実行中にスローされるすべての例外に対応します。エラーアクションは、プロセス定義
用に指定された通常のJava Actionに対して割り当てることができます。詳細については、“11.1.7 Java Actionのエラー処理”を参
照してください。
11.8.2 一時停止時、再開時、中止時アクションの使用方法
一時停止時、再開時、および中止時アクション(*時アクション)は、管理者がプロセスインスタンスの実行を一時停止、再開、または中
止するコマンドを発行して、プロセスインスタンスの状態が変化するとき、その直前に実行されます。
- 319 -
注意
*時アクションは、例外やエラーとは関係なく、状態遷移を起こすコマンドが起動されたときに実行される通常のJava Actionです。特別
な目的で使用されるとはいえ、これらのコマンドは、通常のJava Actionと同様に取り扱われます。
*時アクションは、個々のアクティビティ(たとえば各ノード)に対して、またはプロセス定義に対して定義できます。たとえば、ノードとプ
ロセス定義の両方に対して一時停止時 Java Actionを定義するとします。このノードが活性化されている場合、管理者がプロセスインス
タンスを一時停止するコマンドを発行すると、Java Actionは以下の順序で実行されます。
1. ノードの一時停止時 Java Actionが実行されます。
2. プロセス定義の一時停止時 Java Actionが実行されます。
他のすべてのJava Actionと同様に、*時アクションセットは、他のJava Actionを複数包含できます。
*時アクションを定義するには、以下の手順に従います。
1. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノード
を選択します。
2. [プロパティ]ビューで、[例外処理]タブを選択します。
まだ*時アクションを1つも定義していない場合は、以下のように3つの各アクションに空のフォルダが表示されます。
図11.38 *時アクションの表示
3. 作成する*時アクションのタブを選択し、[追加]をクリックします。
[アクションタイプリスト]ダイアログが表示されます。
4. エラーアクションとしてのJava Actionを定義します。詳細については、“11.1 Java Action”を参照してください。
5. [OK]をクリックします。
11.9 トリガの使用
Systemwalker Runbook Automationでは、外部システムから送られてきたデータをトリガによってプロセスインスタンスに設定します。
データはXMLファイルとして送られてきます。このファイルは、イベントデータファイルとも呼ばれます。外部システムは、管理サーバ上
に構成された特定のディレクトリにXMLファイルを格納します。 データを受け取ると、トリガはプロセスインスタンスを開始するか、特定
のアクティビティで矢印を選択します。また、受け取ったデータをUDAにマッピングして、その後の処理でデータを利用できるようにし
ます。
トリガの動作(プロセスインスタンスの開始、または矢印の選択)に応じて、以下のいずれかの目的でトリガを定義します。
・ プロセス定義レベルでは、プロセスインスタンスの開始
・ ノード(Activityノード)レベルでは、選択
以降の各節では、トリガを準備する方法とトリガを定義する方法について解説します。
- 320 -
11.9.1 トリガの使用準備
トリガの使用準備について説明します。
トリガを定義する際、受信するXMLデータをUDAにマッピングします。データマッピングを行うには、受信するXMLデータの形式を記
述したXMLスキーマ(*.xsdファイル)を用意し、HTTPアクセス可能な場所にXMLスキーマファイルを格納しておく必要があります。これ
により、XMLファイルのエレメントがSystemwalker Runbook Automation Studioのドロップダウンリストに表示されるため、UDAに簡単に
マッピングできます。
トリガを使用できるように準備する方法について説明します。
1. 受信するデータの形式を記述したXMLスキーマを用意します。
a. XMLスキーマを作成します。
b. 作成したXMLスキーマを、Systemwalker Runbook Automation StudioからアクセスできるWebサーバに保存します。
c. XMLスキーマのURLを確認します。
たとえば、WebサーバのルートディレクトリにXMLスキーマを保存した場合、URLは以下のようになります。
http://<サーバ名>/<xmlスキーマ名>
2. XMLデータを適切にマッピングするには、エレメント名、データ型、および受信するXMLファイルで使用されるエレメントの内容
を把握しておく必要があります。
以下の表は、注文書をXMLファイルで受信した場合の例です。
エレメント名
エレメントの内容
XSDデータ型
orderperson
string
注文を受ける人の名前
name、address、city、state、zip
string
注文をする人の名前や住所など
title、note
string
注文される品目
quantity
positiveInteger
注文される品目の数量
price
decimal
注文される品目の価格
3. 管理サーバでプロセスインスタンスを開始する前に、受信するファイルが監視されるようにファイルリスナが設定されていることを
確認します。ファイルリスナの設定方法については、“11.13 ファイルリスナの定義”を参照してください。
11.9.2 プロセス起案トリガの定義
プロセス開始トリガは、外部システムから送られてくるデータに応じて、プロセスインスタンスを開始します。
プロセス開始トリガを定義する方法について説明します。
1. トリガに必要なUDAをプロセス定義に追加します。
2. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
3. [トリガ]タブを選択します。
4. [追加]をクリックします。
デフォルト名で新しいトリガが追加されます。
5. [トリガの詳細]領域の[一般]サブタブで、トリガ名を変更します。
6. オプション: トリガの説明を[一般]サブタブに入力することもできます。
7. [イベント]サブタブを選択します。
受信するデータの形式を記述したXMLスキーマURLを[XMLスキーマ]フィールドに入力します。[取得]をクリックしてXMLスキー
マを読み込みます。
[XMLスキーマ]フィールドに、XMLスキーマが読み込まれたことを示すアイコンが表示されます。
- 321 -
8. 特定の条件に一致したときだけプロセスインスタンスを開始する場合は、それらの条件を定義するJavaScript式を[イベントフィル
タ]フィールドに指定します。
JavaScript式については、“11.14 JavaScript式の定義”を参照してください。
以下のJavaScript式の例では、品目の価格が2,000円を超えた場合にだけプロセスインスタンスを開始します。
Packages.java.lang.Float.parseFloat(eventData.getXMLData("/shiporder/item/price/text()")) > 2000
図11.39 イベントフィルタの指定
9. [データマッピング]サブタブを選択します。受信するXMLファイルのエレメントをUDAにマッピングします。次の方法で、エレメン
トをマッピングします。
a. [追加]をクリックします。
b. [イベントエレメント]リストからXMLエレメントを1つ選択します。
c. XMLエレメントをマッピングするUDAを[変数]リストから選択します。
注意
トリガには柔軟性があるため、外部データが数値だけで構成される場合には、外部データの文字列をINTEGER型のUDAにマッ
ピングできます。
- 322 -
a. [変数のXPath]リストで、選択したUDAのXPathを選択します。
[変数]リストからXML型のUDAを選択した場合のみ、Xpathフィールドはアクティブになります。
図11.40 データマッピングの定義
b. マッピングを削除する場合、マッピングを選択して[削除]をクリックします。
10. データのマッピングが完了したら、[一般]サブタブを選択します。[有効化する]チェックボックスをオンにして、トリガを有効にしま
す。
11.9.3 選択トリガの定義
選択トリガは、外部システムから送られてくるデータに応じて、アクティビティ上の矢印を1つ選択します。
選択トリガを定義する方法について説明します。
1. トリガに必要なUDAをプロセス定義に追加します。
2. [プロパティ]ビューを表示するためにActivityノードを選択します。
3. [トリガ]タブを選択します。
4. [追加]をクリックします。
デフォルト名で新しいトリガが追加されます。
5. [トリガの詳細]領域の[一般]サブタブで、トリガ名を変更します。
6. オプション: トリガの目的を[一般]サブタブに入力することもできます。
7. [イベント]サブタブを選択します。
8. 受信するデータの形式を記述したXMLスキーマURLを[XMLスキーマ]フィールドに入力します。
[取得]をクリックしてXMLスキーマを読み込みます。
[XMLスキーマ]フィールドに、XMLスキーマが読み込まれたことを示すアイコンが表示されます。
.
9. 特定のデータを受信したときだけトリガを実行する場合は、それらの条件を定義するJavaScript式を[イベントフィルタ]フィールド
に指定します。
その例については、“11.9.2 プロセス起案トリガの定義”を参照してください。JavaScript式については、“11.14 JavaScript式の定
義”を参照してください。
- 323 -
10. [データマッピング]サブタブを選択します。受信するXMLファイルのエレメントをUDAにマッピングします。次の方法で、エレメン
トをマッピングします。
a. [追加]をクリックします。
b. [イベントエレメント]リストからXMLエレメントを1つ選択します。
c. XMLエレメントをマッピングするUDAを[変数]リストから選択します。
注意
トリガには柔軟性があるため、外部データが数値だけで構成される場合には、外部データの文字列をINTEGER型のUDA
にマッピングできます。
d. [変数のXPath]リストで、選択したUDAのXPathを選択します。
図11.41 データマッピングの定義
e. オプション: XPathを編集する場合は、カラムの左端のボタンをクリックします。[XPath エディタ]ダイアログが表示され、XPath
を編集できます。
注意
[XPath]コンボボックスに、編集されたXPathが表示されます。
注意
[XPath]ドロップダウンリストには、選択されたXMLタイプのユーザ定義属性に関連するXPathのリストが表示されます。 選
択されたユーザ定義属性でXMLスキーマが定義されている時、このXMLスキーマで使用できるXPathのリストを表示しま
す。 選択されたユーザ定義属性でXML(初期)値が定義されている場合は、このXML(初期)値で使用できるXPathのリス
トを表示します。 両方定義されている場合は、XMLスキーマで使用できるXPathのリストを表示します。
注意
XPath エディタはXPathの構文のチェックを行うのみです。編集されたXPathが存在するかどうかチェックしません。
f. マッピングを削除する場合は、削除するマッピングを選択し、[削除]をクリックします。
- 324 -
11. 特定のプロセスインスタンスに対してだけトリガを実行する場合は、以下の手順に従います。
a. [プロセスインスタンスの選択]サブタブを選択します。
b. [追加]をクリックして新しい条件を追加します。
c. [変数]リストから、評価するUDAを選択します。比較するXML内のXPath式を指定します。UDAとXMLの要素の値が同一
のプロセスインスタンスが選択された場合だけ、トリガが実行されます。複数のUDAが指定されている場合は、すべての条
件が一致する必要があります。
注意
[ユーザ定義属性]タブで、UDAがワークリストUDAとしてチェックされていることを確認してください。チェックしていない場
合は、トリガは機能しません。XML型UDAはワークリストUDAにはならないため、[変数]リストには表示されません。
ワークリストUDAがSTRING型の場合、値に設定できる文字は256文字までです。
d. 条件を削除する場合は、削除する条件を選択し、[削除]をクリックします。
例として、パートナーからの注文のプロセスインスタンスをトリガするとします。UDA Partnerは、受信する注文がパートナーからの
ものであるかどうかを示します。このUDAはBOOLEAN型で、ワークリストUDAとしてチェックされています。以下の図は、この場
合に指定する条件を示しています。
図11.42 プロセスインスタンスのフィルタリング
この例では、受信するXMLファイルが以下のデータを含んでいた場合、トリガを実行します。
<order> ... <fromPartners>true</fromPartners> ... </order>
以下のデータを受信した場合は、トリガを実行しません。
<order> ... <fromPartners>false</fromPartners> ... </order>
12. 一定の条件に合致する場合にだけ特定の矢印の選択を行う場合は、以下の手順に従います。
a. [矢印の選択]サブタブを選択します。
b. [矢印]リストから、条件を定義する矢印を選択します。条件を定義するJavaScript式を指定します。
c. 条件の評価順序を変更するには、条件を選択し、[上へ]ボタンまたは[下へ]ボタンをクリックします。
すべての条件は、このダイアログに表示される順序で確認されます。最初に一致した条件が使用され、プロセスフローは
この矢印に沿って進みます。
- 325 -
d. 該当する条件が見つからなかった場合の動作を指定します。[trueとなる式がない場合]リストで、矢印を選択することや、ト
リガが別のイベントを待機するように指定することができます。
矢印を選択した場合は、次のノードへの矢印に沿ってプロセスフローが進みます。トリガが別のイベントを待機するように指定し
た場合、Activityノードは活性中のままになります。
たとえば、1,000,000円を超える注文の場合は部長の承認を得るように設定する場合は、以下のようなJavaScript式を作成します。
図11.43 矢印の条件の定義
13. [一般]サブタブを選択します。[有効化する]チェックボックスをオンにして、トリガを有効にします。
タイマーに選択Java Actionが定義済みで、そのJava Actionの選択アイテムとして矢印の名前も定義済みの場合、Activityノード、Voting
Activityノード、およびCompound Activityノードを他のノードと接続する矢印には、以下のようなシンボルが追加されます。
図11.44 タイマーのシンボル
11.10 Javaエージェントの定義
Javaエージェントは特殊なJavaプログラムで、バックグラウンドで情報を収集したり定義されたタスクを実行します。この処理は一定のス
ケジュールに基づいて実行され、ユーザーの直接的な対応は必要とされません。作成されたJavaエージェントは、自動的に起動され、
ユーザーの代わりに非同期に処理を行います。Javaエージェントでは、レガシーシステムなどの外部システムにアクセスできます。Java
エージェントを使用すると、これらの外部サービスをプロセスインスタンスに組み込むことができます。
Systemwalker Runbook Automation Studioでは、ワークフローアプリケーションプロジェクトに複数のJavaエージェントを追加できます。
新しいJavaエージェントを設定する場合は、Systemwalker Runbook Automation Studioに付属するagentsConfig.xmlというXMLファイ
ルを使用します。新しく設定したJavaエージェントは、Activityノードに割り当てることにより、プロセスインスタンス内のアクティビティとし
て実行されます。Javaエージェントは、ロールをActivityノードに割り当てるのと同じ方法で、Activityノードに割り当てることができます。
それにより、Javaエージェントがアクティビティのロールを担うようになります。
新しいJavaエージェントを定義するには、以下の手順に従います。
1. [ナビゲーター]ビューのプロジェクトを右クリックし、ポップアップメニューから[新規] > [エージェント]を選択します。
新しいJavaエージェントファイル(agentsConfig.xml)が、ワークフローアプリケーションプロジェクトのResourceフォルダに自動的に
格納されます。デフォルトのagentsConfig.xmlファイルがリソースエディタで自動的に開かれます。
2. Javaエージェントファイルに必要なプロパティを入力します。Javaエージェントファイル(agentsConfig.xml)の詳細は“C.1 Javaエー
ジェントファイル (agentsConfig.xml)”を参照してください。
- 326 -
3. ツールバーの[保存]をクリックして新しいエージェントを保存します。
新しいJavaエージェントを使用して、特定のタスクをバックグラウンドで実行できます。
11.11 FTPエージェントの定義
FTPエージェントは、そのエージェントが含まれるプロセスインスタンスに添付されたファイルを自動的に転送します。すべてのエージェ
ントと同様に、FTPエージェントもSystemwalker Runbook Automationのアクティビティを代行します。FTPエージェントのアクティビティ
が含まれるプロセス定義から開始されたプロセスインスタンスは、添付されているファイルを自動的に転送します。添付ファイルは、管
理サーバから接続可能な、どのコンピュータのFTPサーバにも転送されます。
FTPエージェントファイルを定義する方法について説明します。
1. アプリケーションプロジェクトを右クリックします。ポップアップメニューから[新規]>[FTPエージェント]を選択します。
[新規FTPエージェント]ダイアログが表示されます。
図11.45 FTPエージェントの定義
2. [プロジェクト]に新しいFTPエージェントを定義するプロジェクト名を入力します。
3. オプション:[参照]ボタンをクリックしてプロジェクトを選択できます。[フォルダの選択]ダイアログが表示されます。
ダイアログからプロジェクトを選択して[OK]をクリックします。
4. プロジェクトを選択した後で、[ファイル名]に新規FTPエージェントの名前を入力します。
注意
[ファイル名]に入力するファイル名の拡張子は、“.xml”でなければなりません。
5. [完了]ボタンをクリックします。
新しいFTPエージェントファイルがResourcesフォルダに追加され、エディタが表示されます。FTPエージェントファイルについて
は、“C.2 FTPエージェントファイル”を参照してください。
- 327 -
11.12 HTTPエージェントの定義
HTTPエージェントは、環境設定ファイルに指定されているURLにデータを送り、そのURLからレスポンスデータを受信します。
HTTPエージェントファイルを定義する方法について説明します。
1. アプリケーションプロジェクトを右クリックします。ポップアップメニューから[新規]>[HTTPエージェント]を選択します。
[新規HTTPエージェント]ダイアログが表示されます。
図11.46 HTTPエージェントの定義
2. [プロジェクト]に新しいHTTPエージェントを定義するプロジェクト名を入力します。
3. オプション:[参照]ボタンをクリックしてプロジェクトを選択できます。[フォルダの選択]ダイアログが表示されます。ダイアログから
プロジェクトを選択して[OK]をクリックします。
4. プロジェクトを選択した後で、[ファイル名]に新規HTTPエージェントの名前を入力します。
注意
[ファイル名]に入力するファイル名の拡張子は、“.xml”でなければなりません。
5. [完了]ボタンをクリックします。
新しいHTTPエージェントファイルがResourcesフォルダに追加され、エディタが表示されます。HTTPエージェントファイルについ
ては、“C.3 HTTPエージェントファイル”を参照してください。
11.13 ファイルリスナの定義
ファイルリスナは指定されたディレクトリでファイルをモニターします。新しく作成されたファイルや変更されたファイルを検出した場合、
ファイルハンドラに通知され、Systemwalker Runbook Automationのプロセスインスタンスやアクティビティの矢印の選択を実行します。
ファイルリスナは他のエンタープライズアプリケーションとSystemwalker Runbook Automationとの統合のために通常利用されます。
ファイルリスナを定義する方法について説明します。
- 328 -
1. アプリケーションプロジェクトを右クリックします。ポップアップメニューから[新規]>[ファイルリスナ]を選択します。
fileListenerConf.xmlが作成されエディタに表示されます。
注意
それぞれのプロジェクトにおいてファイルリスナは1つだけ作成できます。
ファイルリスナファイルについては、“C.4 ファイルリスナファイル (fileListenerConf.xml)”を参照してください。
11.14 JavaScript式の定義
Systemwalker Runbook Automation Studioでは、以下のエレメントとともにJavaScript式が使用されています。
・ Complex Conditionalノード
・ Java Action
・ トリガ
・ Sequential Loopノード
JavaScript式をより効果的かつ簡単に作成できるように、いくつかの操作が用意されています。以下の図は、その例を示しています。
図11.47 JavaScript式の定義
図中の数字の説明は以下のとおりです。
・ 1 [式モード選択]ボタン
・ 2 [式フィールド]
・ 3 [式の作成]ボタン
- 329 -
[式モード選択]ボタン
[式モード選択]ボタンを使用して式モードを切り替えることができます。ボタンに表示される文字は、現在有効なモードを示しています。
以下のモードがあります。
モード
ボタン
説明
Constant
モード
単純定数(リテラル) JavaScript式に使用します。定数の例としては、 50 や 上司に相談 といっ
た数値や文字列を指定できます。
Variable
モード
UDAやアプリケーション変数を選択します。このモードに切り替えると、UDAやアプリケーショ
ン変数のリストが表示されます。
Expression
モード
複合JavaScript式に使用します。複合JavaScript式は、UDA、演算子、JavaScript関数、および
定数で構成されます。
以下にその例を示します。
"Process started" + uda.get("Description")
Expressionモードでは、JavaScript式を直接入力することや、[式の作成]を使用して作成するこ
とができます。
[式フィールド]
[式フィールド]には、指定したJavaScript式が表示されます。
[式の作成]ボタン
[A+B...]ボタンをクリックすると、複合JavaScript式の作成に役立つ[式の作成]ダイアログが表示されます。
[式の作成]ダイアログ
[式の作成]ダイアログを使用すると、より効果的で実行可能なJavaScript式の作成時間を短縮できるだけでなく、誤りを減らすことがで
きます。リストから式の基本要素を選択し、演算子をクリックして追加できます。このため、JavaScript構文に慣れていない場合、[式の作
成]ダイアログを使用することによってJavaScript式をより簡単かつ迅速に作成できます。[式の作成]ダイアログには、作成したJavaScript
式を使用する前にその妥当性を確認できる検証機能も備わっています。
以下の図は、[式の作成]ダイアログを示しています。
- 330 -
図11.48 [式の作成]ダイアログ
[式の作成]ダイアログは以下の各部分で構成されています。
・ 式の表示領域
作成したJavaScript式が表示されます。
・ [ 検証 ]ボタン
作成したJavaScript式の妥当性を検証できます。[ OK ]ボタンをクリックしたときにも、妥当性の検証が実行されます。JavaScript式
が有効でない場合は、診断情報を提供するエラーメッセージが表示されます。
・ [ オペランド ]領域
ドロップダウンリストからJavaScript関数やUDAを選択できます。また、値を直接入力することもできます。[ 追加 ]をクリックすると、
その内容がJavaScript式に追加されます。
・ [ オペレータ ]領域
演算子をクリックしてJavaScript式に追加できます。標準のJavaScript演算子が用意されています。
- 331 -
11.14.1 JavaScript式の作成
この例では、プロセスインスタンスの説明を定義するJavaScript式を作成します。この例で作成されるプロセスインスタンスの説明は、そ
のプロセスインスタンスの目的を示すものです。
サンプルJavaScript式を作成する方法について説明します。
1. プロセス定義を作成します。
2. STRING型のUDA Descriptionを追加します。
詳細については、“6.18 ユーザ定義属性の指定”を参照してください。
3. [プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリックします。
4. [アクションセット]タブを選択します。初期化アクションとして、[プロセスインスタンスの説明の設定]Java Actionを追加します。
a. [初期化アクション]領域で[追加]をクリックします。
b. [サーバアクション]を展開し、[プロセスインスタンスの説明の設定]をダブルクリックします。
5. [プロセスインスタンスの説明の設定]ダイアログで、[E]が表示されるまで[式モード選択]ボタンをクリックします。次に[A+B]ボタン
をクリックして[式の作成]ダイアログを開きます。
6. [リテラル]フィールドに“プロセスの開始”と入力します。[追加]をクリックして、この値をJavaScript式に追加します。
7. 演算子+をクリックして、JavaScript式に追加します。
8. [変数]リストからDescriptionを選択します。[追加]をクリックします。
JavaScript式は以下のようになります。
図11.49 サンプルJavaScript式の作成
- 332 -
9. [OK]をクリックして、JavaScript式を検証します。
妥当性が検証されると、[式の作成]ダイアログが閉じられ、[プロセスインスタンスの説明の設定]ダイアログにJava Scriptが表示さ
れます。
図11.50 サンプル式が表示された式フィールド
- 333 -
第12章 プロセスのシミュレーション
この章では、プロセスの実行をシミュレートする方法について説明します。
12.1 シミュレーションの概要
Systemwalker Runbook Automation Studioでは、プロセスの実行をシミュレートできます。この機能により、特定のアクティビティにかか
る費用と時間を算出でき、ビジネスプロセスを最適化できます。
シミュレーションの制限
・ 以下のノードを含むプロセスの実行をシミュレートできます。
- Activityノード
- Subprocessノード
- Chained-Processノード
- Voting Activityノード
- Conditionalノード
- Complex Conditionalノード
- Compound Activity ノード
・ 15,000以上のプロセスをシミュレーションすることはできません。実行した場合は、エラーとなります。
・ Java ActionおよびUDAのシミュレーションはサポートされていません。
・ プロセス定義に同じ名前のノードが2つ以上ある場合、シミュレーション結果が正しくない場合があります。
12.1.1 シミュレーション処理の概要
シミュレーション処理は、大きく分けていくつかのステップで構成されています。
1. [ナビゲーター]ビューでは、新しいワークスペースを開いたとき、およびワークフローアプリケーションを作成したときに、プロジェ
クト構成図内に[Simulation]というフォルダが作成されます。このフォルダには、最初は何も入っていません。このフォルダからシ
ナリオの作成を開始します。
2. シナリオエディタでは、シナリオを編集してシナリオのシミュレーションプロパティを定義します。すべてのシナリオには、ワークフ
ローアプリケーションのプロジェクトまたはサーバのプロジェクトからプロセス定義をインポートする必要があります。シナリオで使
用したプロセス定義を、ローカルのプロジェクトまたはサーバのプロジェクトへエクスポートすることもできます。また、プロセス定
義で定義されたすべてのアクティビティに対して、シミュレーションプロパティを指定できます。
3. [シナリオ]画面で[シミュレーションの実行]をクリックすると、あらかじめ定義したシナリオを元にシミュレーションを実行します。シ
ミュレーション結果は自動的にシナリオファイル(.ssr)に保存され、ワークフローアプリケーションプロジェクトの[Simulation]フォル
ダに格納されます。また、シナリオエディタの下にシミュレーションコントローラが表示されます。
4. シミュレーションコントローラからアニメーションを開始します。シミュレーションしたプロセス定義がシナリオエディタに表示され、
シミュレーションの進行状況が表示されます。シミュレーション結果から分析用のシミュレーションレポートを生成できます。
次の図はこのプロセスを示しています。
- 334 -
図12.1 シミュレーション処理の概要
12.1.2 一般的な手順
ここではシミュレーションのシナリオの設定と、プロセスの実行をローカルでシミュレートする操作について説明します。
1. プロセスをシミュレートする前に、実行するためのプロセス定義を作成する必要があります。プロセス定義中の以下の種類のノー
ドに、シミュレーション実行時に使用するプロパティを指定できます。
- Activityノード
- Voting Activityノード
- Conditionalノード
- Complex Conditionalノード
注意
SubprocessノードとChained-Processノードにはシミュレーションプロパティを設定できません。
たとえば、複数の矢印の起点となるノードがある場合、矢印が選択される確率や、アクティビティの作業に必要なリソースの詳細
情報を指定できます。 詳細については、“12.2.4 ノードのシミュレーションプロパティ定義”の項を参照してください。
注意
Emailノードを含むプロセス定義は、シミュレーションの実行は可能ですが、これらのノードで行われる処理は評価対象外です。
たとえば、Emailノードで指定されたメールアドレスに電子メールは送信されません。
2. 新しいシミュレーションのシナリオを作成します。詳細については、“12.2.1 シミュレーションのシナリオを作成”の項を参照してく
ださい。
- 335 -
3. シミュレーションのシナリオには、シミュレーションの開始日と終了日、費用の表示に用いる通貨単位、プロセスをシミュレートす
るプロセス定義、新しいプロセスインスタンスを作成する間隔を指定する必要があります。さらに、プロセス定義で定義したすべ
てのロールについて、適用するビジネスカレンダーや単位あたりの費用(例:時給)を指定できます。詳細については、“12.2.3 シ
ナリオのシミュレーションプロパティ定義”の項を参照してください。
注意
プロセス定義がSubprocessノードあるいはChained-Processノードを含む場合、親プロセスのシミュレーションを実行すると、サブ
プロセスあるいはチェインプロセスのシミュレーションが自動的に実行されます。
4. シミュレーションプロパティの定義を完了すると、シナリオをシミュレートして、シミュレーション結果を生成できます。詳細につい
ては、“12.3.1 シミュレーション結果の作成”の項を参照してください。
5. シミュレーション結果を使用して、シミュレーションの実行を再現できます。アニメーション実行中に、プロセス定義のすべてのノー
ドの処理を監視できます。詳細については、“12.3.2 シミュレーションコントローラの使用”の項を参照してください。
6. 多機能なシミュレーションレポートにより、シミュレーション結果を評価できます。詳細については、“12.3.3 シミュレーションレポー
トの生成”の項を参照してください。
12.2 シミュレーションのシナリオ定義
ここでは、シナリオを作成し、シミュレーションのプロパティを定義する方法について説明します。
12.2.1 シミュレーションのシナリオを作成
シナリオを新規に作成する方法について説明します。
前提条件は以下です。
・ プロセスの実行をシミュレートしたいプロセス定義を作成済みである。
手順を以下に示します。
シナリオを新規に作成する方法について説明します。
- 336 -
1. [ナビゲーター]ビューの空の[Simulation]フォルダを右クリックし、[新規] > [シナリオ]の順に選択します。[新規シナリオ]ダイア
ログボックスが開きます。
図12.2 シナリオの作成
2. [プロジェクト]フィールドに、現在のワークフローアプリケーションプロジェクトまたはシミュレーションシナリオプロジェクトが表示さ
れます。[参照]ボタンをクリックして別のプロジェクトを選択し、プロジェクトを変えることもできます。ワークフローアプリケーション
プロジェクトまたはサーバプロジェクトのプロセス定義のためのシミュレーションシナリオを作成できます。
3. [名前]フィールドにシナリオ名を入力し、[説明]フィールドにシナリオについての簡潔な説明を入力します。
4. [完了]をクリックします。[ナビゲーター]ビューの[Simulation]フォルダに、新しいシナリオが自動的に格納されます。シナリオエ
ディタが開き、入力したシナリオ名とその説明が追加されます。
シミュレーションシナリオを新規に作成するほか、既存のシナリオを開くこともできます。シナリオを開くには、新しいシナリオが格
納された[Simulation]フォルダを開き、シナリオファイル(.ssr)をダブルクリックします。
5. シナリオエディタで、シミュレーションシナリオを定義します。詳細については、“12.2.3 シナリオのシミュレーションプロパティ定
義”の項を参照してください。
12.2.2 履歴のシミュレーション値の使用
履歴の値を使用してプロセスをシミュレートする方法について説明します。
前提条件は以下です。
・ 履歴の値を使用するシミュレーションシナリオを作成済みである。
手順を以下に示します。
1. シナリオエディタでシミュレーションシナリオを開きます。
2. [シミュレーション期間と起票間隔]領域で、[履歴データからシミュレーションのパラメタを獲得]リンクをクリックします。
[履歴データからシミュレーションのパラメタを獲得]ダイアログが表示されます。ここで、シミュレーションのパラメーターを取得す
るサーバを指定できます。
- 337 -
3. 履歴データを獲得するサーバを指定します。用意されているサーバ接続を選択するか、新しいサーバ接続を参照します。
- サーバ接続の選択:[サーバ接続情報]ドロップダウンリストから、履歴シミュレーションのパラメーターの取得元とするリモート
サーバを選択します。
- 新しくサーバに接続する場合:
1. 新しいサーバ接続情報を追加するため、[接続情報の参照]をクリックします。[サーバ接続情報の選択]ダイアログが表示
されます。
2. 新しくサーバに接続する場合は、[サーバ接続情報の選択]ダイアログの[新規...]をクリックします。[サーバ接続情報の設
定]ダイアログが表示されます。
3. [サーバ接続情報の設定]ダイアログの全設定項目に値を入力し、[OK]をクリックすると、[サーバ接続情報の選択]ダイア
ログに新規サーバ接続情報が表示されます。設定項目の詳細については、“2.4.1 サーバ接続情報の設定”の項を参照
してください。
4. [サーバ接続情報の選択]ダイアログの[OK]をクリックします。
図12.3 サーバ接続の選択
- 338 -
4. [履歴データからシミュレーションのパラメタを獲得]ダイアログで、[リストの取得]をクリックします。[ログイン]ダイアログが表示され
ます。パスワードを入力して、サーバへの認証を行います。ユーザ名は自動的に表示されます。
図12.4 パスワードの入力
5. [パスワードが必要]ダイアログで、[OK]をクリックしてユーザ名とパスワードを確定します。[選択]ダイアログに、選択したサーバ
(この例ではremote_server1に変更)に保存されているすべてのアプリケーションが表示されます。
図12.5 選択したサーバにあるアプリケーションの表示
- 339 -
6. アプリケーション領域でアプリケーションを選択し、[次へ]をクリックします。
図12.6 プロセス定義の表示
注意
ポップアップメニューを使用するか、キーボードのF5キーを押して、プロセス定義のリストを更新できます。
シナリオ内に複数のプロセス定義がインポートされている場合、このダイアログはスキップされます。その場合、選択したアプリ
ケーション全体の履歴情報が処理対象となります。
- 340 -
7. プロセス定義領域でプロセス定義を選択し、[次へ]をクリックします。
ここで、シミュレーション値を収集する日付を指定します。
図12.7 シミュレーションの日付の指定
注意
シミュレートするプロセス定義がSubprocessノードあるいはChained-Processノードを含む場合、[起票間隔]チェックボックスは無効
になります。
注意
日付を選択しない場合は、履歴値の取得期間は無制限になります。
8. シミュレーション手順を指定します。
以下のパラメーターを指定できます。
- 開始日:Systemwalker Runbook Automation Studioが履歴シミュレーション値の取得を開始する日付です。
- 終了日:Systemwalker Runbook Automation Studioは履歴シミュレーション値をこの日付まで取得します。
- 341 -
- 起票間隔:起票間隔として指定した平均間隔でプロセスインスタンスがトリガされます。
- 矢印の遷移情報:特定の矢印に沿って遷移する確率(パーセント)です。
- ノードの作業期間:平均アクティビティ期間の算出値です。
12.2.3 シナリオのシミュレーションプロパティ定義
シナリオのシミュレーションプロパティを定義する方法について説明します。
前提条件は以下です。
・ [シミュレーションのシナリオ]プロジェクト、またはワークフローアプリケーションプロジェクトにシナリオを作成済みである。詳細につ
いては、“12.2.1 シミュレーションのシナリオを作成”の項を参照してください。
シナリオエディタは、[新規シナリオ]ダイアログボックスの[完了]をクリックした後に自動的に開きます。また[ナビゲーター]ビューのシナ
リオ名をダブルクリックしても開きます。
図12.8 シナリオエディタ
手順を以下に示します。
1. 上述の方法でシナリオエディタを開きます。
2. [一般]領域で、以下の内容を定義します。
1. シナリオ名: シナリオの名前。デフォルトでは、シナリオ作成時に入力した名前が表示されます。
2. 説明: シナリオに関する追加情報。たとえば、シミュレーションの目的についての説明文を入力します。デフォルトでは、シ
ナリオ作成時に入力した説明になります。
3. [インポートしたプロセス定義]領域で、下記の作業を行います。
1. プロセス定義: このシナリオで使用するプロセス定義をインポートするには[インポート]ボタン(
)をクリックします。[プロセ
ス定義のインポート]ダイアログボックスが開き、使用できるすべてのプロジェクトがプロセス定義とともに表示されます。リス
トから必要な定義を選択し、[OK]をクリックします。
- 342 -
注意
- [プロセス定義のインポート]ダイアログでインポートしたプロセス定義が、シミュレーション時には親プロセス定義として
扱われます。
- 同じ名前のプロセス定義が複数ある場合、プロセス定義を選択するダイアログが表示されます。シミュレートするプロ
セス定義を選択してください。
- SubprocessノードあるいはChained-Processノードを含むプロセス定義を選択した場合、シナリオファイルが属するアプ
リケーションプロジェクトのサブプロセスあるいはチェインプロセス定義が自動的にインポートされ、[プロセス定義]リス
トに表示されます。
- [シミュレーションのシナリオ]プロジェクトで、SubprocessノードあるいはChained-Processノードを含むプロセス定義をシ
ミュレーションできません。
[エクスポート]ボタン( )をクリックして、現在のシナリオで使用しているプロセス定義をエクスポートできます。[プロセス定
義のエクスポート]ダイアログボックスが開き、プロセス定義を格納するプロジェクトを選択します。
注意
サーバプロジェクトにプロセス定義を保存する際、アプリケーションIDは“System”に設定されます。
2. プロセス定義のインポートが完了すると、プロセス定義エディタに該当するプロセス定義が表示されます。プロセス定義に
含まれる各ノードのシミュレーションプロパティを変更または定義することができます。“12.2.4 ノードのシミュレーションプロ
パティ定義”の項で説明している手順に従います。
注意
サブプロセス定義あるいはチェインプロセス定義に連結されたプロセス定義をインポートすると、[プロセス定義]リストの先
頭にそのプロセス定義(これを主プロセス定義といいます)が表示されます。[シミュレーションのシナリオ]プロジェクトでは、
サブプロセスやチェインプロセスを含むプロセスをシミュレートできません。インポートしたプロセス定義に連結されたサブ
プロセス定義やチェインプロセス定義はその下に自動的に表示されます(プロセス定義がアプリケーション内にある場合
のみ)。シナリオエディタ内には、サブプロセス定義やチェインプロセス定義のタブも表示されるので、それぞれの定義に
含まれるシミュレーション用プロパティを編集できます。
3. シナリオエディタで、定義するシナリオのタブをクリックします。
4. [シミュレーションの期間と起票間隔]領域では、下記の作業を行うことができます。
- 開始日: シミュレーションを開始する日。[日付を選択]ボタンをクリックして、ポップアップするカレンダーから日付を選択でき
ます。
- 終了日: シミュレーションを終了する日。[日付を選択]ボタンをクリックして、ポップアップするカレンダーから日付を選択でき
ます。
- 履歴データからシミュレーションのパラメタを獲得:このリンクをクリックして履歴データからシミュレーションのパラメーターを
獲得し、シナリオに設定します。詳細については、“12.2.2 履歴のシミュレーション値の使用”を参照してください。
- 起票間隔: 起票間隔はプロセスインスタンスがシミュレーション中に何回起票されるかを定義します。指定された時間間隔で
プロセスインスタンスを起票します。
- 起票種別: [規則的]と[ランダム]のどちらかの起票種別を選択できます。規則的な起票は、指定した起票間隔に従ってプロ
セスインスタンスを起票します。ランダムな起票は、指定した間隔のどこかでプロセスインスタンスを起票するための指定で
す。たとえば、プロセスインスタンスを1時間あたり6回起票する場合、各起票の間隔は不定です。
注意
起票間隔は主プロセス定義のみに適用されます。サブプロセスやチェインプロセスは親プロセスに含まれるSubprocessノー
ドやChained-Processノードが活性化されると起票されるためです。
- 343 -
- ビジネスカレンダー: 営業日と営業時間を設定したビジネスカレンダーを元にプロセスをシミュレートします。Systemwalker
Runbook Automationでは、ビジネスカレンダーDefault.calを用意しています。Default.calでは、営業時間を午前8時30分か
ら午後6時までと定義しています。
デフォルトのカレンダーは以下の場所に格納されています。
<Systemwalker Runbook Automation Studio インストールディレクトリ>\ibpm\Data\calendar
プロセス定義またはプロセスインスタンスごとに異なるビジネスカレンダーを使用できます。[シミュレーションのシナリオ]プロ
ジェクト配下のシナリオにビジネスカレンダーを指定する場合は、以下のディレクトリにビジネスカレンダーを作成します。
<Systemwalker Runbook Automation Studio インストールディレクトリ>\ibpm\Data\calendar
ワークフローアプリケーションプロジェクト配下のシナリオにビジネスカレンダーを指定する場合は、そのプロジェクトの[Calendar]
フォルダにビジネスカレンダーを作成します。
シミュレーションのシナリオにビジネスカレンダーを指定するには、[ビジネスカレンダー]ドロップダウンリストから選択します。
さらに、プロセス定義に割り当てられた人的リソースごとに独自のビジネスカレンダーを指定できます。
5. [リソース]領域では、シナリオレベルのリソースの割り当てを定義します。人的リソースと追加リソースは別のテーブルに表示され
ます。人的リソースはインポートしたプロセス定義に定義されたロールに基づいて定義します。追加リソースはインポートしたプロ
セス定義に定義されたノードレベルのシミュレーションプロパティに基づいて定義します。人的リソースでは、以下の内容を定義
します。
- 通貨: 通貨はリソースのコストを計算する際に使用されます。使用可能な通貨は、ドル($)、ユーロ(€)、英ポンド(£)、日本円
(¥)です。ドロップダウンリストから使用したい通貨を選択します。
- ロール名: プロセス定義の特定のノードに割り当てられたロール。この領域に表示されているロール名を変更することはでき
ません。変更する必要がある場合、プロセス定義を変更します。
- 単位: 特定のリソースの費用を算出するための時間単位。サポートされる値は“分”と“時間”です。
- 単価: 単位あたりのリソースの費用。
- 担当者数: このロールに割り当てられたリソース数。
- ビジネスカレンダー: ロール名に定義するビジネスカレンダー。
単位、単価、担当者数、ビジネスカレンダーは、表のセルをクリックし、表示されている値を変更できます。
追加リソースでは、以下の内容を定義します。
- リソース: プロセス定義でノードとともに定義したリソースの名前。この領域に記載されているリソース名を変更することはでき
ません。変更する必要がある場合、プロセス定義を変更します。
- 単位: 特定のリソースの費用を算出するための時間単位。
- 単価: 単位あたりのリソースの費用。
単位、単価は、表のセルをクリックし、表示されている値を変更できます。
注意
リソーステーブルにはサブプロセス定義、チェインプロセス定義のリソース情報も含まれます。
12.2.4 ノードのシミュレーションプロパティ定義
特定のノードにシミュレーションプロパティを設定する方法について説明します。
前提条件は以下です。
・ 実行をシミュレーションするプロセス定義を含むプロジェクトを作成済みである。かつ、プロセス定義に以下のノードが1つ以上含ま
れている。
- Activityノード
- Subprocessノード
- 344 -
- Chained-Processノード
- Voting Activityノード
- Conditionalノード
- Complex Conditionalノード
- Compound Activityノード
手順を以下に示します。
1. シミュレーションプロパティを設定するノードを選択し、[プロパティ]ビューを表示します。
2. [シミュレーション]タブを選択し、シミュレーションプロパティをたとえば次のように設定します。
図12.9 [シミュレーションのプロパティ]
3. [作業期間]領域には、特定のロールが割り当てられた人が、ノードに関連付けられたタスクを完了するのに要する概算時間を指
定します。ここでは、作業期間の1ケ月を30日として取り扱います。ConditionalノードとComplex Conditionalノードの設定では手
順4の操作を行います。
4. [追加リソース]領域には、ノードに関連付けられたタスクを行うのに要するすべての追加リソースが表示されます。[追加リソース]
には追加リソース名、[値]は追加リソースの必要量を入力します。
このノードに追加リソースを追加するには、[追加]ボタンをクリックします。新しいリソースのデフォルト値として“リソースn”(nには
数字が入ります)と“10”が設定されています。値のあるテーブルのセルをクリックし、新しい値を入力することで、これらの値を変
更できます。
リソースを削除するには、対応する行を選択し、[削除]をクリックします。
注意
SubprocessノードとChained-Processノードにシミュレーションプロパティは設定できません。
- 345 -
5. [矢印の遷移情報]領域には、選択したノードを起点とするすべての矢印が表示されます。デフォルトの遷移確率は次のとおりで
す。矢印が1つの場合は100%が設定されます。矢印が複数ある場合は、最初に作成された矢印に100%、2番目以降の矢印に
は0%が設定されます。ノードに新たに矢印を追加した場合は、確率に0%が設定されます。
[確率]の値により、その特定の選択を適用するパーセンテージが決定します。テーブルの[確率]セル内をクリックし、新しい値を
入力することで、確率を変更できます。常に合計が100%になるようにします。
ノードから矢印が削除された場合、以下の確率分配が適用されます。削除された確率は、残りの矢印それぞれに分配されます。
分配時の係数は、残りの矢印の比率により決定します。例を示します。
Arrow1
Arrow2
Arrow3
10%
30%
60%
Arrow3を削除した後の確率分配は、以下のようになります。
Arrow1
Arrow2
25%
75%
60% * 10% / (10% + 30%)
60% * 30% / (10% + 30%)
確率の合計が100%にならない場合は[問題]ビューにエラーメッセージが表示されます。
12.2.5 シナリオの保存
変更を加えたシナリオを保存できます。何も変更を加えていない場合、保存機能は無効です。
シナリオを保存する方法について説明します。
1. 以下のどちらかの手順に従います。
- シナリオエディタに現在表示されているシナリオを保存するには、[ファイル] > [保存]の順に選択します。
- 変更を加えたすべてのシナリオを保存するには、[ファイル] > [すべて保存]の順に選択します。
2. 開始日が終了日の後に設定されているなど、シナリオが有効でない場合は、エラーメッセージが表示され、シナリオを保存でき
ません。その場合は保存をキャンセルしてエラーを修正し、もう一度シナリオを保存します。シミュレーションの変更は、プロジェ
クトディレクトリのシミュレーションフォルダにあるシナリオファイルに自動保存されます。シナリオにインポートされたプロセス定義
が有効でない場合でも、シナリオを保存できます。
注意
シミュレーション結果を含むシナリオを編集できます。編集結果を保存する場合、元のシミュレーション結果は削除されます。
12.3 シミュレーションのシナリオを実行
ここでは、シミュレーションのシナリオを実行する方法とシミュレーション結果について説明します。
12.3.1 シミュレーション結果の作成
シミュレーションプロパティの定義が完了したら、シミュレーションを実行することができます。
シミュレーション結果を作成するには、以下のどちらかの手順に従います。
・ [ナビゲーター]ビューにあるシナリオを右クリックし、ポップアップメニューから[シミュレーションの実行]を選択します。
・ シナリオを表示しているシナリオエディタで[シミュレーションの実行]をクリックします。
実行の際、初めにシナリオが検証されます。たとえば、有効なプロセス定義をインポートしているか、すべての単位が指定されているか
などを確認します。エラーが発生した場合、シナリオエディタに戻り、エラーを修正してからシミュレーション処理に進みます。
エラーがない場合、シミュレーション結果は自動的にシナリオファイル(.ssr)に追加され、使用中のプロジェクトの[Simulation]フォルダ
に格納されます。シナリオエディタには、シミュレーション用に選んだプロセス定義が表示されます。シナリオエディタの下にシミュレー
ションコントローラが表示されます。
- 346 -
図12.10 シミュレーションコントローラの表示
注意
シナリオ内のプロセス定義にエラーがある場合、それらは[問題]ビューに表示されます。エラー詳細には、エラーについての説明、エ
ラーが発生したシナリオ名、エラーが発生した場所が含まれます。それらの詳細はそれぞれ[問題]の[記述]、[リソース]、[プロジェクト
パス]、[ロケーション]、および[タイプ]のカラムに表示されています。[ロケーション]カラムには、エラーがあるプロセス定義と実際にエ
ラーがあるノードが表示されます。プロセス定義とノードはスラッシュ(/)で区切られています。
シミュレーションコントローラは、シミュレーション実行の開始、停止、一時停止、シミュレーションの実行速度の制御、およびシミュレー
ションレポートの生成のために使います。
シミュレーションコントローラには以下の部分があります。
・ [凡例]:シミュレーションが待機中か、現在実行中か、すでに完了したかが表示されます。
・ [速度調節]:シミュレーション中の、アクティビティの処理速度やアニメーションの速度を調整します。
・ [進行状況]:シミュレーション実行の進行状況が表示されます。プログレスバーの下に、以下のボタンがあります。
ボタン
アクション
説明
再生
選択したシナリオ結果に基づいてアニメーションの実
行を再生します。
一時停止
アニメーションを一時停止し、途中の履歴を保存しま
す。再生ボタンをクリックすると、アニメーションの実行
を再開できます。
停止
アニメーションの実行をキャンセルします。
・ [実行日時]: シミュレーションの日時が表示されます。
・ [シミュレーションレポート]:[表示]ボタンが表示されます。このボタンは、シミュレーションレポートを生成するために使います。レポー
トは別ウィンドウに表示されます。
注意
シミュレーションレポートの表示ボタンは、サブプロセス定義またはチェインプロセス定義のシミュレーションコントローラでは表示されま
せん。
シミュレーションシナリオの実行の詳細については、“12.3.2 シミュレーションコントローラの使用”を参照してください。
12.3.2 シミュレーションコントローラの使用
アニメーションを実行すると、処理する項目が個別のノード(Activityノード、Subprocessノード, Chained-Processノード, Voting Activity
ノード、Conditionalノード、Complex Conditionalノード, Compound Activityノード)に到達し、他のノード処理に送られる様子が、実際に
アニメーションで表示されます。
- 347 -
注意
SubprocessノードあるいはChained-Processノードを含むプロセス定義をシミュレートした場合、シナリオエディタ下部にあるタブをクリック
して表示されるシミュレーションコントローラを使って、それぞれの定義のアニメーションを表示することができます。
シミュレーションコントローラは、シミュレーション実行の開始、停止、一時停止、シミュレーションの実行速度の制御、およびシミュレー
ションレポートの生成のために使います。
図12.11 シミュレーションコントローラ
シミュレーションシナリオを実行する方法を説明します。
1. “12.3.1 シミュレーション結果の作成”の説明に従い、シミュレーションを準備します。
2. シミュレーションコントローラで、ノードの処理をアニメーション表示する速度を定義します。アニメーションの速度を制御する方法
について説明します。[速度調節]のスライダーを[低](時間単位)、[中](日単位)、[高](週単位)の間の任意の位置にドラッグして
調節します。また、[低]、[中]、[高]をクリックしても、アニメーションの速度を定義することができます。
3. [再生]ボタンをクリックします。選択したシナリオにインポートされたプロセス定義がシナリオエディタのビューで開きます。以下の
例では、プロセス定義(拡張子“xpdl”)がシナリオファイル(拡張子“ssr”)にインポートされています。
図12.12 プロセス定義のシミュレーション
シミュレーション実行中は、以下の項目が表示されます。
- シミュレーションコントローラの[実行日時]領域は、表示しているシミュレーションの仮想日時を示します。シミュレーションの
シナリオで定義した開始日に開始し、シナリオで定義した終了日に終了します。
- [進行状況]バーはその時点でシミュレーションが完了した割合を示します。[凡例]には、シミュレーションのアニメーション表
示中の[進行状況]バーの色の意味が示され、ノードの処理状態だけを表します。プロセス定義の個別のノードの処理状態
も同じ色分けで表示されます。
- プロセス定義の処理はアニメーション表示され、シミュレーション実行のノードごとの進行状況が表示されます。たとえば、ア
クティビティが完了しているか、どの矢印が選択されているか、プロセスがいくつ起票されたか、などが表示されます。
- 348 -
- 矢印の遷移確率がプロセス定義内の矢印の近くに表示されます。
4. アニメーションの実行を一時停止するには、[一時停止]ボタンをクリックします。処理を再開するには、再生ボタンをクリックしま
す。実行を停止するには、[停止]ボタンをクリックします。アニメーションがすべてキャンセルされます。
注意
シミュレーションコントローラでは、同じタブに表示しているプロセス定義のアニメーションのみ制御できます。
5. シミュレーションコントローラの[シミュレーションレポート]領域で、[表示]ボタンをクリックしてシミュレーションレポートを生成しま
す。詳細については、“12.3.3 シミュレーションレポートの生成”の項を参照してください。
12.3.3 シミュレーションレポートの生成
シミュレーションレポートは、運用経費を分析するのに役立ちます。運用経費は、プロセスのボトルネックやリソースの使用に関連しま
す。レポートのデータと表を、HTML、CSV形式でエクスポートできます。
1. 特定のシナリオのシミュレーションレポートを生成する方法について説明します。シミュレーションコントローラで[表示]ボタンをク
リックします。別ウィンドウでシミュレーションレポートが開き、タイトルバーにシナリオの名前、シミュレーションを実行した日付が
表示されます。[レポート期間]にレポートの開始日と終了日が表示されます。以下に例を示します。
図12.13 シミュレーションレポートウィンドウ
- 349 -
注意
シミュレーションレポートの[表示...]ボタンは、主プロセス定義のシミュレーションコントローラのみに表示されます。レポートには
すべてのプロセス定義についての情報が含まれます。
2. 特定のレポートを見るには、そのタブをクリックします。さまざまなレポート種別の詳細については、“12.3.4 シミュレーションレポー
トの種別”の項を参照してください。
3. デフォルトでは、レポートの開始日と終了日は実行したシナリオで指定されている日付と同じ日付が表示されます。レポートの開
始日と終了日は、以下の手順に従って変更できます。[レポート期間]領域で各日付ボタンをクリックし、ポップアップするカレン
ダーから指定したい日付を選択します。[OK]をクリックすると、レポートが変更されます。
注意
[シミュレーションの比較]のドロップダウンリストにマウスカーソルを合わせると、シナリオで設定したシミュレーションの開始日と終
了日がツールチップで表示されます。
4. [シミュレーションの比較]領域でリストからシミュレーション結果を選択し、比較レポートを見ることができます。詳細については、
“12.3.6 シミュレーションの比較”の項を参照してください。
5. [エクスポート]ボタンをクリックし、シミュレーションレポートをエクスポートできます。詳細については、“12.3.5 シミュレーションレ
ポートのエクスポート”の項を参照してください。
12.3.4 シミュレーションレポートの種別
シミュレーションを実行すると、シミュレーションレポートを生成できます。レポートの内容は、レポートの種別により異なります。以下に
例を示します。
- 350 -
図12.14 シミュレーションレポート
表示したいレポートのタブをクリックし、レポートを表示してください。
図12.15 レポート種別
[レポート種別]ドロップダウンリストから表示するグラフの形式を選択し、レポートのレイアウトを変更できます。たとえば、処理費用のレ
ポートを棒グラフや円グラフで表示できます。
個別のアクティビティ、リソースなどの詳細レポートは、[シミュレーションレポート]画面のグラフまたは統計領域の項目をダブルクリック
し、表示してください。
レポート種別には以下のものがあります。
処理費用のレポート
処理費用のレポートは、シミュレートされたプロセスアクティビティの指定された期間における(定義されたリソースに基づく)費用の合計
額を表示します。人的リソースは、“人的リソース”という名前のグループに表示されます。他のすべてのリソースの費用は、リソースごと
に棒グラフまたは円グラフの別の要素として表示されます。
最高費用は赤色で表示され、点滅します。また、費用の統計一覧では、最高値を含む行が、赤字で表示されます。処理費用の統計
は、レポートの開始日から終了日までに完了したプロセスインスタンスの数を示します。
- 351 -
リソースのいずれかをダブルクリックすると、そのリソースの詳細レポートが開き、選択したリソースの詳細な処理費用だけが表示されま
す。各タブをクリックすると、他のリソースに関する情報が表示されます。
アクティビティ毎の費用
費用のレポートは、実行されたアクティビティごとの費用を表示します。費用は人件費とその他の費用の合計額に分けられます。
アクティビティのいずれかをダブルクリックすると、そのアクティビティの詳細レポートが開きます。各タブをクリックすると、他のアクティビ
ティに関する情報が表示されます。
アクティビティ毎の実行回数
実行回数のレポートは、アクティビティごとの実行回数を表示します。アクティビティが何回完了し、いくつのインスタンスが待機中、ま
たは作業状態にあるかを、アクティビティごとに見ることができます。
アクティビティのいずれかをダブルクリックすると、そのアクティビティの詳細レポートが開きます。各タブをクリックすると、他のアクティビ
ティに関する情報が表示されます。
アクティビティ毎の処理時間
処理時間のレポートは、アクティビティごとの処理時間の合計を表示します。処理時間は、待機時間(他のインスタンスが進行中で、ア
クティビティが処理されずに経過した時間)と処理時間(アクティビティを完了するまでに経過した時間)の合計です。
アクティビティのいずれかをダブルクリックすると、そのアクティビティの詳細レポートが開きます。各タブをクリックすると、他のアクティビ
ティに関する情報が表示されます。
プロセスの処理時間
処理時間のレポートは、レポートの開始日から終了日までに完了したプロセスインスタンスの処理時間を、最短時間、最長時間、平均
時間の3つに分類して表示します。
注意
SubprocessノードあるいはChained-Processノードを含むプロセス定義をシミュレートしている場合、[プロセスの処理時間]レポートには
主プロセス(親プロセス)の処理時間だけが含まれます。
比較レポート
比較用の2組のシミュレーション結果からシミュレーションレポートが生成できます。比較結果は、比較レポートとして生成されます。2つ
のシミュレーション結果は同じプロセス定義を使用している必要がありますが、シナリオはそれぞれ異なっていても構いません。これら
のレポートは比較レポートとして利用でき、単一のシミュレーションのレポートと同様に操作可能です。
12.3.5 シミュレーションレポートのエクスポート
シミュレーションレポートは、HTML、またはCSV形式でエクスポートできます。
シミュレーションレポートのエクスポートの方法について説明します。
- 352 -
1. [シミュレーションレポート]ビューで、[エクスポート]ボタンをクリックし[レポートのエクスポート]ダイアログボックスを開きます。
図12.16 レポートのエクスポートダイアログボックス
2. レポートのタイトルを入力します。
3. 対応するチェックボックスをオンにして、エクスポートしたいレポートを選択します。利用できるレポート種別の詳細については、
“12.3.4 シミュレーションレポートの種別”の項を参照してください。
4. エクスポートしたい形式(HTML、またはCSV)に対応するボタンをクリックします。[保存]ダイアログボックスが開きます。
5. ファイル名を入力し、レポートの保存先を指定します。
[保存]をクリックすることで、指定した場所にレポートが保存されます。
12.3.6 シミュレーションの比較
2つのシミュレーション実行結果を比較し、比較レポートを表示できます。どちらのシミュレーションも、同じプロセス定義がインポートさ
れたシナリオを使用する必要があります。
図12.17 シミュレーション結果の比較
2つのシミュレーション結果を比較する方法について説明します。
1. [シミュレーションレポート]ビューの[シミュレーションの比較]領域で、比較する2つのシミュレーションをドロップダウンリストで変更
できます。
デフォルトでは、左側のドロップダウンリストには、現在シナリオエディタで開いているシナリオの一覧が表示されます。右側のド
ロップダウンリストには、現在のシナリオで使われているのと同じプロセス定義のシミュレーションを行うすべてのシナリオが表示
されます。
ドロップダウンリスト内の有効なエントリは、シナリオ名と、そのファイル名で構成されます。
- 353 -
2. [比較]チェックボックスをオンにします。
[シミュレーションレポート]ウィンドウの内容が変更され、比較レポートが表示されます。詳細については、“12.3.4 シミュレーション
レポートの種別”の項を参照してください。以下の例は、比較レポートを示します。
図12.18 比較レポートの表示
12.4 シミュレーションのシナリオを管理
ここでは、シミュレーションのシナリオを管理するための機能について説明します。
12.4.1 シナリオの別名保存とプロジェクト保存
シナリオを別のファイル名で保存したり、プロジェクトに保存する方法について説明します。
1. 保管するシナリオが表示されているシナリオエディタをクリックします。
- 354 -
2. [ファイル] > [別名保存]を選択します。
図12.19 シナリオの別名保存
3. [シナリオの別名保存]ダイアログで、シナリオの保存先のプロジェクトを選択します。シナリオは、任意のワークフローアプリケー
ションプロジェクトまたは“シミュレーションのシナリオ”プロジェクトに保存できます。サーバプロジェクトに保存することはできませ
ん。ワークフローアプリケーションプロジェクトに保存した場合は、プロジェクトの[Simulation]フォルダに保存されます。
4. シナリオを別名で保存する場合は、[名前]フィールドに新しい名前を入力します。
5. [OK]をクリックします。
6. 開始日が終了日の後に設定されているなど、シナリオが有効でない場合は、エラーメッセージが表示され、シナリオを保存でき
ません。その場合は保管をキャンセルしてエラーを修正し、もう一度シナリオを保管します。シナリオにインポートされたプロセス
定義が有効でない場合は、シナリオを保管できます。
12.4.2 シナリオの名前と説明の変更
シナリオ名はシナリオの識別に使用されるので、作成時に指定する必要があります。説明フィールドを使用して、プロセスに追加情報
を入力できます。
シナリオの名前と説明を変更する方法について説明します。
1. [ナビゲーター]ビューでシナリオをダブルクリックして、シナリオエディタを開きます。
2. [シナリオ名]フィールドと[説明]フィールドを、それぞれ変更します。
3. [ファイル] > [保存]の順に選択し、シナリオを保存します。
- 355 -
12.4.3 シナリオを開く
シナリオを開くには、以下のどちらかの手順に従います。
・ [ナビゲーター]ビューで、シナリオをダブルクリックします。
・ [ナビゲーター]ビューでシナリオを右クリックし、ポップアップメニューから[開く]を選択します。
12.4.4 シナリオを閉じる
シナリオを閉じる方法について説明します。
1. 以下のどちらかの手順に従います。
- 特定のシナリオを閉じるには、シナリオエディタの[閉じる]ボタンをクリックします。
- すべてのシナリオを閉じるには、[ファイル] > [すべて閉じる]の順に選択します。
2. 保存していない変更があった場合は、それを通知するメッセージが表示されます。以下のどちらかの手順に従います。
- 変更を保存してシナリオを閉じるには、[はい]をクリックします。
- 変更を保存しないでシナリオを閉じるには、[いいえ]をクリックします。
12.4.5 シナリオのインポート
シナリオは、XML形式でSystemwalker Runbook Automation Studioにインポートできます。
シナリオをインポートする方法について説明します。
1. [ナビゲーター]ビューで、ワークフローアプリケーションの[Simulation]フォルダ、または[シミュレーションのシナリオ]プロジェクト
を右クリックし、ポップアップメニューから[インポート]を選択します。
2. シナリオが格納されている場所に移動します。
3. シナリオを選択し、[開く]をクリックします。
4. 同じファイル名のシナリオがすでに存在する場合は、それを通知するダイアログボックスが表示されます。ファイルを別の名前に
変更し、インポートを再開します。
12.4.6 シナリオのエクスポート
Systemwalker Runbook Automation Studioから、ファイルシステムにシナリオをエクスポートできます。たとえば、エクスポートしたファイ
ルを使用して、シナリオを他のシステムにインポートできます。エクスポート形式はXMLです。
シナリオをエクスポートする方法について説明します。
1. [ナビゲーター]ビューでシナリオを右クリックし、ポップアップメニューから[エクスポート]を選択します。
2. エクスポートするシナリオを格納する場所に移動します。
3. [保存]をクリックします。
12.4.7 シナリオのコピー
[ナビゲーター]ビューでは、シナリオを簡単にコピーできます。
シナリオをコピーする方法について説明します。
1. [ナビゲーター]ビューでコピーするシナリオを右クリックし、ポップアップメニューから[コピー]を選択します。
2. シミュレーションのシナリオフォルダのシナリオを右クリックし、ポップアップメニューから[貼り付け]を選択します。
3. 新しいファイル名を入力し、[OK]をクリックします。
一度に複数のシナリオをコピーできます。[Shift]キーまたは[Ctrl]キーを押しながらコピーするシナリオをすべて選択してコピー、貼り付
けし、それぞれのシナリオに新しい名前を入力します。
- 356 -
12.4.8 シナリオ名の変更
シナリオに新しいファイル名を指定できます。
注意
この機能は、[設定]ダイアログの[ナビゲーターの設定]で、[表示モード]の設定を[ファイル名]に設定した場合のみ、使用できます。
シナリオの名前を変更する方法について説明します。
1. [ナビゲーター]ビューでシナリオを右クリックします。ポップアップメニューから[名前変更]を選択します。
2. シナリオの新しい名前を入力します。
3. [Enter]キーを押します。
4. シミュレーションのシナリオのプロジェクトに同じファイル名のシナリオがすでに存在する場合は、それを通知するダイアログボッ
クスが表示されます。以下のどちらかの手順に従います。
- 既存のシナリオを上書きするには、[はい]をクリックします。
- 既存のシナリオを保持するには、[いいえ]をクリックします。
この場合、シナリオの名前は変更されません。
12.4.9 シナリオの削除
シナリオを削除すると、そのシナリオはSystemwalker Runbook Automation Studioとファイルシステムの両方から削除されます。
シナリオを削除する方法について説明します。
1. [ナビゲーター]ビューでシナリオを右クリックします。ポップアップメニューから[削除]を選択します。
2. 確認して、[はい]をクリックします。
- 357 -
第13章 プロセスのデバッグ
Systemwalker Runbook Automation Studioを使ったプロセスのデバッグについて説明します。
13.1 デバッグの概要
デバッグについて操作の概要を説明します。
デバッグでは、Systemwalker Runbook Automation Studioから主に以下のことができます。
・ 管理サーバへの接続、デバッグの構成の作成
・ デバッグの開始
・ プロセスインスタンスの作成、中断、ステップ動作
・ 変数の参照・更新
・ プロセス定義へのジャンプ
なお、デバッグにおいてプロセス定義の更新、および運用操作部品の更新が必要な場合は以下の作業が必要です。
・ アプリケーションプロジェクトのアップロード
詳細は、“3.1.15 ワークフローアプリケーションプロジェクトのサーバへのアップロード”を参照してください。
・ 運用操作部品のアップロード
詳細は、“5.6 運用操作部品のサーバへのアップロード”を参照してください。
・ 自動運用プロセスグループをオンライン状態にする
Webコンソールを操作します。詳細は“Systemwalker Runbook Automation 運用ガイド”の“自動運用プロセスグループをオンライ
ン状態にする”を参照してください。
13.2 画面構成
デバッガ機能として以下の主要な画面(パースペクティブ、ビュー、ダイアログ)を提供します。
13.2.1 [デバッグ]パースペクティブ
デバッグ向けの標準画面構成であり、関連するツールボタンやビュー操作を素早くできるようにした画面構成です。
- 358 -
また、各種ビューを開くために[ウィンドウ]>[ビューの表示]のサブメニューを利用できます。
- 359 -
13.2.2 [デバッグを開く]ダイアログ(デバッグの構成)
[名前]フィールドには、デバッグの構成に付ける一意な名前を指定します。/、\、: 、&、*、? 、"、<、>、|、@を含めることはできません。
[接続]タブには、デバッグするプロセス定義を含むプロジェクトおよび接続する管理サーバを指定します。
・ プロジェクト:プロジェクト名を直接入力するか、参照してプロジェクト名を定義します。
・ サーバ接続情報: ワークベンチの[ウィンドウ]>[設定]>[Interstage BPM Studio]下の[サーバ接続情報]に事前に定義したリストか
ら、デバッグの構成で接続するサーバ接続情報を選択します。
[接続名]コンボボックス下には、選択されたサーバ接続情報のうちベースURL、ユーザ名を確認するための情報要素として表示し
ます。この情報要素の文字列は選択してコピーすることも可能です。
[アプリケーション]フィールドには、プロジェクトに含まれるプロセス定義を含むアプリケーションを指定します。アプリケーションを省
略した場合は、管理サーバ上の全アプリケーションに含まれるプロセス定義を検索します。アプリケーションを指定した場合は、指
定したアプリケーションに含まれるプロセス定義を検索します。参照して管理サーバ上のアプリケーションから選択することも可能
です。
・ 公開されたプロセス定義を含める:チェックするとパブリック状態のプロセス定義も処理対象に含めます。
・ 起動済プロセスを検出しない:チェックすることで、デバッグ開始時に既に起動されたプロセスインスタンスを処理対象から除外し、
デバッグ可能となるまでの時間を短縮することができます。
[ソース]タブには、[接続]タブに定義したプロジェクトと関連するプロジェクトを必要に応じて定義します。
※ Systemwalker Runbook Automationで利用する場合、通常はこのタブに関連する関連するプロジェクトを定義する必要はありませ
ん。
[共通]タブには、デバッグの構成の保存場所や起動時動作の詳細なオプションを定義します。
※ Systemwalker Runbook Automationで利用する場合、通常はこのタブでオプションを明示的に指定する必要はありません。
- 360 -
注意
Systemwalker Runbook Automationでは[デバッグを開く]ダイアログのフィルタオプション(
ボタン)は利用できません。
13.2.3 [デバッグ]ビュー
[デバッグ]ビューでは、ワークフローアプリケーションのデバッグを管理できます。このビューでは、デバッグするプロセス定義のプロセ
スインスタンス(デバッグターゲット)ごとに、実行/中断しているノード(運用操作部品の場合も含みます)が表示されます。プロセスイ
ンスタンスの各ノードは、ツリーのノードとして表示されます。
ツリーのノードの表示形式について
ツリー上のノードの表示形式はそれぞれ以下の形式で、斜体部分をデバッグ対象の各情報文字列に置き換えて表示します。
種別
表示形式
デバッグの構成
デバッグの構成につけた名前 [ワークフローアプリケーション]
プロセス定義
プロセス定義名 バージョン [アプリケーション名]
インスタンス
プロセス定義名:識別ID バージョン [アプリケーション名/インスタンス名]
ノードまたは
アクティビティ
ノード名またはアクティビティ名:識別ID
スタック
ノード名
プロセス定義のアイコンはプロセス定義の状態によって以下のように表示します。
イメージ
説明
ドラフト状態のプロセス定義です。
公開されたプロセス定義です。
インスタンスのアイコンはインスタンスの状態によって以下のように表示します。
イメージ
説明
すべてのノードが実行中のインスタンスです。
いずれかのノードが非実行状態(例えば中断中)のインスタンスです。
ノードのアイコンはノードの状態によって以下のように表示します。
- 361 -
イメージ
説明
実行中のノードです。
中断中のノードです。
中断要求を受け付けた実行中のノードです。
再開要求を受け付けた中断中のノードです。
実行中のノードです。ノードはタスクを持っています。
中断要求を受け付けた実行中のノードです。ノードはタスクを持っています。
正常終了したノードです。
エラー終了したノードです。
強制終了したノードです。
スタックは、Startノードから中断位置に到達するまでに実行した可能性をもつ経路(ノード)を実行時間の逆順に表示します。スタックと
して表示されるノードのアイコンはノードの状態によって以下のように表示します。
イメージ
説明
中断中のノードです。
実行中のノードです。
待ち合わせ中のノードです。
正常終了したノードです。
エラー終了したノードです。
強制終了したノードです。
注意
・ スタックの表示順序は各ノードの実行時間の逆順であり、必ずしも下のノードから上のノードに遷移していることを表現していませ
ん。
・ Startノードから中断しているノードに至る経路に存在するノードのいずれかが実行中または中断中の場合、中断しているノードの
経路を正しく表示することはできません。
・ Iterator (Parallel) Loopノードは、最後に生成したノードを表示します。
・ Iterator (Parallel) Loopノードから次のノードに遷移するには、Iterator (Parallel) Loopノードで生成したすべてのノードを完了させる
必要があります。
・ Sequential Loopノードは、最後に実行するノードを表示します。
ツリーのノードの表示順序について
ツリー上のデバッグの構成ノード下の各ノードの表示順序はそれぞれ以下の順で表示します。
・ プロセス定義:大小文字を区別せず昇順に表示
・ インスタンス:識別IDの昇順に表示
・ ノード:識別IDの昇順に表示
- 362 -
ツリーのノードの表示範囲について
ツリー上に表示されるノードは、以下に示す条件に従って表示します。
・ プロセス定義:デバッグの構成で定義されたプロジェクトのルートフォルダに配置され、かつ、
管理サーバにアップロード済のドラフト状態のプロセス定義のみを表示します。
プロセス定義に対して複数のバージョンが存在する場合、最新のバージョンのみを表示します。
・ インスタンス:デバッグの構成で定義されたプロジェクトのルートフォルダに配置され、かつ、
サーバ接続時に管理サーバ上でインスタンス化されたプロセス定義および
[デバッグ]ビューから開始したインスタンスのみを表示します。
注意
Subprocessノードや運用操作部品によって子プロセスとして起動されるプロセス定義を同時にデバッグすることはできません。子プロセ
スとして起動されるプロセス定義は事前にデバッグし問題のないことを確認してください。
ツリーのノードに対するプロパティについて
ツリー上に表示されているノード固有の情報をプロパティとして表示します。
使用できる操作
[デバッグ]ビューでは、以下の操作を使用して、プロセスインスタンスの中断・再開、切断、ステップ実行などができます。
イメージ/
ボタン
-
名前
説明
表示場所
スタックのコ
ピー
選択したプロセスインスタンス、ノードなどの表示文字列をクリップボードにコピーします。
コンテキストメ
ニュー
切断
選択したプロセスインスタンスあるいはデバッグの構成をデバッガから切断します。
コンテキストメ
ニューおよび
ツールバー
フレームに
ドロップ
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニューおよび
ツールバー
[構成名] の
編集...
関連付けされたデバッグの構成の[構成の編集]ダイアログを開き、変更を行えるようにします。
コンテキストメ
ニュー
- 363 -
イメージ/
ボタン
-
名前
説明
表示場所
ステップ
フィルタの
編集...
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニュー
ソースルッ
クアップの
編集...
[ソースルックアップパスの編集]ダイアログを開き、変更を行えるようにします。
コンテキストメ
ニュー
[OK]ボタンをクリックすると、プロセスインスタンスのプロセス定義ファイルの検索がこのダイアロ
グに指定した範囲・順序に従って行われます。
-
検索...
コンテキストメ
ニュー
[検索]ダイアログを開きます。
- 364 -
イメージ/
ボタン
名前
説明
表示場所
[OK]ボタンをクリックすると、選択した要素で[デバッガ]ビュー上のツリーを選択します。
-
ソースを
ルックアッ
プ
ソースルックアップを強制的に行わせることができます。
コンテキストメ
ニュー
-
プロパティ
このコマンドは、選択された要素のプロパティを表示します。
コンテキストメ
ニュー
終了したす
べてを除去
終了したすべてのデバッグターゲットをビューの表示から除去します。
コンテキストメ
ニューおよび
ツールバー
再開
中断しているノードを再開します。
コンテキストメ
ニュー、[実行]メ
ニューおよび
ツールバー
実行が完了したノードでは利用できません。
ステップイ
ン
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニュー、[実行]メ
ニューおよび
ツールバー
ステップ
オーバ
中断しているノードをステップ実行し、次のノードで自動的に中断します。
コンテキストメ
ニューおよび
ツールバー
ステップリ
ターン
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニューおよび
ツールバー
中断
実行しているノードを中断します。中断後、変数の値の確認や、ステップ実行などを行うことが
できます。
コンテキストメ
ニュー、[実行]メ
ニューおよび
ツールバー
終了
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニューおよびアク
ションの表示
すべて終
了
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニュー
実行が完了したノードでは利用できません。
- 365 -
イメージ/
ボタン
名前
説明
表示場所
終了して再
起動
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニュー
終了および
除去
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニュー
ステップ
フィルタの
使用
Systemwalker Runbook Automationでは利用できません。
コンテキストメ
ニューおよび
ツールバー
-
Web コン
ソール
Systemwalker Runbook AutomationのWebコンソールを開きます。
コンテキストメ
ニュー
-
タスクを表
示
ノードが持つタスクを開きます。
コンテキストメ
ニュー
-
インスタン
スを開始
プロセスインスタンスを開始します。
コンテキストメ
ニュー
-
ノードを再
実行
正常終了した任意のノードを再実行します。
コンテキストメ
ニュー
-
ステップ動
作でインス
タンスを開
始
ステップ動作でプロセスインスタンスを開始します。
コンテキストメ
ニュー
-
インスタン
スを強制終
了
プロセスインスタンスを強制終了します。
コンテキストメ
ニュー
-
インスタン
スを除去
終了あるいは切断したプロセスインスタンスを除去します。
コンテキストメ
ニュー
13.2.4 [変数]ビュー
[変数]ビューには、[デバッグ]ビュー内の選択されたスタックに関連付けされた変数に関する情報を表示します。
表示される変数のアイコンは変数種別によって以下のように表示します。
・
変数(UDA)です。
・
運用操作部品の入力です。
・
運用操作部品の出力結果です。
- 366 -
変数は、以下の3グループの順で、それぞれ大小文字を区別せず昇順に表示します。
1. SWRBA_で始まる変数(UDA)
2. 上記以外の変数(UDA)
3. 運用操作部品の変数(入力および出力結果、表示名は“ノード名:名前”)
変数ビューでは、デバッグを開始あるいは中断からの再開後から、次に中断までの間に変更された変数(UDA)が強調表示されます。
また、編集ビューの操作により変数(UDA)の値を更新した場合も強調表示されます。
注意
変更された変数(UDA)の強調表示の色を変更するには、以下の手順で変更してください。
1. [ウィンドウ]メニュー > [設定]メニューを選択します。
2. [設定]ダイアログの左側のツリーから[実行/デバッグ]を選択します。
3. 列の表示を選択している場合は、[変更された値の背景色]ボタンで色を指定します。
4. 列の表示を選択していない場合は、[変更された値の色]ボタンで色を指定します。
5. なお、列の表示は、変数ビューのレイアウト操作から選択します。
注意
・ 変数(UDA)は常に現在の値が表示されます。
・ 表示される値に \、タブ、復帰、改行等の特別な文字が含まれる場合、それらは代替文字で表示されます。 [詳細]ペインでは、こ
れら特別な文字は表示文字としてそのまま表示されます。
・ プロセスが終了している場合、変数(UDA)は変更できません。
・ 運用操作部品のノードが中断中の場合、運用操作部品の変数の一部が表示されないことがあります。
・ 運用操作部品のノードの変数の値は変更できません。
使用できる操作
[変数]ビューでは、以下の操作が使用できます。
イメージ/ボ
タン
名前
値の変更...
説明
基礎になる選択された変数の値をダイアログを利用して変更できます。
表示場所
コンテキストメ
ニュー
[OK]ボタンをクリックすると、ダイアログ上の値で変数の値を更新します。
変数のコピー
選択された変数をシステムクリップボードにコピーします。
- 367 -
コンテキストメ
ニュー
イメージ/ボ
タン
-
名前
検索...
説明
[変数]ビュー内で要素を検索するための検索ダイアログを開きます。
表示場所
コンテキストメ
ニュー
[OK]ボタンをクリックすると、選択した要素で[変数]ビュー上のツリーを選択
します。
-
すべて選択
ビュー内のすべての変数を選択します。
コンテキストメ
ニュー
型名の表示
Systemwalker Runbook Automationでは利用できません。
ツールバー
論理構造の表
示
Systemwalker Runbook Automationでは利用できません。
ツールバー
すべて縮小表
示
Systemwalker Runbook Automationでは利用できません。
ツールバー
[詳細]ペインでは、以下の操作が使用できます。
イメージ/ボ
タン
名前
説明
表示場所
値の代入
[詳細]ペインの文字列を評価して、新規値を現在選択されている変数に代入
します。
コンテキストメ
ニュー
コンテンツアシス
ト
コードコンプリートのヘルプを提供する[コンテンツアシスト]ポップアップダイ
アログを開きます。
コンテキストメ
ニュー
-
切り取り
選択している要素をシステムのクリップボードにコピーして、[詳細]ペインから
削除します。
コンテキストメ
ニュー
-
コピー
選択している要素を詳細ペインからシステムクリップボードにコピーします。
コンテキストメ
ニュー
-
検索/置換...
指定した式を検索または置換します。
コンテキストメ
ニュー
-
- 368 -
イメージ/ボ
タン
名前
説明
表示場所
それぞれの操作ボタンをクリックすると、選択した文字列を検索して選択状態
にしたり、文字列を置換したりします。
Systemwalker Runbook Automationでは[スコープ]は意味を持ちません。
-
最大長...
[詳細]ペインに表示する文字数の最大値を変更するためのダイアログを表示
します。
コンテキストメ
ニュー
[OK]ボタンをクリックすると、表示する文字列をダイアログに指定した最大値
まで表示できるようにします。
-
貼り付け
システムのクリップボードの内容を[詳細]ペインに貼り付けます。
コンテキストメ
ニュー
-
すべて選択
[詳細]ペインのすべての文字列を選択します。
コンテキストメ
ニュー
-
テキストの包含
[詳細]ペインに表示される文字列を、あらかじめ定義した幅に従って折り返す
かどうかを変更します。
コンテキストメ
ニュー
ビューのレイアウト操作では、[詳細]ペインをどの方向に配置するか指定することができます。
イメー
ジ/ボ
タン
-
名前
説明
表示
場所
列の表
示
ビュー内に列を表示するかどうかを変更します。[変数]ビューのみ。
ツー
ル
バー
列を選
択...
列を表示する場合にどの列を表示するかを選択することができます。
ツー
ル
バー
水平方
向の
ビュー
ビューの右側に詳細ペインを表示し、水平方向に位置合わせされるように並べます。
ツー
ル
バー
- 369 -
イメー
ジ/ボ
タン
名前
説明
表示
場所
垂直方
向の
ビュー
ビューの下側に詳細ペインを表示し、垂直方向に位置合わせされるように並べます。
ツー
ル
バー
変数
ビュー
のみ
詳細ペインを隠します。
ツー
ル
バー
13.2.5 [コンソール]ビュー
[コンソール]ビューには、プロセスインスタンスの実行履歴を表示します。
[デバッグ]ビュー内でプロセスインスタンスあるいはノードを選択することにより、そのプロセスインスタンスの実行履歴を表示します。
コンソール上に表示されたノード名をクリックするとワークベンチ内にプロセス定義(エディタ)が開きます(すでに開かれている場合は、
そのエディタが前面表示となります)。
注意
実行履歴としてエラーメッセージが含まれる場合、エラーメッセージは標準エラーの色で表示されます。
下線付きのノード名はハイパーリンクテキストの色で表示されます。
[コンソール]ビューのデフォルトの表示では横に表示する文字数の制限はありません。
標準エラーの色や横に表示する文字数を変更するには、以下の手順で変更してください。
1. [ウィンドウ]メニュー > [設定]メニューを選択します。
2. [設定]ダイアログの左側のツリーから[実行/デバッグ] > [コンソール]を選択します。
3. エラーメッセージの色を変更するには、[標準エラーのテスキト色]ボタンで色を指定します。
4. 固定幅に制限するには、[固定幅コンソール]をオンにし、[最大文字幅]に制限する文字数を指定します。
ハイパーリンクテキストの色を変更するには、以下の手順で変更してください。
1. [ウィンドウ]メニュー > [設定]メニューを選択します。
2. [設定]ダイアログの左側のツリーから[一般] > [外観] > [色とフォント]を選択します。
3. [ハイパーリンクテキスト用の色]のカラーボタンで色を指定します。
注意
[設定]ダイアログの[実行/デバッグ]>[コンソール]で設定可能なオプションにおいて、以下のオプションはSystemwalker Runbook
Automationの[コンソール]ビューには適用されません。
・ プログラムが標準出力に書き込むときに表示
- 370 -
・ プログラムが標準エラーに書き込むときに表示
・ 標準入力のテキスト色
使用できる操作
[コンソール]ビューでは、以下の操作が使用できます。
イメージ/ボタ
ン
名前
コンソールを閉じ
る
-
説明
現在アクティブなコンソールを閉じます。
表示場所
ツールバー
閉じたコンソールを開くには[コンソールを開く]コマンドを利用し
てください。
コンソールのクリ
ア
現在アクティブなコンソール上に表示された文字列をクリアしま
す。
コンテキストメニューおよ
びツールバー
選択されたコン
ソールの表示
Systemwalker Runbook Automationでは利用できません。
ツールバー
コンソールを開く
新規のコンソールを開きます。コンソールを開くにはボタンの右 ツールバー
側のドロップメニューを開き、開きたいコンソールを選択します。
ピン留め
現在のコンソールをピン留めして、その他のすべてのコンソー
ルの前面に残るようにします。
ツールバー
スクロールロック
スクロールロックが現在のコンソール内で使用可能にするかどう
かを変更します。
コンテキストメニューおよ
びツールバー
コピー
選択された要素をコンソールからシステムクリップボードにコピー
します。
コンテキストメニュー
切り取り
Systemwalker Runbook Automationでは利用できません。
コンテキストメニュー
検索/置換...
指定された語句で検索することができます。
コンテキストメニュー
Systemwalker Runbook Automationでは置換は利用できませ
ん。
-
貼り付け
Systemwalker Runbook Automationでは利用できません。
コンテキストメニュー
リンクを開く
Systemwalker Runbook Automationでは利用できません。
コンテキストメニュー
13.3 デバッグの流れ
デバッグの流れを以下に示します。
13.3.1 デバッグの準備
デバッグの準備として以下の3つについて説明します。
・ サーバ接続情報の設定
・ プロセス定義の準備
・ デバッグの構成の作成
サーバ接続情報の設定
1. [ウィンドウ]メニュー>[設定]メニューをクリックします。
[設定]ダイアログが表示されます。
2. [設定]ダイアログで、[Interstage BPM Studio]の[サーバ接続情報]をクリックします。
- 371 -
3. [サーバ接続情報の一覧]で接続する管理サーバを定義します。
- 接続名:識別する任意な名前を指定します。
- ベースURL:管理サーバに接続するために使用するURLです。ベースURLの形式は以下のとおりです。
http://<hostname>:<port>
以下は、hostnameとして“rbaserver”、portとして“80”を使用した場合のURLの例です。
http://rbaserver:80
- ユーザ名:プロセスインスタンスの生成操作等を行える管理者権限をもつユーザー名を指定します。
- パスワード、パスワードの保存:パスワードを保存して接続時のパスワード入力を抑止する場合は、
このダイアログ上にパスワードを指定し、[パスワードの保存]をチェックします。パスワードを保存しない場合、接続のたびに
パスワード入力を要求します。
- 接続を確認する:[OK]ボタンをクリックしたときに接続を確認する場合にチェックします。
サーバ接続情報の設定の詳細は、“2.4.1 サーバ接続情報の設定”を参照してください。
プロセス定義の準備
ワークスペース上のプロセス定義と管理サーバ上のプロセス定義を同一にします。
・ ワークスペース上のデバッグ対象のプロセス定義が新しい場合、あるいは管理サーバ上にプロセス定義が存在しない場合は、管
理サーバにプロセス定義をアップロードします。アップロード方法については“3.1.15 ワークフローアプリケーションプロジェクトの
サーバへのアップロード”を参照してください。
- 372 -
・ ワークスペース上にデバッグ対象のプロセス定義が存在しない、あるいは、古い場合は、管理サーバ上からプロセス定義をダウン
ロードします。ダウンロードについては“3.1.14 ワークフローアプリケーションプロジェクトのサーバからのダウンロード”を参照してく
ださい。
また、管理サーバ上のプロセス定義が、以下であることを確認してください。
・ 状態
ドラフト
・ 所有者
“サーバ接続情報の設定”で指定したサーバ接続情報のユーザー名
注意
プロセス定義をデバックするためには、プロセス定義の名前とプロセス定義ファイルの名前(拡張子を除く)が一致していなければなりま
せん。
デバッグの構成の作成
1. [実行]メニュー>[デバッグの構成]メニューを開きます。
ツールバー上の
[デバッグ]ボタンの▼をクリックし、[デバッグダイアログを開く]メニューからも開くことができます。
2. ツリー上の[ワークフローアプリケーション]を選択した状態で、ツリー上部のツールバーから[新規の起動構成]ボタン(最左端)を
クリックします。または、ツリー上の[ワークフローアプリケーション]を選択した状態で、コンテキストメニューを開き[新規]メニューを
選択します。
- 373 -
3. ダイアログ上の右側に新規の[ワークフローアプリケーション]に使用するデバッグの構成が表示されます。
4. [名前]フィールドは、デバッグの構成に付ける一意なわかりやすい名前を指定します。
5. [プロジェクト]グループでは、デバッグするプロセス定義を含んだプロジェクトを指定します。
[参照]ボタンを利用して選択・指定することもできます。
6. [接続名]コンボボックスから、“サーバ接続情報の設定”で定義した接続名を選択します。
[アプリケーション]フィールドは、デバッグするプロセス定義を含んだ管理サーバ上のアプリケーションを指定します。アプリケー
ションは省略することができます。[参照]ボタンを利用して選択・指定することもできます。
ポイント
アプリケーションを省略した場合は、管理サーバ上の全アプリケーションに含まれるプロセス定義を検索しますので、デバッグ可
能となるまで時間がかかります。時間がかかる場合は、アプリケーションを指定してください。アプリケーションを指定すると、指定
したアプリケーションに含まれるプロセス定義のみを検索します。アプリケーションを指定することにより、デバッグ可能となるまで
の時間を短縮することができます。
- 374 -
また、[起動済プロセスを検出しない]チェックボックスをチェックすることにより、デバッグ可能となるまでの時間をさらに短縮する
ことができます。
7. デバッグの構成の作成は完了です。
13.3.2 デバッグの開始
新しいデバッグの構成を作成してデバッグを開始する場合
“13.3.1 デバッグの準備”で設定した[デバッグを開く]ダイアログで、以下の操作を行います。
1. [デバッグ]ボタンをクリックします。サーバへ接続しデバッグを開始します。
[デバッグを開く]ダイアログが閉じ、ワークベンチの画面構成が[デバッグ]パースペクティブに切り替わります。
作成済のデバッグの構成を利用してデバッグを開始する場合
以下のいずれかの手順でデバッグを開始します。
メニューから操作する場合
1. [実行]メニュー>[デバッグの構成]メニューを開きます。
2. ツリー上の[ワークフローアプリケーション]の下の作成済のデバッグの構成を選択します。
3. [デバッグ]ボタンをクリックして、サーバへの接続しデバッグを開始します。
[デバッグを開く]ダイアログが閉じ、ワークベンチの画面構成が[デバッグ]パースペクティブに切り替わります。
- 375 -
ツールバーから操作する場合
1. ツールバー上の
[デバッグ]ボタン▼をクリックし、作成済のデバッグの構成を選択します。
ワークベンチの画面構成が[デバッグ]パースペクティブに切り替わります。
13.3.3 プロセスインスタンスの作成、中断、ステップ動作
新しいプロセスインスタンスを作成してデバッグを行う場合
1. [デバッグ]ビューに表示されているプロセス定義を選択し、コンテキストメニューから[ステップ動作でインスタンスを開始]を選択
します。
管理サーバ上で新しいプロセスインスタンスが生成され、[デバッグ]ビュー上に新しいプロセスインスタンスが表示されます。
2. 表示された新しいプロセスインスタンス下のノードは[中断状態]で中断します。ノードの状態(変数の値等)を確認します。
3. ステップ実行するノード
または中断中のスタック
(先頭要素)を[デバッグ]ビューでクリックして選択します。
4. [実行]メニュー>[ステップオーバ]メニューを選択するか、[デバッグ]ビューのツールバー上の
[ステップオーバ]ボタンをクリッ
クして、プロセスインスタンスのノードをステップ実行します。
5. 1つのノードの動作が完了する毎に、次に実行するノードで[中断状態]で中断されますので、以後、ノードの状態確認と[ステッ
プオーバ]を繰り返し選択してプロセス定義をデバッグします。
注意
ステップオーバ操作をしたとき、次に実行するノードの位置で中断します。ORノードのように複数分岐し、次に実行するノードが複数あ
る場合は、それぞれのノードの位置で中断します。
本バージョンでは、StartおよびExitノードでは中断しません。
- 376 -
注意
再開操作あるいはステップオーバ操作をしたノードがタスクを持つ場合、アイコンが や に変化します。この場合は、タスクを完了
してください。タスクが完了すると次のノードに遷移します。タスクを完了させる方法は、“実行中のアクティビティのタスクを表示し操作
する”を参照してください。
本バージョンでは、Startノードのタスクを有効にしてデバッグすることはできません。プロセス開始直後にタスクを実行したい場合は、
Startノードの直後にアクティビティを配置し、そのアクティビティでタスクを実行してください。
プロセスインスタンスを選択してステップ実行することも可能です。中断しているノードが複数存在する場合は、操作するノードをダイア
ログから選択してステップ実行します。
実行中のプロセスインスタンスのデバッグを行う場合
1. [デバッグ]ビューに表示されているプロセスインスタンスあるいは配下のノードを選択し、[実行]メニュー>[中断]メニューを選択
するか、[デバッグ]ビューのツールバー上の
[中断]ボタンをクリックして、プロセスインスタンスのノードを中断させます。
2. ノードの状態を確認したら、[実行]メニュー>[ステップオーバ]メニューを選択するか、[デバッグ]ビューのツールバー上の[ステッ
プオーバ]ボタンをクリックして、プロセスインスタンスのノードをステップ実行します。
3. 1つのノードのステップ実行が完了する毎に、次に実行するノードで中断されますので、以後、ノードの状態確認と[ステップオー
バ]を繰り返し選択してプロセス定義をデバッグします。
注意
中断操作をしても、即時にノードは中断しません。中断操作時点で実行していたノードの次に実行するノードの位置で中断します。
実行中のノードに対する中断は、中断操作時点でノードが完了している場合は失敗します。確実に実行中であるノードに対して中断
操作をしてください。
- 377 -
本バージョンでは、ANDノードに対して中断操作はできません。
実行中のプロセスインスタンスのデバッグを終了し、プロセスインスタンスを強制終了する場合
[デバッグ]ビューに表示されているプロセスインスタンスを選択し、コンテキストメニューから[インスタンスを強制終了]を選択します。
強制終了が成功すると、終了した旨がノード上に表示されます。
強制終了したプロセスインスタンスの状態は[中止]になります。
正常終了した任意ノードを再実行する場合
実行中のプロセスインスタンスにおいて、正常終了したノード、かつ、下記に示すノード種別を再実行することができます。ノードを再
実行するには、[デバッグ]ビューに表示されているプロセスインスタンス配下の正常終了したノードを選択し、コンテキストメニューから
[ノードを再実行]を選択します。ノードが再実行され、次に実行するノードの位置で中断します。
・ Activityノード
・ Voting Activityノード
・ Subprocessノード
・ 運用操作部品
注意
・ 正常終了した任意のノードを再実行した場合、ノード遷移が意図したとおりに行われずプロセスインスタンスが正常終了しなくなる
可能性があります。プロセスインスタンスが正常終了しない場合は、プロセスインスタンスを強制終了してください。
・ Startノードから中断しているノードに至る経路に存在するノードのいずれかが実行中または中断中の場合、中断しているノードの
経路を正しく表示することはできません。
実行中のプロセスインスタンスを切断する場合
[デバッグ]ビューに表示されているプロセスインスタンスを選択し、コンテキストメニューから[切断]を選択します。
切断が成功すると、切断した旨がノード上に表示されます。
終了あるいは切断したプロセスインスタンスを除去する場合
[デバッグ]ビューに表示されている終了あるいは切断したプロセスインスタンスを選択し、コンテキストメニューから[インスタンスを除去]
を選択します。
選択したインプロセスインスタンスは[デバッグビュー]から除去されます。
プロセス定義の修正とデバッグ操作について
デバッグ中にデバック対象のプロセス定義を修正した場合は、デバッグの再開が必要となります。デバッグの再開は以下の手順で行
います。
1. デバッグ中のプロセスインスタンスを最後まで実行し終了するか、プロセスインスタンスを強制終了します。
2. [デバッグ]ビューに表示されているデバックの構成を切断します。
3. 修正したプロセス定義を管理サーバにアップロードします。
4. デバックの構成を利用して管理サーバに接続し、新しいプロセス定義を利用してデバッグを再開します。
Webコンソールからのデバッグ操作について
Webコンソールからプロセスインスタンス、ノードおよびタスクに対して以下の操作が可能ですが、Studioからデバッグしている同じプロ
セスインスタンスおよび配下のノードやタスクに対してWebコンソールから以下の操作を行わないでください。
・ 一時停止
・ 中止
- 378 -
・ 削除
・ 再開
・ 活性化
・ 非活性化
13.3.4 変数の参照・更新
変数(UDA)は、ノードが中断状態の場合に参照・更新することができます。
変数の値を参照したい場合は、[デバッグ]ビュー上に表示されたツリーの中からスタックを選択します。
中断中のスタックを選択すると、[変数]ビュー上に、変数一覧と各変数の値が表示されます。
実行が完了したスタックを選択すると、[変数]ビュー上に、そのノード固有の出力結果も表示されます。
変数の値を変更する場合は、以下のいずれかの方法にて行います。
・ ビュー上から直接変更する
・ ダイアログを表示して変更する
変数の変更が成功するとビュー上の該当する[値]フィールドが変更されます。
注意
ノード固有の出力結果を変更することはできません。
ビュー上から直接変更する
[変数]ビュー上の該当する[値]フィールドをクリックして、編集可能な状態(入力を表す|が表示されている状態)に変更したあと、値を
直接書き換えて、[Enter]キーを押下します。
- 379 -
注意
[変数]ビュー上で値を直接書き換える場合、以下に示す文字は代替文字で入力してください。
・ \文字は、\\ と入力します。
・ 復帰文字は、\r と入力します。
・ 改行文字は、\n と入力します。
・ タブ文字は、\t と入力します。
詳細ペインから変更する場合は、以下の手順で操作します。
1. 詳細ペイン上に表示された値を更新します。
2. 詳細ペイン上でコンテキストメニューを開き、[値の代入]メニューを選択します。
ダイアログを表示して変更する
[変数]ビュー上の該当する変数名を選択して、コンテキストメニューから[値の変更]メニューを選択します。
表示されたダイアログ上の値を書き換えて、[OK]ボタンをクリックします。
13.3.5 プロセス定義へのジャンプ
中断箇所から、プロセス定義(エディタ)を呼び出すことができます。
[デバッグ]ビュー上に表示されたツリーの中から中断中のノード下に表示されたスタックを選択します。
スタックを選択すると、ワークベンチ内にプロセス定義(エディタ)が開き(すでに開かれている場合は、そのエディタが前面表示となり
ます)、スタックに対応するノードの場所が選択状態となります。
- 380 -
注意
プロセス定義内のノードの選択はノード名によって行います。プロセス定義内に同名のノードが存在する場合は正しく選択できませ
ん。このような場合は、プロセス定義を修正しノード名を一意にしてください。
[デバッグ]ビュー上に表示されている終了したプロセスインスタンスのツリーの中からスタックを選択してもプロセス定義は開かれませ
ん。また、開かれているプロセス定義上で対応するノードは選択状態にはなりません。
また、プロセスインスタンスの実行履歴を表示するコンソール上に表示されたノード名をクリックすることにより、ワークベンチ内にプロセ
ス定義(エディタ)を開き、ノードの場所を選択状態とすることもできます。
開かれたプロセス定義上で、各ノードの状態を強調表示することもできます。
ポイント
各ノードの状態を強調表示するには、ワークベンチの[ウィンドウ]>[設定]メニューを選択して表示される設定ダイアログの[Interstage
BPM Studio]>[デバッグ]の[実行ノードを強調表示する]をチェックします。
各ノードの状態に応じた色を変更するには、それぞれの状態に対応する色を変更します。
注意
プロセスインスタンスが終了するとプロセス定義上の強調表示が解除されます。
13.3.6 その他の操作
Systemwalker Runbook AutomationのWebコンソールを起動する
[デバッグ]ビューからSystemwalker Runbook AutomationのWebコンソールを開くことができます。
Web コンソールを開くには、[デバッグ]ビュー上に表示されたデバッグの構成ノードを選択した状態でコンテキストメニューから[Web コ
ンソール]を選択します。
ポイント
Web コンソールはワークベンチの外部ブラウザで開きます。外部ブラウザは、ワークベンチの[ウィンドウ]>[設定]メニューを選択して
表示される設定ダイアログの[一般]>[Webブラウザ]の外部Webブラウザで選択されているものを使用します。
- 381 -
実行中のアクティビティのタスクを表示し操作する
[デバッグ]ビューから実行中のアクティビティが持つタスクを開くことができます。
タスクを開くには、[デバッグ]ビュー上に表示された動作中のアクティビティ(アイコンが や のノード)を選択した状態でコンテキス
トメニューから[タスクを表示]を選択します。アクティビティに複数のタスクが関連付けされている場合は、表示するタスクを識別する情
報として“担当者:タスクのID”の形式で一覧表示するダイアログが表示されます。ダイアログに表示された“担当者:タスクのID”を選
択してください。
表示されたタスクの下部に表示された[選択]グループ内にあるボタンのいずれかをクリックするとタスクが完了します。
[選択]グループ内にあるボタンのいずれかをクリックしタスクを完了させたら画面を閉じます。
ポイント
タスクはワークベンチの外部ブラウザで開きます。外部ブラウザは、ワークベンチの[ウィンドウ]>[設定]メニューを選択して表示される
設定ダイアログの[一般]>[Webブラウザ]の外部Webブラウザで選択されているものを使用します。
タスクを表示する操作を行うと外部ブラウザが開き、タスクに接続するページが表示されます。JavaScriptの実行を許可している場合に
は自動的にタスクがあるサーバに遷移します。JavaScriptの実行を許可していない場合は、以下のいずれかの方法にてタスクがある
サーバへの遷移を行ってください。
・ ブラウザ上に表示されたJavaScriptの実行を許可するかの問い合わせに対して許可を選択します。
・ 接続するページ内に表示されている[Connect]ボタンをクリックします。
注意
タスクを表示する場合、外部ブラウザすべてを閉じた状態で行ってください。外部ブラウザが事前に起動されている状態でタスクを表
示させた場合、タスクの担当者で正しくログインできない場合があります。
ログイン直後に“以前送信した情報を再送信する必要があります”というメッセージボックスが表示される場合があります。このような場
合は[再試行]ボタンをクリックしてください。
13.4 デバッグのテクニック
効率的なデバッグを行うためのテクニックについて説明します。
13.4.1 条件分岐で特定のノードを動作させる
分岐するノード(Conditional等)を利用し条件によってプロセスの動作を切り分けているプロセス定義では、デバッガのステップ動作と
変数の参考・更新を利用して、特定のノードを強制的に動作させることができます。特定のノードを動作させるには、以下の手順で行
います。
1. プロセス定義を[ステップ動作でインスタンスを開始]によりデバッグを開始します。
2. 条件分岐するノードで中断するまで[ステップオーバ]を利用して進めます。
3. スタックを選択してプロセス定義を開き、プロパティの分岐条件を確認します。
例)Conditionalノードの場合は、決定ルールの分岐条件を確認します。
4. 分岐条件で利用する変数の値を[変数]ビューで確認します。
5. 動作させたいノードに至る実行する矢の条件に合致するように[変数]ビュー上で変数の値を更新します。
6. [ステップオーバ]で次のノードに進めます。
13.4.2 デバッグ中にプロセス定義を開く
[デバッグ]パースペクティブを表示中に、プロセス定義を開きたい場合は、以下の手順で行います。
- 382 -
1. [ウィンドウ]メニューから、[ビューの表示]>[その他]を選択します。
2. [ビューの表示]ダイアログに表示されたツリー内の[Interstage BPM Studio]下の[ナビゲーター]を選択し、OKボタンをクリックしま
す。
3. 表示された[ナビゲーター]ビューから開きたいプロセス定義ファイルを選択しコンテキストメニューから[開く]を選択するか、プロ
セス定義ファイルをダブルクリックします。
- 383 -
第14章 Systemwalker Runbook Automation Studioの保守
Systemwalker Runbook Automation Studioの保守について以下の3つを説明します。
・ 設定情報のエクスポート
・ 設定情報のインポート
・ 保守情報の収集
ポイント
・ 設定情報には、プロセス定義エディタのパレットの定義情報が含まれます。
ワークスペースディレクトリをSystemwalker Runbook Automation Studioの再インストール後に再利用する場合は、Studioをアンイン
ストールする前に設定情報をエクスポートしてください。Studioを再インストールした後にエクスポートしておいた設定情報をインポー
トしてください。
なお、旧版(V14.0)で作成したワークスペースディレクトリの再利用はできません。
・ 保守情報には、トラブル発生時の調査に必要となる各種ログファイルや設定ファイルが含まれます。
14.1 設定情報のエクスポート
Systemwalker Runbook Automation Studioの設定情報をエクスポートするには、swrbaexport(設定情報エクスポートコマンド)を使用し
ます。エクスポートされた設定情報はファイルとして出力されます。
使用例を以下に示します。コマンドの引数には、設定情報ファイルの出力先となるパスを指定します。
使用例
C:\work\swrbaconfig.zipに設定情報をエクスポートします。
swrbaexport C:\work\swrbaconfig.zip
コマンドの詳細は、“Systemwalker Runbook Automation リファレンスガイド”を参照してください。
14.2 設定情報のインポート
Systemwalker Runbook Automation Studioの設定情報をインポートするには、swrbaimport(設定情報インポートコマンド)を使用します。
使用例を以下に示します。コマンドの引数には、エクスポートされた設定情報ファイルのパスを指定します。
使用例
C:\work\swrbaconfig.zipから設定情報をインポートします。
swrbaimport C:\work\swrbaconfig.zip
コマンドの詳細は、“Systemwalker Runbook Automation リファレンスガイド”を参照してください。
14.3 保守情報の収集
Systemwalker Runbook Automation Studioの保守情報を収集するには、swrbacolinf(保守情報収集コマンド)を使用します。トラブル発
生時に本コマンドを用いて保守情報を収集してください。
使用例を以下に示します。コマンドの引数には、保守情報ファイルの出力先となるフォルダのパスを指定します。保守情報は指定され
たフォルダ配下に“swrbacolinfyyyy-MM-dd-HH-mm-ss.dat”という名前でファイル出力されます。
- 384 -
使用例
C:\work配下に保守情報を収集します。
swrbacolinf C:\work
コマンドの詳細は、“Systemwalker Runbook Automation リファレンスガイド”を参照してください。
- 385 -
付録A JavaScript関数
Systemwalker Runbook Automationには、Java Action、トリガ、Complex Conditionalノード、およびSequential Loopノードに使用できる
JavaScript関数のセットが用意されています。
ここでは、これらの要素に対してどの関数を使用できるかを説明します。
ここに挙げられている関数とは別に、ECMA標準で定義しているJavaScriptの関数を使用することもできます。ECMA標準の情報につ
いては、Systemwalker Runbook Automationのインストールファイルに含まれているecma-262.pdfを参照してください。
注意
JavaScriptで使用するメソッドが保有しているサイズが、Java Virtual Machine (JVM)により制限されている場合があります。現在では、
そのメソッドバイトコードサイズは、65535バイト(64キロバイト)に制限されています。これ以上のサイズのメソッドを使用している場合に
は、JVMによりエラーが返されます。メソッドのサイズを縮小してから、再度JavaScriptを実行してください。
A.1 JavaScript関数
ここで説明するJavaScript関数は、Java Action、トリガ、Complex Conditionalノード、およびSequential Loopノードに使用できます。
注意
数値がNumber型の値として扱われるため、JavaScriptでは、以下の範囲の整数のみ使用可能です。
・ 最低値:-9007199254740992
・ 最高値:9007199254740992
Long型の以下の最高値、最低値は、サポートしておりません。
・ 最低値:Packages.java.lang.Long.MIN_VALUE
・ 最高値:Packages.java.lang.Long.MAX_VALUE
new Packages.java.util.Date()
詳細については、J2SE Development Kit (以降、JDKと呼びます。)に付属しているJavadocを参照してください。
Date DateAdd(DateまたはNumber date, Number offset, String field)
日付にoffset値を加えた結果の日時を含むJavaScript Dateオブジェクトを返します。fieldの値には、offset値の基準となる単位を指定し
ます。有効なfield値は以下のとおりです。
説明
field値
"ss"
秒
"mi"
分
"hh"
時
"dd"
日
例:
var now = Packages.java.util.Date();
uda.Date = DateAdd (now, 1, "dd");
- 386 -
注意
この例が正しく機能するのは、UDA DateがDATE型の場合だけです。
nowが以下の値であるとします。
Tue Jul 01 2006 14:02:59 GMT-0800 (PST)
この場合、tomorrow ( DateAdd ( now, 1, "dd" ) )の値は以下のようになります。
Wed Jul 02 2006 14:02:59 GMT-0800 (PST)
dateがNUMBER型である場合、その値は1970年1月1日以降のミリ秒として解釈されます。
Boolean DateCompare(DateまたはNumber date1, String operator, DateまたはNumber date2)
2つのDate値を比較し、その結果に応じてtrueまたはfalseを返します。有効な演算子は以下のとおりです。
演算子
説明
">"
より大きい
"<"
より小さい
">="
以上
"<="
以下
"=="
と等しい
"!="
と等しくない
例:
var now = Packages.java.util.Date();
var tomorrow = DateAdd (now, 1, "dd");
if (DateCompare (now,"<", tomorrow)) ...; //...DateCompareの結果がtrueのため実行する。
date1とdate2がNUMBER型である場合、それらの値は1970年1月1日以降のミリ秒として解釈されます。
Number DateDiff(DateまたはNumber date1, DateまたはNumber date2, String field)
date1からdate2を減算します。fieldの値に応じて、差分を日、時、分、または秒で返します。有効なfield値は以下のとおりです。
説明
field値
"ss"
秒
"mi"
分
"hh"
時
"dd"
日
例:
var now = Packages.java.util.Date();
var tomorrow = DateAdd (now, 1, "dd");
var diff = DateDiff (tomorrow, now, "dd"); //差の値は1。
date1とdate2がNUMBER型である場合、それらの値は1970年1月1日以降のミリ秒として解釈されます。
例:
var date = DateDiff (20000000,10000000,"ss");
- 387 -
BigDecimal DecimalAdd(BigDecimal value1, BigDecimal value2)
指定したパラメーターの合計であるJavaScript BigDecimalオブジェクトを返します。この結果は、パラメーターの最大有効桁の精度を
継承します。
結果をUDAに割り当てる場合は、そのUDAがBIGDECIMAL型であることを確認してください。
ほかのデータ型をパラメーターとして渡した場合、この関数はパラメーターをBigDecimalに変換します。
例:
int x = 39;
var z = DecimalAdd ("3.1416",x);
zがBigDecimalである場合、その値は42.1416になります。
Boolean DecimalCompare(BigDecimal value1, String operator, BigDecimal value2)
2つのBigDecimal値を比較し、その結果に応じてtrueまたはfalseを返します。
有効な演算子は以下のとおりです。
演算子
説明
">"
より大きい
"<"
より小さい
">="
以上
"<="
以下
"=="
と等しい
"!="
と等しくない
結果をUDAに割り当てる場合は、そのUDAがBIGDECIMAL型であることを確認してください。
ほかのデータ型をパラメーターとして渡した場合、この関数はパラメーターをBigDecimalに変換します。
例:
var smallDecimal = "1.11";
var largeDecimal = "22.22";
if (DecimalCompare (smallDecimal,"<", largeDecimal)) ...; //DecimalCompareの結果がtrueのため実行する。
BigDecimal DecimalDivide(BigDecimal value1, BigDecimal value2, Number scale )
value1をvalue2で除算し、その結果を返します。scaleには、丸めの有効桁数を指定します。scaleの値には任意の数値を使用できます。
デフォルト値は2です。
丸めは常に四捨五入で行われ、両方の近接値から等距離である場合以外は、“最近接値”に丸められます。両方の近接値から等距
離である場合は切り上げられます。
結果をUDAに割り当てる場合は、そのUDAがBIGDECIMAL型であることを確認してください。
ほかのデータ型をパラメーターとして渡した場合、この関数はパラメーターをBigDecimalに変換します。
BigDecimal DecimalMultiply(BigDecimal value1, BigDecimal value2, Number scale)
value1をvalue2で乗算し、その結果を返します。scaleには、丸めの有効桁数を指定します。scaleには任意の数値を使用できます。デ
フォルト値は2です。
丸めは常に四捨五入で行われ、両方の近接値から等距離である場合以外は、“最近接値”に丸められます。両方の近接値から等距
離である場合は切り上げられます。
結果をUDAに割り当てる場合は、そのUDAがBIGDECIMAL型であることを確認してください。
ほかのデータ型をパラメーターとして渡した場合、この関数はパラメーターをBigDecimalに変換します。
- 388 -
BigDecimal DecimalSubtract(BigDecimal value1, BigDecimal value2)
value1からvalue2を減算します。差分はBigDecimalとして返されます。
boolean toBoolean(StringまたはNumber value)
valueをJavaScript Booleanに変換します。値は、“true”または“false”を含むSTRINGか、ゼロ(true)またはゼロ以外(true)を含むNUMBER
です。渡したパラメーターに応じて、trueまたはfalseを返します。valueをBooleanに変換できない場合は、falseが返されます。
BigDecimal toDecimal(BigDecimal value, Number scale)
valueをBigDecimalオブジェクトに変換します。変換結果を、scaleで指定した有効桁数に返します。scaleには任意の数値を使用できま
す。デフォルト値は2です。
結果をUDAに割り当てる場合は、そのUDAがBIGDECIMAL型であることを確認してください。
ほかのデータ型をパラメーターとして渡した場合、この関数はパラメーターをBigDecimalに変換します。
Packages.java.lang.Float.parseFloat
詳細については、JDKに付属しているJavadocを参照してください。
Packages.java.lang.Integer.parseInt
詳細については、JDKに付属しているJavadocを参照してください。
Packages.java.lang.String.valueOf
詳細については、JDKに付属しているJavadocを参照してください。
注意
JavaScriptでは数値はNumber型となるため、整数としては以下の範囲までしか扱うことができません。
・ 最小値:-9007199254740992
・ 最大値:9007199254740992
JavaScript式でLong型の以下の最小値および最大値を使用することはできませんので、ご注意ください。
・ 最小値:Packages.java.lang.Long.MIN_VALUE
・ 最大値:Packages.java.lang.Long.MAX_VALUE
A.2 Java ActionでサポートするJavaScript関数
Java Actionでは、“A.1 JavaScript関数”で説明されている関数と、以下に示す関数を使用できます。
以下に示す関数は、Server Enactment Context APIのcom.fujitsu.iflow.server.intf.ServerEnactmentContextを使用して、ワークフロー情
報へのアクセスを提供します。詳細については、“API Javadocマニュアル”を参照してください。“API Javadocマニュアル”は、
“Systemwalker Runbook Automation メディアパック V15.1.3 DISC2 (連携サーバ/中継サーバ/業務サーバ用プログラム、 開発コン
ピュータ用プログラム)”の中の“manual\BPM\javadoc”に格納されています。
void sec.addAttachment(String attachmentName, String attachmentPath)
void sec.addProcessXMLAttributeSubstructure(String udaName, String xPath, String value)
void sec.addProcessXMLAttributeSubstructureByIdentifier(String identifier, String xPath, String value)
void sec.deleteAttachment(String attachmentName)
void sec.deleteProcessXMLAttributeSubStructure(String udaName, String xPath)
void sec.deleteProcessXMLAttributeSubStructureByIdentifier(String identifier, String xPath)
void sec.escalateActivity(String assignees)
String sec.getActivityActor(String activityName)
Array sec.getActivityAssignees()
String sec.getActivityName()
String sec.getActor()
- 389 -
Array sec.getAllAttachmentNames()
Array sec.getAllAttributeNames()
String sec.getAttachment(String attachmentName)
Number sec.getCurrentActivityId()
Number sec.getCurrentProcessId()
Array sec.getGroupMembers(String groupName)
String sec.getProcessAttribute(String attName)
String sec.getProcessAttributeByIdentifier(String identifier)
String sec.getProcessAttributeStringType(String udaName)
String sec.getProcessDefinitionId()
String sec.getProcessDefinitionName()
String sec.getProcessDescription()
String sec.getProcessInitiator()
String sec.getProcessName()
Array sec.getProcessOwners()
Number sec.getProcessPriority()
Number sec.getActivityPriority()
String sec.getProcessTitle()
String sec.getProcessXMLAttributeElementValue(String udaName, String xPath)
String sec.joinString(Array)
Array sec.resolveRelationship(String relationship, String sourceValue)
void sec.sendEmail(String to, String from, String cc, String bcc, String subject, String body, String mimeType)
void sec.setActivityAssignees(Array assignees)
void sec.setOwners(Array users)
void sec.setProcessAttribute(String name, String value)
void sec.setProcessAttributeByIdentifier(String identifier, String value)
void sec.setProcessDescription(String description)
void sec.setProcessName(String name)
void sec.setProcessOwners(Array users)
void sec.setProcessPriority(Number priority)
void sec.setActivityPriority(Number priority)
void sec.setProcessTitle(String title)
void sec.setProcessXMLAttributeElementValue(String udaName, String xPath, String value)
void sec.setProcessXMLAttributeElementValueByIdentifier(String identifier, String xPath, String value)
void sec.setProcessXMLAttributeSubstructure(String udaName, String xPath, String value)
void sec.setProcessXMLAttributeSubstructureByIdentifier(String identifier, String xPath, String value)
void sec.validateProcessXMLAttributeValue(String udaName)
void sec.validateProcessXMLAttributeValueByIdentifier(String identifier)
Array sec.splitString(String commaSeparatedList)
UDAを使用する
JavaScriptでプロセス定義に追加したUDAを使用できます。以下の構文を使用します。
uda.<UDA識別子名>
JavaScriptでは、変数名としてマルチバイト文字を使用できないため、UDA名ではなく識別子を使用してください。
以下の例では、変数を作成し、その変数をUDAの値に初期化します。
var someVariable = uda.Price;
以下の例は、変数の値をUDAに割り当てる方法を示しています。
var lastName = "Jones";
uda.udaIdentifier = lastName;
メソッドuda.get、uda.setを使用すると、それらの名前で、UDAにアクセスすることができます。UDA名の大文字、小文字は区別されま
す。
・ uda.getでは、指定したUDAの値が返されます。
var value = uda.get("<UDA名>");
- 390 -
・ uda.setでは、UDAの値を指定した値に設定します。
uda.set("<UDA名>", "<UDA値>");
JavaScriptの戻り値をUDAに割り当てるときには、それぞれのデータ型が一致していることを確認してください。データ型が一致してい
ない場合は、割当てに失敗します。
注意
変換などのエラーによってターゲットUDAへの値の割当てに失敗した場合は、ターゲットUDAは更新されず、前の値が維持されます。
UDAのデータ型が以下のJavaデータ型にマッピングされます。
・ BIGDECIMAL型のUDAは、Packages.java.math.BigDecimalオブジェクトにマッピングされます。
・ DATE型のUDAは、Packages.java.util.Dateオブジェクトにマッピングされます。
Javaオブジェクトの詳細については、JDKに付属しているJavadocを参照してください。
A.3 トリガでサポートするJavaScript関数
トリガでは、JavaScript式を使用して制御条件を指定できます。制御条件により、トリガが実行される時期を限定します。
“A.1 JavaScript関数”で説明されている関数と、以下で説明されている関数を使用できます。
String eventData.getXMLData(String xpath)
XPath式で指定されているXMLのテキスト値を返します。
例:
以下にXMLの一部分の例を示します。
<Customer> <Data> <Name>John</Name> </Data> </Customer>
以下のステートメントは、XMLエレメント<Name>のテキスト値"John"を、変数nameに割り当てます。
var name = eventData.getXMLData ( "/Customer/Data/Name/text()");
- 391 -
付録B プロジェクトコンポーネント
Systemwalker Runbook Automationは、特定のプロセスソリューションの実行に必要なファイルセットをサポートします。
この付録では、Systemwalker Runbook Automationでサポートされるファイルをすべて示し、それらのファイルについて簡単に説明しま
す。
フォルダ名
ファイルの説明
アプリケーションプロジェクトディレクトリ内の
場所
Process Definitions
[Process Definitions]フォルダには、すべて
のプロセス定義(.xpdl)ファイルが格納され
ます。
<プロジェクトルート>/Process Definitions
web
[web]フォルダには、さまざまな画像
(.gif、.jpeg)ファイル、カレンダー設定(.js)
ファイル、design(.css)、および
QuickForm(.jsp、.qf)ファイルなど、インター
ネットに公開されるファイルが格納されま
す。
<プロジェクトルート>/web
dms
[dms]フォルダには、画像(.gif)ファイル、プ
レビュー(.wmf)ファイル、.htmlファイルな
ど、ワークフローアプリケーションプロジェク
トのすべての種類のアタッチメントが格納さ
れます。
<プロジェクトルート>/dmsおよび
Application Classes/
engine
<プロジェクトルート>/dms/Attachments
[engine]フォルダには、[classes] 、[lib]およ
び[js]サブフォルダがあります。
<プロジェクトルート>/Application Classes/
engine/classes、
[classes]フォルダには、実行時にアプリケー
ションにロードされるクラス(.class)ファイル
が格納されます。
<プロジェクトルート>/Application Classes/
engine/libおよび
[lib]フォルダには、アプリケーションによっ
て使用されるjar(.jar)ファイルが格納されま
す。
<プロジェクトルート>/Application Classes/
engine/js
[js]フォルダには、アプリケーションによって
利用されるJava Script(.js)ファイルが格納さ
れます。
Simulation
[Simulation]フォルダには、シミュレーション
シナリオ(.ssrファイル)を記載したシナリオ
ファイルと、シミュレーション実行後のシナリ
オの結果が格納されます。
<プロジェクトルート>/Simulation
Calendar
新しいビジネスカレンダーの設定に使用さ
れるカレンダー(.cal)ファイルが格納されま
す。カレンダーは、プロパティファイルや.ini
ファイルと同様に、名前と値のペアで構成
されています。期間を示すためにカンマが
使用されます。
<プロジェクトルート>/Calendar
1つのプロジェクトで複数のカレンダーファ
イルを使用できます。
Resources
以下のファイルが格納されます。
<プロジェクトルート>/
・ FTPエージェントファイル
・ HTTPエージェントファイル
・ カスタム構成ファイル
- 392 -
フォルダ名
ファイルの説明
アプリケーションプロジェクトディレクトリ内の
場所
・ Javaエージェントで使用する構成ファイ
ル(agentsConfig.xml)
・ フ ァ イ ル リ ス ナ フ ァ イ ル
(fileListenerConf.xml)
Rules
ルールセットを作成し、決定ルール表ファ
イルが格納されます。
<プロジェクトルート>/Rules
Documents
プロセス定義のレポートが格納されます。
<プロジェクトルート>/Documents
Analytics
デフォルトの[Analytics]フォルダは空です。 <プロジェクトルート>/
Analytics Studioをプラグインすると、
Analyticsの設定を定義するためのリソース
が表示されます。
- 393 -
付録C ファイルの記述形式について
ファイルの記述形式について説明します。
C.1 Javaエージェントファイル (agentsConfig.xml)
エージェントがagentsConfig.xmlに追加されると、エージェントをActivityノードに割り当てることで、プロセスインスタンス内でアクティビ
ティとして実行することができます。これにより、エージェントはアクティビティの代わりに実行されます。
agentsConfig.xml環境設定ファイル
エージェントは、agentsConfig.xmlというXMLファイルを使用して構成されます。このファイルは、ワークフロー アプリケーション プロジェ
クトの一部であり、<DMSRoot>/apps/<アプリケーションID>にあります。
agentsConfig.xmlのサンプルコードを以下に示します。
<ActionAgentList>
<ActionAgent>
<Name>@TestFrameAgent</Name>
<Description>テスト用です。最初の矢印を返します。</Description>
<RetryInterval>20</RetryInterval>
<EscalationInterval>1</EscalationInterval>
<ClassName>com.fujitsu.iflowqa.testframe.TestFrameAgent
</ClassName>
<ClassPath>IBPMROOT/classes</ClassPath>
<ConfigFile></ConfigFile>
</ActionAgent>
</ActionAgentList>
以下の表は、agentsConfig.xmlで使用されているXMLタグを説明しています。
タグ
説明
<ActionAgentList>
エージェントの一覧が記述されます。
<ActionAgent>
単一のエージェント定義が記述されます。エージェントごとに独自の定義をこのタグ内に記述
する必要があります。
<Name>
エージェントの名前です。名前の先頭は必ず“@”にする必要があります。これは、エージェン
トであることを指定します。この名前はActivityノードの担当者として指定し、そのアクティビティ
を“エージェント”アクティビティにする必要があります。つまり、これは通常のアクティビティで
はなく、エージェントとして機能します。
<Description>
エージェントの簡単な説明です。通常は、機能について説明します。
<RetryInterval>
エージェントは、外部サービスの呼出しに失敗した場合、指定された間隔をおいてその呼出
しを再試行します。RetryIntervalには、その試行間隔を秒単位で指定します。
<EscalationInterval>
システム管理者にメールで通知する場合に、失敗回数のしきい値を指定します。
メールは、次のエスカレーションに進むたびに送られます。たとえば、値が1の場合は、エー
ジェントが失敗するたびにシステム管理者に通知されます。
メールは、管理サーバのServerEmailAddressパラメーターに指定されたアドレスに送られま
す。
<ClassName>
エージェントに関連付けられているJavaクラスの名前です。このクラスは、エージェントの機能
部分です。
<ClassPath>
エージェントに関連付けられているJavaクラスのクラスパスです。
SaaSモードでは、この値は無視されます。
<ConfigFile>
エージェントが使用する環境設定ファイル名です。
- 394 -
エージェントクラス
agentsConfig.xmlの<ClassName>タグに指定されたクラスは、エージェントが外部サービスにアクセスする手段です。以降は、エージェ
ントクラスと呼びます。エージェントクラスは、次のインターフェースを実装する必要があります。
package com.fujitsu.iflow.server.intf;
public interface ActionAgentInvoke
{
public String invokeService(ServerEnactmentContext sec, String configFile) throws Exception;
}
エージェントクラスは、invokeService()を使用して外部サービスを呼び出し、そのサービスからデータを受け取ります。次に、サービス
のアクションを指示するSystemwalker Runbook Automationに、STRING型のデータを返します。
エージェントクラスの実行結果は3つあります。それらは、以下のとおりです。
・ NULL STRING型、または空のSTRING型のデータが返された場合:
エージェントはサービスの実行を繰り返し試行します。再試行の間隔は、<RetryInterval>タグに指定されます。エージェントは、
<EscalationInterval>タグに指定された回数だけ実行を試み、そのたびに管理サーバのServerEmailAddressパラメーターに指定さ
れたアドレスにメールを送ります。
・ そのほかのSTRING型のデータが返された場合:
エージェントは、そのデータがエージェントアクティビティを起点とした外向き矢印の名前の1つと一致するかどうかを確認します。
一致する場合、プロセスインスタンスはその一致する矢印に従って続行します。STRING型の戻り値が矢印に一致しない場合、
エージェントはcannot-find-arrow例外を送出し、プロセスインスタンスはエラー状態になります。
・ エージェントクラスが例外を送出した場合:
エージェントはSystemwalker Runbook Automationにその例外を送り、プロセスインスタンスはエラー状態になります。
C.2 FTPエージェントファイル
FTPエージェントは、すべてのエージェントと同様に、agentsConfig.xmlで構成されます。この環境設定ファイルの<ActionAgent>セク
ションには、FTPエージェントのデフォルトの設定が含まれています。通常、このファイルのFTPエージェントの設定を変更する必要は
ありません。
FTPエージェントは、ServiceAgentクラスを使用します。また、ftp.xmlというFTPエージェントの環境設定ファイルも使用します。この環境
設定ファイルは、FTPホストのアドレスなど、FTPの設定を定義します。この環境設定ファイルを確認して、使用する環境に合わせてくだ
さい。
ftp.xml環境設定ファイル
FTPエージェントの環境設定ファイルであるftp.xmlは、管理サーバインストール環境内のエージェントディレクトリ、<DMSRoot>/apps/<
アプリケーションID>にあります。
FTPエージェントを構成するftp.xmlファイルのサンプルを以下に示します。
<Services>
<Service>
<ServiceType>FTP</ServiceType>
<ServiceStatusUDA>AgentServiceStatus</ServiceStatusUDA>
<ServiceResultUDA>AgentServiceResult</ServiceResultUDA>
<ServiceSpecificInfo>
<FTPHost><HOSTNAME or IP Address></FTPHost>
<FTPPort></FTPPort>
<FTPUser>anonymous</FTPUser>
<FTPPassword></FTPPassword>
<FTPType>ASCII</FTPType>
<FTPAppend>FALSE</FTPAppend>
<FTPDirectory>%%REMOTE_FTP_DIRECTORY%%
</FTPDirectory>
<FTPFileNames>%%REMOTE_FTP_FILES%%</FTPFileNames>
<Documents>%%OUTGOING_FILES%%</Documents>
</ServiceSpecificInfo>
- 395 -
</Service>
</Services>
このファイル内の一部のタグは、ServiceAgentクラスを使用するすべてのエージェントが利用します。一部のタグはFTPエージェント固
有のものです。
以下の表は、ftp.xmlで使用されているXMLタグを説明しています。
タグ
説明
<ServiceType>
FTPエージェントのサービスタイプは、常にFTPです。サービスタイプが指定されてい
ない場合や、サービスタイプが無効な場合、プロセスインスタンスはエラー状態にな
ります。
このタグは、ServiceAgentクラスを使用するすべてのエージェントが利用します。
<ServiceStatusUDA>
FTPエージェントのアクティビティの状態を保存するUDAの名前です。設定可能な値
は、DoneまたはFailedです。このタグを削除してもFTPエージェントには何も影響があ
りませんが、ユーザーはFTPエージェントのアクティビティの状態を確認できなくなり
ます。
<ServiceResultUDA>
FTPエージェントが例外を送出した場合に使用する、エラーメッセージを保存する
UDAの名前です。このタグを削除してもFTPエージェントには何も影響がありません
が、FTPエージェントが失敗しても、ユーザーはエラーが発生したことを確認できなく
なります。
<FTPHost>
転送されたファイルを受信するローカルコンピュータのサーバ名またはIPアドレスで
す。デフォルト値は127.0.0.1 (ローカルコンピュータ)です。FTPホストが指定されてい
ない場合や、FTPホストが無効な場合、ファイルは、FTPサーバが使用できる場合は、
そこに転送されます。
このタグはFTPエージェント固有のものです。
<FTPPort>
FTPサーバが使用するポートです。ポートが指定されていない場合は、デフォルトの
FTPポートである21が使用されます。
このタグはFTPエージェント固有のものです。
<FTPUser>
ファイルを転送するFTPユーザーのユーザー名です。ユーザー名が無効な場合、
ファイルの転送は失敗し、プロセスインスタンスはエラー状態になります。
このタグはFTPエージェント固有のものです。
<FTPPassword>
ファイルを転送するFTPユーザーのパスワードです。
このタグはFTPエージェント固有のものです。
<FTPType>
転送されるファイルのタイプです。設定可能な値は、ASCIIまたはBINARYです。デ
フォルト値はBINARYです。
テキストファイルを転送する場合は、ASCIIを使用します。バイナリファイルを転送す
る場合は、BINARYを使用します。ASCIIまたはBINARY以外の値を指定すると、
FTPエージェントは例外を送出します。
このタグはFTPエージェント固有のものです。
<FTPAppend>
転送されるファイルをリモートファイルに追加するかどうかを指定します。設定可能な
値は、TRUEまたはFALSEです。デフォルト値はFALSEです。
既存のリモートファイルにローカルファイルのコンテンツを追加する場合は、TRUEを
使用します。既存のリモートファイルを上書きする場合は、FALSEを使用します。
TRUEまたはFALSE以外の値を指定すると、FTPエージェントは例外を送出します。
このタグはFTPエージェント固有のものです。
<FTPDirectory>
ファイルの転送先のディレクトリを指定するUDAの名前です。FTPサーバからの相対
パスが指定されます。
たとえば、/iflowがREMOTE_FTP_DIRECTORY UDAの値で、ユーザーがWindows
システムで作業している場合、ファイルはC:\Inetpub\ftproot\iflowに転送されます。
無効なディレクトリが指定された場合、プロセスインスタンスはエラー状態になります。
このタグはFTPエージェント固有のものです。
<FTPFileNames>
リモートファイルに使用するファイル名を指定するUDAの名前です。このパラメーター
は、ファイルの名前を転送中に変更するために使用します。
- 396 -
タグ
説明
たとえば、プロセスインスタンスにLocalFile.txtというファイルが添付されていて、
REMOTE_FTP_FILESの値にRemoteFile.txtが設定されている場合、LocalFile.txtは
FTPディレクトリに転送され、RemoteFile.txtというファイル名に変更されます。
REMOTE_FTP_FILESには、複数のファイル名をセミコロン(;)で区切って指定できま
す。REMOTE_FTP_FILESにファイル名が含まれていない場合は、元のファイル名
が使用されます。
<Documents>
FTPディレクトリに転送されるファイルを指定するUDAの名前です。
OUTGOING_FILESには、複数のファイル名をセミコロン(;)で区切って指定できま
す。OUTGOING_FILESにファイル名が含まれていない場合は、プロセスインスタン
スに添付されているすべてのファイルが転送されます。
注意
ファイル名にセミコロン(;)が含まれるファイルは、FTPディレクトリに転送できません。セミコロンはファイル名の区切り文字と見なされる
ので、転送するファイルの名前に含めることはできません。
C.3 HTTPエージェントファイル
HTTPエージェントは、すべてのエージェントと同様、agentsConfig.xmlで構成されます。この環境設定ファイルの<ActionAgent>セク
ションには、HTTPエージェントのデフォルトの設定が含まれています。通常、このファイルのHTTPエージェントの設定を変更する必要
はありません。
HTTPagent.xml環境設定ファイル
HTTPエージェントの環境設定ファイルを作成し、管理サーバのエージェントディレクトリ、<DMSRoot>/apps/<アプリケーションID>に保
存します。
以下は、HTTPエージェントの環境設定ファイルのサンプルです。
<HTTPAgent>
<HTTPBaseURL method="POST"
followRedirects="true">{{Field HTTP_URL}}</HTTPBaseURL>
<HTTPHeaderParams name="Content-Type">text/xml;
charset=UTF-8</HTTPHeaderParams>
<HTTPHeaderParams name="User-Agent">I- HTTP Agent
</HTTPHeaderParams>
<HTTPHeaderParams name="accept-charset">UTF-8
</HTTPHeaderParams>
<QueryParams name= "ParamName"> Param value</QueryParams>
<HTTPRequestUDA>HTTP_REQUEST</HTTPRequestUDA>
<HTTPResponseUDA>HTTP_RESPONSE</HTTPResponseUDA>
<HTTPAgentStatusUDA>HTTP_STATUS</HTTPAgentStatusUDA>
</HTTPAgent>
以下の表は、HTTPagent.xmlで使用されているXMLタグを説明しています。
タグ
<HTTPBaseURL>
説明
URLエンドポイントです。<HTTPBaseURL>タグの値は、HTTPエージェントによって呼び
出される、サーブレットなどの外部サービスを指定します。
属性:
method="POST"または"GET"を指定します。HTTPリクエストで使用するリクエストメソッド
を定義します。method属性が指定されていない場合、プロセスインスタンスはエラー状態
になります。"POST"または"GET"以外の属性値を設定した場合は、HTTPエージェントは
失敗します。
- 397 -
タグ
説明
followRedirects="true"を指定します。
followRedirectsのデフォルト値はfalseなので、この属性を指定する必要があります。
<HTTPHeaderParams>
エンコードスタイルやコンテンツタイプなどのHTTPヘッダのプロパティを設定します。HTTP
ヘッダは、たとえば、現在のHTTPセッションのリクエスト、レスポンスオブジェクトのプロパ
ティなど、様々なWebオブジェクトプロパティを定義するために使用します。
属性:
name="Content-type"または"User-Agent"を指定します。
"Content-type"は、リクエストされたコンテンツの種類を定義します。以下の値が使用でき
ます。value="text/xml"、およびcharset=UTF-8。
"User-Agent"は、リクエストを送ったクライアント(ユーザーエージェント)についての情報を
含みます。
<HTTPHeaderParams>タグのname属性で指定される値には、現在制限が設けられていな
いことに注意してください。この属性に有効な値はすべて、HTTPヘッダに有効となります。
<QueryParams>
このタグは、HTTPエージェントが"GET"メソッドを使用した場合、必要となります。このタグ
の値は、クエリ文字列として外部サービスに渡されます。<HTTPRequestUDA>タグに指定
されたUDAの値は、"GET"メソッドを使用した場合は使用されないことに注意してくださ
い。
このタグの正しい使用法は以下のとおりです。
<QueryParams name= "ParamName"> Param value</QueryParams>
これは、HTTPエージェントが実行中の以下のようなURL指定となります。
URL?ParamName= Param value
<QueryParams>タグの名前属性には、有効な文字列であれば、すべて指定できます。
<HTTPRequestUDA>
タグ内で指定されたUDAの値は、HTTPリクエストのクエリ文字列の一部となります。
<HTTPAgentStatusUDA>
HTTPサービスのステータスが保存されるUDAです。
<HTTPResponseUDA>
HTTPレスポンスが保存されるUDAです。
C.4 ファイルリスナファイル (fileListenerConf.xml)
ファイルリスナは、指定されたディレクトリ内のファイルを監視します。ファイルハンドラは、新しいファイルや、新しく変更されたファイル
を検出すると、Systemwalker Runbook Automationのファイルハンドラに通知し、プロセスインスタンスを開始したり、アクティビティの選
択を行ったりする自動機能を実行できるようにします。ファイルリスナは、一般的に、Systemwalker Runbook Automationをほかのエン
タープライズアプリケーションと統合するために使用します。
プロセス定義を作成し、ファイルリスナにプロセスインスタンスを開始させるトリガを追加します。トリガとなるイベントデータファイル(XML
ファイル)を作成し、filelistenerディレクトリに保存します。
fileListenerConf.xml環境設定ファイル
ファイルリスナの環境設定ファイル、fileListenerConf.xmlは、<DMSRoot>/apps/<application ID>に格納されています。
以下は、fileListenerConf.xml環境設定ファイルの例です。
<FileListener>
<Directory>
<ScanInterval>60000</ScanInterval>
<StabilizationPeriod>2000</StabilizationPeriod>
<PostProcessing>
<onSuccess>
<Delete></Delete>
</onSuccess>
<onError>
- 398 -
<Move>
</Move>
</onError>
</PostProcessing>
</Directory>
</FileListener>
以下の表は、fileListenerConf.xmlで使用されているXMLタグを説明しています。
タグ
説明
<Directory>
新しいファイル、または新しく変更されたファイルを監視するディレクトリの環境設定パ
ラメーターが含まれます。
<Path>
監視するディレクトリのパスです。
SaaSモード、または非SaaSモードでパスが指定されていない場合、
<ServerSharedRoot>/tenants/<テナント名>/apps/<アプリケーションID>/filelistenerとな
ります。
<ScanInterval>
ディレクトリ内に新しいファイルがあるかどうかをスキャンする間隔を指定します。(単位
はミリ秒)
<StabilizationPeriod>
ファイルが処理される前に、ファイルのサイズを監視し、変更の有無を確認するための
設定です。(単位はミリ秒)
<PostProcessing><onSuccess>
ファイルの処理に成功した場合にとるアクションです。アクションとして設定できるの
は、<Delete>または<Move>です。
<PostProcessing><onError>
ファイルの処理に成功しなかった場合にとるアクションです。アクションとして設定でき
るのは、<Delete>または<Move>です。
<Delete>
ファイルを削除します。
<Move>
指定されたディレクトリにファイルを移動します。
On success:
・ 非SaaSモードの場合、ファイルを指定した場所に移動します。
・ SaaS モ ー ド 、 ま た は 非 SaaS モ ー ド で パ ス が 指 定 さ れ て い な い 場 合、
<ServerSharedRoot>/tenants/<テナント名>/apps/<アプリケーションID>/filelistener/
successにファイルを移動します。
On error:
・ 非SaaSモードの場合、ファイルを指定した場所に移動します。
・ SaaS モ ー ド 、 ま た は 非 SaaS モ ー ド で パ ス が 指 定 さ れ て い な い 場 合、
<ServerSharedRoot>/tenants/<テナント名>/apps/<アプリケーションID>/filelistener/
errorにファイルを移動します。
C.5 カスタム構成ファイル
カスタム構成ファイルについては、“C.1 Javaエージェントファイル (agentsConfig.xml)”を参照してください。
- 399 -
付録D 名前に関する規則
名前の定義について説明します。
表中の“適用される命名規約”の規約1~5は、“命名規約”の規約1~5に対応します。
名前の定義
名前の種類
名前の長さ
拡張子
適用される命名規約
一意性の範囲
ワークスペース
制限なし(※1)
規約1
開発PCで一意
ワークフローアプリケーションプロジェ
クト
128文字
規約2
ワークスペース内で一意
アプリケーション変数
256文字
規約3
プロジェクト内で一意
サーバプロジェクト名
255文字(※1)
規約2
ワークスペース内で一意
所有者グループ
256文字
─
サーバ接続情報の名前
制限なし(※1)
─
ワークスペース内で一意
フォルダ名
255文字(※1)
規約2
プロジェクト内で一意
ファイル名
255文字(※1)
規約2
プロジェクト内で一意
シナリオ名
64文字
─
シナリオファイル名
制限なし(※1)
ssr
規約1
プロジェクト内Simulation配下で
一意
カレンダー名
64文字
cal
規約1
プロジェクト内Calendar配下で一
意
リソース名(FTPエージェント)
64文字
xml
規約1
プロジェクト内Resources配下で
一意
リソース名(HTTPエージェント)
64文字
xml
規約1
プロジェクト内Resources配下で
一意
カスタム構成名
64文字
xml
規約1
プロジェクト内Resources配下で
一意
ルールセット名
255文字
規約2
プロジェクト内Rules配下で一意
決定ルール表名
64文字
規約1
ルールセット内で一意
プロセス定義名
64文字
プロセス定義ファイル名
255文字(※1)
プロセスインスタンス所有者
200文字
─
プロセス起動者権限
200文字
─
優先度
9999999999
数字のみ
ノードの名前
64文字
─
矢印の名前
64文字
─
スイムレーン名前
30文字
─
グループ名前
30文字
─
QuickFormの名前
64文字(※1)
ユーザー定義属性名
dt
規約2
xpdl
規約2
プロジェクト内で一意
規約1
プロジェクト内で一意
64文字
─
プロセス定義で一意
ユーザー定義属性ID
32文字
規約3
プロセス定義で一意
フィルター名
64文字
─
運用操作部品アクティビティで
一意
jsp
- 400 -
名前の種類
名前の長さ
拡張子
適用される命名規約
一意性の範囲
アクションセットのアクション名
64文字
─
アクションセットのノート
256文字
─
運用操作部品プロジェクト名
256文字
規約1
ワークスペース内で一意
運用操作部品名
61文字
─
ワークスペース内で一意
運用操作部品IDの前半部
5文字
規約5
運用操作部品IDの後半部
55文字
規約3
前半部と後半部で合わせてワー
クスペース内で一意
入力情報名
64文字
規約3
入力情報の最大文字数の指定値
2147483647
数字のみ
部品ツールチップ
256文字
─
スクリプトファイル名
61文字
デバッグの構成名
248文字(※1)
pl また
は rb
運用操作部品で一意
規約4
運用操作部品で1つまで
規約1
ワークスペース内で一意
※1: 記載の長さの制約に加えてファイルシステムの限界値にも依存します。
命名規約
─:適用される命名規約はありません。
規約1:\ | / : * ? " < > は使用できません。
規約2:規約1 に加えて、末尾にピリオドは使用できません。
規約3:半角英数字、アンダースコア以外は使用できません。
規約4:半角英数字、アンダースコア、ハイフン、ピリオド以外は使用できません。
規約5:半角英字以外は使用できません。また“SWRBA”は使用できません。
- 401 -
所有者アクション、初期化アク
ション、完了アクション内で一意
© Copyright 2026 Paperzz