Skip to content
bitzorcas
中EN

Concept

平台支撑与行业扩展模块

选择、组合和验收 17 个平台支撑、连接器、交付与行业扩展模块。

Last updated

支撑模块填补横向体验、合规、主数据和连接器能力,但不会替业务模块拥有业务事实。每个模块现在都有独立手册;本页负责解释它们之间的分工和组合方式。

三类能力,一条依赖规则

业务模块
Identity / Documents / Tickets / ...

通用支撑
Menu / Guidance / Comments / Numbering / MasterData / DocumentStructure

治理与智能
GDPR / AIManage

外部、交付与行业扩展
Announcements / Release / Commercial / License / Connectors / Ops

公开 Contracts 或窄端口

支撑模块通过公开契约提供能力,业务模块仍拥有业务规则。连接器只翻译协议和错误,不能把厂商模型或 SDK 类型泄漏到 Application。

通用体验与共享数据

模块提供典型组合
Menu菜单目录、导航节点、权限关联Authorization 决策可见性,Menu 负责结构
Guidance引导、步骤、用户完成状态Identity 标识用户,业务模块决定何时展示
Comments资源线程、回复、审核通过稳定资源键挂接 Documents、Tickets 等模块
Numbering规则化、并发安全的业务编号业务聚合保存生成结果,不把编号当主键
Master Data国家、语言、汇率、节假日、通用代码提供共享参考值,不接管模块私有枚举
Document Structure文件夹模板、节点、收藏、树形导航Documents 管正文和版本,本模块管组织结构

治理与智能

模块提供上线前必须证明
GDPR同意、数据主体请求、导出/删除编排各业务域仍执行自身数据检索、保留和删除规则
AI ManageProvider、凭据、工作区、会话、消息权限、数据最小化、Secret 管理、模型故障降级与审计

AI 能力不能把“能访问模型”误写成“可以发送任意业务数据”。GDPR 编排也不能绕过聚合所有权直接删除其他模块的数据。

运维、工具与行业扩展

模块边界
Ops Extension事件、死信、CAP 失败消息与支持记录的扩展面
Tool Connectors平台工具调用的协议、认证、限流和转换
Legal Connectors法务外部系统的防腐适配层
Legal Calculators规则引擎、三级回退与法律工作台
Industry Extensions行业专有能力的隔离落点

内容发布与商业交付

模块拥有的事实不负责
Announcements公告生命周期、受众规则与用户已读事实组织成员权威数据、站外通知投递
Release Management发布说明、客户端版本目录、灰度与强制升级决策构建产物、应用商店和部署流水线
Commercial Distribution私有包下载权益与短期 Feed 凭据运行时授权、NuGet Server 与 Credential Provider
License Management许可证申请、四眼复核、异步签名与吊销运行时 License 执行、私钥托管与包下载权益

这四个模块解决的是不同问题。Commercial Distribution 回答“客户能否下载某个包”,License Management 回答“能否签发并撤销运行时许可证”,Release Management 回答“客户端应不应该升级”,Announcements 则负责“哪些用户当前能看到哪条公告”。它们可以组合,但不能共享一套状态字段或相互替代。

一个组合示例:带评论的受控文档

假设产品需要“用户进入文档树,打开文档并发表评论”:

  1. Identity 建立调用者和租户上下文,Authorization 判断访问权限。
  2. Document Structure 返回用户可见的树结构,Documents 返回正文和版本。
  3. Comments 以稳定资源类型与资源标识挂接线程,不反向持有 Document 聚合。
  4. Menu 和 Guidance 只改善入口与上手体验,不改变文档权限。
  5. GDPR 请求到达时,由 GDPR 编排各模块导出或删除自己拥有的数据。
  6. 全链路记录必要审计字段;任何租户或权限不确定性都失败关闭。

选型时先问四个问题

问题选择依据常见误区
谁拥有业务事实?聚合与状态机仍放在业务模块把 Comments、Menu 或 Master Data 当通用业务库
是同步查询还是状态传播?即时决策用窄查询端口,状态变化用版本化事件跨模块直接读表或注入对方 Handler
默认实现失败时怎么办?安全能力 fail-closed,非关键体验显式降级Null Adapter 返回成功导致“假送达”
是否连接外部系统?使用防腐层、稳定错误、超时、幂等和可观测重试把 SDK DTO、异常和 Secret 泄漏到 Application

失败边界

  • Menu、Guidance 和 Comments 不得改变资源授权结果;它们只能消费授权结论。
  • Numbering 生成失败时,业务聚合不能保存一个看似有效的空编号。
  • Master Data 不可用时,调用方必须区分“代码不存在”和“参考数据服务故障”。
  • GDPR 删除是跨域编排,不是跨库级联;每个数据 Owner 返回可审计处理结果。
  • AI 与连接器调用必须在网络边界之外保留业务幂等与重放依据。
  • Ops Extension 记录故障事实,但不能成为 CAP、Job 或 Webhook 的第二状态机。

源码与目录核查

Terminal window
# 支撑/扩展模块均应有独立目录;共享平台项目不应被误计为业务域。
find src/Platform -mindepth 1 -maxdepth 1 -type d | sort
# 在源码仓库执行架构测试,在说明书仓库执行模块事实映射。
dotnet test tests/BitzOrcas.Architecture.Tests/BitzOrcas.Architecture.Tests.csproj --filter FullyQualifiedName~Module
npm run verify:module-source

上线门禁

  1. Host 已注册模块和生产适配器;Null/Unavailable 默认实现不会造成假成功。
  2. 权限、Feature、配置、Seed 与健康检查具有可重复验证证据。
  3. 持久化数据明确租户、软删除、审计、并发与保留语义。
  4. 连接器覆盖超时、取消、幂等、有界重试、限流、Secret 和日志脱敏。
  5. 业务模块与支撑模块之间只使用 Contracts、窄端口或版本化事件。
  6. 单元、集成、契约和端到端测试覆盖正常路径与失败路径。

变更影响审查

  • 新增共享代码值时,先判断它属于 Master Data、模块私有枚举还是配置,避免建立隐性全局字典。
  • 新增资源挂接能力时,同时定义资源类型、稳定标识、租户来源、Owner 查询和删除回调。
  • 更换连接器时,保持 Application 看到的契约、错误码和幂等语义稳定,并用录制契约验证厂商差异。
  • 调整菜单或引导不能成为发布业务功能的唯一开关;运行时 Feature 与授权仍需独立执行。
  • 引入 AI 输出时,把模型结果视为不可信输入,经过验证、授权和人工确认后才能改变业务事实。
  • 修改保留策略时,同时检查业务表、附件、搜索索引、缓存、审计、导出文件与备份恢复副本。

验收报告还应逐模块记录:默认 Adapter 是否可用、生产 Adapter 的所有者、配置/Secret 来源、健康检查、容量预算、数据保留、故障演练时间与回滚责任人。缺少其中任一项,只能标记为“代码可用”,不能标记为“商业 GA”。

返回 36 个模块目录;需要新增能力时继续阅读新增模块指南和模块依赖图。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%