ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)

SOAを超えて: 動的な業務アプリケーションのための新しいエンタープライズアーキテクチャフレームワーク

" エンタープライズシステムの運用者と、設計者の間には根本的な違いがあります。これを説明するのに、飛行機の通常オペレーションにおいて最も重要な二人の人物を考えてみましょう。一人は飛行機の設計者で、一人はパイロットです。設計者は、普通のパイロットが操れるように飛行機を作成します。ここで「(飛行機の)マネージャ」と言えば、普通は設計者ではなく、パイロットの方を指すのではありませんか?そして、パイロットが飛行機を動かすのとちょうど同じように、経営者は組織を運営するのです。パイロットが成功するかどうかは、設計者がよくできた飛行機を作ったかどうかに依存しています。一方、経営者が運営する企業は、誰が設計したのでしょう?計画的な成長と安定を達成するために組織をデザインすることには、ほとんどの人が注意を払っておらず、深く考えてもいません。現在の経営管理スクールでは、企業のオペレータを教育しています。企業の設計については、ほとんど注意が払われていません。"

イベントモデル/ライフサイクル – これは、他のモデルが全て構築された後のモデルであり、ビジネスユーザにとっては価値の流れです。プロセスの順序は、製品/サービスのライフサイクルを反映しており、顧客にとっての価値を創造します。技術者にとっては、メインの業務エンティティの状態変更を反映しているのは、連続したイベントです。結果として、イベントモデルは粗結合な要素として働き、設計と実装をより簡単なタスクにします。イベントモデルは他にも重要な役割を演じます。なぜなら、他の四つのモデルはイベントモデルの周りに構築されるので、統合プラットフォームとしても動作するのです。実際のところ、イベントモデルは変化をインプリメントし、階層型で分散されたコンポーネントを作成するための唯一の方法です。
ステートフルモデル – ビジネスユーザに取っては、このモデルはエンタープライズダッシュボードを表現しており、現在のオペレーションの全ての状態を捉えた物です。技術者にとって、それはシステム全体の状態を表しており、全てのライフサイクルインスタンスの現在の状態 - その変化も含め - をまとめた物です。
分散モデル – ビジネスユーザにとってのこのモデルは、メインの製品/サービスをそのライフサイクルの間コントロールしている、様々な組織を捉えたものです。技術者にとっては、メインとなるエンティティが分散モデル上でのみコントロールされると言うことになります。
階層型モデル – 全てのビジネスは、経営のレイヤを表現する階層構造を持ちます。全てのシステム設計は、コントロールの階層がアーキテクチャ上で反映されている必要があります。営業のバイスプレジデントがCEOに対して命令を行えないのと同様、低いランクのコンポーネントは、それより高いレベルのコンポーネントに対して" 命令(コマンド)"を送信することはできません。
ダイナミックモデル – イベントモデルの次に重要なモデルです。ビジネスユーザはこのモデルを用いて、彼らのオペレーションが日々扱う必要のある全ての変化を捉えることができます。前述したように、二つの種類の変化が存在します。顧客からのインプットのように外部的なもの、経営上の決定のように内部的なものです。技術者に取っては、動的モデルは様々なイベント、ライフサイクル、変化の種類にマッチする、プラグインアーキテクチャへと変換されます。