企業のビジネスプロセスを自動化する場合、とにかく人がタスクの一部を実行する必要があります。さまざまな情報の調整、アナログソースからのデータの充実など。 このクラスのタスクを解決するためのInterSystems Ensemble統合バスには、自動化されたビジネスプロセスに参加できるEnsembleワークフローサブシステムがあります。 Ensembleワークフローサブシステムの作業の結果、タスクを実行したユーザーとその量に関する大量の情報が蓄積されます。 この記事では、最近Habréについて書いた InterSystems DeepSeeのBIテクノロジーを使用して、この情報を分析し視覚化します。
分析
デフォルトでは、Ensembleは、高度なタスク管理のために、 ビジネスメトリックとワークフローポータルのワークフロータスクページ(管理ポータル-> Ensemble->管理->ワークフロー->ワークフロータスクまたはSMP-> Ensemble->管理->ワークフロー->ワークフロータスク)を提供します。
これは、DeepSeeキューブのファクトテーブルのように見えませんか? これは事実であるため、 EnsLib.Workflow.TaskResponseクラスに基づいてDeepSeeキューブを構築することにしました。
このキューブでは、各タスクに関する情報、つまり次の情報を保存します。
- タスクを完了したユーザー
- タスクの役割
- 作成および完了したとき
- 優先順位
- 現在の状態
- タスクは完了していますか
- タスクを完了するのにかかった時間
キューブの要素のほとんどは、クラスプロパティをキューブ領域にドラッグするだけで作成されますが、最も興味深いのは次のとおりです。
CompletionTime-分単位のタスク実行時間。 次のように計算されます。 $System.SQL.DATEDIFF("minute",%source.%TaskStatus.TimeCreated,%source.%TaskStatus.TimeCompleted)
SQLリストは次のように定義されます( $$$SOURCE
はファクトテーブルで、 $$$RESTRICT
はDeepSeeが使用するフィルターです)。
SELECT TaskStatus_RoleName AS "Role", TaskStatus_IsComplete AS IsCompleted, %Status AS "Status", TaskStatus_Source AS BusinessProcess, TaskStatus_AssignedTo AS "User", %Subject AS "Subject", %Message AS "Message", TaskStatus_TimeCreated AS "TimeCreated", TaskStatus_TimeCompleted AS "TimeCompleted", DATEDIFF('minute', TaskStatus_TimeCreated, TaskStatus_TimeCompleted) AS "CompletionTime" FROM $$$SOURCE WHERE $$$RESTRICT
次に、キューブといくつかのウィジェットを作成しましょう。 主な指標を示すダッシュボードを1つ作成することにしました。
- ユーザーとロールがタスクを完了するために費やした平均時間
- 現在動作していないタスクまたは完了していないタスクの数
- 期間中に完了したタスクの数
これがダッシュボードのデモです (ログイン:dev /パスワード:123)。 これは、 DeepSeeWeb (AngularJSおよびHighcharts上のWebアプリケーションでブラウザでDeepSeeダッシュボードを視覚化するために使用)を使用して表示されます。
ドリルスルーとドリルスルーも利用できます。
HelpDeskアプリケーションを使用してテストサーバーでワークフロータスクを実行し、ダッシュボードで変更を確認できます(キューブは1時間に1回作成されます)。
ログイン:dev /パスワード:123
EnsembleWorkflowUIを使用すると、Ensembleワークフローは次のようになります。
おわりに
InterSystems DeepSee BIテクノロジーを使用して、Ensemble Workflowデータを視覚化および分析できます。 これはOLAPソリューションの基本プロジェクトであり、必要に応じて簡単に拡張できます。