アーキテクチャーパターンとは何か
アーキテクチャのためのパターン・ランゲージ
いままでご紹介してきたのは、いずれもシステム開発プロジェクトの後半で設計に利用できるアーキテクチャパターンカタログが中心でした。それに対し、これから紹介するのは、eビジネスに関するシステムを構築する際の一連の流れを有機的に支援することを意図して、そのノウハウの再利用をパターンランゲージとして定義した、IBM Patterns for e-businessです。
単なるパターンカタログではなくランゲージになっているのは、上流から下流へとシステム分析・設計のプロセスに即して有機的にアーキテクチャにかかわるノウハウが構造化されているからです。ビジネス目的の分析から適切なビジネスパターンの組み合わせを選択し、それらに適したアプリケーションパターンを用いて論理アーキテクチャを設計し、それを実現するためのミドルウエアやインフラの物理アーキテクチャのしくみを、ランタイムパターンを用いて検討し、最後にそれらの実装製品の候補を検討する、という具合です(図2-1)。
各パターンは共通のテンプレートにしたがって記述され、「ビジネス要件およびIT要件」「コンテキスト」「ソリューション」「メリットと制限事項」「パターンの使用例」「次のステップ」から構成されます。
特に「ビジネス要件およびIT要件」をしっかり分析し、適切なビジネスパターンとそれを実現するアプリケーションパターンの候補を選択するためのナビゲーションがうまく考えられているところに、このパターンランゲージの経験知が凝縮されています(図2-2)。
■eビジネスパターンの使い方
基本的には次のような手順でこのパターンランゲージを利用します。
(1)開発中のアプリケーションのニーズに合ったビジネスパターンを選択します。
(2)アプリケーション固有の機能をインプリメントできるアプリケーションパターンを選択します。
(3)ランタイムパターンを検討して、ソリューションのシステム要件を満たすパターンを選択します。
(4)上記のパターンから選択できるミドルウエアやインフラ構成を検討して、ステップ(3)で選択したランタイムパターンに正常に使用可能な製品へマッピングします。
ビジネスパターンの組み合わせ構造
基本的なビジネスパターンには次の4種類があります。
・B1:セルフサービス(ユーザー/ビジネス間またはU2B)パターン
内部および外部ユーザーが企業のトランザクションおよびデータと対話するようなしくみです。
・B2:コラボレーション(ユーザー間またはU2U)パターン
ユーザー間の対話とコラボレーションを扱い、共通の目標を達成するために共同作業する必要があるチームをサポートするしくみです。
・B3:情報集約(ユーザー/データ間またはU2D)パターン
複数のソースから統合されたデータをユーザーがアクセスおよび操作できるようなしくみで、大量のデータ、テキスト、画像・動画などの中から役立つ情報を抽出する機能を含みます。
・B4:拡張エンタープライズ(企業間取引またはB2B)パターン
異なる企業におけるビジネスプロセス間の対話およびコラボレーションを扱い、プログラムのインターフェースを実装して企業内アプリケーションに接続するシステムが典型です。
これらの4つの基本ビジネスパターンは組み合わされて使われることもありますが、その際、ユーザーから見てアクセスを共通化したいとか、システム提供側から見てデータやロジックを共通化したいなどという要求が当然発生します。そこで、次の2つの統合ビジネスパターンが用意されています。
・I1:アクセス統合パターン
複数のチャネルやデバイスからのアクセスを可能にし、また一貫性のあるユーザー・インターフェースをサポートします。
・I2:アプリケーション統合パターン
複数のアプリケーションやデータの統一的な利用をサポートします。
そして通常のシステムは、複数の基本ビジネスパターンおよび統合ビジネスパターンの組み合わせをカスタマイズして利用することになります。世の中の多様なWeb利用の仕方から標準的な組み合わせを取り出します。さらに、世の中の多様なWeb利用の仕方から標準的な組み合わせを取り出したものも用意されており、コンポジット・ビジネスパターンと呼ばれています。代表的なコンポジット・ビジネスパターンには、「電子商取引」「eマーケットプレイス」「ポータル」「アカウント・アクセス」などがあります。実際にはこれらのコンポジット・ビジネスパターンをさらに組み合わせたりカスタマイズしたりして、複雑な実際のシステムが構成されることになるでしょう。