Skip to content

Bounded Contexts

Target Architecture — Final-State Design

This page describes the final-state bounded-context decomposition of the Marketplace Platform. Each context maps to one or more ConnectSoft.Factory.Marketplace.* microservices and owns a clear slice of the marketplace domain language.

The Marketplace Platform is partitioned into seven bounded contexts. Each context has its own ubiquitous language, owns its aggregate roots and persistence, and integrates with the others only through the canonical event envelope or explicit, versioned APIs. This separation keeps publishing, commerce, compatibility, and installation independently evolvable and independently scalable for multi-tenant load.

Context map

flowchart TB
    subgraph CatalogSearch["Catalog & Search"]
        Cat["MarketplaceCatalogService"]
        Srch["MarketplaceSearchService"]
    end
    subgraph PublishVersion["Publishing & Versioning"]
        Pub["AssetPublishingService"]
        Ver["AssetVersionService"]
    end
    subgraph CompatDeps["Compatibility & Dependencies"]
        Compat["AssetCompatibilityService"]
        Deps["DependencyResolutionService"]
    end
    subgraph Install["Installation"]
        Inst["AssetInstallationService"]
    end
    subgraph Commerce["Commerce"]
        Lic["LicenseService"]
        Price["PricingService"]
    end
    subgraph PublisherCtx["Publisher"]
        Pubr["PublisherPortalService"]
    end
    subgraph Reviews["Reviews"]
        Rev["ReviewRatingService"]
    end

    PublishVersion -->|"AssetPublished / AssetVersionReleased"| CatalogSearch
    PublishVersion -->|"version metadata"| CompatDeps
    CatalogSearch -->|"asset selected"| CompatDeps
    CompatDeps -->|"CompatibilityEvaluated"| Install
    Commerce -->|"LicenseGranted"| Install
    Install -->|"AssetInstalled"| CatalogSearch
    PublisherCtx -->|"publisher identity & trust"| PublishVersion
    Reviews -->|"ratings"| CatalogSearch
    Reviews -->|"reputation signal"| PublisherCtx
Hold "Alt" / "Option" to enable pan & zoom

Context responsibilities

Bounded Context Responsibility Aggregate Roots Microservices Key Events
Catalog & Search Authoritative catalog of marketplace assets and fast, faceted, tenant-scoped discovery and ranking. MarketplaceAsset MarketplaceCatalogService, MarketplaceSearchService AssetPublished, AssetReviewed (consumed for ranking)
Publishing & Versioning Governed submission of assets, immutable semantic versioning, and package release to distribution stores. AssetVersion, AssetPackage AssetPublishingService, AssetVersionService AssetPublished, AssetVersionReleased
Compatibility & Dependencies Evaluating whether an asset version fits a target environment and resolving its transitive dependency graph. AssetCompatibility, AssetDependency AssetCompatibilityService, DependencyResolutionService CompatibilityEvaluated
Installation Applying an asset and its resolved dependencies into a project/tenant with provenance and rollback. AssetInstallation AssetInstallationService AssetInstalled
Commerce Licensing, entitlement checks, and pricing plans via ConnectSoft.Extensions.Saas.Billing. License, PricingPlan LicenseService, PricingService LicenseGranted
Publisher Publisher onboarding, verification, trust tiers, and portfolio analytics. Publisher PublisherPortalService PublisherRegistered, PublisherVerified
Reviews Trustworthy ratings and reviews feeding ranking and publisher reputation. AssetReview ReviewRatingService AssetReviewed

Context relationships

  • Catalog & Search is the read-optimized hub. It is downstream of Publishing & Versioning (new assets/versions appear here) and Reviews (ratings adjust ranking), and upstream of Compatibility & Dependencies (a selected asset triggers evaluation). It follows a Published Language relationship: it consumes the canonical events rather than reaching into other contexts' stores.
  • Publishing & Versioning is the system of record for what exists. It is the upstream supplier to Catalog & Search and Compatibility & Dependencies. Publisher acts as a supplier of identity and trust into this context (Customer/Supplier).
  • Compatibility & Dependencies is a conformist consumer of version metadata; it computes evaluations and dependency graphs but does not own version truth.
  • Installation is the orchestration context. It depends on Compatibility & Dependencies (must pass evaluation) and Commerce (must hold a license) before applying an asset — an anti-corruption layer translates external billing entitlements into the installation domain.
  • Commerce integrates with the external ConnectSoft.Extensions.Saas.Billing foundation through an anti-corruption layer so that marketplace licensing reuses platform billing without coupling the domain model to billing internals.
  • Publisher and Reviews are partner contexts feeding trust and reputation signals across the map.

Mapping to the factory

Each context emits domain events into the shared event envelope, promoted to integration events where they cross platform boundaries (see Events). This lets the Knowledge Platform and Observability & Feedback platforms correlate marketplace activity with the broader factory lifecycle. Naming throughout follows Naming Conventions: services as ConnectSoft.Factory.Marketplace.{Service}, events as NounVerbPastTense, commands as VerbNoun.

Continue to Microservices for the per-service decomposition, or Aggregate Roots for the domain model in each context.