かとじゅんの技術日誌

技術の話をするところ

ビジネスモデリングで考えること ー基礎編ー

DDDとかの抽象度の高い話はなかなか分かりずらいという方もいると思うので、以下の書籍で扱っているビジネスパターンでのモデリングも併せて考えていきたいと思います。
私もまだ勉強不足というものあるし、チャレンジングな試みなので途中でヘタれるかもしれませんが、、、頑張りたいと思います。お付き合いいただければ幸いです

ビジネスパターンによるモデル駆動設計

ビジネスパターンによるモデル駆動設計

登場人物

とりあえず、今回は登場人物だけ把握しましょう。
まず、本書で主軸に掲げているREAとはなんでしょうか。
REA = Resource, Event, Agentの略で、本書では経済リソース、経済イベント、経済エージェントと表現しています。実際には下図のように契約(Contract)とコミットメント(Commitment)も含まれます。これらの概念は、ほとんどのビジネスアプリケーションに登場するので、覚えておくとよいかもしれません。

経済リソースとは

経済リソースは希少なものであり、経済エージェントにとって役に立つものです。また、ビジネスアプリケーションのユーザーにとっては、計画、監視、制御したい対象です。

例えば、製品やサービス、お金、原料、労働力などを指します。

経済エージェントとは

経済エージェン卜とは、経済リソースを制御でき、他の個人や組織に制御を移転したり、他から管理を受けたりする個人もしくは組織のことです。

例えば、顧客やベンダー、従業員、企業などがあります。

経済イベントとは

経済イベントは、企業が制御する経済リソースの価値の増加または減少を表すものです。

例えば、商品の販売や購入など即時発生的なものや、レンタルや労働力の取得、サービスの提供など継続的に発生するものも含まれます。

コミットメン卜とは

コミットメン卜は、ある経済イベントを将来実行する、という経済エージェントの約束または義務です。

例えば、受注の明細品目は、商品を販売するというコミットメントを表しています。

契約とは

契約は、増加および減少コミットメントと規約の集まりです。
規約によって指定される条件に基づいて、契約はさらにコミットメントを作り出す可能性があります。したがって、コミットメントが履行されなかった場合にどうなるかを契約で指定することができます。

例えば、受注は”商品を売って代金を得る”というコミットメントを含まれた規約です。仮に商品や代金の支払が履行されなかった場合に、ペナルティの追加コミットメントを指定することができます。

次回のエントリ(まだ先になる)では、これらのモデル間の関係を見ていきたいと思います。