MuleSoft-MuleESBの概要

ESBは Enterprise Service Busこれは基本的に、バスのようなインフラストラクチャ上でさまざまなアプリケーションを統合するためのミドルウェアツールです。基本的に、これは統合アプリケーション間で作業を移動するための統一された手段を提供するように設計されたアーキテクチャです。このように、ESBアーキテクチャの助けを借りて、通信バスを介してさまざまなアプリケーションを接続し、相互に依存せずに通信できるようにすることができます。

ESBの実装

ESBアーキテクチャの主な焦点は、システムを相互に分離し、安定した制御可能な方法でシステムが通信できるようにすることです。ESBの実装はの助けを借りて行うことができます‘Bus’ そして ‘Adapter’ 次のように-

  • JMSやAMQPなどのメッセージングサーバーを介して実現される「バス」の概念は、さまざまなアプリケーションを相互に分離するために使用されます。

  • バックエンドアプリケーションとの通信と、アプリケーション形式からバス形式へのデータの変換を担当する「アダプタ」の概念は、アプリケーションとバスの間で使用されます。

バスを介して1つのアプリケーションから別のアプリケーションに渡されるデータまたはメッセージは、正規の形式です。つまり、1つの一貫したメッセージ形式が存在します。

アダプタは、セキュリティ、監視、エラー処理、メッセージルーティング管理などの他のアクティビティも実行できます。

ESBの指導原則

これらの原則をコアインテグレーションの原則と呼ぶことができます。それらは次のとおりです-

  • Orchestration −データとプロセス間の同期を実現するための2つ以上のサービスの統合。

  • Transformation −データを標準形式からアプリケーション固有の形式に変換します。

  • Transportation − FTP、HTTP、JMSなどのフォーマット間のプロトコルネゴシエーションの処理。

  • Mediation −サービスの複数のバージョンをサポートするための複数のインターフェースの提供。

  • Non-functional consistency −トランザクションとセキュリティを管理するためのメカニズムも提供します。

ESBの必要性

ESBアーキテクチャにより、各アプリケーションがESBを介して通信できるさまざまなアプリケーションを統合できます。以下は、ESBをいつ使用するかに関するいくつかのガイドラインです。

  • Integrating two or more applications − ESBアーキテクチャの使用は、2つ以上のサービスまたはアプリケーションを統合する必要がある場合に役立ちます。

  • Integration of more applications in future −将来、サービスやアプリケーションを追加したい場合は、ESBアーキテクチャを使用して簡単に追加できると仮定します。

  • Using multiple protocols − HTTP、FTP、JMSなどの複数のプロトコルを使用する必要がある場合は、ESBが適切なオプションです。

  • Message routing −メッセージの内容や他の同様のパラメータに基づくメッセージルーティングが必要な場合は、ESBを使用できます。

  • Composition and consumption − ESBは、構成と消費のためのサービスを公開する必要がある場合に使用できます。

P2P統合とESB統合

アプリケーションの数が増えるにつれ、開発者の前での大きな問題は、さまざまなアプリケーションをどのように接続するかということでした。この状況は、さまざまなアプリケーション間の接続を手動でコーディングすることで処理されました。これはpoint-to-point integration

Rigidityポイントツーポイント統合の最も明らかな欠点です。接続とインターフェースの数が増えると、複雑さが増します。P-2-P統合の欠点は、ESB統合につながります。

ESBは、アプリケーション統合へのより柔軟なアプローチです。これは、各アプリケーション機能を個別の再利用可能な機能のセットとしてカプセル化して公開します。他のアプリケーションと直接統合するアプリケーションはありません。代わりに、以下に示すようにESBを介して統合します。

統合を管理するために、ESBには次の2つのコンポーネントがあります-

  • Service Registry− Mule ESBには、ESBに公開されているすべてのサービスが公開および登録されるサービスレジストリ/リポジトリがあります。これは、他のアプリケーションのサービスと機能を利用できる発見のポイントとして機能します。

  • Centralized Administration −名前が示すように、ESB内で発生する相互作用のパフォーマンスのトランザクションフローのビューを提供します。

ESB Functionality− VETROの略語は、通常、ESBの機能を要約するために使用されます。以下の通りです−

  • V(検証)-名前が示すように、スキーマ検証を検証します。検証パーサーと最新のスキーマが必要です。1つの例は、最新のスキーマを確認するXMLドキュメントです。

  • E(エンリッチ)-メッセージにデータを追加します。目的は、メッセージをターゲットサービスにとってより意味のある有用なものにすることです。

  • T(変換)-データ構造を正規形式または正規形式に変換します。例としては、日付/時刻、通貨などの変換があります。

  • R(ルーティング)-メッセージをルーティングし、サービスのエンドポイントのゲートキーパーとして機能します。

  • O(操作)-この関数の主な仕事は、ターゲットサービスを呼び出すか、ターゲットアプリと対話することです。それらはバックエンドで実行されます。

VETROパターンは、統合に全体的な柔軟性を提供し、一貫性のある検証済みのデータのみがESB全体にルーティングされるようにします。

Mule ESBとは何ですか?

Mule ESBは、MuleSoftが提供する軽量で拡張性の高いJavaベースのエンタープライズサービスバス(ESB)および統合プラットフォームです。Mule ESBを使用すると、開発者はアプリケーションを簡単かつ迅速に接続できます。アプリケーションで使用されるさまざまなテクノロジーに関係なく、Mule ESBを使用すると、アプリケーションを簡単に統合して、データを交換できます。MuleESBには次の2つのエディションがあります-

  • コミュニティエディション
  • Enterprise Edition

Mule ESBの利点は、両方のエディションが共通のコードベースで構築されているため、MuleESBコミュニティからMuleESBエンタープライズに簡単にアップグレードできることです。

MuleESBの特徴と機能

以下の機能はMuleESBが所有しています-

  • シンプルなドラッグアンドドロップのグラフィックデザインです。
  • Mule ESBは、視覚的なデータマッピングと変換が可能です。
  • ユーザーは、何百もの事前に構築された認定コネクタの機能を利用できます。
  • 一元化された監視と管理。
  • 堅牢なエンタープライズセキュリティ施行機能を提供します。
  • API管理の機能を提供します。
  • クラウド/オンプレミス接続用の安全なデータゲートウェイがあります。
  • ESBに公開されているすべてのサービスが公開および登録されるサービスレジストリを提供します。
  • ユーザーは、Webベースの管理コンソールを介して制御できます。
  • サービスフローアナライザを使用して、迅速なデバッグを実行できます。