» 【第58号】DOAの4世代

株式会社データ総研 データ総研のオンサイト教育
製品案内 DMBOK ITコンサルティングサービス ITコンサルティング事例 紹介セミナー 教育コース 技術情報 DRIブログ 会社概要
技術情報
【第58号】DOAの4世代

DRI通信58号「DOAの4世代」2001.7.1
先日大阪のある小規模のユーザ企業を訪問しました。「4年前にDOAによる
基幹系再構築を行った結果、ぐちゃぐちゃなシステムがすっきりとした。当
時メンバーが14名いたが、決算のときは何日もかかり、徹夜したり大変だっ
た。今やリストラで4名に減らされたが、決算時も20分で片付くなどうまく
いっている。95%はDOA化し、新しい課題に取り組んでいる。システム開
発とはDOAをやることだと説明している」とのこと、大変うれしく思いました。
さて今回は、1985年登場以来、マスコミや多くの人によって「利用」され、
いろいろな意味を持つようになったDOA(Data Oriented Approach)を4世
代に分けて解説してみたい。
和製略語DOAは1985年、堀内一氏(当時日立製作所、現在東京国際大学)
が日経コンピュータ誌上で使い始めたものと記憶するが、RDB、CASEツ
ール、クライアント/サーバーなどの流行に乗って、一時はかなり騒がれた。
しかし成功したところは「当たり前のことではないか」、また失敗したところは
「難しい、自社には合わない、次の流行はXXだ」として、流行3文字略語の
地位を失っていったもののように見える。なおDOAは、Dead On Arrival の
意味で使われてきたため、英語圏では一般にData Centered Approach という
ようであるが、略語でなくData Oriented Approachとの用例は見たことがある。


■DOA第1世代
第1世代はやはりRDBのテーブル設計を主目的としたものと言えよう。基本
的に1分野のアプリケーションを対象に、ある特定の物理環境の基で開発され
る、比較的小規模なプロジェクトに多く見られる。ERモデル図は作られるが、
方法論、標準化、ドキュメンテーション、プログラム開発言語などは、開発者に
任される。開発だけが念頭にあって、保守への考慮が不足し、悪くするとドキ
ュメントがなく使い捨てとなる場合すらある。
対象とする一分野しか念頭にないため、組織・顧客・商品などのリソースデー
タはその分野の見方「偏見」を持ったものとなり勝ちである。一般にERモデ
ル図にレイアウトルールはなく、担当者任せとなる。クライアント/サーバー
環境のもとに、ユーザが開発した場合に多発したもののようである。
■DOA第2世代
RDBのテーブル設計を主目的とする点は、第1世代と同様であるが、いくつ
かの分野に跨る大規模システム−多くの場合、営業・生産・物流・会計などを
含む基幹系システム−を対象にする点が異なる。ただし物理環境は同種で、メ
インフレーム・DB2とか、UNIX・ORACLEとか一つに限定される。
方法論、標準化、ドキュメンテーション、プログラム言語・CASEツールな
どが一応規定され、素朴ながらデータ管理(DA)組織が作られる。分野をま
たがってデータの流通を図るため、完全ではないがリソース系DBが独立する。
データモデル図にレイアウトルールがあると、これが促進されやすい。
開発の当初は実装独立で進められても、物理環境が同種なため、詳細化の過程
で、実装従属になり、メタデータはソフトウエアリポジトリの中にストアされ
ることになる。このため保守工程は、実装独立まで立ち戻らず、ソフトウエア
をどう手直しするか、すなわち物理差分メンテの方式となる。
度重なる物理差分メンテにより、ソフトウエアが継ぎ接ぎだらけとなるにつれ、
リポジトリおよびドキュメントのメンテが追いつかず、ソフトとの乖離が増大
し、保守生産性が劣化する。そこでついには実装独立に立ち戻るための再構築
が叫ばれるようになる。どうも保守と開発との違いは、規模の違いもあるが、
物理差分メンテか実装独立に立ち戻るかにあるもののように見える。DAは広
い視野から的確な判断をするため、極めて重宝がられ、重要プロジェクトに引
き抜かれやすく、折角できたDA体制が、崩壊する場合も少なくない。
1980年代から始まった大規模DOA/IRMには、このケースが多い。
開発生産性アップをねらって、CASEツールが多用されるが、それは一般に、
ステップ数は少なくても、一種のプログラム言語により順次的にHOWを記述
する方式である。
■DOA第3世代
この段階の特徴は、実装独立の業務モデル(BM)の世界と実装従属のソフト
ウエア(SW)の世界をはっきりと分け、かつ紐づけることである。このため物
理環境が、メインフレーム(それもIMS、VSAMなどを使ったレガシー)
や、UNIX、Windows、インターネットなど種々混在しても、データ
流通上特に困ることはない。
ユーザ要件は、たとえ小規模な変更で対処できる場合でも、必ず業務モデルに
立ち戻って受け止めるので、保守と再構築との差はなくなる。すなわち毎日の
保守が再構築となり、保守生産性の劣化が発生しない。このためには業務モデ
ルとソフトウエアを分離しかつ連携するリポジトリが不可欠であるが、昨年秋
BIT社および弊社が共同開発し発表したTHeRepositoryは、まさにこれをね
らったものである。
現在はレガシーシステムについて業務モデルを復刻可視化し、ソフトウエアと
の紐づけを始めている段階であるが、ツールの整備、および今後企業情報シス
テムの保守運用を一括で請けるアウトソーシング時代の到来とともに、実現が
本格化するものと期待される。なおアウトソーシングに際して、ユーザ企業は、
空洞化を心配しなければならないが、これは業務モデルリポジトリおよびリソ\nースデータ(これをデータインフラと呼んでいる)の管理を担当することによ
って解決できる。
CASEツールを活用する点は、第2世代と同様であるが、加工・加工元デー
タの関係および加工ロジックが、データモデリングの中で、データ定義の一環
として記述されるようになる。このためデータモデル図上で、結合、要約、抽
出、加工などの処理をトレースすることが必須となり、加工データ整合性が、
参照整合性と同様に、物理的仕掛けはさて置き、明確に規定されることになる。
なおチェックデータも広義の加工データとして扱われる。これらを活用して、
比較的扱いやすい参照系について、WHATを規定するだけのプログラムレスが
実現する。
■DOA第4世代
この段階になると、更新系を含めて「ほぼ」プログラミングレスが実現される。
業務モデルを記述した業務モデル(概念)リポジトリと物理ファイル構造や物
理IO仕様を記述したソフトウエア(物理)リポジトリを参照しながら、事前
に用意された「汎用エンジン」プログラムが入力処理および出力処理を裁くか
らである。
結合、合計、平均、在庫更新などにより作られる定型的加工データは、加工デ
ータを分類するデータ機能コードだけから「汎用エンジン」により生成するこ
とができる。製造原価など不定形加工データは、SPF(Schema Process flow)
チャートで記述されるが、これを解析するロジックを用意するよりも、これに
基づいてプログラムを作成し、Stored Procedure機能などを用いて、これを起
動する方が得策となりそうである。この場合は不定形加工データに関してのみ
プログラミングが行われるが、そのボリュームは現状の5%以下になるものと
思われる。「ほぼ」プログラミングレスと形容詞を付加したのはこのためである。
「汎用エンジン」はインタープリーティング方式としたいが、当初はジェネレ
ータ方式の方が実現しやすいかもれない。これについての基本設計は以前より
ほぼできているが、開発資金を集めるためにはデモが必要と、弊社では現在プ
ロトタイプを作成中である。
■まとめ
以上のDOA4世代は、ほぼ次の表のように整理することができよう。
DOA世代 1 2 3 4
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
データモデル SW SW BM/SW BM/SW
アプリ数 1 n n n
リソース共用 なし あり あり あり
IRM指向 なし 不完全 あり あり
物理環境 同種 同種 異種 異種
標準化 なし 不完全 あり あり
ドキュメント 担当任せ SWリポ BMリポ BMリポ
+文書 +SWリポ +SWリポ
メンテ方式 物理差分 物理差分 本質 本質
プログラム開発 担当任せ CASEツール CASEツール ほぼ無し
注)BM:業務(BUSINESS)モデル、SW:ソフトウエア
これを見ると第1世代から第2世代を終了するまでの間に非常に大きな壁があ
ることが分かる。第2世代になるとシステムが大型化し、標準化が不可欠にな
るが、これは技術問題というより、異なった分野の人々の間でのコンセンサス
という人間問題が発生する。特に船頭の多い大会社ではトップが動かなくては
ならないので難しい。トップは、人・物・金と同様、分割でやれると思ってい
たり、情報問題は苦手で腰が引けていたりするからである。
なおDFDを書くことをもって、DOAと言う場合もあるようであるが、DFD
はノードで処理を、線で情報/データを表すPOA(プロセス中心アプローチ)
系のドキュメントであり、ここでの第1ないし第4世代からは除外して考える
べきものであろう。
一つ「我が社は今どのレベルのDOAにあって、どのレベルに進化しようとし
ているか」自己診断をお勧めしたい。