エンタープライズシステム開発のアンチパターン「スーパーセット地獄」

2009年5月22日

「スーパーセット地獄」というのは、ドイツの企業AOK Systemsのアーキテクト Thorsten Franz氏が、ブログ「Notes from the Ivory Tower Part 5: Enterprise Software Anti-Pattern "Superset Hell"」で示している、やってはいけないエンタープライズシステム開発としてのアンチパターンの1つ。

このスーパーセット地獄に堕ちると、ソースコードはIF文のジャングルとなり、構造は複雑になりすぎて説明できなくなり、なぜそうなっているのかと関係者に聞くと「歴史的経緯によってこうなっている」という答えが返ってきて、メンテナンスが困難になる。という恐ろしいものだと、Franz氏は解説しています。

こういう状況、いろんなところで発生してはいませんか?

Franz氏のブログを参考に、なぜスーパーセット地獄への不幸な道のりが始まるのか、簡単に紹介しましょう。

ビジネスパートナーを管理するための業務アプリケーションを設計することになりました。このアプリケーションを中心として、他のさまざまなアプリケーションが連携する可能性があります。それらの要件をまとめたところ、次のような要件が寄せられました。

  • 人事部からはパートナーの「名前」「収入」「登録日」のデータが必要
  • CRMからは「名前」「営業担当」「担当地区」」のデータが必要
  • 財務部からは「名前」「債務状況」のデータが必要

この要件を、中心となる業務アプリケーションでアプリケーションですべて満たそう、というアーキテクチャを採用したときに、「スーパーセット地獄」が始まるというのです。実際には、アプリケーション横断的なコアコンポーネントは共通部分だけを提供するサブセットで設計すべきだと、Franz氏は説いています。

そしてスーパーセット地獄に進まないためのアドバイスとして、アプリケーション横断的なコンポーネントでは、各アプリケーションの要求が重なる部分の機能を提供することをいちばんに挙げており、続いて技術的な純粋さを追求する、といったことを挙げています。

あわせて読みたい

業務アプリケーション システム開発




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本