Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerEnterprise Service Bus(ESB)は、原理的にはアーキテクチャです。さまざまなアプリケーションをインフラストラクチャ上で統合するための『ルール』と『原則』の集合体とも言えます。市販のESB製品を使用することで、この種のアーキテクチャを構築することができますが、その方法や機能は製品によって異なります。そしてESBアーキテクチャのコアコンセプトは、異なるアプリケーションを統合するために、アプリケーション間に通信路を構築し、各アプリケーションがバスと通信することです。これによりシステムは互いに切り離されるため、バス上の他のシステムへの依存や知識がなくても通信ができるようになります。
ESBのコンセプトは、時間の経過とともに脆弱になり、管理が難しくなってしまうポイント・ツー・ポイント接続からの脱却を目的としています。ポイント・ツー・ポイント接続では、主にカスタムコードが利用されており、モニタリングやトラブルシューティングのための一元的な方法がありませんでした。これは『スパゲッティコード』と呼ばれる望ましくないアーキテクチャの形態に他なりません。つまり、アプリケーション同士が緊密に依存してしまうことで、拡張性を低下させてしまうのです。
企業がITインフラストラクチャのバックボーンとしてESBを導入する最も一般的な理由の一つは、俊敏性を高めることで、新しいイニシアチブの設計から市場投入までの時間を短縮することでしょう。ESBアーキテクチャは、拡張性が非常に高く、シンプルで、明確に定義され、接続可能なシステムを提供するため、この時間短縮を可能にしてくれます。さらにESBでは、既存のシステムを活用し、その通信および変換機能を使用することで、新しいアプリケーションと接続・連携・統合することが可能になります。
ESBアーキテクチャが、インテグレーションの5つの基本原則にどのように対応しているかを見てみましょう。
ESBプラットフォームは、大規模大手からニッチなオープンソースベンダーまで、数多く存在しています。スペックや価格だけでは見えてこない、ESBプラットフォームの選択に重視すべきポイントを紹介します。
Muleは完全負荷分散のサイズが40 MBと、最も軽量なインテグレーション・プラットフォームのひとつです。モジュール化されているため、フットプリントを減らさなければならない場合、不要なモジュールを簡単に取り除くことができます。MuleSoftは軽量をサイズだけにとどまらず、既存システムとのインテグレーションに要する時間やコスト、作業量も視野に入れています。『Muleランタイムエンジン』は「モジュール化」と「超高速なホットデプロイメント」は当然のこと、機能の順序変更や追加/変更が容易な構成モデルを提供しています。
ほとんどのベンダーは、ESBを単なるシステム間のメディエーションと位置づけており、ビジネスロジックのホスティングやサービス公開のために、別の製品を用意・提供しています。MuleSoftでは、これは複雑化を招く原因になると考えています。Muleは、RESTおよびSOAPのサービスを公開するための、軽量で拡張性のあるサービスコンテナを提供しています。MuleはSpringとも緊密に統合できるため、開発者はビジネスロジックの実装にSpringの機能を利用することも可能です。
Muleは、「Maven」「Eclipse」「JUnit」「Spring」など、Java開発者なら誰でも知っている一般的なツールを使用しています。ロジック定義には、Springと似ているXML構成モデルを使用し、カスタムコードは「Java」「Groovy」「JavaScript」「Ruby」「Python」などの一般的な言語で記述することができます。『Anypoint Platform』はグラフィカルな開発環境を提供しているので、新人の開発者でもすぐに慣れることができるでしょう。
Muleは、コモディティハードウェア上での水平スケールができるように設計されています。大規模システムは必要ありません。Muleランタイムエンジンは、アプリケーションに簡単に組み込むことができます。例えば、「Tomcat」「JBoss」「WAS」といったアプリケーションサーバに埋め込んだり、自社のアプリケーションに直接埋め込むことも可能です。開発者にとって重要なこととして、MuleはJUnitもサポートしているので、JUnitのテストケースに埋め込むことができます。そのため、インテグレーションのための反復的なユニットテストを開発者のノートPCで作成し、継続的なビルドを実現することが可能になります。
コンテナがメッセージに依存しないことは、Muleの強力な特徴です。XMLメッセージをユーザに強制することがないのです。XMLは一般的ですが、「JSON」や「flat files」「Cobol Copybooks」「バイナリ」「ファイル添付」「ストリーム」「Javaオブジェクト」を使わなければならないケースも多数あります。データマッパーも同様に、さまざまなデータのマッピングが可能です。さらに『Muleストリーミング』を使用することで、開発者はサイズの大きなメッセージを効率的に処理することができます。
アプリケーションのアーキテクチャ、ホスティングおよびモニタリングをインテグレーションの専門チームに任せるのであれば、『CloudHub™』が最適でしょう。CloudHubは「Integration Platform as a Service(iPaaS)」であり、数分で運用を開始することができます。CloudHubは、「(150以上の)SaaS」「SNS」「インフラストラクチャ」「オンプレミスアプリケーション」などに接続可能な、柔軟なマルチテナント型のプラットフォームを提供しています。CloudHubのアプリケーションはMuleスタンドアロンで実行できますし、その逆も可能です。
つまり、デプロイがオンプレミスでもクラウドでも、新しいコンセプトや使用方法を学習する必要はありません。開発者のエクスペリエンスも同様で、学習のために費やす時間を大幅に短縮できるのです。
ほとんどの企業が俊敏性を高めることで、新しい製品やサービスの企画・開発から上市するまでの時間を短縮したいと考えていると思います。ESBは、拡張性が非常に高く、シンプルで、明確に定義され、接続可能なシステムの提供により、この迅速性を企業にもたらします。MuleSoftは、ESBアーキテクチャを市販製品として捉えず、インフラストラクチャとアプリケーション設計をも含んだ『アーキテクチャ』として位置づけています。この思想が変わることはありません。
世界で最も柔軟なESBソリューションである『Anypoint Platform』の『Muleランタイムエンジン』を体験してください。俊敏性と拡張性、発展性を持ちながら、組織のアーキテクチャを構築するアプローチです。