エンタープライズアーキテクチャ

2003年10月9日

最近、Amazonで私の著書「P of EAA」(エンタープライズアプリケーションアーキテクチャのパターン)に、エンタープライズアーキテクチャについて何も書かれていないという理由で、いくつか悪いレビューを受けました。もちろん、それには正当な理由があります。この本はエンタープライズ*アプリケーション*アーキテクチャ、つまりエンタープライズアプリケーションをどのように設計するかについて書かれたものです。エンタープライズアーキテクチャは、企業内の複数のアプリケーションをどのように一貫性のある全体に編成するかという、別のトピックです。

実際のところ、私はエンタープライズアーキテクチャに関してはかなり懐疑的です。この懐疑主義は、エンタープライズアーキテクチャ構想の一般的なライフサイクルから来ているように思えます。通常、ITグループが、アプリケーションのサイロ化(およびその他の適切なアナロジー)を打破することで得られるシナジー、再利用、その他すべてのメリットをもたらす主要な構想を立ち上げると、大きな注目と栄光の中で始まります。2、3年後には、ほとんど何も行われておらず、エンタープライズアーキテクチャグループには電話がかかってこなくなります。さらに1、2年後、その構想は静かに消滅しますが、すぐに別の構想が始まり、好況と不況のサイクルが再び始まります。

では、なぜこのサイクルがこれほど規則的に起こるのでしょうか?これらの構想に関わっているほとんどの人は、失敗の理由は主に政治的なものだと言うでしょう。しかし、彼らがよく見落としているのは、それらの政治的な力は避けられないということです。このような状況で成功するためには、まず、それらの政治的な力の強さを認識する必要があります。

中央アーキテクチャグループの問題点は、IT管理によって推進されている一方で、彼らが編成しようとしているアプリケーションはビジネスニーズによって推進されていることです。アプリケーションチームが、アプリケーションに直接利益をもたらさないが、アーキテクチャに適合しやすくする作業を行うように指示された場合、当然ながら、それを行うことに抵抗が生じます。さらに、彼らは切り札を持っています - ビジネススポンサーです。ビジネススポンサーが、エンタープライズアーキテクチャ計画に準拠するためにアプリケーションの出荷が4か月遅れると告げられた場合、アプリケーションチームがノーと言ったとき(「後で対応します」という意味)に、彼らを支持する動機が生じます。アプリケーションはビジネス価値の提供に直接結びついており、中央アーキテクチャチームはそうではないため、アプリケーションチームが勝利します。これらの勝利が、エンタープライズアーキテクチャ構想を失敗に導きます。

これを回避するには、エンタープライズアーキテクチャ構想は政治的現実を認識し、それに従う必要があります。

  • エンタープライズアーキテクチャ構想のビジネス価値を理解する。
  • すべての作業が、ビジネス価値の漸進的な短期的な利益によって裏付けられていることを確認する。
  • アプリケーションのコストを最小限に抑える。

これを考える良い方法は、これらの構想は、アプリケーションの包括的な計画を立てることではなく、アプリケーションがどのように組み立てられていても統合するための手法を考え出すことに重点を置くべきだということです。(結局のところ、アプリケーション境界は主に社会的な構成物であり、誰かの将来の計画に準拠する可能性は低いのです。)この統合アーキテクチャは、アプリケーションチームへの影響を最小限に抑えて機能する必要があるため、チームはビジネス価値が正当化する限り、小さな機能を提供することができます。また、より緊密に結合されたアプローチよりも効率が低い場合でも、アプリケーション間の結合を最小限に抑えるアプローチに焦点を当てる必要があると思います。

これらの理由から、私は統合にメッセージングアプローチを採用する傾向があります。欠点もありますが、既存のアプリケーションへの影響を最小限に抑えて適用できるものです。

ちなみに、エンタープライズアプリケーションアーキテクチャは、エンタープライズ統合に大きな影響を与える可能性があります。適切に階層化されたアプリケーション、特に優れたプレゼンテーションとドメインの分離が実装されたアプリケーションは、サービスを通じてアプリケーションの機能をより簡単に公開できるため、統合がはるかに容易になります。優れた階層化はアプリケーションの保守も容易にするため、これはアプリケーションにとってコストではありません。しかし、プレゼンテーションとドメインの分離を行う方法を理解しているアプリケーション開発者は少なすぎます。統合グループができる最善のことの1つは、彼らを支援するための教育とトレーニングをサポートすることです(アーキテクトゥス・オリザスのように振る舞い、アーキテクトゥス・リローダスのように振る舞わない場合に最も効果的なアプローチです)。その意味で、私の本はエンタープライズアーキテクチャと大いに関係があります。