基于Web Service的分布式遥感产品生产通信技术研究

2014-04-01 07:14
中原工学院学报 2014年4期
关键词:调用分布式生产

(河南大学 计算机与信息工程学院,河南 开封 475004)

近年来,随着遥感图像获取手段的多样化,遥感图像数据量急剧增大,迫切需要建立一个分布式遥感产品生产系统[1-2]。分布式遥感产品生产系统由多个分系统组成,各分系统存在平台和开发语言的差异,分系统间如何通信成为了一个亟待解决的问题。传统的Socket、TCP通信技术实现起来简单,但是编程复杂度高、消息解析麻烦[3],而RMI的实现需要通信的两端都有Java运行环境,这些缺陷使得它们都不能应用于本系统中。

Web Service是近年来新兴起的一种技术架构,有很多异构系统间通信是基于Web Service技术实现的,例如肖维民等基于Web Service的车险移动查勘系统[4]、焦圣明等基于Web Service的分布式交通气象信息共享技术[5],以及徐光侠等基于Web Service技术的异构系统的无缝集成[6]。Web Service的跨平台和语言无关的特点使各分系统在无需考虑运行环境的情况下,可以彼此兼容,进行无缝通信[7]。而且Web Service纯接口的数据调用使得用户不必关心服务的具体实现,只要接口不变,对用户没有任何影响,这种松耦合的组件架构使得分布式遥感产品生产系统具有高可用性和高扩展性。本文基于Web Service技术设计了一种分布式遥感产品生产系统通信接口方案。

1 Web Service技术

Web Service是一套标准,它定义了应用程序如何在Web上实现互操作性,具有跨平台和语言无关性。Web Service将服务、功能封装成对象发布到网络上,客户端通过编程调用其开放的服务接口来获取它的服务,并不需要知道其请求的服务是如何实现的,具有松耦合性。Web Service 采用 XML 传送数据,可跨越防火墙。Web Service的主要技术有XML、SOAP、WSDL及UDDI等[4-6,8]。

可扩展的标记语言(XML)是Web Service表示数据的基本格式,是W3C制定的用来定义和描述数据的文本标记语言规范。

简单对象访问协议(SOAP)是一个用于分布式环境下交换数据的简单的轻量级的协议。SOAP定义了消息传递的格式。SOAP是基于XML的,XML是SOAP的数据编码方式。

Web Service描述语言(WSDL)提供对通信接口的描述,如定义接口的函数名、参数和返回值。

UDDI是分布式Web服务的信息注册规范。Web Service可以根据这一规范进行注册,以便被其他需要该服务的用户发现[6]。

2 系统通信接口的设计与实现

分布式遥感产品生产系统是集遥感科学与应用、计算机科学与应用和社会科学与应用为一体的系统,具有架构设计合理、产品生产速度快、产品精度高、信息展示方式多样化等优点。该系统由信息共享服务分系统、信息产品生产分系统、质量检验分系统和综合数据库分系统4个分系统组成。信息共享服务分系统负责接收各类用户提交的订单。信息产品生产分系统从信息共享服务分系统接收产品订单,然后分配合适的计算资源,完成产品的生产。质量检验分系统负责对产品进行质量检验。综合数据库分系统负责存储生产所需的影像数据和算法及生成的产品。本文重点介绍系统中通信接口的设计与实现。

2.1 系统通信接口的设计

采用Web Service技术设计系统通信接口,实现各分系统间的通信。设计方案如下:①将一个分系统能够提供给其他分系统的通信接口封装为一个Web Service,并把在创建Web Service时生成的UDDI文档(包括Web Service的名称、功能、需要提供的参数、返回值类型等)在UDDI注册中心进行注册;②在调用某个通信接口时,在UDDI注册中心查找对应的Web Service服务;③根据返回的信息调用对应的Web Service服务。

因为分布式遥感产品生产系统各分系统相互都有通信,每个分系统都创建并发布Web Service服务,所以每个分系统既是Web Service服务的提供者,又是Web Service服务的请求者。通信接口设计原理如图1所示。

图1 基于Web Service的通信接口设计原理图

根据应用Web Service技术实现各分系统间通信的方案可以看出,本系统的优点是:①当系统很大时,可以由各个分系统发布不同的Web Service服务来构造系统间的通信;②基于Web Service技术,完全屏蔽了平台和开发语言的差异,具有跨平台和开发语言无关性的能力;③系统通过标准协议进行数据访问,有利于系统的维护、完善和功能扩展。

2.2 系统通信接口的实现

在分布式遥感产品生产系统各分系统中,根据图1所示的通信接口设计原理,构造各自的Web Service服务。下面以其他分系统与综合数据库分系统的通信为例介绍Web Service服务的实现与调用。

在综合数据库分系统实现过程中,首先构造基于Web Service技术的通信接口的实现类,实现环境为VS 2010,采用C#开发语言。实现类完成之后,把服务及其描述的WSDL文件发布到UDDI注册中心进行注册,Web Service发布完成之后,其他分系统就可以根据发布后的Web Service服务的相关WSDL描述调用此服务进行通信。综合数据库分系统的Web Service服务实现类如下所示:

[WebService(Namespace="http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class SubmitOrder : System.Web.Services.WebService

{

public SubmitOrder()

{

if (!Constant.Created)

Constant.Create();

TSPCommonReference.Create();

}

[WebMethod(Description = "创建一个共享工作空间,将数据临时放入该空间下")]

public string GetNewWorkSpace(string dataType){ 代码省略 }

[WebMethod(Description = "触发数据入库!")]

public int SubmitHJDataImport(string sharePath){ 代码省略 }

[WebMethod(Description = "触发数据批量入库,datatype为数据类型,dirPath为数据目录")]

public int SubmitDataImport(string datatype, string sharePath){代码省略 }

[WebMethod(Description = "触发数据入库!dataType为需要上传的数据类型,sharePath为数据所在的网络路径")]

public int SubmitImportOrder(string dataType, string sharePath){ 代码省略 }

[WebMethod(Description = "数据上传统一接口,dataType为上传类型,pathID为源数据url,opID为操作号!")]

public int UploadData(string dataType, string pathID, string opID){ 代码省略 }

[WebMethod(Description = "下载数据统一接口,dataID为数据唯一编码,pathID为下载目的地,opID为操作号!")]

public int DownLoad(string dataID, string pathID, string opID){ 代码省略 }

}

其他分系统采用Java语言编写客户端程序,根据得到的WSDL文件,解析该文件中所描述的相关参数,这些参数包括服务的名字、端口的名字、绑定的方法以及服务的调用地址,根据这些参数对服务进行调用,完成其他分系统与综合数据库分系统的通信。

3 结 语

本文介绍了Web Service技术的相关理论知识,将Web Service技术应用于分布式遥感产品生产系统通信接口的设计,实现了分布式遥感产品生产系统各分系统间的无缝通信。同时,Web Service技术所具有的跨平台、开发语言无关性和松耦合等优点,使系统具有良好的可移植性和可扩展性,为以后类似的应用提供了新的思路和解决方法。

参考文献:

[1] 郑逢斌,张哲,余涛,等.一种支持多任务高效处理的遥感产品生产线架构研究[J].计算机科学,2012(s3):181-184.

[2] 周兵,李家国,吴贯锋,等.面向遥感产品生产的可视化数据流模型[J].河南大学学报(自然科学版),2013,43(1):74-78.

[3] 侯彦娥,王玉璟,楼军.基于WCF的异构系统间数据交互研究[J].河南大学学报(自然科学版),2013, 43(4):446-450.

[4] 肖维民,韦津华.基于Web Service 的车险移动查勘系统[J].计算机应用与软件,2012, 29(6):239-241.

[5] 焦圣明,严明良,郭静,等.基于Web Service的分布式交通气象信息共享技术研究[J].计算机工程与科学,2012, 34(3):196-200.

[6] 徐光侠,杨丹.基于Web Service 技术的异构系统的无缝集成[J].计算机工程与设计,2007, 28(6):1409-1411.

[7] 白林如,张红琴.基于Web Service的企业信息系统设计与实现[J].电脑开发与应用,2012, 25(5):79-81.

[8] 孙传群,杨洋.基于Web Service的业务系统集成模型[J].科技通报,2013,29(4):44-46.

猜你喜欢
调用分布式生产
用旧的生产新的!
“三夏”生产 如火如荼
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
代工生产或将“松绑”
S-76D在华首架机实现生产交付
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL