DOP,意即领域操作平台,核心技术为一个新的建模体系、两个核心引擎和一系列核心功能和服务模块。
背景介绍
从上世纪90年代末开始,IT界就开始重新审视大型、复杂信息系统的架构问题和信息化的技术策略问题。其主要的驱动力来自企业对信息共享、实时协同(Collaboration)、流程重构等需求的快速增长,跨企业甚至大规模区域协同信息化市场的形成,而传统信息系统的架构、设计和开发模式明显不能适应这些新型应用的规模和复杂性。ERP(Enterprise Resources Planning)在推动企业信息化发展的进程中扮演了重要的角色,但大型ERP项目的失败率高达40%,在一些业务逻辑复杂、具有大量遗存异构系统的应用领域很少有成功案例;
英国医疗信息现代化项目严重超时、超预算,被称为IT史上的灾难等客观现实从一个侧面反映出传统信息技术和
软件架构技术在复杂应用领域的局限性。
大量遗存(Legacy)信息系统的异构性(Heterogeneity)和由此引起的信息孤岛(Information Island)问题是造成这些新型应用项目复杂性高、风险大主要原因之一,也是企业、跨企业复杂应用领域的共性问题。其次,跨企业、跨区域等复杂应用领域业务流程复杂多变,信息共享、互联协同等需求导致业务逻辑复杂化、信息表达的复杂性大幅增高也是这类新型应用领域的普遍问题。传统的软件技术架构、各种通用的中间件和企业级
软件开发平台、甚至包括近年来倍受关注的SOA(Service Oriented Architecture)、Web2.0等技术也未能对上述共性问题提供有效的技术解决路线。医疗健康行业信息化所面对的挑战、绝大多数解决方案成本高、风险大、需求满足度低、不能适应长远发展等问题反映了这一领域的现状。
DOP(Domain Operating Platform),也称为领域操作平台,就是在这样的背景下形成的。
技术理念
按照传统系统软件和
应用软件的定义,无论是信息孤岛问题,还是新型应用领域业务流程、业务逻辑、信息表达复杂性问题,都属于“应用软件” 范畴。而传统的应用软件架构基本上都遵循对问题域垂直分割的技术路线。如图1所示,应用系统基本上都是独立地架构于系统软件平台之上,应用系统通常都有独立的数据库、业务逻辑层、用户界面等垂直而封闭的架构。即便信息技术一直在不停地进化,甚至像互联网技术等革命性技术的冲击、企业软件平台、中间件等技术的普遍应用,这一基本格局并没有根本性的动摇。恰恰是这一传统的技术路线,制造了如今普遍存在于各行各业的信息孤岛现象。
信息孤岛之所以成为一个难以解决的问题是由于应用系统的异构性(Heterogeneity)。所谓异构是指不同的应用系统,架构于不同的硬件、系统软件平台,采用了不同的系统架构、不同的编程语言、不同的数据库等。更为关键的是不同产品在表达相同领域概念、业务逻辑的时候,可能采用完全不同的表达方式,也就是在数据模型和数据层面的异构。当共享、整合、协同成为企业信息化的主流需求时,系统异构造成的信息不能互通共享、系统间不能协同互操作的问题就突显出来。
系统异构和信息孤岛问题并非新问题,各种基于互联(Interconnection)和数据交换(Data Exchange)等集成手段已存在了几十年。只是由于信息孤岛经过长期累积,而今天的主流需求发生根本改变的情况下,问题由量变到质变,发展为新型企业级和区域规模信息化的主要障碍。当基于互联或数据交换的集成技术要对付成百上千异构系统的集成的时候,项目的成本、功能、性能、质量、运行和维护都成为风险很高的问题。如果继续坚持这一传统的技术路线,其结果只能是信息孤岛越来越多,互联集成越来越复杂。
随着共享、整合、协同成为企业信息化的主流需求,业务逻辑、信息表达复杂性可能成倍增高。特别是像医疗健康领域等知识密集型应用领域。医疗健康信息系统复杂性表现在很多方面,最典型的是系统所涉及的信息的复杂性。一个现代临床医学中心覆盖几十种临床医学学科,其信息系统涉及三十万以上的医学概念和专用词汇,医学概念间的相互联系不下百万,业务逻辑多不胜数,业务流程复杂又极具个性化,更为复杂的是,医学知识、概念、流程和方法由于医学研究的发展、新技术的出现持续不断地更新,这些复杂性是导致医疗健康领域信息化程度显著落后于其它领域的重要原因之一。
综合上述分析结果,如果延续传统的系统软件和应用软件的划分模式,坚持传统应用软件架构和发展的思维定势,信息孤岛问题的解决将陷入一个怪圈,而应用领域业务逻辑、知识表达的复杂性也难以解决。鉴于上述两个核心问题的症结基本都集中在信息模型和数据层,DOP首先提出将系统软件的边界向上扩展到传统应用领域的数据层,但这一新的“系统软件” 的适用范畴缩小到一个特定应用领域。换句话说,在传统的应用软件和系统软件中间增加一个数据模型和数据层一体化(Unifying)的数据和应用服务平台,这个平台就是图2所示的DOP,针对于一个特定应用领域的系统支撑平台。
DOP的技术理念可以简单概括为:
(1)从数据层面和
数据建模入手,通过技术创新从根本上削弱大型复杂软件应用领域的复杂性;
(2)将
操作系统的理念和技术向上扩展到传统应用软件的数据层,将适用范畴缩小到一个特定应用领域,将系统设备管理扩大到应用领域的常用设备;
(3) 通过领域数据一体化整合异构信息孤岛,逐渐消除信息孤岛产生的温床;
(4)支持独立于应用软件系统的一体化数据层(Unified Data Layer),使得数据和具体应用软件松耦合,新的应用系统可以架构在一体化数据层上,使数据的生命周期和具体的应用系统脱钩;
(5)将特定应用领域信息系统中重复、可共享的部分从传统应用系统中剥离出来,从而进一步削弱企业级系统的复杂性。
技术核心
DOP的技术核心可以简要地归结为:一个新的建模体系(包括方法学,实现技术,
工具软件,应用软件框架等) 两个核心引擎(模型引擎、数据引擎)和一系列核心功能和服务模块。
MDT建模体系
DOP的领域
动态建模体系,也简称为MDT(Meta Data Type)建模是DOP的创新技术之一。MDT建模体系主要由模型引擎、MDT建模及模型管理服务、MDT建模
工具软件(MDT Designer, MDT Browser)等构成。具体细节可参见相关文档。
DOP的领域动态建模技术是在二阶建模(Two-Level Modeling)技术基础上的再创新。所有的传统模型,包括应用广泛的关系数据库的模型,
面向对象(Object Oriented)模型等都是所谓的一阶静态模型。由于一阶模型和数据紧耦合的特点,对模型的修改往往
牵一发而动全身,在小型软件系统中,其影响并不显著,但对于大型一体化数据整合,涉及大量异构应用系统的集成,复杂的业务流程,在系统分析和设计阶段,
系统分析师和架构师须花费至少70%的时间与领域专家进行交流和沟通,如果涉及很多异构系统供应商的话,常常使得这类的项目成为风险大、难协调、难管理、质量难保证的多难项目。图3简要描述了领域动态建模的原理。
DOP的领域动态建模技术实现了如下几个目标:
(1)用类似于应用领域的自然语言来描述信息模型,即领域概念直接用简单易懂、所见即所得的MDT来表达。直接由领域专家主导建模,省去大量交流时间,避免最易出错的环节;
(2)领域
概念建模和数据松耦合是实现动态建模,或所谓后建模的关键。这一动态特性使复杂应用领域模型具有进化能力,是削弱一阶静态模型牵一发而动全身问题的关键;
(3)DOP通过完整的建模、模型管理、数据管理体系自动生成和管理物理模型,屏蔽了从概念/逻辑模型到物理模型的人为干预环节,避免人为解读/翻译造成的信息模型异构;
(4)领域概念模型独立于任何数据库和编程语言,使得信息模型完全开放成为可能;
(5)领域概念模型可以携带实用的信息和知识,是知识建模的基础;
(6)可交叉支持各种国家、国际标准。
基于领域概念建模、一体化数据层的软件平台实际上是开创了一个新的软件领域。下表对领域动态建模和其它常用的建模技术作了一个简要的比较:
两个核心引擎
DOP的内核是由实现领域动态建模体系的模型引擎、基于MDT模型的数据管理引擎及相关的辅助服务和管理模块构成的。
如图4所示,模型引擎是领域动态建模体系的核心。它实现了MDT属性模板管理、MDT对象创建管理、数据物理模型的创建和管理、物理模型和MDT 模型映射。同时,模型引擎负责DOP运行支持(Runtime)的数据和模型的映射。换句话说,数据的意义需要和相应的MDT相结合、通过数据引擎和模型引擎的“恢复” 才有意义。这一机制具有内在的安全性。通过特别的建模,DOP可以用于对数据安全要求极高的应用领域。因为,通过网络截取数据,甚至侵入到DOP数据中心,如果没有获得相应的MDT模型,或没有模型引擎和数据引擎的支持,那些数据可能没有任何意义,也不可能通过任何解密手段破译。
数据引擎是DOP运行支持(Runtime)系统的核心。和其它企业级软件平台和中间件不同,DOP实际上“接管” 了目标应用领域的数据层,包括一体化数据/信息模型、数据、各种数据操作服务调用。从这各角度来看,DOP更接近于一个新型
数据库系统。
数据引擎支持独立于关系数据库、独立于文件系统的海量数据存储管理。数据引擎也是分布计算、数据缓存、异构系统数据集成、数据中心间实时数据同步的核心。
作为DOP内核,除MDT建模体系、两个核心引擎外,还有多个核心支撑模块和服务,比如细粒度一体化数据安全管理体系等。具体请见相关技术文档。
MDT映射技术
基于一体化(Unifying)信息模型的数据集成是DOP可以消融信息孤岛的技术核心。根据Robert Worden对异构系统和数据集成技术进化的分级方法[1],异构系统数据集成被分为四级。目前大多数主流集成技术和产品处于第二或第三级。基于SOA、ESB等集成机制的基本都限于第三级。DOP基于一体化信息模型、一体化数据层、MDT映射技术的异构系统集成是目前唯一达到Robert Worden定义的第四级集成的技术,即基于一体化数据模型的集成。
微软在收购了
华盛顿医学中心的滴水盘(Drip Pan)技术后,也在数据集成领域积极推动一体化(Unifying)解决方案,然而,基于传统的
数据库建模不能真正达到数据层一体化的目标,仅仅是从小的信息孤岛集成为大的信息孤岛而已。
图5所示为MDT映射原理。MDT映射是DOP和异构系统间进行双向实时数据同步的技术。通过建立MDT和传统关系数据库物理模型的映射关系,首先将各种异构物理数据模型统一到一体化领域概念模型,其次,通过映射确定异构系统的数据和DOP一体化数据的整合和转换模式。目前,绝大多数基于MDT映射的异构
系统整合可以通过DOP提供的
可视化工具实现。由于MDT映射支持双向实时数据同步,和各种基于ETL和类似技术的单向数据集成技术有本质差异。和目前市场上常见的解决方案相比,基于MDT映射的一体化数据集成数据整合深度、一体化程度、数据质量、整合效率、可扩展性都已经在市场化项目中体现出代级差异。关于基于DOP的一体化集成细节请参阅相关文档。
应用实例
数字健康支撑平台是DOP技术用于医疗健康领域的范例。也是到目前为止产品化最成熟、经过市场实证的DOP平台。图6所示为DOP数字健康支撑平台的主要功能模块、各种服务模块、及外围支撑系统。
医疗健康领域是典型的知识密集型应用领域,领域概念超过30万,业务逻辑多不胜数,整体信息化水平偏低,信息孤岛问题严重,而且在明显在恶化,医疗健康信息共享和协同难度大,企业、区域、甚至更大规模的整合需求增长快。然而,DOP数字健康支撑平台可能是唯一成熟、有效、风险和成本可控的解决方案。
基于DOP的区域医疗健康信息一体化解决方案已经成功地在上海、
珠海等大型区域项目中成功应用。技术优势明显,整体建设成本和未来系统运行、维护、升级换代的成本节省至少可以在一个数量级以上。解决方案特点可以概括为如下三个主要方面:
(1) 智能节点为基础的区域一体化解决方案实现了不依赖于异构系统提供商的数据深度一体化整合,异构系统所引起的高复杂性和风险被局限于智能节点,区域网络因此而获得极高的可扩展性;
(2) 数据层一体化整合不仅最大限度保护了过去的信息化投资,也为基于一体化数据层的新型应用系统开发提供了全新模式。对未来发展的意义尚难估量。
(3) 独立于应用系统的、细粒度数据安全机制为复杂应用领域的数据安全,用户权限管理提供了高效、实用的平台。
由于篇幅所限,技术细节和应用实例请参考相关文档
技术储备
尽管DOP尚未在其它应用领域进行实质性推动,但已经引起电信、保险、企业云计算等行业的关注。同时,也在积极推动在DOP基础之上的创新和储备技术的研发。下列为几个已经完成原型研发储备或创新技术:
(1) 基于DOP平台的虚拟设备即插即用 -适于医远和设备/信息密集性工业
(2) 面向企业、区域的搜索的技术研究 - 大型企业和区域信息搜索
(3) DOP促进企业或私有云计算、SAAS应用发展模式的研究.
战略意义
DOP的出现、成熟和发展,将对大型复杂应用系统发展的格局、方法、经济和产业链等层面造成相当的冲击。其潜在的影响尚难估计,但从目前业界所关注的程度来看,从大的发展和竞争格局来看,它恰恰处于推动企业转型的焦点之上。