APP下载

基于元数据和模型驱动的水利信息共享平台

2015-01-02张立志吕燕枚王广会王艳彬

水利信息化 2015年4期
关键词:数据模型页面水利

张立志,李 俊,吕燕枚,王广会,王艳彬

(赤峰市水利规划设计研究院,内蒙古 赤峰 024000)

基于元数据和模型驱动的水利信息共享平台

张立志,李 俊,吕燕枚,王广会,王艳彬

(赤峰市水利规划设计研究院,内蒙古 赤峰 024000)

随着水利信息化建设的不断深入,迫切需要搭建水利信息共享平台,为整合数据资源,建成数据中心提供支撑。按照水利信息化“五统一”要求,提出基于元数据和模型驱动的平台建设方案,描述采用 SOA 思想的平台架构和功能,着重介绍基于元数据的水利业务系统模型体系和基于模型驱动的水利业务系统构建技术。平台的应用能提高水利业务系统的开发速度和质量,降低开发维护成本。

水利信息;元数据;模型驱动;SOA;信息共享;共享平台

0 引言

2011年《关于加快水利改革发展的决定》的中央一号文件出台以来,赤峰市水利局注重在水利工程建设时,信息化项目同步推进,根据自身业务需要,遵循水利信息化标准和规范,建成了山洪灾害监测预警、工矿企业水资源远程监控、地下水监测、节水增粮等水利业务系统,在提高山洪灾害防治能力,强化水资源管理,推进农业高效节水等方面发挥了积极作用。由于负责实施的软件企业不同,采用的技术方案存在很大差异,没有充分考虑信息共享和集成,分散建设的业务应用和数据库导致信息资源共享程度不高,数据异构严重,业务协同难以实现,“数据孤岛”问题凸显。如山洪灾害监测预警系统,全市 12 个旗县区的系统由 2 家软件公司负责实施,需进行整合集成。

为有效破解“数据孤岛”问题,赤峰市水利局迫切需要搭建多业务综合应用支撑平台,提供统一的运行基础架构,实现平台公用、资源共享。为此提出基于元数据和模型驱动的水利信息共享平台建设方案,从技术体系架构上保证软件的灵活性,在应用上具有“快速适应水利业务变化,深度满足用户个性化需求”的能力。

1 元数据与模型驱动概念

元数据描述的是数据的背景、内容、结构及生命周期管理,为各种形态的数字化信息单元和资源集合提供规范、普遍的描述方法及检索工具[1]。作为平台开发语言,元数据被定义为通过其数据的修改改变程序行为的数据,在支撑快速开发平台设计方面发挥了重要作用[2];作为描述语言,在水利科学数据共享[3]、信息资源目录体系构建[4]方面,也起到资源发现、知识管理的作用。随着数字资源的猛增,已经发展成为一种管理、发现和使用数据的重要工具与手段。

OMG(Object Management Group)于 2001年提出模型驱动架构(MDA,Model-Driven Architecture)的软件开发方式[5],模型驱动是指利用模型指导系统开发的全过程,包括系统理解、设计、开发、架构、部署、集成、维护等系统生命周期相关的全过程[6],将业务逻辑封装在模型中,并将这些模型应用到开发、代码生成、测试及维护中。模型驱动开发是一种能够将模型与实现更紧密地联系在一起的开发方法,在很大程度上提升了软件开发的抽象层次,增强了软件的可移植性、维护性,提高了软件开发的效率。

2 水利信息共享平台方案

2.1 平台架构及功能

按照水利信息化“五统一”的要求,紧紧围绕水利中心工作,以需求为导向,以应用为核心,基于 J2EE 技术规范,采用面向服务的体系架构,集开发与运行环境于一体,构建具有较强开放性和扩展性的水利信息共享平台。

2.1.1 平台架构

水利信息共享平台总体架构如图 1 所示,有以下 6 个层次:

1)表示层。根据定义的业务表示模型自动绘制生成水利业务系统的用户页面。

图1 水利信息共享平台架构

2)控制层。是水利信息共享平台的指挥中枢,接收 Web 用户向平台发出的请求进行集中管理,根据指令调用相应的业务服务,发送平台对 Web 用户请求做出的响应。

3)业务服务层。按功能模块实现水利业务逻辑的封装,为外界提供访问接口。

4)系统安全层。实现水利用户登录的合法性验证,提供基于角色的多层次多粒度访问控制机制,全过程监控用户操作记录。

5)数据访问层。利用数据维护、检索引擎完成各种水利业务数据的维护和查询。

6)物理数据层。负责水利数据的存储,包括元和业务数据,支持多种主流数据库。

2.1.2 平台功能

水利信息共享平台内嵌多种系统工具,采用Model-View-Control(MVC)框架,快速构建水利业务系统,完成数据实体的定义、用户界面的设计、业务流程的设计、业务逻辑的扩展、系统的配置和发布。另外,开放的体系架构能实现与已有业务系统的无缝集成,实现开发、运行、维护的“一站式”服务,大大缩短软件项目的实施周期。

2.2 平台关键技术

2.2.1 基于元数据的水利业务系统模型体系

1)业务实体元数据模型。包含业务对象和逻辑,元数据模型定义了业务对象字段的基本属性(数据类型、长度、标签、显示格式等)和扩展属性(是否必录、启用等);描述了业务逻辑,封装了业务规则和完整性约束,业务规则作用于业务对象,业务对象遵从业务规则进行运作。完整性约束是对业务对象的数据一致性、规则的强制性规定与约束,是平台正常运转的保障。另外,在已有业务实体的基础上,可以通过复用方式创建新的业务实体,支持业务实体之间的继承、关联关系。针对当前水利业务系统中数据不统一、规范的问题,按照水利部颁布的有关规范和标准,规范数据库设计,实现系统间的数据互操作。

2)页面展现元数据模型。定义页面视图(包括布局信息、表单控件属性)、操作及元素的授权,将页面的逻辑、表示和数据分离开来,形成一个与平台无关的抽象页面定义。根据水利业务类型多样化的特点,平台基于元数据模型提供了多种页面模板,页面布局管理器根据用户授权、页面模板动态加载页面,灵活控制页面展示方式,定制出个性化表单页面,易于维护。

3)业务流程元数据模型。包括工作流过程的定义和活动,转移信息,工作流相关数据,参与者和应用程序的声明等。在元数据模型中,过程定义与活动、工作流相关数据之间是一对多的关系,即 1 个工作流定义由多个活动与工作流相关数据组成。业务流程定义的结果以元数据的方式保存在数据库中,运行时由工作流引擎根据元数据的描述驱动业务流程。

水利业务系统是在执行引擎和 3 种元数据模型基础上搭建的,执行引擎是支撑水利业务系统即时运行的内核,元数据模型为水利业务系统逻辑结构提供了直观易懂的描述信息。当收到水利业务系统的调用请求时,执行引擎将业务系统元数据转化成响应程序的运行实例,完成相应的信息处理功能。执行引擎由数据处理、权限控制、页面交互、Web服务、报表生成等部件协同工作,运行机制如图 2所示。

图2 基于元数据的水利业务系统模型体系工作机制

2.2.2 基于模型驱动的水利业务系统构建技术

在基于模型驱动的水利业务系统构建过程中,综合运用以下 5 种关键技术:

1)EJB(Enterprise JavaBean)组件技术。EJB组件定义 remote 和 home 接口,开发人员将重点放在水利业务逻辑规则实现上,通过配置的部署文件对 EJB 组件进行描述,打包后部署在应用服务器上,通过标准接口向外界发布服务供客户端调用。EJB 组件技术具有良好的封装性,实现了模块间高聚合、低耦合的设计目标。

2)代码自动生成技术。基于模型驱动的代码自动生成技术以水利业务系统的数据模型为基础,参照对类和对象的详细设计中的规范说明信息,代码生成引擎根据不同的代码模板自动生成可执行的代码,实现基本的数据增加、删除、修改、查询等操作。代码自动生成技术将业务开发和系统开发分离,避免重复开发,提高了软件开发效率。

3)基于 Web Service 的信息集成技术。Web Service 使用 XML 和 HTTP 等成熟的标准及技术,描述、发现、配置、协调和发布水利业务系统,为水利业务系统间的业务流程的集成提供通用机制。基于 Web Service 的信息集成技术具有松耦合、跨平台、易扩展等特点,依据 Web Service 规范实施的水利业务系统之间,无论使用的语言、平台或内部协议是什么,都可以相互交换数据,帮助用户轻松实现水利业务系统间的互操作、无缝集成。

4)对象—关系映射技术(O/R Mapping)。平台通过 O/R Mapping 的方式封装了对水利数据库的访问,实现了面向对象的数据访问方式,简化了以数据为中心的应用程序中与数据持久化相关的编程任务,使开发人员能够将开发重点专注于实现面向对象的业务模型和逻辑,避免通过写 SQL 语句创建或维护数据表,同时还为实现多数据库的支持建立良好基础。

5)基于单点登录的访问控制技术。单点登录提供统一的机制管理用户的身份验证,在多个水利业务系统中,用户只需要登录 1 次就可以访问所有相互信任的业务系统,可使用多个系统的资源。基于单点登录的访问控制技术提高了网络用户的效率,减少了网络操作的成本,增强了网络安全性。

3 结语

提出的基于元数据和模型驱动的水利信息共享平台,为水利业务系统的快速构建提供了统一的运行和管理环境,以元数据为数据组织方式完成水利业务模型的建立,以模型驱动为软件业务构建方法完成水利业务系统开发,是一种高效的系统开发和维护模式,为水利软件平台研究和开发提供了借鉴。今后水利信息共享平台在任务调度、报表设计等方面还需要优化。

[1] 李军,周成虎. 地球空间数据元数据标准初探[J]. 地理科学进展,1998,17 (4) : 55-63.

[2] 蔡昭权,卢庆武,郑宗晖,等. 基于元数据的快速开发平台设计与实现[J]. 计算机工程,2009,35 (9): 60-65.

[3] 朱星明,张行南,白婧怡,等. 水利科学数据共享元数据理论的应用探讨[J]. 水利学报,2005,36 (8): 1-5.

[4] 朱跃龙,许峰,冯钧,等. 水利信息资源目录体系构建研究[J]. 水利信息化,2010 (1): 4-8.

[5] OMG. Model Driven Architecture [EB/OL]. [2015-03-25]. http://www.omg.org/mda/presentations.htm.

[6] Wil van der Aalst, Kees van Hee. Workflow Management: Models, Methods and Systems[M]. Cambridge: MIT Press, 2002: 214-241.

Water Resources Information Sharing Platform based on Meta-Data and Model-Driven Tarim River Basin

ZHANG Lizhi, LI Jun, LV Yanmei, WANG Guanghui, WANG Yanbin
(Chifeng Water Resources Planning and Designing Institute, Chifeng 024000, China)

With the intensifying of water resources informatization construction,it is urgent to build water conservancy information sharing platform for supporting the integration of data resources and data center building. According to the requirement of "five unification", this paper proposes the platform construction scheme based on meta-data and model-driven, describes the architecture and function of platform adopting SOA, emphatically introduces the model system of water conservancy business system based on meta-data and the construction technology of water conservancy business system based on model-driven. The application of the platform improves the speed and quality of development for water conservancy business system, and reduces the costs of development and maintenance.

water resources information; meta-data; model-driven; SOA; information sharing; sharing platform

TP39

A

1674-9405(2015)04-0008-03

2015-04-02

张立志(1981-),男,内蒙古赤峰人,工程师,主要从事水利信息化工作。

猜你喜欢

数据模型页面水利
刷新生活的页面
为夺取双胜利提供坚实水利保障(Ⅱ)
为夺取双胜利提供坚实水利保障(Ⅰ)
水利工会
水利监督
面板数据模型截面相关检验方法综述
基于分位数回归的电力负荷特性预测面板数据模型
面向集成管理的出版原图数据模型
一种顾及级联时空变化描述的土地利用变更数据模型
网站结构在SEO中的研究与应用