BS ISO IEC 10746——开放分布式处理参考模型标准系列(基础与体系结构)

Information Technology — Open Distributed Processing — Reference Model: Foundations and Architecture(2009 第二版)

🏛️ BS ISO/IEC 10746 是国际标准化组织(ISO)与国际电工委员会(IEC)联合制定、英国标准协会(BSI)采纳为英国国家标准的开放分布式处理(Open Distributed Processing,ODP)参考模型(RM-ODP)标准。本批收录 ISO/IEC 10746-2:2009(基础,Foundations)与 ISO/IEC 10746-3:2009(体系结构,Architecture)两个分部,两者共同为构建可互操作、可移植、可演化的分布式系统提供了概念框架与体系结构规则。英国在该标准制定过程中的参与由技术委员会 IST/15(软件与系统工程)负责,该委员会召集了来自工业界、学术界与标准化机构的广泛代表,其秘书处可提供委员会成员名单。

RM-ODP 诞生于 20 世纪 90 年代初分布式计算蓬勃发展之际:当时 CORBA、DCE、分布式数据库等异构技术并存,系统之间互操作困难,”开放”成为一个可望而不可及的目标。ISO/IEC 与 ITU-T 联合开展研究,最终形成了以多视点抽象为核心、跨厂商跨平台通用的参考模型体系。本系列英文标题中的法文副题 “Traitement réparti ouvert — Modèle de référence” 保留了双语文档的传统,也反映出该标准从一开始就定位为国际通用的元标准(meta-standard)。

💡 RM-ODP 的核心理念是”用多个视点描述同一系统”:从企业、信息、计算、工程与技术五个视点分别刻画系统,从而把复杂的分布式系统分解为可管理、可推理的若干侧面;各视点之间通过一致性规则相互关联,最终汇聚为完整的系统描述。

一、系列概述与定位 📌

开放分布式处理参考模型(RM-ODP)由多部分组成:第 1 部分给出总体概念与框架(Overview),第 2 部分定义基础(Foundations)——即支撑各视点建模的基本概念与形式化定义,第 3 部分规定体系结构(Architecture)——即各视点语言及其相互关系的规则,此外还有导论性文本与一致性声明方面的配套内容。本批收录的第 2、3 分部是 RM-ODP 的核心主体,也是工程应用中最常被引用的部分。

标准号中文标题发布年份核心内容
BS ISO/IEC 10746-2:2009参考模型:基础(Foundations)2009基本概念、对象建模、行为与状态、分布透明性定义、绑定与互操作、形式化语义
BS ISO/IEC 10746-3:2009参考模型:体系结构(Architecture)2009企业、信息、计算、工程、技术五个视点语言,计算模型与工程模型,规范与一致性规则

从标准体系的外部关系看,RM-ODP 处于”元层”:它不直接规定某个具体协议,而是为其他标准与实现提供描述语言与一致性框架。例如,面向对象的分布式中间件、Web 服务、微服务架构等实现都可以用 ODP 的视点语言来描述与对比;ISO/IEC 19500(CORBA)等标准在制定过程中也大量借鉴了 ODP 的概念。理解这一点,有助于读者在浩如烟海的具体技术标准中把握 RM-ODP 的独特地位。

⚠️ 本系列取代并撤销了早期版本 BS ISO/IEC 10746-2:1996 与 BS ISO/IEC 10746-3:1996。引用时应采用 2009 年第二版;两分部均于 2011 年 11 月 30 日由 BSI 标准政策与战略委员会批准发布。

二、基础(Part 2)——概念与定义 🔧

Part 2 定义了 RM-ODP 的基础概念,为体系结构部分提供统一的词汇与形式化基础。它并非一份简单的术语表,而是从对象建模出发、逐层构建的严密概念体系:

2.1 对象、接口与行为

基础部分以对象(object)作为第一类概念:对象封装状态与行为,通过接口(interface)与外界交互。对象可以同时持有多类接口,接口之间通过绑定(binding)建立通信关系。动作(action)是对象行为的最小单位,行为(behavior)则由按时间顺序发生的动作序列刻画,状态(state)表示对象在某一时刻的信息状况。这套术语为后续视点语言提供了统一的”语法起点”。

2.2 分布透明性

分布透明性(distribution transparency)是 ODP 最为人称道的质量属性清单。标准系统性地定义了八类透明性:

  • 访问透明性(Access):屏蔽对象接口的访问方式差异,使对本地与远程对象的调用语法一致。
  • 位置透明性(Location):屏蔽对象物理位置信息,调用方无需知道对象在哪台主机上。
  • 迁移透明性(Migration):对象在分布式系统中移动时,正在进行的交互不中断。
  • 重定位透明性(Relocation):绑定关系能跟随对象迁移而自动重建。
  • 复制透明性(Replication):多个副本对外表现为单一逻辑对象,读操作自动在副本间分布。
  • 故障透明性(Failure):屏蔽故障检测与恢复过程,调用方察觉不到部分组件的失效。
  • 并发透明性(Concurrency):多个并发活动共享对象时,活动间不互相干扰。
  • 持久化透明性(Persistence):对象状态在进程生命周期之外仍可保留,例如通过数据库与事务机制实现。

2.3 绑定与形式化语义

基础部分定义了绑定(binding)关系与互操作规则,说明多个接口如何组合为一次端到端通信。此外,Part 2 还给出了各核心概念的形式化定义,使描述可以被精确推理与一致性验证。对于追求严谨性的架构评审与安全分析而言,形式化语义层提供了可机器检查的基础。

💡 分布透明性是 ODP 的灵魂:用户无需感知对象的物理位置、故障与复制,系统自动屏蔽这些分布细节,从而实现真正的”开放”与”可移植”。在实际工程中,透明性通常由中间件分层实现,例如名字服务支撑位置透明、事务管理器支撑持久化透明。

三、体系结构(Part 3)——视点与模型 🏗️

Part 3 规定了 ODP 体系结构的核心——五个视点(viewpoints)及各自对应的语言/模型。五个视点的划分并非随意,而是针对分布式系统生命周期中不同利益相关方的关注点逐步演化而来:

视点关注内容典型问题主要产出物
企业视点(Enterprise)系统目的、组织角色、政策系统为谁服务、有何业务约束社区对象、角色、政策与义务
信息视点(Information)信息、数据与处理语义系统需维护哪些信息、如何保证一致性信息对象、不变式、动态方案
计算视点(Computational)功能分解、接口与绑定系统如何分解为计算对象计算对象、操作签名、绑定对象
工程视点(Engineering)机制、透明性支持、资源如何实现透明性与容错节点、通道、协议对象、透明性机制
技术视点(Technology)具体平台、实现技术在何种平台上实现构件清单、实现约束、测试安排

除视点语言外,Part 3 还规定了两个配套模型:计算模型(Computational Model)以接口与操作定义功能分解的抽象表达,计算对象之间通过操作调用(operation invocation)与信号交互(signal interaction)通信,强调接口签名清晰、绑定可验证;工程模型(Engineering Model)则描述如何用工程机制(如通道 channel、桩 stub、绑定器 binder、协议对象 protocol object)支撑分布透明性,是中间件内部结构的通用蓝图。

最后,Part 3 给出了规范与一致性(conformance)的表述与检查规则:系统声称遵循某视点规范时,必须能以标准规定的方式证明其满足了相应的行为与接口要求。一致性声明通常与实现的互操作测试配套,构成采购与验收的基础。

四、与相关标准的关系 🌐

RM-ODP 并不是孤立的参考模型,它与其周边标准形成了完整的生态:

  • ISO/IEC 10746-1:给出总体框架与使用指南,是入门阅读的首选入口。
  • ISO/IEC 19500(CORBA):面向对象的分布式中间件标准,其接口定义语言与对象请求代理的抽象直接呼应 ODP 的计算与工程模型。
  • ISO/IEC 13250(主题图)与元数据类标准:在信息视点的建模上与 ODP 的信息语言相互补充。
  • Web 服务与微服务实践:虽然不直接引用 RM-ODP,但其服务契约、注册中心、负载均衡、无状态设计等做法均可在工程模型中找到对应机制。

理解这些关联,读者可以把 RM-ODP 视为一张”分布式系统解剖图”:任何具体技术的落脚点都能在这张图上标注出来,这也正是参考模型类标准的价值所在。

五、关键技术要求 ⚙️

从工程可操作性角度,应用 RM-ODP 时通常应遵循以下要求:

  • 分布式系统应按五个视点分别建模,各视点之间保持一致性映射,避免信息丢失与语义漂移。
  • 系统应明确声明所满足的分布透明性集合(如访问、位置与故障透明性),并将其量化为验收指标。
  • 计算对象通过接口通信,接口的签名、前置条件与后置条件应明确、可验证,绑定关系应有清晰的生存期管理。
  • 工程模型应提供支撑透明性的机制(如绑定器、迁移器、复制器、事务协调器),并说明各机制的时空开销。
  • 一致性声明应伴随互操作测试计划,测试用例覆盖关键接口与故障注入场景。
⚠️ RM-ODP 是参考模型而非可执行规范,它提供概念与规则框架,不规定具体协议或 API。实际系统仍需结合具体技术(如 CORBA、Web 服务、微服务、云原生)落地实现;将参考模型直接当作实现规范使用,是常见的误解。

六、工程实践应用 🛠️

  • 分布式系统设计:以五视点分解复杂系统,明确各利益相关方关注点,形成可评审的架构文档集。
  • 架构评审:以视点模型审查系统架构的完整性与一致性,例如检查工程模型是否实现了计算模型声明的位置透明性。
  • 中间件设计:参考计算/工程模型指导分布式中间件与通信框架设计,复用通道、绑定器、协议对象等成熟抽象。
  • 互操作与迁移:利用分布透明性实现异构平台间的互操作与系统平滑迁移,降低供应商锁定风险。
  • 教学与培训:RM-ODP 作为经典教材级模型,广泛用于分布式系统课程与架构师认证体系。
✅ 将五视点文档化并配套一致性声明,能够在项目早期暴露架构缺口,显著降低后期集成与运维成本;这也是许多大型分布式系统项目将 RM-ODP 写入内部架构审查规范的原因。

七、常见问题解答 ❓

❓ 问:RM-ODP 的五个视点是什么?为什么需要多个视点?
答:企业、信息、计算、工程、技术五个视点。因为分布式系统涉及业务、数据、功能、机制与平台多个层面,单一视角无法完整刻画,多视点便于不同利益相关方(决策者、数据管理员、设计者、实现者、运维方)在各自关心的层面协作,并通过一致性规则整合。
❓ 问:什么是分布透明性?它和”封装”有何区别?
答:分布透明性指系统向用户屏蔽分布细节的能力,如位置、故障、迁移、复制、并发与持久化等。与普通封装相比,它针对的是”跨节点”这一特定维度的屏蔽:封装把实现细节藏起来,透明性则把”分布在何处、如何容错”藏起来,是 ODP 实现”开放”与”可移植”的关键质量属性。
❓ 问:Part 2(基础)与 Part 3(体系结构)有何关系?
答:Part 2 定义支撑各视点建模的基本概念(对象、接口、动作、行为、透明性)与形式化定义,Part 3 规定五个视点语言及其相互关系的体系结构规则并配套计算/工程模型。前者是后者的概念基础,可以理解为”词汇表+语法”的关系。
❓ 问:RM-ODP 是否规定了具体实现技术?
答:不。它是参考模型,提供概念与规则框架,具体协议、API 或平台需由实现者结合技术选型决定。正因如此,RM-ODP 才保持了跨代际的稳定性——从 CORBA 时代到云原生时代,其视点框架依然适用。
🔍 问:实施 RM-ODP 的主要投入在哪里?值得吗?
答:主要投入在五视点文档化与一致性审查的咨询与评审成本。对于规模较大、生命周期较长或跨组织协作的系统,这套投入可换来清晰的需求边界、更早的架构纠错与更低的集成返工,通常物有所值;小型原型项目则可简化执行。
🔒
正在加载下载地址,请稍候 10 秒

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注