IBM TechXchange Japan Business Automation User Group

 View Only

IBM Process Miningのデータ・ストリームによるIBM Event Streams(Kafka)との連携

By HIDEO SAITOH posted Fri April 21, 2023 01:27 AM

  

IBM Process Miningデータ・ストリームについて

IBM Process Miningは、通常、1つまたは複数のITアプリケーションから抽出された履歴データとともに使用され、現状のプロセスを分析し、ビジネス目標を達成するためのプロセス改善を決定します。 


データ・ストリームとは

IBM Process Mining 1.13.2の新機能
データ・ ストリームは、外部プログラムから REST API を使用してイベント ログをプッシュする代わりに使用できます。Kafkaのようなストリームプラットフォームを採用したクライアントにとって、データ・ストリームは、プロセスマイニング・プロジェクトを定期的に新しいイベントで更新するための貴重な方法です。


Kafka/IBM Event Streams

 KafkaはPublish/Subscribeモデルの非同期型の通信基盤
トピックと呼ばれるメッセージキューを介してProducerとConsumerがデータをやり取りします。
Kafka トピックは、何かイベントが発生するたびにイベント ソースがデータを送信(Push)するバッファーとして使用されます。
イベントは Kafka トピックに格納されます。 




IBM Event StreamsとIBM Process Miningの連携の例

連携のシナリオとして、Githubでissueをopenしたりコメントを記載したイベントをIBM Process Miningに連携する方法について記載します。


上記シナリオ実現のために必要なもの

  1. Webhookを介してイベントを送信するためのGithubリポジトリ
  2. Githubリポジトリがデータを送信する先のIBM Event Streams
  3. Githubのデータを受け取って、データ変換とIBM Event StreamsのトピックにデータをPubishするIBM Functions(関数内でプログラム・コードを呼び出すアクション)



Functionsの設定

アクションを作成(Github Webhookという名前のアクション)し、Pythonで、IBM Event StreamsのトピックにメッセージをPublishするコードを記述します。


IBM Event Streamsのトピック

IBM Event Streamsに”ProcessMiningTopic”というトピックを作成します。


GithubのWebhookをIBM Functionsの関数を設定する

Webhookは、何かが発生するたびにサードパーティーのサービスにイベントを送信するために、自動的にトリガーされます。
これは、IBM Process Miningにとって、貴重な統合の方法です。

IBM FunctionsのWebアクションのURLをGithubのPayload URLに登録する必要があるため、Functionsのエンドポイントの情報を取得します。

GithubのWebhookの画面で、FunctionsのパブリックのURLをPayload URLに登録します。


今回は、Issueに対するイベントを取りたいので、Issuesにチェックを入れます。


Githubから送付されるデータは、以下のようなものになります。

IBM Event Streamsの資格情報をIBM Functionsのパラメータとして登録します。

上記のJSONの情報を、Functionsのパラメータ(service_credentials)に設定します。


IBM Process Miningのデータ・ストリームの設定

IBM Process Miningのデータストリームの設定箇所は、以下の通り

  • 既存のプロジェクトに対してデータ・ストリームの設定を行います。
    1. 接続情報
      • データストリームの名称
      • トピック
      • IBM Event Streams構成プロパティ
      • API Key
    2. データマッピング
      • JSONオブジェクトから、プロセスID、アクティビティ、開始時刻などを設定
    3. スケジューリング
      • データを取得するペースを設定


データ・ストリームを設定するプロセスを開き、管理タブを開きます。


新規にデータ・ストリームを追加します。名前を入力しIBM Event Streamsのトピックを指定します。

IBM Event Streamsの資格情報から、構成プロパティとAPI Keyを設定します。


データ・マッピングでは、GithubのJSONのPayloadを張り付けて、マッピングしていきます。
プロセスID,アクティビティ、開始日付など必要な情報をマップします。


スケジューリングでは、データを取得するタイミングを指定します。
ここでは、最小の値である30分を指定しています。


GithubでIssueをOpenするなどイベントを発生させたあと、データ・ストリームをアクティブにし、今すぐフェッチのボタンをクリックすると、IBM Event Streamsからデータの取得が始まります。

IBM Process Miningのモデル図を確認すると、GithubのIssueをOpenしたというデータが取り込まれていることがわかります。



まとめ

IBM Process Miningのデータ・ストリーム機能は、KafkaやIBM Event Streamsなどのストリーミング・プラットフォームからデータを自動で取得して、業務プロセスを可視化することができ、業務プロセスの課題分析に役立てることがわかりました。


#IPM #kafka #cloudpackforbusinessautomation 

0 comments
73 views

Permalink