基于中间库与WebService农业信息共享模式的设计

2014-12-27 12:39:58魏晓华王振智屠星月
安徽农业科学 2014年30期
关键词:视图数据库农业

魏晓华,王振智,李 源,屠星月

(1.中国农业大学信息与电气工程学院,北京100083;2.农业部农业信息获取技术重点实验室,北京100083;3.山东省农业科学院科技信息研究所,山东济南250100)

农业是国民经济的基础产业,农业信息化已成为世界各国信息化建设的重要组成部分[1-2]。随着信息化的不断发展,基于多种开发平台和多种后台数据库的应用软件越来越多,目前现有的信息系统太多,很多资源没有得到有效的共享。为了将现有的各大信息系统进行整合,并能够交换数据、传递数据,高效的系统集成对于农业信息来说至关重要[3]。现有的农业信息共享模式主要包括公开数据库模式、视图和触发器模式以及中间库和WebService模式等。

第1种公开数据库模式中数据提供方向接收方公开数据库信息,允许直接读取数据库信息,同时允许接收方将信息写入公开的数据库中。该方案的优点是数据读取速度快,数据更新时不需通知数据接收方。缺点是需提供方和接收方的配合度高,需要互相了解彼此的数据库设计结构,并且还涉及到双方知识产权。还可能因某一方软件设计不合理,而直接影响对方软件的运行,甚至出现死锁,甚至导致数据库损坏[4]。

第2种视图和触发器模式中,视图是一个虚拟表,其内容由查询定义。运用视图进行共享,由于其自定义隐藏数据从而保证数据安全,同时可使复杂的查询易于理解和使用。触发器是一个特殊的存储过程,执行由某个事件触发,例如向对方数据库中插入或更新或新增数据时,则会启动触发器;当需调用对方数据库中数据时,即可直接调用对方数据库中相应的视图。该模式的优点是只需在对方的数据库中增加触发器和视图,而无需过多改动原有数据库,从而减少工作量,缺点是当数据库中存在的数据量较大时,将明显影响对方数据库的运行速度,甚至会造成死锁。

第3种中间库和WebService模式中,双方系统采用中间库的模式进行数据交换。供方将对方需要的数据发送到中间表中,并设置相应的写入标志,再由WebService通知对方数据已更新;需方从中间表中读取信息,并设置相应的读取标志,再由WebService通知对方数据已读取完成。双方的操作通过中间库完全隔离。该模式速度快、可靠性高、通用性好、适应性强、安全性高,无需双方系统的工程师支持,即可独立完成数据更新。

通过对3种方案的比较分析,笔者选择应用中间库和WebService模式进行农业信息共享,并以山东省农业10大产业平台为例进行方法验证,实现了10大产业平台的数据分散管理和服务接口有机整合。

1 中间库和WebService共享模式

1.1 中间库 中间库是一种用于实现数据共享和交互的临时数据库。当一个大系统中存在两个或多个数据库,其中各个数据库中存放着不同数据,为实现数据共享和交互,可建立一个新的数据库,即中间库用来存放临时数据。中间库中表和表字段需依据各系统的实际情况由对接双方商讨确定,赋予数据提供方写入权限,以便其将其他系统需要的数据写入中间库,赋予数据需求方开放读取权限,以便其从中间库中读取其他系统提供的数据供系统使用。

中间库具有3大特性:①快速高效。通过数据库内置的功能,直接通过数据通信,减少数据中间转换。②数据同步和完整性保证。对接双方的数据将在可接受的时间间隔内进行中间库数据的同步更新,从而保证数据的同步和完整。③数据安全性保证。经过中间库数据的缓冲,对接双方可以对数据进行过滤、分析从而实现对共享数据的控制。所有进入对接双方系统的数据,都通过业务规则的处理,确保数据进入系统时都是安全可靠的。

1.2 WebService WebService是一种独立、低耦合、自包含、可编程的Web应用程序,使用开放的XML标记语言描述、发布和配置,试纸是由若干站点开放的远程调用接口,通过URL指定方法名后发出请求,站点中对应的服务接口接到请求后,根据传入的参数进行处理,然后将处理结果以XML形式返回至请求方,请求方即可解析 XML数据[5-7]。WebService技术可在网络中通过HTTP协议进行传递,简化了访问和返回结果的过程,并能突破被防火墙的限制。Web-Service的一个最基本的目的就是解决了不同平台不同系统之间数据传输、数据共享的问题,达到协同工作的目的。WebService主要由XML、SOAP、WSDL以及UDDI技术所构成。WSDL是程序员描述WebService的编程接口,简而言之,它实现了WebService接口与实现的分离。WebService可以通过UDDI来注册自己的特性,其他应用程序可以通过UDDI找到Web服务。SOAP则可提供应用程序和Web服务之间的通信手段,实现各个WebService组件之间传递消息的传输层,因此可以说是一项透明的协同技术。而SOAP、WSDL、UDDI都是建立在XML基础之上。

1.3 基于中间库和WebService共享模式流程 下面以系统为例阐述中间库与WebService共享信息的模式。图1为中间库与WebService共享信息模式图,系统A将数据写入中间库,写入标志设置为1,然后通过WebService通知系统B数据已写入,系统B从中间库中读取数据,将读取标志设置为1,然后通过WebService通知系统A数据已读取。同时,系统A和系统B以XML的方式通过WebService进行简单的数据交换。XML应用过程中,系统A将中间库Table1表中满足条件Requirement的数据更新后,将Symbol标志字段置为1,通过WebService方式通知系统B数据已改变,然后中间库将已改变数据的标志和改变条件通过XML方式由系统A通知系统B,然后系统B更新数据,然后将中间库中Table1表中Symbol标志字段置为0表示更新任务已完成[8-11]。

数据更新接口为WRITEDATA,XML配置文件的内容如下:

图1 中间库与WebService共享信息模式

2 农业供求信息平台信息共享应用实例

目前我国已有很多网络平台提供农业供求信息,然而通过专业网站获取的农业供求信息具有单一性和区域性,很多的网站仅针对某一类农产品发布供求信息,仅提供对某一个地区的农业供求信息[6]。为整合粮食作物、经济作物、林木花卉、果树、蔬菜、生猪、畜牧、家禽、水产、农产品等产业供求信息资源,将分散式管理变为集中式管理,将零散的小系统变为统一的大系统,该研究构建了基于中间库和Webservice的农业信息供求平台“供求联播”模式。该模式中,农业信息服务总平台统一组织规划,各产业系统配合参与,从而实现供求信息互联互通,方便数据共享和交换,具体如图2所示。

2.1 “供求联播”平台工作流程 “供求联播”平台工作流程如图3所示,具体为:①数据提供者写入数据,判断写入数据是否有效,若无效则返回重新写入数据,若有效则将数据存入中间库;②通知总平台(数据接收者)读取数据,若读取失败则返回重新读取,若读取成功则将数据存入总平台数据库。然后发送通知给数据提供者,若通知失败则返回重新通知,如果通知成功则将对外提供访问接口;③输入检索条件,首先判断是否具有访问权限,若没有访问权限则返回重新输入检索条件,若具有访问权限则返回授权码,并将满足检索条件的数据输出。

2.2 WebService实现流程 该平台以Java语言开发,以A-pache Axis2为WebService框架,保证了跨平台工作,同时也有利于异构数据源的集成[12]。WebService通知流程如图4所示,具体为:数据提供者调用相应的WebService服务以XML的方式将数据存入中间库对应的表中,新写入的数据标志字段(Symbol)置为1,同时通知数据接收者数据已写入中间库,数据接收者接到通知后去中间库取数据并调用相应的WebService服务以XML的方式将数据存入总平台数据库,读取完成后将数据标志字段(Symbol)置为0,同时通知数据提供者数据已读取完毕。在这个过程中,数据提供者、中间库以及数据接收者之间的调用和协作都是通过WebService来实现的。

图2 农业信息供求平台信息共享示意

图3 “供求联播”平台的工作流程

3 小结与展望

为实现农业专业信息平台的信息整合与共享,该研究提出了一种基于中间库与WebService农业信息共享模式,利用中间库实现数据共享的高效快速存取,同时保证了数据同步更新和完整性安全性,并利用WebService完成信息供求方的系统存取通知。最后,以农业信息供求平台为例,设计了基于中间库与WebService的“供求联播”信息共享,为我国农业专业服务信息共享提供了有效参考。今后的研究中,还应当针对农业资讯、种养殖管理技术、农业资源等专业信息设计农业信息共享模式。

图4 WebService通知流程

[1]盛旗锋.农业信息化建设与评价研究[D].合肥:安徽农业大学,2006:48-53.

[2]唐启国.浅谈农业现代化与农业信息化建设[J].农业现代化研究,2004(1):56 -58.

[3]彭玢,代洁.基于中间库与WebService平台信息交互接口设计[J].算机与数字工程,2013(11):1801-1803.

[4]潘荣成.利用中间库构建医院信息系统和检验信息系统的无缝连接[J].医学信息学杂志,2011(8):20 -22,25.

[5]陈红茜,杨增玲,李辉,等.基于WebService和元数据的农业生物质特性数据共享平台研究[J].广东农业科学,2014(5):217-222.

[6]李琳琳,姚超,王庆超,等.基于Web Service的软件资源共享方法研究[J].火力与指挥控制,2004(5):45 -48.

[7]李亿红,徐韧,程祥圣,等.基于XML和WebService的数据库审计系统[J].计算机应用与软件,2010(1):198 -200,223.

[8]刘建勋,张申生,胡涛.基于Web与XML的企业交互集成接口研究[J].高技术通讯,2002(5):71 -75.

[9]李琳琳,姚超,王庆超,等.基于Web Service的软件资源共享方法研究[J].火力与指挥控制,2014(5):45 -48.

[10]刘建勋,张申生,胡涛.基于Web与XML的企业交互集成接口研究[J].高技术通讯,2002(5):71 -75.

[11]HENDRICKSM,GALBRAITH B.Java Web 服务编程指南[M].北京:电子工业出版社,2002:58-62.

[12]何勇,陈世平.基于Webservice的校园数据共享的设计与实现[J].计算机应用与软件,2005(10):64-66.

猜你喜欢
视图数据库农业
国内农业
今日农业(2022年1期)2022-11-16 21:20:05
国内农业
今日农业(2022年3期)2022-11-16 13:13:50
国内农业
今日农业(2022年2期)2022-11-16 12:29:47
擦亮“国”字招牌 发挥农业领跑作用
今日农业(2021年14期)2021-11-25 23:57:29
5.3 视图与投影
视图
Y—20重型运输机多视图
现代兵器(2017年4期)2017-06-02 15:59:24
SA2型76毫米车载高炮多视图
现代兵器(2017年4期)2017-06-02 15:58:14
数据库
财经(2017年2期)2017-03-10 14:35:35
数据库
财经(2016年15期)2016-06-03 07:38:02