Cisco Active Network Abstraction 3.6.7 カスタマイゼーション ユーザ ガイド
Cisco ANA Workflow Editor の使用
Cisco ANA Workflow Editor の使用
発行日;2012/02/20 | 英語版ドキュメント(2009/11/06 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

Cisco ANA Workflow Editor の使用

Workflow Editor の起動

[Workflow Editor] ウィンドウ

新しいワークフロー テンプレートの作成

ワークフロー テンプレートの名前

Workflow Editor のアトリビュート タイプ

ワークフロー テンプレートの取得

ワークフロー テンプレートの導入

ワークフロー テンプレートの削除

ワークフロー プロパティの参照

タスク ライブラリの使用

Execute BQL タスク

Workflow Call タスク

Subflow タスク

Lock タスク

Unlock タスク

ワークフローのテスト

ゲートウェイ ワークフローのコマンドおよび操作

テンプレートの削除

ワークフローの実行

ワークフローの強制終了

ワークフローの削除

ワークフローの出力の取得

ログ アウト

Cisco ANA Workflow Editor の使用

この章では、Workflow Editor アプリケーションの起動、Workflow Editor の作業環境、および、カスタマイズ機能の操作方法について説明します。

この章では、次の事項について説明します。

「Cisco ANA Workflow Editor の起動」

「Cisco ANA [Workflow Editor] ウィンドウ」

「新しいワークフロー テンプレートの作成」

「ワークフロー テンプレートの取得」

「ワークフロー テンプレートの導入」

「ワークフロー テンプレートの削除」

「ワークフロー プロパティの参照」

「タスク ライブラリの使用」

「ワークフローのテスト」

「ゲートウェイ ワークフローのコマンドおよび操作」

「ログ アウト」

Cisco ANA Workflow Editor の起動

ここでは、Workflow Editor の起動について説明します。Workflow Editor は、セキュリティのため、パスワードで保護されています。Workflow Editor を使用する前に、ユーザ名、パスワード、および、ゲートウェイ IP アドレスまたはホスト名を確認します。Workflow Editor のインストールはオプションです。Workflow Editor は、標準のクライアント インストール パッケージを使用してインストールできます。詳細については、『 Cisco Active Network Abstraction 3.6.7 Installation Guide 』を参照してください。

クライアントのオープン時に、クライアントでは、サーバとのネゴシエーションが行われ、ライセンスが確認されます。ライセンスが有効ではない場合、Workflow Editor はオープンされません。

Workflow Editor を起動するには、次の操作を実行します。


ステップ 1 [Start] メニューから、[Programs] > [Cisco ANA] > [Workflow Editor] を選択します。[Workflow Editor Login] ダイアログボックスが表示されます。

ステップ 2 ユーザ名およびパスワードを入力します。

ステップ 3 次のいずれかの方法でゲートウェイを指定します。

[Host] フィールドに IP アドレスまたはホスト名としてゲートウェイ情報を入力します。

[Host] ドロップダウン リストからゲートウェイを選択します。


) 最後にログインしたときのゲートウェイの IP アドレスまたはホスト名が、ホスト リストの最上部に自動的に表示されます。


ステップ 4 [OK] をクリックします。[Workflow Editor] ウィンドウが表示されます(図 15-1 を参照)。


) オープン時には、[Workflow Editor] ウィンドウは空で表示されます。新しいワークフローを作成するか、または前に作成されたワークフローを取得することができます。



 

Cisco ANA [Workflow Editor] ウィンドウ

図 15-1 に、テンプレート付きの [Workflow Editor] ウィンドウを示します。

図 15-1 [Workflow Editor] ウィンドウ

 

 

1

描画領域

2

タスク ツールバー

3

タスク アトリビュート テーブル

4

ツリー

5

アクション ツールバー

ワークフローの情報およびワークフロー内のタスクが [Workflow Editor] ウィンドウに表示されます。

表 15-1 に、Workflow Editor のツールバーおよび [Tools] メニューで使用可能なアイコンおよびアクションを示します。

 

表 15-1 ツールバーおよび [Tools] メニューのオプション

ボタン
機能

 

ゲートウェイからワークフローを取得(ロード)します。

 

ゲートウェイからワークフローを削除します。

 

ゲートウェイにワークフローを導入(アップロード)します。

表 15-2 に、ツールバーで使用可能な追加のアイコンおよびアクションを示します。

 

表 15-2 その他のツールバー オプション

アイコン
機能

 

[Execute BQL] を使用すると、前に作成され、サーバ上にあるコマンドが、起動されます。これは、アクティベーション ワークフローの実装に使用される主なタスクです。

 

[Lock] を使用すると、リソース上でロックが取得されます。

 

[Unlock] を使用すると、リソースのロックが解除されます。

 

[Workflow Call] を使用すると、別のワークフローが同時に実行またはコールされます。

 

[Subflow] を使用すると、別のワークフローが組み込まれるか、または、別のワークフローが実行されます。

新しいワークフロー テンプレートの作成

ワークフロー テンプレート作成プロセスでは、まず、固有名で新しいワークフロー テンプレートが作成されます。ブランクのテンプレートが作成され、編集のために開かれます。ここで、テンプレートにタスクを追加し、必要な論理フローを作成します。ワークフロー テンプレートはローカルに保存され、各アップデートは自動的に保存されます。

ワークフロー テンプレートの名前

ワークフロー テンプレートごとに固有の名前を作成するときに、次のワイルドカード文字は含めないでください。

1 文字を表す下線(_)。

ゼロまたは多くの文字を表すパーセント(%)。

ワークフロー テンプレートに _ および % が含まれる場合、サブフローでテンプレートまたは参照を実行しようとしたときに、AVM66 ログに次のメッセージが表示されます。

“WARN [13 21:00:08,248] - dralasoft.workflow - Task aborted. Task: 245886, Workflow: 245885 java.lang.IllegalArgumentException: Template AA_BB.template is ambiguous, templates ids are: 245874 , 245873"
 

次の例では、一緒に導入された場合にあいまい性を生じさせる可能性があるワークフロー テンプレートの名前を示します。

WFTLM_MUESTRA.template および WFTLM#MUESTRA.template

WFTLM%MUESTRA.template および WFTLM####MUESTRA.template

ワイルドカード文字が含まれているテンプレートが実行されているときにのみ、あいまい性が発生します。

Workflow Editor のアトリビュート タイプ

Workflow Editor のすべてのアトリビュートは、デフォルトで [String] タイプです。[Integer] などの別のアトリビュート タイプを使用するには、/export/home/sheer4/Main/registry/workflowavm.xml で use-workflow-string-param-casting フラグを真に設定します。workflowavm.xml では、use-workflow-string-param-casting フラグは workflow キーの下に表示されます。

このフラグを真に変更後、[String] 以外のアトリビュート タイプを使用できます。

ワークフロー テンプレートの取得

ユーザは、前に作成されたワークフロー テンプレートを取得し、ゲートウェイまたはサーバに導入することができます。ワークフロー テンプレートを一度取得すると、次のいずれかを実行できます。

ワークフロー テンプレートを編集する。

ワークフロー テンプレートを導入する。

ワークフロー テンプレートを実行する。

ワークフロー テンプレートを削除する。

ワークフロー テンプレートを取得するには、次の操作を実行します。


ステップ 1 ツールバーの [Retrieve Workflow] をクリックします。

[Retrieve Workflow Template from Server] ダイアログボックスに、既存のワークフロー テンプレートのリストが表示されます。

ステップ 2 ロードするワークフロー テンプレートを選択します。

ステップ 3 [OK] をクリックします。確認用のメッセージが表示されます。

ステップ 4 [OK] をクリックします。必要なワークフロー テンプレートが開かれ、[Workflow Editor] ウィンドウに表示されます。


 

ワークフロー テンプレートの導入

ワークフロー テンプレートをローカルにテストし、要件を満たしていることを確認したら、これを Cisco ANA サーバ(リモート サーバ)に導入でき、認可されたすべてのユーザが使用できるようになります。

ワークフロー テンプレートを導入するには、次の操作を実行します。


ステップ 1 ツールバーの [Deploy Workflow] をクリックします。確認用のメッセージが表示されます。

ステップ 2 [Yes] をクリックします。成功メッセージが表示されます。


) ワークフロー テンプレートがすでに存在する場合、サーバにより、既存のワークフローを置き換えるかどうかが質問されます。


ステップ 3 [OK] をクリックします。選択されたワークフロー テンプレートが導入されます。


 

ワークフロー テンプレートの削除

ユーザは、ワークフロー テンプレートをサーバから削除できます。


) 削除できるようになる前に、ワークフロー テンプレートが、[Workflow Editor] ウィンドウで開かれるか、または表示される必要はありません。


ワークフロー テンプレートを削除するには、次の操作を実行します。


ステップ 1 ツールバーの [Delete Workflow from Server] をクリックします。[Delete Workflow Template from Server] ダイアログボックスが表示されます。

ステップ 2 削除するテンプレートを選択します。

ステップ 3 [OK] をクリックします。成功メッセージが表示されます。

ステップ 4 [OK] をクリックします。ローカル サーバからワークフロー テンプレートが削除されます。


 

ワークフロー プロパティの参照

[Workflow Properties] ダイアログボックスにより、ワークフロー コールバック スクリプトを参照することができます。ユーザは、BQL ワークフローのプロパティを表示できます。

ワークフロー プロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域を右クリックしてメニューを表示し、[Workflow Properties] を選択します。必要なワークフロー テンプレートの [Workflow Properties] ダイアログボックスが表示されます(図 15-2)。

図 15-2 [Workflow Properties] ダイアログボックスの [General Properties] タブ

 

ステップ 3 [Attributes] タブを選択します。BQL ワークフローのアトリビュートが表示されます(図 15-3)。

図 15-3 [Attributes] タブ

 

ステップ 4 [Callback Scripts] タブを選択します(図 15-4)。

図 15-4 [Callback Scripts] タブ

 

[Select Script] リストを使用すると、次のオプションのいずれか 1 つを選択し、スクリプトを起動できます。

preActiveScript:ワークフローがアクティブになる前にスクリプトを起動します。

activeScript:ワークフローがアクティブになったときにスクリプトを起動します。

doneScript:ワークフローが正常に終了したときにスクリプトを起動します。

exceptionScript:ワークフローのタスクの 1 つに障害が発生した場合に、スクリプトを起動します。

[Execute] ボタンにより、テスト目的でスクリプトが実行されます。

ステップ 5 [OK] をクリックします。[Workflow Properties] ダイアログボックスが閉じられます。


 

タスク ライブラリの使用

ここでは、次のタスクのプロパティの参照について説明します。

「Execute BQL タスク」

「Workflow Call タスク」

「Subflow タスク」

「Lock タスク」

「Unlock タスク」

Execute BQL タスク

Execute BQL タスクのプロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域で、必要な BQL タスクを選択します。

ステップ 3 BQL タスクを右クリックし、[Task Properties] を選択します。必要なタスクの [Task Properties] ダイアログボックスが表示されます(図 15-5)。

図 15-5 [Task Properties] ダイアログボックスの [General Properties] タブ

 


) [Earliest Start] オプションはサポートされません。


ステップ 4 [Attributes] タブを選択します。タスクのアトリビュートが表示されます(図 15-6)。

図 15-6 [Attributes] タブ

 

ステップ 5 [Command Template] タブを選択します(図 15-7)。

図 15-7 [Command Template] タブ

 

コマンド テンプレート XML を入力し、Command Instance Descriptor(CID)を作成してゲートウェイ コマンドまたはアクティベーション スクリプトを実行するには、[Command Template] タブを使用します。

テンプレートの形式は CID と類似しており、オプションで、実行時に表される次のパラメータが設定されます。

$Attribute name$:ワークフロー アトリビュートから名前によって評価されます。

$Task name:Attribute name$:タスク アトリビュートにより名前によって評価されます。

無効なアトリビュートまたはタスク名が入力された場合、コマンド テンプレートの評価に失敗し、タスクが停止されます。次のエラー メッセージが表示されます。

Failed to create command, task [Task] not performed, aborting task.
Reason: Attribute <Attribute name> evaluation failed, aborting command creation
 

) 各 BQL タスクには、RollbackEnabled と呼ばれるタスク アトリビュートが含まれています。このアトリビュートにより、ワークフローが停止した場合にこの BQL タスク コマンドがロールバックされるかどうかが定義されます。デフォルト値は真です。


ステップ 6 [OK] をクリックします。[Task Properties] ダイアログボックスが閉じられます。


 

Workflow Call タスク

Workflow Call タスクを使用すると、別のワークフローが同時に実行またはコールされ、これは、このワークフローの子として認識されます。


) ワークフローのネスティングの最大の深さは、レジストリに定義されます。デフォルト値は 16 です。


Workflow Call タスクのプロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域で、必要な Workflow Call タスクを選択します。

ステップ 3 タスクを右クリックし、[Task Properties] を選択します。必要なタスクの [Task Properties] ダイアログボックスが表示されます(図 15-8)。

図 15-8 [Task Properties] ダイアログボックスの [Assign Attributes] タブ

 

[Assign Attributes] タブを使用すると、子ワークフローにアトリビュートとしてパラメータを渡すことができます。

アトリビュートは、次の 2 つの方法で子ワークフローに割り当てることができます。

次のように、親ワークフローでワークフロー アトリビュートを指定します。

attribute_in_child_workflow=attribute_in_parent_workflow

次のように、親ワークフローでタスクを指定し、コロン記号(:)およびアトリビュート名を続けます。

attribute_in_child_workflow=task_in_parent_workflow:attribute_name

ステップ 4 [General Properties] タブを選択します。タスクの一般プロパティが表示されます(図 15-9)。

図 15-9 [General Properties] タブ

 


) [Earliest Start] オプションはサポートされません。


ステップ 5 [Attributes] タブを選択します。タスクのアトリビュートが表示されます。

ステップ 6 [Target Template] タブを選択します(図 15-10)。

図 15-10 [Target Template] タブ

 

[Target Template] タブを使用すると、子ワークフローとして定義されるワークフロー オプションを選択できます。

ステップ 7 [OK] をクリックします。[Task Properties] ダイアログボックスが閉じられます。


 

Subflow タスク

Subflow タスクを使用すると、ワークフロー インスタンスで、別のワークフローが組み込まれるか、または、別のワークフローが実行されます。


) ワークフローのネスティングの最大の深さは、レジストリに定義されます。デフォルト値は 16 です。


Subflow タスクのプロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域で、必要な Subflow タスクを選択します。

ステップ 3 タスクを右クリックし、[Task Properties] を選択します。必要なタスクの [Task Properties] ダイアログボックスが表示されます(図 15-11)。

図 15-11 [General Properties] タブ(Subflow)

 


) [Earliest Start] オプションはサポートされません。


ステップ 4 [Attributes] タブを選択します。タスクのアトリビュートが表示されます。

ステップ 5 [Target Template] タブを選択します(図 15-12)。

図 15-12 [Target Template] タブ(Subflow)

 

[Target Template] タブを使用すると、組み込まれるワークフロー テンプレートを選択できます。

ステップ 6 [OK] をクリックします。[Task Properties] ダイアログボックスが閉じられます。


 

Lock タスク

Lock タスクを使用すると、特定のリソースでロックが作成されます。

Lock タスクのプロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域で、必要な Lock タスクを選択します。

ステップ 3 タスクを右クリックし、[Task Properties] を選択します。必要なタスクの [Task Properties] ダイアログボックスが表示されます(図 15-13)。

図 15-13 [General Properties] タブ(Lock)

 


) [Earliest Start] オプションはサポートされません。


ステップ 4 [Attributes] タブを選択します。タスクのアトリビュートが表示されます。

ステップ 5 [Resource Names] タブを選択します(図 15-14)。

図 15-14 [Resource Names] タブ(Lock)

 

[Resource Names] タブを使用すると、ロックされるリソースを指定できます。


) 複数のリソースのロックも可能です。


テキスト領域で、ロックするリソースの名前を入力します。各リソース名を、それぞれ、別の行に記載する必要があります。

リソース名は、タスクの実行中に解決されるパラメータとして、ワークフロー アトリビュートまたはタスク アトリビュートのいずれかに渡すことができます。

$Attribute name$:ワークフロー アトリビュートから名前によって評価されます。

$Task name:Attribute name$:タスク アトリビュートにより名前によって評価されます。

ロック タスクの結果は、次のいずれかとして Result という名前の属性に保存されます。

Success:ロックは正常に取得されました。

Failed due to timeout:タイムアウトが原因でロックに失敗しました。

Failed due to deadlock:デッドロックが原因でロックに失敗しました。

ステップ 6 [OK] をクリックします。[Task Properties] ダイアログボックスが閉じられます。


 

Unlock タスク

Unlock タスクを使用すると、ロックされた特定のリソースのロックが解除されます。

Unlock タスクのプロパティを参照するには、次の操作を実行します。


ステップ 1 必要なワークフロー テンプレートを作成または取得します。

ステップ 2 描画領域で、必要な Unlock タスクを選択します。

ステップ 3 タスクを右クリックし、[Task Properties] を選択します。必要なタスクの [Task Properties] ダイアログボックスが表示されます(図 15-15)。

図 15-15 [General Properties] タブ(Unlock)

 


) [Earliest Start] オプションはサポートされません。


ステップ 4 [Attributes] タブを選択します。タスクのアトリビュートが表示されます。

ステップ 5 [Resource Names] タブを選択します(図 15-16)。

図 15-16 [Resource Names] タブ(Unlock)

 

ステップ 6 テキスト領域で、ロックを解除するリソースの名前を入力します。各リソース名を、それぞれ、別の行に入力します。

リソース名は、タスクの実行中に解決されるパラメータとして、ワークフロー アトリビュートまたはタスク アトリビュートのいずれかに渡すことができます。

$Attribute name$:ワークフロー アトリビュートから名前によって評価されます。

$Task name:Attribute name$:タスク アトリビュートにより名前によって評価されます。

ステップ 7 [OK] をクリックします。[Task Properties] ダイアログボックスが閉じられます。


 

ワークフローのテスト

ユーザは、クライアントでローカルに BQL ワークフローをテストできます。ここでは、BQL タスクが含まれているワークフローのテストについて説明します。

BQL ワークフローをテストするには、次の操作を実行します。


ステップ 1 [Workflow Editor] ウィンドウで新しいワークフローを作成する(「新しいワークフロー テンプレートの作成」を参照)か、または、ワークフローを取得します(「ワークフロー テンプレートの取得」を参照)。

ステップ 2 ツールバーの [Execute Workflow] をクリックします。図 15-17 に示されているように、[Workflow Editor] ウィンドウの表示が変更され、ビューの追加セットが表示されます。

図 15-17 ワークフローの実行

 

上の行に作成され、[Workflow Editor] ウィンドウに表示されている新しいタブには、アクティベーション ステータスが反映されます。アクティベーション ステータスの詳細については、「ワークフロー タスクとは」を参照してください。

ワークフロー アクティベーションに関連して、ウィンドウに次のビューが表示されます。

Graphical View:グラフィック表示でワークフローが表示されます。

Tabular View:ワークフローにあるすべてのタスクのテーブルが表示されます。

Workflow State Analysis:ワークフローのアクティベーション ステータスの分析が表示されます。

XML View:現在のワークフローの XML コードが表示されます。

ウィンドウの下部に次のボタンが表示されます。

Activate:ワークフローをアクティブにします。


) [Activation] がクリックされると、このボタンが [Abort] に切り替わります。[Abort] をクリックし、ワークフローを停止します。


Copy:ワークフローをコピーします。

Delete:実行中のワークフローを削除します。

ステップ 3 [Activate] をクリックします。[Console] ウィンドウが表示されます(図 15-18)。

図 15-18 [Console] ウィンドウ

 

[Console] ウィンドウには、ワークフローの各タスクの結果が表示されます。

ステップ 4 クリックして [Console] ウィンドウを閉じます。[Workflow Editor] ウィンドウが表示されます。

図 15-19 に示されているように、(右下隅の)楕円形と色を使用して、各タスクのアクティベーション ステータスが表示されます。

図 15-19 [Graphical View] タブに表示されるタスク

 

処理中には、タスクのステータスの変化に伴い、次のように色が変更されます。

青:Ready

緑:Active

赤:Abort

グレー:Done

淡いグレー:Passive

アクティベーション ステータスの詳細については、「ワークフロー タスクとは」を参照してください。

ステップ 5 実行中のワークフローの結果を、Workflow Editor で確認します。

ローカル クライアントでワークフローを正常にテストすると、ゲートウェイにワークフローを導入できます。詳細については、「ワークフロー テンプレートの導入」を参照してください。


 

ゲートウェイ ワークフローのコマンドおよび操作

ここでは、BQL コマンドを使用してユーティリティ機能を追加する方法について説明します。

テンプレートの削除

サーバからテンプレートを削除するには、次の BQL コマンドを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<command name="Delete">
<param name="oid">
<value>{[WorkflowTemplate(Name=template-name)]}</value>
</param>
</command>
 

ワークフローの実行

インストールされているテンプレートに基づいてワークフローを実行するには、次の BQL コマンドを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<command name="RunWorkflow">
<param name="templateOid">
<value>{[WorkflowTemplate(Name=template-name)]}</value>
</param>
<param name="workflowAttributes">
<value>
<IWorkflowAttribute>
<ID type="Oid">{[WorkflowAttribute(Name=attribute1-name)]}</ID>
<Value type="String">attribute1-value</Value>
</IWorkflowAttribute>
<IWorkflowAttribute>
<ID type="Oid">{[WorkflowAttribute(Name=attribute2-name)]}</ID>
<Value type="String">attribute2-value</Value>
</IWorkflowAttribute>
 

他のアトリビュートについても、同様です。

</value>
<IMObject_Array/>
</param>
</command>
 

このコマンドにより、次の例のように、新しいワークフローの OID が返されます。

------ com.sheer.framework.imo.Oid ------
{[Workflow(Id=801)]}
-----------------------------------------
 

ワークフローの強制終了

実行されたすべてのアクティベーション スクリプトが実行およびロールバックされている場合の停止を含み、ワークフローを強制終了するには、次の BQL コマンドを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<command name="AbortWorkflow">
<param name="oid">
<value>{[Workflow(Id=workflow-id)]}</value>
</param>
</command>
 

正常に終了した場合、このコマンドでは、何も返されません。

ワークフローの削除

アクティブではない(つまり、すでに完了したか強制終了された)ワークフローを削除するには、次の BQL コマンドを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<command name="Delete">
<param name="oid">
<value>{[Workflow(Id=workflow-id)]}</value>
</param>
</command>
 

正常に終了した場合、このコマンドでは、何も返されません。

ワークフローの出力の取得

テスト中およびテスト後に、ワークフローの出力を取得するには、次の BQL コマンドを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<command name="GetWorkflowOutput">
<param name="oid">
<value>{[Workflow(Id=workflow-id)]}</value>
</param>
</command>
 

このコマンドにより、次の例のように、ストリングとして出力が返されます。

<?xml version="1.0" encoding="UTF-8"?>
<IMO>
<Output type="String">
...
 

(経過表示メッセージおよびスクリプト テストの結果)

...
</Output>
</IMO>
 

ログ アウト

Workflow Editor での作業が終了すると、アプリケーションをログアウトできます。ログアウト時には、開かれているすべてのワークフロー テンプレートが自動的に保存されます。

Cisco ANA Workflow Editor をログアウトするには、次のいずれかを行います。

[File] > [Exit] を選択します。

右上隅をクリックし、[Workflow Editor] ウィンドウを閉じます。

Workflow Editor が閉じられます。