Slide 1

Slide 1 text

Copyright 2020 Red Hat K.K. Process Automation 7.9 Product Update 1 Red Hat K.K. テクニカルセールス本部 2020/11

Slide 2

Slide 2 text

2 Red Hat Middleware Portfolio PHYSICAL VIRTUAL PRIVATE CLOUD PUBLIC CLOUD オンプレミス、クラウド、ハイブリッド環境向けに 従来型またはクラウドネイティブアプリケーショ ンの作成、実行、保守 Process Automation Application Runtimes エンタープライズサービスネットワー ク間のマイクロサービスの組み合わ せとインテグレーション Integration ビジネスプロセスの 自動化と最適化 アプリケーションの構築と実行の 最適化のためのコアツール Process Automation ビジネス上のルールとプロセスを可視化・自動化し、迅速な改修・改善を可能に

Slide 3

Slide 3 text

Kafka out-of-the-box integration kafkaとの統合 Revamp in BAM Capabilities ビジネスの分析とモニタリング機能の刷新 Rules performance analysis ルールの性能分析 ルールユーザーは、この新しいコンポーネントを使用して、ルール実行中のボ トルネックの分析と識別をサポートできるようになりました。 Red Hat Process Automation Manager は、kafkaと統合し、 ユーザーがkafkaのトピックにイベントを送信するためのタスクを 使用できるようになりました。 Dashboadコンポーネントが、スタンドアロンコンポーネントとしてサポートさ れるようになりました。マルチテナント方式で、カスタム react コンポーネント をサポートし、開発サイクルをサポートするための API の全セットを備えてい ます。 3 Process Automation 7.9 リリースのハイライト ※BAM: Business Analysis and Monitoring

Slide 4

Slide 4 text

Rules performance analysis ルールの性能分析 4

Slide 5

Slide 5 text

Rules performance analysis Drools Metrics Modules Process Automation 7.9 より、新機能 drools-metric が利用可能になりました。 drools-metricを有効にすると、Phreak Nodes上の制約評価数と経過時間が記録され、 これにより、ルールのボトルネックを見つけるのに役立ちます。 (※本機能は、実際の稼働環境で使用するものではなく、テスト環境で性能の分析をするものです) 利用するにはまず、プロジェクトに drools-metricの依存関係を追加します。 次に、システムプロパティで metric のロギングを有効にします( -Ddrools.metric.logger.enabled=true) オプションで、ロギングのしきい値を msec単位で設定することができます。デフォルトは 500です。 (-Ddrools.metric.logger.shreshold=100) また、org.drools.metric.util.MetricLogUtils のロギングをトレースレベルにする必要があります。

Slide 6

Slide 6 text

使用事例 例として、ある顧客のオーダーの中から、価格が高いものの組み合わせを収集するルールを考えます。 この事例では、10組の顧客と、各顧客ごとに100個の注文があると想定します。 (トータルの注文の数は1000個) Customer_1 Customer_10 Customer_2 ・・・ order_1 order_100 order_2 order_99 order_1 order_100 order_2 order_99 order_1 order_100 order_2 order_99 ・・・ ・・・ ・・・ Rules performance analysis

Slide 7

Slide 7 text

ルール性能の解析(1) まずは以下のルールにて、顧客ごとの価格が高いものの組み合わせを評価します。 実行すると、以下のようなログが出力されます。 AccumulateNode(8)のevalCountが多いことがわかります。現在のルールでは、 Accumulateは$o1/$o2の 組み合わせ毎に評価をしてしまっていますが、これは顧客毎の注文での最大価格を計算する目的のものな ので、本来は顧客毎に、注文の数( 10×100=1000回)だけ評価すべきものです。 Rules performance analysis

Slide 8

Slide 8 text

ルール性能の解析(2) ルールの記述を変更し、評価の順序を変えてみます。 実行すると、以下のようなログが出力されます。 先ほどのルールと比べて、 約92%も性能が改善しました。( 1493ms→112ms) 但し、JoinNode(8)や、EvalConditionNode(9)を見ると、まだevalCountが多く、改善の余地がありそうで す。 Rules performance analysis

Slide 9

Slide 9 text

ルール性能の解析(3) ルールエンジンでは、評価すべき組み合わせの数を抑えるために、制約の厳しい条件を先に記述する 必要があります。ルールの記述をさらに変更し、評価の順序を変えてみます。 実行すると、以下のようなログが出力されます。 先ほどのルールと比べて、さらに 約40%も性能が改善しました。( 112ms→67ms) Rules performance analysis

Slide 10

Slide 10 text

Using ReteDumper ▸ ReteDumper.dumpRete() ・ ルールのノードネットワークを表示します。 ・ ネットワーク全体を理解するのに役立ちます ▸ ReteDumper.dumpAssociatedRulesRete() ・ ノードとルール間の関連付けを表示 ・ ノードからルールを見つけるのに役立ちます Rules performance analysis

Slide 11

Slide 11 text

Using Drools Metrics 遅いノードに関連するルールを特定する 組合せの多いノードを特定する ←ルール名 Rules performance analysis

Slide 12

Slide 12 text

参考情報: How to find rule execution bottle-neck – Learn from stack traces How to use MetricLogUtils Rules performance analysis ● Blog(英語) ● Sample(Github)

Slide 13

Slide 13 text

Kafka out-of-the-box integration kafkaとの統合 13

Slide 14

Slide 14 text

Kafka Task 14 Kafka out-of-the-box integration Business Centralでのビジネスプロセスの設計において、 プロセスダイアグラムに Kafka ワークアイテムを追加して、 イベントを Kafka トピックに送信する機能が追加されました!

Slide 15

Slide 15 text

Kafka Task を有効にするためには、以下の設定を変更する必要があります。 ● Business Central で Custom Task Administration での設定 ● 各プロジェクトでの Kafka Task の詳細設定 Kafka Task の使用方法 15 Kafka out-of-the-box integration

Slide 16

Slide 16 text

16 Business Central での設定 Kafka out-of-the-box integration Admin > Custom Task Administration >

Slide 17

Slide 17 text

17 KafkaPublishMessages の設定をオンにする Kafka out-of-the-box integration Business Central での設定 Admin > Custom Task Administration >

Slide 18

Slide 18 text

18 > Settings > Coustom Tasks > KafkaPublishMessages を Install Kafka out-of-the-box integration Project での設定

Slide 19

Slide 19 text

19 > Settings > Coustom Tasks > KafkaPublishMessages を Install Project での設定 Kafka out-of-the-box integration

Slide 20

Slide 20 text

20 > Settings > Deployments > Workitem Handlers kafkaPublishMessagingが表示されていることを確認してください。 Kafka out-of-the-box integration Project での設定

Slide 21

Slide 21 text

21 > Settings > Deployments > Workitem Handlers Value に正しい設定がなされていることを確認します。 new org.jbpm.process.workitem.kafka.KafkaWorkItemHandler(“127.0.0.1:9092”, "jbpm", "org.apache.kafka.common.serialization.StringSerializer", "org.apache.kafka.common.serialization.StringSerializer") 環境変数を使って、エンドポイントを指定することも可能です。 new org.jbpm.process.workitem.kafka.KafkaWorkItemHandler(env[‘kafka_ip’], "jbpm", "org.apache.kafka.common.serialization.StringSerializer", "org.apache.kafka.common.serialization.StringSerializer") Kafka out-of-the-box integration Project での設定

Slide 22

Slide 22 text

22 Kafka out-of-the-box integration Project での設定 > Settings > Dependencies > Projectに依存関係を追加します  org.jbpm.contrib:kafka-workitem:

Slide 23

Slide 23 text

Revamp in Business Analysis and Monitoring Capabilities ビジネスの分析とモニタリング機能の刷新 23

Slide 24

Slide 24 text

STANDALONE DASHBUILDER ▸ Dashbuilder Standalone は RHPAM 7.8¹ か らアドオンとして提供されている、軽量なWebア プリケーション(WAR)です。 ▸ Business Central からエクスポートした dashboard を実行できます。 ▸ WAR は RHPAM (JBoss EAP 7.3.0) がサポート する同じ EAP バージョンでテストされます。 ¹ https://access.redhat.com/documentation/en-us/red_hat_process_automation_manager/7.8/html/release_notes_for_red_hat_process_automation_manager_7.8/rn-tech-preview-con#dashbuilder_runtime Revamp in Business Analysis and Monitoring Capabilities

Slide 25

Slide 25 text

STANDALONE DASHBUILDER Multi Dashboards Support (マルチテナント) ▸ Dashbuilder には以下のモードがあります ・ STATIC mode は、システムプロパティ dashbuilder.runtime.import を 使用して ZIPファイルが提供されている場合に使用します。 ・ SINGLE mode はZIPファイルが提供されていない場合に使用されます。 このモードでは ZIPをアップロードすることができ、サーバーが再起動されるまで 使用されます。 ▸ 7.9より、Multi mode がサポートされており、ユーザーは複数のダッシュ ボードをアップロードすることができます。 各ダッシュボードは、競合を避けるために隔離されたコンテキストを持って います。 ▸ Multi mode では、モデル・ディレクトリ (dashbuilder.import.base.dir)内のすべてのダッシュボードが起動時に ロードされます。 ▸ Multi mode を有効にするには、dashbuilder.runtime.multi を true に設定します。 25 https://blog.kie.org/2020/09/multi-dashboards-support-in-dashbuilder-runtime.html Revamp in Business Analysis and Monitoring Capabilities

Slide 26

Slide 26 text

STANDALONE DASHBUILDER ダッシュボードの埋め込み機能 26 ▸ インポートされたダッシュボード・ページは、 Embedded modeで 実行できます。 ▸ Embedded mode でページを開くには、以下の URLテンプレートを使用します。 ${DB_URL}?import=${IMPORT_ID}&standalone&perspective=${PAGE} ● DB_URL: Dashbuilderが動作しているURL ● IMPORT_ID: Multi modeで実行する際に提供されるべき import ● PAGE: ダッシュボード・ページの名前 https://blog.kie.org/2020/09/dashbuilder-runtime-embedded-mode.html Revamp in Business Analysis and Monitoring Capabilities

Slide 27

Slide 27 text

DASHBUILDER 27 On Standalone: ▸ GET /dashboard 利用可能なすべてのダッシュボードを リストアップする ▸ POST /dashboard ダッシュボードのZIPファイルが与えられた場合、解凍し て新しいダッシュボードを生成します。 ▸ GET /dashboard/ {id} ダッシュボード{id}に関する情報を取得します REST API On Business Central: ▸ GET /dashboards Business Centraldで利用可能なすべての ダッシュボードをZIP形式でダウンロードする https://blog.kie.org/2020/09/dashbuilder-runtime-embedded-mode.html Revamp in Business Analysis and Monitoring Capabilities

Slide 28

Slide 28 text

DASHBUILDER Dashbuilder の外部コンポーネント 28 ▸ 新しい外部コンポーネント APIを使用して、ユーザが開発した カスタム・コンポーネントを使用できるようになりました。 ▸ ユーザーは、コンポーネント自体が提供するパラメーターを 使用してコンポーネントを構成することもできます。 Dashbuilderを使用すると、ユーザーはこれらのパラメーター値を設定 し、レンダリング時にコンポーネントに送信できます。 ▸ Business Centralで構成したすべてのコンポーネントは、データ転送機 能からエクスポートされた ZIPファイルとともにパッケージ化されます。 マルチモードを使用している場合、ランタイムにインポートすると、イン ポートによってパーティション化されます。 https://blog.kie.org/2020/09/developing-custom-components-for-dashbuilder.html Revamp in Business Analysis and Monitoring Capabilities

Slide 29

Slide 29 text

DASHBUILDER Dashbuilder の外部コンポーネント 29 ▸ コンポーネントはデフォルトでは無効になっており、 システムプロパティ dashbuilder.components.enable を有効にして使用します ▸ コンポーネントのディレクトリは、 dashbuilder.components.dir を 使用して設定します。 ▸ DashbuilderランタイムとBusinessCentralの間でコンポーネントディレクトリを共有しない ようにすることをお勧めします。 ▸ コンポーネントAPIのみをサポートしており、ユーザのコンポーネントはアプリケーションの 一部とみなされます。また APIの利用をサポートをしています (7.9では外部コンポーネントは提供していません )。 ▸ コンポーネントを開発するには、 jBPMのドキュメントを参照してください。 https://docs.jboss.org/jbpm/release/7.44.0.Final/jbpm-docs/html_single/#_sect _bam_custom_components Revamp in Business Analysis and Monitoring Capabilities

Slide 30

Slide 30 text

Copyright 2020 Red Hat K.K. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat 30 Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. THANK YOU