
056
ンポーネントは実行時の論理的な単位と見なす考え方もあります。また、言
語やフレームワークによってはこれらの用語に対して明確な意味が与えられ
ている場合もあります。
コンポーネントやモジュールという用語を目にしたときは、文脈によってそ
れらがどのような意図で使用されているのか注意が必要でしょう。
四つの抽象レベルの具体例
ソフトウェア設計の四つの抽象レベルについて理解を確かめるため
に、具体例で考えてみましょう。ある企業の販売業務を支援するシステ
ムの開発を想定してください。
最も上位レベルのアーキテクチャ設計では、注文、在庫、出荷をそれ
ぞれマイクロサービスとするシステム構成や、サービス間の連携方式を
定めます。また、それぞれのサービスの内部構造としてはレイヤード
アーキテクチャを採用する方針としています(図 2.2.3)。
⹅
図2.2.3
アーキテクチャ設計の例
注文サービス 在庫サービス 出荷サービス
UI層
UI
ビジネス層
統合層
次にモジュール設計です。マイクロサービスアーキテクチャの場合は
その性質上、各々のサービスが一つのモジュールとなるのが基本です。
仮にモノリスとして開発した場合は図2.2.4のように注文、在庫、出荷
がそれぞれモジュールとしてまとめられるでしょう。図はモジュール構
造のみを表現していますが、モジュール間の連携方式(API連携なの
か、メッセージングなのか)なども決める必要があります。