夜雨聆风学习资料网

ARTICLE · 1119319

【软件架构系列1-本体】本体架构在软件体系结构中的角色定位

【软件架构系列1-本体】本体架构在软件体系结构中的角色定位

伴随着本体论应运而生的“本体架构”,在现有的软件体系结构中处于什么角色,与其它架构怎么协同。

本次咱们一起聊聊:本体架构没有顶替任何一张现有架构图,它新增的核心,就是业务架构和数据架构之间这层语义。

一、先说一下背景:信息系统,天生围着数据转

《持续架构》关于数据有这样的表述:信息系统是为处理数据而存在的,迄今为止开发的每项技术的目的,都是为了保证更高效地处理数据,任何软件系统都需要以数据为中心来考虑基本架构。

数据怎么升级成智慧,我们用DIKW金字塔来画,自底向上依次是:数据-》信息-》知识-》智慧。

可问题在于:处理数据只是前提,不等于处理完了就懂业务。数据在库里躺着,系统在跑着,但“这条数据到底意味着什么、这两条数据能不能放在一起比”,得有一层东西去解释。这一层,正是本体的核心价值。

二、一句话讲清楚本体在架构图体系中的定位

把三张架构图并排摆开,分工就清晰了。业务架构定义业务世界有什么、做什么、规则是什么;本体架构是业务架构的机器可读、可推理语义投影;数据架构定义业务事实怎么存储、清洗、流转、落地。

本体正好处于业务架构与数据架构之间,是一个独立的“知识语义架构层”。它不属于传统架构域,既不算业务架构,也不算数据架构,而是独立的一层。

三、三层怎么分工协作:业务面向人,本体面向机器,数据面向存储

先看职责边界。

业务架构面向人,解决业务定义、流程、能力、业务规则,产出是业务流程图、业务词典和自然语言业务规则。它的短板也很明确:存在歧义,没法机器推理,没有严格逻辑公理。

本体架构(TBox+ABox)面向机器语义与逻辑,把业务规则形式化。TBox管类、继承、属性、关系以及OWL公理(传递、互斥、基数约束);ABox存业务实例事实和推理派生事实。它独立于数据库、可跨系统融合、支持自动推理。

数据架构面向数据落地存储,解决数据怎么存、怎么管、怎么加工。往下再拆,就是大家熟悉的CDM(概念数据模型,面向业务)、LDM(逻辑数据模型,面向数据架构师)、PDM(物理数据模型,绑定具体数据库)。

三层之间驱动关系环环相扣:

•自上而下,业务架构先定规则,再经本体语义建模,最后驱动数据建模落地;

•自下而上,存量数据暴露出问题,本体在校验中发现矛盾,反向修正业务认知;

•中间靠语义映射(Schema+Instance)把语义层和物理数据解耦,两边改动互不牵连。

这里有三个最容易踩的坑:

•本体只抽象静态概念与规则,不含流程、组织、权责。把它当业务架构,是理解偏差;

•CDM为建表服务,本体为推理与语义统一服务。把本体当CDM,功能对不上;

•本体不替代数据架构,更不替代数据库。它是在数据底座之上加一层,不是把底座换掉。

四、跟业务系统共建:两个模型,分开走,谁也别替代谁

本体要落地,离不开和业务系统配合。这里的总原则是:业务系统是权威记录系统(SOR- System of Record),本体是概念语义,它的建模思路追求业务概念无歧义、完备、可推理。二者同步建设、双模型分离、映射解耦、联合评审、互不替代。

最需要警惕的一条红线:把本体TBox直接当成业务事务数据库模型来用。事务、并发、性能会一起崩掉。事务模型和语义模型,永远是两层,逻辑分离,部分可以物理复用。

落地讲究三个铁律:

•事务模型和语义模型,永远分开两层;

•权威写入永远发生在业务系统,本体只读,不直写数据库;

•任何跨模型变更,都要三方联合评审。

五、跟大数据基础库&主题库共生:一个管数据,一个管知识

企业里通常还有大数据。基础库(DWD)贴源清洗明细事实,保留原子记录;主题库(DWS)按业务域汇总成业务专题表。它们都属于数据架构,解决的是数据怎么存、怎么治理、怎么查询。

本体属于知识架构,解决的是另一类问题:数据代表什么含义、有什么逻辑、能推导出什么。

两者的差异,都条都需要重点关注:

•规则形态:基础/主题库靠SQL硬编码和文档备注,本体是机器可执行的形式化公理;

•关系能力:基础/主题库依赖物理外键、要预计算结果,本体能对传递、层级、冲突做自动推理;

•跨源能力:基础/主题库新增一个数据源要重写关联SQL,本体只要加一条映射,公理全局复用;

•世界观:基础/主题库是封闭世界,没有记录就当作不存在;本体是开放世界,没有记录只说明未知,不等于不存在。

六、跟MDM主数据共治:一个收拾“数据乱”,一个收拾“语义乱”

主数据(MDM)和本体最容易让人分不清。换个说法就清楚了:MDM统一实例、统一ID、统一属性值,解决的是“数据乱”;本体统一概念、统一边界、统一逻辑规则,解决的是“语义乱”。

两者是协作关系。MDM主数据是ABox的事实来源;本体把MDM的LDM(Logical Data Model)实体映射成TBox的Class,把字段映射成数据属性,把实体间关联映射成对象属性,再把每一条数据记录翻译成一组三元组断言,形成ABox。

ABox里的断言分两类:

•基础事实断言,来自MDM、业务系统这些可信源,是ground truth,不能被推理篡改;

•推理导出断言,由TBox公理推出来的新事实。

数据流可拆为两条并行能力:

①数据治理链路:多业务源系统→ MDM(主数据 SOR) → 大数据主题库(只读投影,用于批量加工);

②语义框架(前置):业务概念→ 本体 TBox,定义映射规则、业务公理; 

消费侧:语义应用/ AI Agent 发起查询 → 基于 TBox 的映射规则,按需从 MDM / 主题库动态生成虚拟 ABox 断言,经过语义服务编排后返回结果;必要时仅将小范围子集物化 ABox 用于复杂推理(沙箱推理)。

双向赋能。正向是MDM支撑本体,给它干净、唯一、可信的实体ID和属性;反向是本体赋能MDM,帮它发现语义冲突、找出被漏治理的关联主体,还能用图特征提升MDM的查重准确率。

落地仍有一条铁律:本体绝不做实体合并、拆分、身份变更,那是MDM的专属权责;本体的ID必须基于MDM的MasterID,保证全局唯一。

七、本体治理和传统大数据治理是两种玩法

传统大数据治理以数据表、字段、记录为治理对象,业务高阶规则要么靠文档,要么靠SQL硬编码。它的短板很明显:识别不了传递关系,发现不了语义冲突,模型本身的缺陷更是难以自发现——模型就是标准,标准错了,没人知道。

本体治理换了一套基准:以真实世界业务概念、语义、公理为准。业务规则模型化之后可复用、可推理,跨数据源统一校验,不用重复开发SQL。更重要的是,它既能校验数据,也能校验数据模型本身。

一句话点透本质:传统治理问的是数据是否符合模型;本体治理问的是,数据与模型是否符合真实业务世界。

但要强调,本体治理不是来替代传统治理的。它是在清洗、权限、血缘、调度、指标这套既有能力之上,再叠加一层语义治理——统一语义、逻辑推理、冲突挖掘、知识化。

八、业务系统已经定型了,本体还能后补吗

现实里更常见的情况是:业务系统、数据库、数据模型都已经定型,历史脏数据、模型缺陷、口径混乱一并存在,又改不动业务系统。这时候要保证本体贴合真实世界,靠几条硬原则。

TBox忠于真实业务世界,不迁就历史数据库模型。数据库不过是“业务记录副本”,副本有错,本体负责发现,不负责迁就。

正确性靠四层保障兜底:

•TBox语义保真,由业务专家定义真实世界规则,不去反向工程数据库;

•映射层保真,用标准化映射规则隔离业务库缺陷,统一清洗、转换、异常标记;

•ABox实例校验,覆盖语法、语义公理、实体同一性;

•推理一致性校验,做闭环测试、冲突检测、循环关系检测、版本比对。

出了问题就按三级归因定位:TBox定义有问题,改语义模型;映射翻译有问题,改映射规则;源数据业务有问题,走工单回流业务系统去修。

九、业务说不清,谁来抽象本体

说到底,本体难不在技术,难在业务概念抽象。数据治理是整理已有的数据,本体治理是定义业务世界的规则,难度完全不在一个量级。

这件事靠一个人扛不动,需要四个角色各管一段:

•域业务首席专家,是语义立法者,负责定义概念、边界、规则、裁决冲突;

•本体架构师,是语义翻译官,把业务自然语言转成OWL公理模型;

•数据治理专家,负责衔接MDM、数据质量、工单体系;

•业务架构师,负责跨域概念协调。

落地要务实,别一上来就憋大招:不做全域大本体,只做窄域增量本体;先试点规则清晰、价值高的域,比如企业关系、主数据分类;把规则分成:可形式化、复杂例外、待收敛三类,不强求完美;能复用的行业标准本体就用,别重复造轮子。

必须承认一条底线:本体解决不了业务本身的认知混乱。业务说不清,本体一定烂尾;业务能达成共识,本体才能固化下来、可机器执行、可长效治理。

十、几种架构的融合视角 

把这几张架构图合起来看,答案就清楚了。业务架构定意图,MDM定实体身份,大数据平台定数据存储与加工,本体定业务语义与逻辑规则。四套体系各司其职、双向赋能,最终想实现的,是数据可信、语义统一、规则可执行、关系可穿透、问题可自发现、知识可智能化复用。

判断一家企业要不要上本体,先别问它热不热,先看一个信号:数据已经堆起来、系统也跑起来了,可同一件事在不同系统里口径对不上,业务规则散落在文档和SQL里,机器看不懂。这时候缺的,往往不是更多数据,而是把“业务怎么说”翻译成“机器能计算和推理”的那层语义。

九篇分篇规划:

篇次

篇名

定位

核心内容(一句话)

1

软件架构是什么?一文讲清楚

本体架构在软件体系结构中的角色

入门总起篇

六种架构、三层链路:业务定目标、产品转需求、应用搭系统、数据管信息、技术打底座、项目来落地、本体补语义

2

AI时代的架构设计:究竟需要什么样的架构师

定位篇

AI 让架构师价值分化,真正稀缺的是定义问题、驾驭复杂性的架构师

3

架构的本质:围绕业务属性与质量属性的决策集合

本质篇

架构,是在给定约束下,围绕业务属性与质量属性做出的一组关键决策集合

4

架构设计的方法论:从定义问题到化虚为实

方法论篇

讲架构设计的思维过程:四原则、四步思维、模型观与概念分离

5

架构设计的原则与模式

原则篇

给出可执行的设计准则和可参考的模式

6

组织与架构:康威定律与演进式架构

组织篇

架构是组织问题:康威定律、演进式组织实践与大型敏捷

7

架构评估:围绕架构的适应度函数,尽早、反复、持续

评估篇

怎么判断架构好坏:围绕架构的适应度函数,评估金字塔、问题彩虹与评估仪式感

8

架构设计的十大反模式:看起来正确,实则错误

反模式篇

架构设计的“四个坑”与十个常见陷阱现象,以及应对的措施及方案

9

架构师的成长:从方案设计者到AI 系统构建者

成长篇

回扣开篇:沉淀知识资产、成为让AI 基于自己经验运行的架构师

参考书目:

1.演进式架构(Building Evolutionary Architectures)[美] 尼尔·福特(Neal Ford)、[美] 丽贝卡·帕森斯(Rebecca Parsons)、[澳] 帕特里克·柯(Patrick Kua);第2版新增作者普拉莫德·萨达拉奇(Pramod Sadalage)

2.持续架构实践(Continuous Architecture in Practice)[美] 穆拉特·埃尔德(Murat Erder)、[美] 皮埃尔·普约尔(Pierre Pureur)、[英] 伊恩·伍兹(Eoin Woods)

3.架构师修炼之道(Design It! From Programmer to Software Architect)[美] 迈克尔·基林(Michael Keeling)

4.面向模式的软件体系结构(POSA,Pattern-Oriented Software Architecture)[德] Frank Buschmann、Regine Meunier、Hans Rohnert、[瑞士] Peter Sommerlad、[德] Michael Stal(卷1)

5.企业应用架构模式(Patterns of Enterprise Application Architecture,EAA)[英] 马丁·福勒(Martin Fowler)(David Rice、Matthew Foemmel等参与贡献)

6.整洁架构之道(Clean Architecture)[美] 罗伯特·C·马丁(Robert C. Martin,Bob大叔)

7.浮现式设计(Emergent Design:专业软件开发的演进本质)[美] Scott L. Bain(斯科特·贝恩)

8.架构思维:从程序员到CTO郭东白(美籍华人)

9.左耳听风:传奇程序员练级攻略(博文视点出版,陈皓文集)

10.架构的本质(极客时间《许式伟的架构课》)

相关学习资料