動的なサービス呼び出しが解決するESBの課題
最後に登壇した、日本アイ・ビー・エム株式会社 WebSphere事業部 テクニカルセールス&サービス 豊田麻美氏のセッションテーマは、ESB管理において将来起こりうる課題の解決策だ。ESBによりITインフラ運用管理者への負荷を減らすことが期待されているが、将来的につながるサービスの数が増えていくと、様々な課題が浮上する。なぜならESBは、実装した時点でのサービスへしかルーティングできないからだ。サービスのバージョンやロケーションが変わるたびにESBを再実装しなければならない。
この課題を解消する一つの方法は、ESB側にサービスのロケーション情報を持たせず、外出しに保管することだ。リクエスターからメッセージが飛んできた場合、この保管庫にどのサービスに投げたらいいかを問い合わせ、その返答に合わせてESBがサービスを呼びに行く。リクエストが飛んできた時点で宛先を判断する、動的なルーティングだ。
IBMがこの考え方で提供しているミドルウェア製品が、WebSphere Service Registry and Repository(以下:WSRR)だ。SOAPやJavaのAPIを持ち、プログラムからの呼び出しでサービス情報を検索、登録が可能になる。
IBMのESB製品ではWSRRに接続し、検索するための標準機能を提供している。リクエスターから来たメッセージをどういう形で処理するか、ケースバイケースでフローを作成する。すべてのESB製品が持つ、「エンドポイント情報取得」のための部品をフロー上に配置し、求めている処理の流れを定義する。
またWSRRにはサービスのロケーション情報だけでなく、その属性なども登録し、公開できる。同様のサービスを利用したいと考える開発者が発見しやすくすることで、再利用(共用)を促進する。
WSRR導入における効果で注目したいのがガバナンスの遵守だ(図4)。サービスの設計段階から開発、運用まで、すべての情報はWSRR上で一元管理することで、抜けや漏れ、規範からの脱線を排除することができる。さらに監視系のソフトウェアTivoliシリーズを導入すれば、サービスの品質を保ちながらWSRRとESBを連携させることが容易になり、さらに優れたサービス管理を実現するのだ。
ESBを、システムをつなぐためだけに使うのでは、そのポテンシャルの一部しか活用していない。様々な課題に応えるソリューションを生み出すESBの可能性に注目したい。