作成日: 2026-03-29 / 作成者: SAS-Sasao
flowchart TB
subgraph actors[" "]
SALES["営業担当者"]
CUSTOMER["顧客企業 BtoB"]
ACCOUNTANT["経理担当者"]
end
subgraph external["外部システム"]
EXT_ACCT["会計システム 仕訳・売掛金連携"]
EXT_LOGI["物流システム 配送指示・追跡"]
EXT_PAY["決済サービス 口座振替・銀行API"]
end
subgraph system["BtoB販売管理システム"]
UI["販売管理UI [React SPA]"]
APIGW["API Gateway [Amazon API Gateway + ALB]"]
subgraph monolith["モジュラモノリス [Spring Boot / Kotlin on ECS Fargate]"]
subgraph row1["Core Bounded Contexts"]
CUST["顧客管理 BC:Customer 顧客マスタ・与信管理"]
ORDER["受注管理 BC:Order 見積・受注登録・承認"]
PROD["商品管理 BC:Product 商品マスタ・価格管理"]
end
subgraph row2["Supporting Bounded Contexts"]
INV["在庫管理 BC:Inventory 在庫照会・引当管理"]
SHIP["出荷管理 BC:Shipping 出荷指示・配送追跡"]
BILL["請求管理 BC:Billing 請求書作成・入金管理"]
end
subgraph shared["Shared Kernel"]
EVT["イベントバス [Amazon SQS] ドメインイベント非同期伝搬"]
AUTH["共通基盤 認証Cognito・認可・監査ログ"]
end
end
subgraph data["データストア"]
RDS[("Amazon RDS [PostgreSQL] Schema-per-Module分離")]
REDIS[("Amazon ElastiCache [Redis] セッション・在庫キャッシュ")]
S3[("Amazon S3 帳票PDF・添付ファイル")]
end
end
SALES -->|見積・受注| UI
CUSTOMER -->|発注・納品確認| UI
ACCOUNTANT -->|請求・入金| UI
UI --> APIGW
APIGW --> ORDER
APIGW -.-> CUST
APIGW -.-> PROD
ORDER --> CUST
ORDER --> PROD
ORDER -.->|出荷指示| SHIP
ORDER -.->|在庫引当| INV
SHIP --> INV
SHIP -.->|納品完了| BILL
BILL --> EXT_ACCT
SHIP --> EXT_LOGI
BILL --> EXT_PAY
EVT --> RDS
AUTH --> REDIS
BILL --> S3
BtoB向け販売管理システムの概要アーキテクチャ。DDD(ドメイン駆動設計)の思想に基づき、 6つの境界コンテキスト(受注・顧客・商品・在庫・出荷・請求)をモジュラモノリスとして構成。 モジュール間はドメインイベント(Amazon SQS)による非同期通信とInternal APIによる同期照会で連携し、 将来のマイクロサービス移行に備えたSchema-per-Module分離を採用。 AWSクラウド上にECS Fargate、API Gateway、RDS PostgreSQL等で構築する。
| C4レベル | 要素 | 種別 | 説明 |
|---|---|---|---|
| L1 Person | 営業担当者 | Person | 見積・受注の作成を行う |
| 顧客企業 (BtoB) | Person | 発注・納品確認を行う | |
| 経理担当者 | Person | 請求・入金管理を行う | |
| L1 External | 会計システム | External System | 仕訳データ・売掛金の連携先 |
| 物流システム | External System | 配送指示・追跡情報の連携先 | |
| 決済サービス | External System | 口座振替・銀行API経由の決済処理 | |
| L2 Container | 販売管理UI | React SPA | 受注ダッシュボード・在庫照会・請求管理画面 |
| API Gateway | Amazon API Gateway + ALB | 認証・レート制限・ルーティング | |
| L3 BC Module | 受注管理 (Order) | Bounded Context | 見積・受注登録・承認・ステータス管理(中核ドメイン) |
| 顧客管理 (Customer) | Bounded Context | 顧客マスタ・与信管理・取引条件管理 | |
| 商品管理 (Product) | Bounded Context | 商品マスタ・価格管理・カテゴリ管理 | |
| 在庫管理 (Inventory) | Bounded Context | 在庫照会・引当管理・入出庫管理 | |
| 出荷管理 (Shipping) | Bounded Context | 出荷指示・配送追跡・納品管理 | |
| 請求管理 (Billing) | Bounded Context | 請求書作成・入金管理・売掛金管理 | |
| Shared Kernel | イベントバス | Amazon SQS | ドメインイベントの非同期伝搬・CQRS対応 |
| 共通基盤 | Cross-Cutting | 認証(Cognito)・認可・監査ログ・例外ハンドリング | |
| L2 Data | Amazon RDS | PostgreSQL | Schema-per-Moduleでモジュール毎にスキーマ分離 |
| Amazon ElastiCache | Redis | セッション管理・在庫キャッシュ | |
| Amazon S3 | Object Storage | 帳票PDF・添付ファイルの保管 |
Generated by /company-drawio — draw.io MCP Server