ビジネスパターンによるモデル駆動設計(書籍紹介)
先日社内(マイクロソフト)のアーキテクト エバンジェリストである野村さんから、表題の書籍を頂きましたので紹介をさせていただきます。
「ビジネスパターンによるモデル駆動設計」は、Pavel Hruby 氏の著作で、端的にはビジネスアプリケーションにおけるパターンカタログ、です。この書籍の中で Hruby 氏は 「REAモデル」(Resource, Event, Agent (リアと発音))と呼ばれる ”メタ パターン” ともいえるモデリング技法を提唱し、この REA に基づくパターンを紹介しています。で、この REA モデルでは、アプリケーションの要素を Resource(希少なもので、増加、もしくは減少します。お金や材料、労働力などが代表)、Event(リソースの増加、もしくは減少を表す概念です。商品販売や生産などが代表)、Agent(経済リソースを制御する主体です。たとえば企業や、顧客などが代表)に分割し、これら3者の関連をもって、経済活動をモデリングすることになります。
このREAの秀逸なところは、REAを使用することによりビジネスモデル、つまりはビジネス参加者によるお金やサービスのやり取りが「バリューチェーン」として、REAのモデルと一貫性のある形で「わかりやすく」示すことができる点だと考えます。
つまり、通常のモデリングでは(その意味では「REA」でのモデル図も残念ながらその対象に含まれると考えます)さまざまな情報を集約する必要があるため、顧客サイド(いわゆるドメイン エキスパート)にとって、最終的なモデルを確認しづらい、という問題がありました(あるいは、ユースケース等を粒度を調整しながら用いる、というのもありますが、その場合、クラス図とユースケースの間での一貫性が、明示的にはとることが難しいという問題があります。つまり、モデル駆動で行う場合にツールの支援を受けるとしても、このクラス図とユースケースの間での整合性を自動的にチェックするにはまだ課題が多くあると考えます)。
しかしながら、REAの考え方を適用すると、「あるエージェント」に関するイベント発生時のリソースの動きを非常に単純なモデルとして(したがって、ドメイン エキスパートにも理解容易な形式で)提示することが可能になり、システムにおいて根幹となるビジネス モデルの確認を確実に進めることができるのです。
しかも、イベントやリソースの関連は、REA のモデリングと一貫性があるため、支援ツールがあればビジネスモデル(バリューチェーン)からREAモデルのひな型を生成したり、REAモデルから最終的にシステムが前提としているビジネスモデル(バリューチェーン)を提示することが可能になります。
この書籍に書かれている内容に関しては、野村さんが以下の発表を行っていますので、ご興味ありましたらぜひご参照ください。
https://www.ipa.go.jp/jinzai/itss/activity/ITA/2006/ITA2006_RA.pdf
(「ビジネスドメインオントロジーによるモデル駆動設計」です)
また、書籍に関しては下記リンクにて紹介ページがあります。
https://ec.nikkeibp.co.jp/item/books/C05700.html
よろしければ書店にてお手に取ってください。
それでは。
Comments
- Anonymous
October 15, 2007
開発者向けの無償のセミナーである MSDN オフラインにて、「ビジネスアプリケーション設計を変革するモデリング技法 (REA) 」というセミナーが開かれます。 これは 先日紹介させていただきました書籍「ビジネスパターンによるモデル駆動設計」