Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

第1章 基本的なコンセプトの紹介

サービス指向アーキテクチャー (SOA) は単一のプログラムやテクノロジーではなく、ソフトウェア設計のパラダイムと考えられるでしょう。
ご存知のように ハードウェアバス は、複数のシステムやサブシステムの間を結ぶ物理コネクターです。システム間を結ぶポイントツーポイントコネクターを大量に使うのではなくハードウェアバスを1つ使うと、各システムを単にセントラルバスへ接続するだけで済みます。エンタープライズサービスバス (ESB) も、ソフトウェアで全く同じ事を行います。
ESB は、メッセージングシステムのうえにあるアーキテクチャー層にあります。このメッセージングシステムにより、ESB 経由のサービスでの非同期通信をスムーズに行うことができます。
このコンテキストでは「サービス」は Web サービスとは限りません。ファイル転送プロトコル (FTP) や Java Message Service などのトランスポートを使った違うタイプのアプリケーションも「サービス」になりえます。

注記

この時点では、エンタープライズサービスバスはサービス指向アーキテクチャーと同じものかと考えている人もいるかもしれませんが、違います。ESB はサービス指向アーキテクチャー自体を形成するのではなく、構築に利用できるツールを多く提供しています。特に、SOA で必要な疎結合非同期式メッセージ受け渡しを容易に行います。SOA は単なるソフトウェアではなく、一連の原則、パターン、ベストプラクティスと考えてください。
JBoss Enterprise Service Bus は Red Hat が提供するオープンソースの ESB で、以下に対応しています。
  • 複数のトランスポートとプロトコル
  • listener-action モデル (サービス間を疎結合できるようにするため)
  • コンテンツベースルーティング (JBoss Rules エンジン、XPath、Regex、Smooks 経由)
  • JBoss Business Process Manager との統合 (サービスオーケストレーション 機能を提供)