EIP / The Need for Integration


EIP

Solving Integration Problems Using Patterns (パターンを用いてインテグレーションにおける問題を解決する)

要約

  • この章では、さまざまなインテグレーションにおける問題を解決するため、この本の中で出てくるパターンがどのように使われるのかを示す。

詳細

この章では、さまざまなインテグレーションにおける問題を解決するのに、この本の中で出てくるパターンがどのように使われるのかを示す。 それを行うために、我々は共通のインテグレーションシナリオを調べて、包括的なインテグレーション例を提示する。 この例の解決法を設計することにより、我々は、この本に含まれるパターンを待ちいた解決法を説明する。 この章の終わりでは、あなたは、24このインテグレーションパターンについて詳しくなっているだろう。


The Need for Integration(インテグレーションの必要性)

要約

  • 企業は、大量、かつ、多様なシステムを持っている。
  • すべてのことをこなす、単一のアプリケーションを書くのは難しい。
  • 業務が拡大しても良いような柔軟性を要求している。

詳細

企業システムは、典型的には、自分で作ったもの、サードパーティから入手したもの、レガシーシステムの一部、および、それらの組み合わせからなる、数百(数千ではないかも)ものアプリケーションから構成されていて、それらは異なるオペレーティングシステム基盤の複数の層で運用されている。 とある企業が、30個の異なるWebサイトと、3つのSAP実装と、数え切れない部門ソリューションを持っている、ということはまれではない。

我々は次のような問いをするかもしれない。「どうやって、企業はそんなややこしいことになるのを許しているのか。」「そんな企業のスパゲッティアーキテクチャの責任者になっているCIOををクビにすべきではないのか。」 まあ、多くの場合において、物事は理由があって起きる。

第一に、業務アプリケーションを書くのは難しい。 完全なビジネスを動かすためのひとつの大きなアプリケーションを作るのは、ほとんど不可能に近い。 ERP(Enterprise Resource Planning)ベンダーは、これまでより大きい業務アプリケーションを作ることにより、いくらかの成功を収めてきていた。 現実は、しかしながら、SAP、Oracle、Peoplesoftといった重量級、および、業務機能のとある断片を実行するものが、典型的な企業で要求させている、ということだ。 我々は、ERPシステムは、今日の企業において、最も人気のあるインテグレーション方法のひとつである、という事実からそれを簡単に知ることが出来る。

第二に、多数のアプリケーションをまたがって拡大している業務機能は、最高の会計パッケージ、最高の顧客関係管理ソフトウェア、さらには、それらの必要性により最高の注文処理システムを選択するための柔軟性を、業務に提供している。 通常、IT部門は、全部出来るものではなく、個別の業務要件の数を与えるといったアプリケーションでもない、単一の企業アプリケーションには興味が無い。

ベンダーは、この好みに応じることを学び、特定のコア機能の周辺のアプリケーションに注力することを提案する。 しかしながら、既存ソフトウェアパッケージに新機能を追加するという絶えず存在する衝動は、パッケージ化されたビジネスアプリケーション中にまで機能過剰をもたらしている。 たとえば、多くの支払いシステムは顧客対応と会計機能を含み始めた。 同様に、顧客対応ソフトウェアメーカーは争議や調停といった単純な支払い機能を実装することを試みている。 システム間の明確な機能分割を定義することは難しい。 請求書のことで論争している顧客は顧客対応か、それとも、支払い機能のどちらと考えられるか?

顧客、業務パートナー、内部ユーザーのようなユーザーは、とある業務に関わるとき、システム境界を次第に考えなくなる。 彼らは、業務機能がどれだけの数の内部システムを横断しているかに関わりなく業務機能を実行する。 たとえば、とある顧客は、その人の住所変更と直近の支払いが受け取られているかを問い合わせる電話をするかも知れない。 多くの企業において、この単純な要求は、顧客対応と支払いシステムの両方に渡すことになる。 同様に、新しく注文をする顧客は、多くのシステムの調整を要求するかも知れない。 その業務は、顧客IDを認証し、顧客の状況が良いか確認し、在庫をチェックし、注文を確定し、出荷見積もりを取得し、消費税を計算し、請求書を送って、などが必要だ。 このプロセスは5つか6つの異なるシステムを簡単にわたっていくことが出来る。 顧客の支店からは、それはひとつの業務処理だ。 共通の業務プロセスとアプリケーションにまたがったデータ共有をサポートするために、これらのアプリケーションは統合される必要がある。 アプリケーションインテグレーションは、いくつもの企業アプリケーション間で、効率的で信頼性が高く安全なデータ交換を提供する必要がある。