[SOA] Solving EAI with SOA Suite

ITに携わってきた人間は、新しい考え方で同じ問題を解決する傾向があります。EAI関連の盛り上がりと、7、8年前の、非常に複雑なシステム連携の問題を解決するためのプロジェクトを思い出しました。
そのプロジェクトで解決しようとしたことは以下のようなことでした。
  • システム間連携のインターフェースの標準化
  • プロトコル変換
  • ソース・ターゲットシステム間でのデータマッピング
  • 補償ロジックによるトランザクションの整合性
EAIは非常に複雑なソリューションでした。このソリューションは不安定なだけでなく、プロプライエタリの技術に立脚しているためコストがかかってしまいましたが、仕事としてやってきました。
EAIのパターンは以下のようです。
  1. ハブ&スポーク(Hub-and-Spoke)一つのビジネスシステム(Hub)を使う親会社や持ち株会社のような考え方。このシステムはビジネスユニットが使うシステムと連携されている
  2. バス(Bus)メッセージバスは以下のものを組み合わせたもの
    • 共通データモデル
    • 共通コマンドセット
    • 異種システムが共通インターフェースを介して通信することのできるメッセージング基盤
しかし、以下のような欠点があると結論づけました。
  • 特に中小企業(SMBs)にとって初期投資のコストが高い。
  • かなりの先行事業設計が必要だが、多くの管理者にとって想像できないものであり、投資をためらうものである。
  • ほとんどのEAIプロジェクトはポイント・ツー・ポイント(P2P)連携からスタートすることが通常だが、アプリケーションが増えると早晩管理不能になる。
  • P2P連携で密結合しているために維持管理が高コストで時間がかかる
  • プロプライエタリな統合ブローカー実装を進化させるためのサービス料(つまり標準技術ではない、ということ)
  • プロプライエタリなインターフェースを用いた静的なデータ統合はWebに展開することが難しい
SOAの登場により、ITの課題だけでなく、ビジネス上の課題として連携を見るという新しい考え方に進化しました。このビジネスメリットを第一に考えることにより、我々はビジネスに不可欠なシステム間の連携にプライオリティを置くことができました。そこで、システム間のポイント統合ではなく、再利用やサービス化を通してビジネス機能を組み立てることに着目しました。
最近、古いEAIベースのハブ・スポーク型EAIからSOA Suiteへの移行プロジェクトに参加していました。明らかになったのは、我々の使命がプロプライエタリなEAIシステムからSOA Suiteへ完全移行することであったとしても、SOAの原則とSOAベースのツールを使えば非常に複雑なソリューションを簡単にできるということでした。
15のシステム間を200本の連携があったものをSOA Suiteに移行する必要があったのですが、要件をシステムの振る舞いから抽出する一方で、分析フェーズにて2つの原則から浮かび上がった個別の連携パターンを見つけました。
  1. 使用しているプロトコルとメッセージタイプ
  2. ソース-ターゲット間でマッピングするシステムのデータ構造
4個のハイレベルコンポーネントを使って、一つの連携パターンを作成しました。
このパターンでは、ソリューションの核となる4個の再利用可能なサービスに着目しました。
  • Inbound Reader Service: このサービスは要求されているメッセージプロトコルやメッセージタイプを使ったインバウンドメッセージを受け付ける。Oracle Service bus (OSB) はこのようなサービスを実装するには最良。OSBがこういうサービスを実装する上では最良であり、プロキシサービスの形で多くのプロトコル間で入力を読み取るよう構成することができる。
  • Structural Validator Service: メッセージが構造的に問題がないかを検証するサービス。これはメッセージプロセッササービスが有効なメッセージだけを処理することを保証する。スキーマの検証やファイル構造の検証などが該当する。
  • Message processor Service: オーケストレーションをベースにした、業務の妥当性と変換を実施する詳細のビジネスロジックを提供するサービス。SCAベースのSOA Suiteを使ってBPELで実装する。このプロセスを作成するためには、一般的なBPEL XPath関数を使って動的変換を実現する。
  • Message Publisher: 動的なコンテンツベースルーティングを使ってメッセージをターゲットシステムに配信するサービス。SCA (Mediator)もしくはOSBを使う。
SOA Suiteベースで提案したソリューションにより、EAIプロジェクトに要したトータルの費用の一部でEAIを置き換えることができ、かつハブ・スポークパターンのエッセンスは維持することができたのです。


原文はこちら。

0 件のコメント:

コメントを投稿