dop是什么?什么用途?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 03:55:06
dop是什么?什么用途?
dop是什么?
什么用途?
dop是什么?什么用途?
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),也称为领域操作平台,就是在这样的背景下形成的.
DOP技术理念
[传统的垂直分割技术路线]
传统的垂直分割技术路线
按照传统系统软件和应用软件的定义,无论是信息孤岛问题,还是新型应用领域业务流程、业务逻辑、信息表达复杂性问题,都属于“应用软件” 范畴.而传统的应用软件架构基本上都遵循对问题域垂直分割的技术路线.如右图所示,应用系统基本上都是独立地架构于系统软件平台之上,应用系统通常都有独立的数据库、业务逻辑层、用户界面等垂直而封闭的架构.即便信息技术一直在不停地进化,甚至像互联网技术等革命性技术的冲击、企业软件平台、中间件等技术的普遍应用,这一基本格局并没有根本性的动摇.恰恰是这一传统的技术路线,制造了如今普遍存在于各行各业的信息孤岛现象.
信息孤岛之所以成为一个难以解决的问题是由于应用系统的异构性(Heterogeneity).所谓异构是指不同的应用系统,架构于不同的硬件、系统软件平台,采用了不同的系统架构、不同的编程语言、不同的数据库等.更为关键的是不同产品在表达相同领域概念、业务逻辑的时候,可能采用完全不同的表达方式,也就是在数据模型和数据层面的异构.当共享、整合、协同成为企业信息化的主流需求时,系统异构造成的信息不能互通共享、系统间不能协同互操作的问题就突显出来.
系统异构和信息孤岛问题并非新问题,各种基于互联(Interconnection)和数据交换(Data Exchange)等集成手段已存在了几十年.只是由于信息孤岛经过长期累积,而今天的主流需求发生根本改变的情况下,问题由量变到质变,发展为新型企业级和区域规模信息化的主要障碍.当基于互联或数据交换的集成技术要对付成百上千异构系统的集成的时候,项目的成本、功能、性能、质量、运行和维护都成为风险很高的问题.如果继续坚持这一传统的技术路线,其结果只能是信息孤岛越来越多,互联集成越来越复杂.
随着共享、整合、协同成为企业信息化的主流需求,业务逻辑、信息表达复杂性可能成倍增高.特别是像医疗健康领域等知识密集型应用领域.医疗健康信息系统复杂性表现在很多方面,最典型的是系统所涉及的信息的复杂性.一个现代临床医学中心覆盖几十种临床医学学科,其信息系统涉及三十万以上的医学概念和专用词汇,医学概念间的相互联系不下百万,业务逻辑多不胜数,业务流程复杂又极具个性化,更为复杂的是,医学知识、概念、流程和方法由于医学研究的发展、新技术的出现持续不断地更新,这些复杂性是导致医疗健康领域信息化程度显著落后于其它领域的重要原因之一.
[DOP技术原理]
DOP技术原理
综合上述分析结果,如果延续传统的系统软件和应用软件的划分模式,坚持传统应用软件架构和发展的思维定势,信息孤岛问题的解决将陷入一个怪圈,而应用领域业务逻辑、知识表达的复杂性也难以解决.鉴于上述两个核心问题的症结基本都集中在信息模型和数据层,DOP首先提出将系统软件的边界向上扩展到传统应用领域的数据层,但这一新的“系统软件” 的适用范畴缩小到一个特定应用领域.换句话说,在传统的应用软件和系统软件中间增加一个数据模型和数据层一体化(Unifying)的数据和应用服务平台,这个平台就是右图所示的DOP,针对于一个特定应用领域的系统支撑平台.
DOP的技术理念可以简单概括为:
(1)从数据层面和数据建模入手,通过技术创新从根本上削弱大型复杂软件应用领域的复杂性;
(2)将操作系统的理念和技术向上扩展到传统应用软件的数据层,将适用范畴缩小到一个特定应用领域,将系统设备管理扩大到应用领域的常用设备;
(3) 通过领域数据一体化整合异构信息孤岛,逐渐消除信息孤岛产生的温床;
(4)支持独立于应用软件系统的一体化数据层(Unified Data Layer),使得数据和具体应用软件松耦合,新的应用系统可以架构在一体化数据层上,使数据的生命周期和具体的应用系统脱钩;
(5)将特定应用领域信息系统中重复、可共享的部分从传统应用系统中剥离出来,从而进一步削弱企业级系统的复杂性.
DOP技术核心
DOP的技术核心可以简要地归结为:一个新的建模体系(包括方法学,实现技术,工具软件,应用软件框架等) 两个核心引擎(模型引擎、数据引擎)和一系列核心功能和服务模块.
MDT建模体系
[领域动态建模原理]
领域动态建模原理
DOP 的领域动态建模体系,也简称为MDT(Meta Data Type)建模是DOP的创新技术之一.MDT建模体系主要由模型引擎、MDT建模及模型管理服务、MDT建模工具软件(MDT Designer, MDT Browser)等构成.具体细节可参见相关文档.
DOP的领域动态建模技术是在二阶建模(Two-Level Modeling) 技术基础上的再创新.所有的传统模型,包括应用广泛的关系数据库的模型,面向对象(Object Oriented)模型等都是所谓的一阶静态模型.由于一阶模型和数据紧耦合的特点,对模型的修改往往牵一发而动全身,在小型软件系统中,其影响并不显著,但对于大型一体化数据整合,涉及大量异构应用系统的集成,复杂的业务流程,在系统分析和设计阶段,系统分析师和架构师须花费至少70%的时间与领域专家进行交流和沟通,如果涉及很多异构系统供应商的话,常常使得这类的项目成为风险大、难协调、难管理、质量难保证的多难项目.右图简要描述了领域动态建模的原理.
DOP的领域动态建模技术实现了如下几个目标:
(1)用类似于应用领域的自然语言来描述信息模型,即领域概念直接用简单易懂、所见即所得的 MDT来表达.直接由领域专家主导建模,省去大量交流时间,避免最易出错的环节;
(2)领域概念建模和数据松耦合是实现动态建模,或所谓后建模的关键.这一动态特性使复杂应用领域模型具有进化能力,是削弱一阶静态模型牵一发而动全身问题的关键;
(3)DOP通过完整的建模、模型管理、数据管理体系自动生成和管理物理模型,屏蔽了从概念/逻辑模型到物理模型的人为干预环节,避免人为解读/翻译造成的信息模型异构;
(4)领域概念模型独立于任何数据库和编程语言,使得信息模型完全开放成为可能;
(5)领域概念模型可以携带实用的信息和知识,是知识建模的基础;
(6)可交叉支持各种国家、国际标准.
基于领域概念建模、一体化数据层的软件平台实际上是开创了一个新的软件领域.下表对领域动态建模和其它常用的建模技术作了一个简要的比较:
可比性 数据库E-R模型 面向对象模型 动态MDT建模
建模主角 数据库建模专家 UML/OO专家 领域专家
适合应用领域 传统应用系统 传统应用系统 一体化(Unified)企业或行业应用
小模型复杂性 低 低 不高,但没有优势
复杂应用领域建模复杂性 随领域概念数量和业务逻辑的复杂性增加而指数式增高 随领域概念数量和业务逻辑的复杂性增加快速增高,比E-R模型低 特别适合复杂应用领域建模,即便非常复杂的应用领域,仍可保持线性复杂性
知识模型支持 不适合 可以携带知识 非常容易数据模型关联相关知识,但仍然不属于语义网类知识建模
开放性 封闭模型 可以构建参考模型 完全可开放
可进化性 很困难 困难 目前最好的可进化性
两个核心引擎
DOP的内核是由实现领域动态建模体系的模型引擎、基于MDT模型的数据管理引擎及相关的辅助服务和管理模块构成的.
[DOP的两个核心引擎]
DOP的两个核心引擎
如右图所示,模型引擎是领域动态建模体系的核心.它实现了MDT属性模板管理、MDT对象创建管理、数据物理模型的创建和管理、物理模型和MDT 模型映射.同时,模型引擎负责DOP运行支持(Runtime)的数据和模型的映射.换句话说,数据的意义需要和相应的MDT相结合、通过数据引擎和模型引擎的“恢复” 才有意义.这一机制具有内在的安全性.通过特别的建模,DOP可以用于对数据安全要求极高的应用领域.因为,通过网络截取数据,甚至侵入到DOP数据中心,如果没有获得相应的MDT模型,或没有模型引擎和数据引擎的支持,那些数据可能没有任何意义,也不可能通过任何解密手段破译.
数据引擎是DOP运行支持(Runtime)系统的核心.和其它企业级软件平台和中间件不同,DOP实际上“接管” 了目标应用领域的数据层,包括一体化数据/信息模型、数据、各种数据操作服务调用.从这各角度来看,DOP更接近于一个新型数据库系统.
数据引擎支持独立于关系数据库、独立于文件系统的海量数据存储管理.数据引擎也是分布计算、数据缓存、异构系统数据集成、数据中心间实时数据同步的核心.
作为DOP内核,除MDT建模体系、两个核心引擎外,还有多个核心支撑模块和服务,比如细粒度一体化数据安全管理体系等.具体请见相关技术文档.