各模块核心类注记¶
承接 [[entity-base-hierarchy]](基类)、[[form-field-hierarchy]]、[[workflow-node-hierarchy]]、[[dao-process-mechanism]]:core 之外的模块多数直接消费 core 的体系,自身继承面很小。本文只记**各模块真正有继承/机制含量的核心类**,其余从略(完整类清单可随时从
.entity-scan重生成)。
obpm-common(底座)¶
| 核心类 | 作用 |
|---|---|
Environment |
全局单例:存储根路径解析(myapps.storage.root)、workspace 路径、license 校验;所有主类启动第一步 Environment.init(args) |
ValueObject / DesignTimeSerializable / FileSystemDesignTimeSerializable |
两条继承主线的根(见 [[entity-base-hierarchy]]) |
FeignConfig |
Feign 双形态适配(微服务 lb:// 与 Lite 直连)的配置键所在 |
obpm-runtime / obpm-designer(壳服务)¶
实体极少(17/2 个)。runtime 的 report.examples.* 11 类是 DynamicReports 演示样例,非业务实体。机制重量都在 core:两个服务本质是"core + 启动类 + 配置"的部署壳(见 [[../service-discovery-variants]])。runtime 侧 feign/KmsApi、feign/NoticeApi 为跨服务调用([[../module-dependency]] §3)。
obpm-usercenter(用户体系,hbm 旧体系)¶
| 核心类 | 机制 |
|---|---|
UserVO / DepartmentVO / DomainVO(+ 同名 PO) |
VO↔PO 双层:PO 配 *.hbm.xml(Hibernate 旧映射,14 个),VO 承载业务;ObpmSystem extends UserVO 内置超管 |
AccountPO |
登录凭证独立于用户档案(T_ACCOUNT 与 T_USER 分离) |
obpm-signon(认证)¶
Account / Domain / User 三个 JPA @Entity 映射**与 usercenter 相同的物理表**——认证服务只带最小字段集读同一份数据,两模块共表不同视角。
obpm-kms(知识管理,JPA 新体系代表)¶
| 核心类 | 机制 |
|---|---|
FileObject(@MappedSuperclass) |
文件/文件夹共表抽象:公共字段 + FileObjectId(ID+VERSION 复合主键)嵌入 |
FileEntity / FolderEntity |
共表 KMS_FILEOBJECT,靠 TYPE 鉴别列区分(见 [[entity-base-hierarchy]] §3 图) |
FileObjectId |
JPA @EmbeddedId 复合主键——版本化存储(VERSION 列)使文件历史成为一等公民 |
obpm-message(消息中心)¶
现行仅 mc_notice(工作事项提醒,JPA Notice)。mc_message / mc_notification / mc_comment 及一对多扩散模式已于 2026-08-16 下线,见 变更文档。
obpm-ai¶
ai_system_prompt / ai_chat_memory JPA 实体;后者按 memory_id + message_index 组织会话消息,供 LangChain4j ChatMemory 持久化。
小模块¶
| 模块 | 核心点 |
|---|---|
| obpm-manager / obpm-converter / obpm-logger / obpm-gateway / obpm-upgrade | 各 1–2 实体,无继承机制;logger 的 T_LOG、gateway 的路由配置见 [[../backend-architecture]] |
| obpm-report | OlapResult 等封装 mondrian OLAP 结果的 DTO;ureport3 源码内嵌为独立模块 |
| obpm-job | 无实体(任务定义在 core runtime.scheduler:TriggerVO 等;workspace .task 文件经 IscriptTaskJob 调度) |
模块间继承视角总图¶
flowchart TD
COMMON["obpm-common<br/>ValueObject · DesignTimeSerializable · Environment"]
CORE["obpm-core<br/>FormField/ValueStoreField · Node/Relation · RT 三剑客<br/>Abstract*DAO · *ProcessBean"]
UC["obpm-usercenter<br/>UserVO/PO (hbm)"]
SIGNON["obpm-signon<br/>JPA 共表 T_USER"]
KMS["obpm-kms<br/>FileObject @MappedSuperclass"]
MSG["obpm-message · obpm-ai<br/>JPA 独立表"]
RT["runtime · designer · manager · job …<br/>壳服务:消费 core 体系"]
JPA["Hibernate/JPA 引擎<br/>(ddl-auto=update)"]
COMMON -->|基类| CORE
COMMON -->|Environment| RT
CORE --> UC
UC -. 共表 .- SIGNON
KMS --> JPA
MSG --> JPA
CORE --> RT
总结:core 内两大继承树(FormField 系、Element/Node 系)+ 两套工厂(DAO 分库、Process 门面)承担了全部机制复杂度;usercenter 是 hbm 旧体系孤岛;kms/message/ai 是 JPA 新体系;其余模块是部署壳。