【アーキテクチャ アンチパターン】Stovepipe Enterprise
Stovepipe
- ストーブの煙突.
- その場しのぎのアーキテクチャで構成されたソフトウェアシステムを表す.
- こういったシステムは往々にして保守しにくい.
概要
エンタープライズシステムはそのシステムの階層ごとに設計され,それぞれ作られる. 各階層は以下のように分かれている.
- Standard and guidlines
- Operating environment
- Value-added functional services
- Mission-specific services
これらをシステムごとに別々に選んで作ると,ほかのシステムとは全く独立したシステムができてしまう.
どんな問題が起きる?
- 言語,アプローチ,技術がシステム間で統一されない
- 脆い,モノリシックなシステムアーキテクチャと書類化されないアーキテクチャができる
- ビジネスのニーズに対して拡張性がない
- システム間でなにも再利用できない
- システム間で相互に機能を使えない
- 保守コストがかさむ
- 開発者が離職しやすくなる
どんなときに起きる?
- 標準で参照する例がないとき
- システムプロファイルがないとき
- ※プロファイルとは,標準化により、合意した仕様の部分集合(サブセット)であるか、選択した組み合わせの横顔(profile)の一つである。(wikipedia)
- システム間で協力する意義がないとき
- システム開発プロジェクト間の意思疎通ができてないとき
- 標準技術に関して詳しくないとき
- システムを組み合わせるための,水平方向のインターフェースがないとき
どう解決する?
各レベルにおける基盤的な技術調整を行う.
Layersアーキテクチャを個々のシステムごとにつくるのではなく, 共通化できる基盤技術のオペレーティング環境などは他のシステムと共通化する. yusuke-ujitoko.hatenablog.com