トランザクション監視、私の小さな成功物語

この記事では、ビジネストランザクションの監視の実装例を紹介します。 銀行アプリケーションを備えたスタンドの例を使用し、Hewlett-PackardのHP Transaction Vision製品を使用してトランザクションを監視します。

ポイントに直行してください!


IBM WebSphere Application Serverバージョン8.5アプリケーションサーバーで実行され、IBM WebSphere MQおよびOracleデータベースを使用するj2eeプラットフォームで開発された銀行アプリケーションがあります。

Webインターフェイスを介した銀行業務アプリケーションを使用すると、顧客アカウントを管理できます。 あるアカウントから別のアカウントに送金する操作を検討します。以降、この操作をトランザクションと呼びます。

トランザクションは、アクションのアトミックシーケンスです。 完全に実行されるシーケンス、または何も実行されないシーケンス。

今、私は銀行のアプリケーションのインターフェースをデモンストレーションし、ユーザーの側でトランザクションの一部として何が起こっているかを示しています:
  1. ログイン;
  2. 送金インターフェースに移動します。
  3. 借方口座、受益者の口座を選択し、金額を示します。
  4. 操作を確認してください。
  5. アカウントのステータスの変更または操作に関するエラーメッセージが表示されます。

ユーザーが見るものの下:






システム側で何が起こるか:


  1. 銀行業務アプリケーションは、指定された金額を口座1から口座2に転送するHTTPリクエストを受信します。
  2. 銀行業務アプリケーションは、要求をIBM WebSphere MQサーバーにQ1にリダイレクトします。
  3. メッセージ駆動型Bean(MDB)は、Q1からのリクエストを取得します。
  4. MDBは資金を転送するために必要な手順を実行します。私の場合は、OracleデータベースへのSQLクエリのセットです。
  5. MDBは、Q2キューを介して銀行アプリケーションに資金を転送した結果を報告します。 トランザクションの結果が報告されます。
  6. Q2キュー内のメッセージを読み取った後、銀行業務アプリケーションはトランザクションの結果を返します。

以下は、インフラストラクチャに関連して説明されているイベントの図です。


同じイベントですが、シーケンス図では:


HPトランザクションビジョン


先ほど言ったように、Hewlett Packard製品-HP Transaction Visionを展開しました。 次に、HP Transaction Visionの機能について説明します。
  1. 銀行アプリケーションのHTTP呼び出しをインターセプトします。
  2. JMSバンキングアプリケーションの呼び出しとMDBをインターセプトします。
  3. API呼び出しをインターセプトし、キューマネージャーを呼び出します-IBM WebSphere MQ。
  4. JDBC呼び出しをインターセプトします。
  5. 傍受されたメッセージは、単一の処理場所に送信されます。
  6. イベント処理のルールを使用して、完了したトランザクションに関する情報が収集されます:時間、結果、金額など。


技術的な機能、構成方法は、この記事の議論の主題ではありません。このトピックについて質問がある場合は、すぐに答えます。

結果を実証するために、3種類のテストを実施しました。
  1. すべてのデータが正しく入力されています。 トランザクションの終了時に、銀行アプリケーションはトランザクションが正常に完了したことを報告します。
  2. 私は故意に間違いを犯し、借方に記入された口座にある金額よりも多くの送金を示します。 トランザクションの終了時に、銀行アプリケーションは誤ったトランザクションを報告します。
  3. MDBアプリケーションを停止します。 IBM WebSphere MQ-Q1キューでトランザクション実行の要求が「ハング」する状況を作成します。 次に、MDBアプリケーションをオンに戻すと、トランザクション時間が長くなります。

次のように、3種類のテストすべてを覚えておくことをお勧めします。 取引情報を提示するためのさまざまなオプションのさらなるデモンストレーションでそれらを参照します。 HP Transaction Vision製品が私たちに示す写真のみを明確にします。

単一の処理ポイントに到着するイベントの例:


検出されたトランザクションのリスト:


検出されたトランザクションの要約レポート:


私のアプリケーションの一般的なアーキテクチャ、コンポーネント間の相互作用(HP Transaction Visionおよびこれが可能):


HP Transaction Visionのトピックに、トランザクションの特定の条件(長すぎる、誤った結果など)が満たされたときに通知できることを追加します。

HP Business Process Insight


図を完成させるために、HP Transaction Visionからトランザクションイベントを受け取るHP Business Process Insight(BPI)を展開しました。 HP BPIを使用すると、現在どの段階にあるのか、現在いくつのトランザクションが存在するのか、各段階でのトランザクション処理時間を知ることができます。

HP BPIの写真を次に示します。


興味を持って質問をした人は誰でも、あなたを対話に招待できてうれしいです。
前のトピックを参照

Source: https://habr.com/ru/post/J229413/


All Articles