BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ESB指向のアーキテクチャが有害とみなされる

ESB指向のアーキテクチャが有害とみなされる

Enterprise Application Integration Patternsの著者であり、またIBMのWebSphere、J2EEコンサルタントでもあるBobby Woolf氏が SOAの基盤としてのESBの合法性を問う記事を掲載している。
クライアントはESBのみを構築したがります。なぜならめんどくさいビジネス的な条件なしに技術的挑戦ができるからです。ESBのみを構築することは IT業界の希望となっています。というのも、ITがESBを構築してまたSOAがそれに付随してきてそれを使用するのを望んでいるからです。そのようなESB指向のアーキテクチャではSOAの利点を失ってしまいます。そうなるとビジネス価値が生まれなくなります。実のところ、すぐに目に見えた利益を得られることなく費用がかかることになってしまうでしょう。

Bobbyの記事はとても面白く書かれている。その議論は真剣なものだがDave Chappellがキャッチーな用語を作り出して以来ずっと続いている。Contract-firstの討論に関しては、ESBの配置が "Connectivity-First"でSOAを開始するようなものなのだ。Bobby氏はESB指向のアーキテクチャアプローチに関して論じている。

それは天性的に欠陥があるものなので誰も使いたくなくなるような接続を構築する。何か必要になるだろうという推論ではなく実際にあなたが何かを必要とする時にインプリメントするようにして欲しい。

OASIS SOAリファレンスモデルは、いわゆる接続については語らないがコミュニケーションインフラに関する考えが紹介されている。

コミュニケーションインフラの主要なタスクは目的と情報の交換を促進するものである。特にその交換がオーナーシップ境界を交差している場合に致命的な問題 となるのはデータのインタープリテーションである。このインタープリテーションはサービス相互作用内の参加物間で一貫していなければならない。

IBMのものも含んで、Conventional SOAリファレンスアーキテクチャはいつもESBをわかりやすい場所に表示する。Dave ChappellはESBが本質的に、同じコンテナーを共有するサービスを繋げるコミュニケーションインフラを伴うサービスコンテナであると説明している。

サービスコンテナは抽象的なエンドポイントの物理的な現れであり、サービスインターフェースのインプリメンテーションを提供する。そしてサービスコンテナ はソフトウェアコンポーネントをホストするのが可能な遠隔プロセスなのです。その観点から見てそれはインテグレーションサービスのホスティングのある特定 の目的を伴ったアプリケーションサーバコンテナとの類似点があるのだ。  

それ以上にBobby氏は大変面白いので彼の論点を失わないことが大切になる。Bobby氏はESBには実用性がないというMacKendrick氏とDave Linthicum氏の見解に反対している。私自身昔に"Jump off the bus, take a cab"という名の、一般的なコミュニケーションメカニズムの必要性を問うた内容の記事を書いたことがある。それでもまだコミュニケーションインフラ (Dave Chappellが説明しているように)と合体したサービスコンテナはとても実用的である。JBIのスペックリードを行っているRon Ten-Hoveがその理由を説明する。

  • サービスコンテナは多様なIT産物をESBに採用するためのものである。

そしてESBは:

  • 信頼性のあるメッセージングシステムでサービスコンテナが相互作用させるのに使用する
  • メッセージ変換サービスを提供する
  • メッセージルーティングサービスを提供する
  • サービスへのアクセスを管理するセキュリティ機能を提供する
  • 分配システムであるのに相反して中央管理されている
  • シャットダウンやシステムの有効性に対する支障なしにサービスに成長性の変更を許容する

これらの能力は大規模なサービスインプリメンテーションクラスで不可欠とものである。CBDIフォーラムのD.Sprott氏はESBなしだと困難になるパターンのリスト(PDFファイル)を挙げている。例えばサービス可視化ストラテジーを実装するためのメカニズム等である。

もちろん、コミュニケーションインフラはWSスタックの完成と共に少しその性能が落ちるが、効率的なサービスコンテナはSOAの上場企業クラスにとって大切 な秘訣となっている。近い将来ベンダー達がBusよりもむしろサービスコンテナに注目していてもおかしくはないだろう。驚くべきことではないがサービスコンテナを機能と合体させるためにネストすることも可能だ。

Bobby氏の記事はSOAの知識がほとんどか全くないIT組織に直面し、また物理的な進捗状況を証明しなければならないというプレッシャーを抱えるコンサルタントについて、面白おかしく語っている。もちろん最終的にはそのコンサルタントはビジネス価値がない代物を導入したことに関して責められることになるのだが。結果的にBobby氏は”ESBは何のビジョンもなしに使用すると有害になると考えられる”という一言にまとめられる警告を出していると言える。 それは多分どんな技術に関してもそうであろう。

Bobby氏は自身の記事 "ESBs good; ESB-only projects bad.”において説明文を追加している。バスではなくてサービスの周りでアーキテクチャを適応させましょう。理解いただけるだろうか?

パスカルが言ったようにスタックはOASISスタンダードとしたWS Reliable Messagingと一緒に今年の6月に完成している。

この記事に星をつける

おすすめ度
スタイル

BT