← 一覧に戻る

BtoB 販売管理システム C4モデル(L1/L2/L3)

BtoB販売管理 C4モデル

作成日: 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
    
draw.io XML をダウンロード

概要

BtoB向け販売管理システムの概要アーキテクチャ。DDD(ドメイン駆動設計)の思想に基づき、 6つの境界コンテキスト(受注・顧客・商品・在庫・出荷・請求)をモジュラモノリスとして構成。 モジュール間はドメインイベント(Amazon SQS)による非同期通信とInternal APIによる同期照会で連携し、 将来のマイクロサービス移行に備えたSchema-per-Module分離を採用。 AWSクラウド上にECS Fargate、API Gateway、RDS PostgreSQL等で構築する。

C4レベル構成: L1(System Context)= 利用者(営業・顧客企業・経理)と外部システム(会計・物流・決済)、 L2(Container)= React SPA・API Gateway・モジュラモノリス・データストア、 L3(Bounded Context)= 6つのDDDモジュール(受注・顧客・商品・在庫・出荷・請求)+Shared Kernel

構成要素

C4レベル要素種別説明
L1 Person営業担当者Person見積・受注の作成を行う
顧客企業 (BtoB)Person発注・納品確認を行う
経理担当者Person請求・入金管理を行う
L1 External会計システムExternal System仕訳データ・売掛金の連携先
物流システムExternal System配送指示・追跡情報の連携先
決済サービスExternal System口座振替・銀行API経由の決済処理
L2 Container販売管理UIReact SPA受注ダッシュボード・在庫照会・請求管理画面
API GatewayAmazon 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 DataAmazon RDSPostgreSQLSchema-per-Moduleでモジュール毎にスキーマ分離
Amazon ElastiCacheRedisセッション管理・在庫キャッシュ
Amazon S3Object Storage帳票PDF・添付ファイルの保管

設計のポイント

Generated by /company-drawio — draw.io MCP Server