摘 要 本文依据SOA (Service Oriented Architecture)IT策略,研究远程开放教育信息系统中业务数据模型的建立和实现,把业务数据模型分为数据实体服务层、服务聚合层、跨组织聚合层三个层次描述,通过数据实体、数据对象、数据服务对象等三个阶段对业务数据模型逐层抽象、逐层组合,提出一个解决企业级数据集成和共享的方案,并给出了实现远程开放教育系统数据服务的逻辑框架。
关键词 SOA;业务数据模型;聚合服务1 引言
中国远程开放教育信息系统是由多个按照业务发展的需要逐渐开发的信息系统组成,如电大在线,电大教务管理系统,多媒体教学平台,从而形成了多个信息孤岛。为了满足远程开放教育发展的需要,我们依据SOA策略重新对中国远程开放教育信息系统进行规划,其中最基础的工作是基于SOA企业信息系统参考架构进行数据的集成和重构。 中国远程开放教育信息系统的数据来源于分散在各个网络节点中的数据库,这些数据的主要特征表现为分布性、自治性、异构性。分布性是指数据存放在分散的、彼此可相互通信的多个省;自治性是指各部门信息系统都运行着自己独立的的应用程序,在被集成之后局部数据源仍然保持着一定程度的独立性;异构性主要指运行环境的异构和数据模型的异构[1] 。 基于SOA构建远程开放教育信息系统首要的任务是解决分布式异构数据的集成,建立统一的综合的业务数据模型,实现不同数据源的统一视图并提供服务。从而使得系统的各类业务应用与底层数据源隔离,使得各种业务流程能通过统一的接口存取各种异构数据源。2 基于SOA的远程开放教育信息系统参考架构
依据现有的SOA参考架构,我们提出了基于SOA的远程开放教育信息系统参考架构,如图1所示。该架构分为数据服务层、业务服务聚合层和复合应用层,并由服务基础环境支持系统的运行。
3 远程开放教育信息系统业务数据模型
业务数据模型是系统企业数据的统一表现实体,在全企业范围内得到一致性的使用;提供业务数据的完整视图和详细描述信息,提供信息的标准存取方式,完成企业数据服务的定制和封装[2]。3.1 业务数据模型建模
业务数据模型可从数据实体服务层、服务聚合层、跨组织服务聚合层三个层次进行描述,这三个层次是从具体的组织内数据实体视图到虚拟化的、面向用户的跨组织数据视图进行区分的: 数据实体服务层:为系统提供数据实体的统一视图,并将数据都封装成为定义简单的、原子的数据实体服务模型。 在不同的业务系统中,数据以不同形式存在,使用不同的标准进行建模和编码,对整个系统来说,数据实体有全局的,有局部的,有原子的,有组合的。因此,在数据实体服务层,要重新建立一个全新的、统一的、集成的数据模型,重新定义新的关联和数据结构,对数据实体的描述也要进行扩充,除了其本身的固有的属性,还应包括每个数据实体的位置、来源、用处、限制和数据存储模型,以及对这些数据实体服务的描述,当然,这些数据服务仅仅是对数据实体的一些简单操作。在分析抽象时数据实体时要从整个系统的高度去看,而不是从某个业务领域去看,主要使用自顶向下的分析建模方法,要按照数据实体的不同功能和来源进行分类和分层,分析抽象出最原子、最底层的数据实体,对每一种数据实体要描述清楚其局部模式和全局模式之间的映射关系。新的数据模型将以全新的体系结构图开始,是系统内所有数据实体从各个角度的描述,是对数据实体服务的描述。数据实体服务层向上发布其元数据信息,提供的是较低层的、细粒度的数据服务。 数据聚合服务层:基于数据实体服务层,按照某个部门或特定业务领域制定的某种聚合策略,建立聚合服务模型。 每个聚合服务对应唯一的一种聚合策略,有唯一的全局标示。对每个聚合服务的描述,包括其标识、种类、功能、聚合策略和该聚合服务向下层服务的映射和转换模式,也包括对服务接口的定义。每种聚合服务可以对应到任意多个数据实体服务的组合,也可以对应到数据实体服务和底层聚合服务的混合组合,也可以是多个子聚合服务的再组合。当聚合服务被调用时,聚合服务模型把服务调用映射、转换到各数据实体服务或底层子聚合服务,生成服务的实例,并与这些服务进行交互。聚合服务是进行整个企业内跨部门、跨系统数据集合的最小单位。 跨组织服务聚合层:基于数据实体服务层和聚合服务层,建立一个逻辑模型,主要用于解决跨组织提供信息的统一视图问题。 这一层要建立的模型不是一个固定的全局模型,而是一个动态可扩展逻辑模型,把下层提供的数据实体服务和数据聚合服务映射到该逻辑模型中。需要注意的是在映射过程中,要保证聚合服务在跨组织时的名字、结构、语义、并行等的透明性。跨组织聚合层在引用下层的聚合服务时,还要考虑它们的各方面的属性,尤其是非功能属性,如选取不同组织提供的相同服务时要考虑各组织所提供服务的QoS属性。当然,跨组织服务聚合层也可以直接调用数据实体服务。 在这三层描述中,前两层侧重于业务数据的建模,最后一层侧重于业务逻辑的抽象和建模。下面以一个简单的例子进行说明,如图2所示: 学生、课程、教师、考试、试卷等是从远程开放教育信息系统中抽象的部分数据实体,这些实体是从整个信息系统的高度来抽象地,其属性可能来源于多个不同的部门,在数据实体服务层描述它们;学生选课信息、学生报考信息和学生成绩信息是按一定业务规则聚合的服务,属于数据聚合服务层;教师业绩考核信息是一个跨部门的高层聚合服务,它根据动态的业务要求聚合下层服务,属于跨组织服务聚合层。 上面是对业务数据模型分三个层次的描述,而在分析和建立数据模型的过程中将分为三个阶段进行: 论文检测天使-免费论文检测软件http://www.jiancetianshi.com第一阶段:用传统的E-R分析方法建立业务数据的实体关系模型,分部门、分组织找出分析并找出所有数据实体,然后借鉴数据仓库按主题存储的思想,从整个系统的高度对数据实体再进行综合的处理,使得数据实体仅包含最基本的业务属性,并消除冗余和重复。 第二阶段:借鉴数据仓库多维数据模型的结构,使用UML建模方法对数据实体进行分组、分层的设计和组合,把数据实体转换为具有简单操作的数据对象。 第三阶段:根据已经建立好的数据对象业务模型,定义完善的格式标记和服务机制,对数据对象进行扩充和包装,选取适当的模式,使用标准的XMLAPI和工具包进行数据的转换和服务的设计、封装,将数据对象最终转换为服务数据对象;结合SOA的消息服务和基层服务组件,完成服务的提供、接受和发布、管理。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr /> 当然,在这过程中,要保证数据模型的一致性和完整性;同时,在服务的多层组合和封装中要控制服务到适当粒度,使提供的信息尽量充足而不冗余,缩短服务执行的时间,提高服务品质。
3.2 实现数据服务
建立数据模型仅是实现数据服务的 论文检测天使-免费论文检测软件http://www.jiancetianshi.com第一步,还必须整合利用各种先进技术进行实现,图3是我们实现远程开放教育系统数据服务的逻辑框架:
4 总结和展望
本文把面向服务的思想引入业务数据模型的建立,将数据模型、业务策略和服务定义结合起来,以建立统一业务数据模型为中心,在系统的分层体系结构中抽象一个数据服务层,提供业务数据的完整视图,从而隔离应用与底层数据源,并通过统一的API存取所有数据源。建立业务数据模型的过程,就是数据服务抽象的过程;不同阶段、不同层次模型的转换和映射的过程,就是服务封装和组合的过程;而模型间的转换模式和映射模式,就是服务调用和响应的模式;而整个过程都是按照一定业务策略来进行的。如何以业务数据模型为基础和驱动,逐步推进远程开放教育信息系统的建设,将是我们继续研究的内容。参考文献
[1] 王桂玲, 李玉顺, 姜进磊. 一种服务网格动态信息聚合模型及其应用. 计算机学报[J]. 2005年4月.vol. 28 No 4[2] 张英朝, 张维明, 肖卫东, 沙基昌. 虚拟组织中面向共享的信息统一描述模型研究. 系统工程学报[J] .2005年2月. vol.20 No.1
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
一种用VHDL设计嵌入式Web Server的方案04-26
细胞移植修复脊髓损伤的进展04-26
一种单片机综合实验系统的设计04-26
虚拟现实技术与VRML04-26
如何给PCI卡选用合适的总线控制器04-26
浅析虚拟现实技术在计算机专业教育中的应用04-26
神经干细胞静脉移植治疗脊髓损伤的实验研究04-26