一种数据分发系统的设计与实现_刘跃军
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六期
XML 以其格式的通用性和与平台无关性能很
好的解决在数据共享服务建设过程中,对来自于不同平台的、不同格式的数据转换、分析和处理。同时,随着Web 访问资源的不断增长,以浏览器为前端工具的Web 访问方式己成为信息访问的主流[1]。因此,提出了一种以XML 文件作为中间结果实现异构数据源收集与分发的解决方案,以满足共享服务处理中对不同形式数据的处理要求。
1技术概述
1.1Web Services
Web Services 是一种用于分布式应用程序之
间通信的接口技术,它构建于通用的Internet 标准协议栈之上,提供了一种B2B 应用程序的耦合方式。流行的Web Services 实现一般都是构建在
XML 、SOAP 、WSDL 、WSFL 等技术上。Web Services
的基本思想是把软件当作一种服务。一般认为,
Web Service 是通过Web 调用的应用逻辑或功能,
具有自包含(Self —Contained)、自描述(Self —De -
scribing)以及模块化的特点,可以通过web 发布、查
找和调用。
Web Service 的体系结构基于服务提供者、服
务代理者(Web 服务注册中心)和服务请求者三种角色之间的交互。交互涉及发布、查找和绑定三种基本操作。这些角色和操作一起作用于Web 服务构件、Web 服务软件模块及其描述。
1.2XML
XML 是eXtensible Markup Language(可扩展的置标语言)的缩写,是W3C 组织于1998年2月发
布的一种互联网上交换数据的标准,它是一种置
标语言,基本上是SGML 的一个子集。因为XML 也有DTD ,所以XML 也可以作为派生其他置标语言的元语言,没有固定的能够适用于所有领域中所有用户的标签和元素,但它允许开发者和编写者根据需要定义元素。不但可以描述XML 文档的数据对象,也可以部分地描述处理这些数据对象的计算机程序行为[2,3]。
XML 型数据是以文本形式进行记述,适合于
在多个平台的环境中进行数据交换,从根本上解决了应用系统间的信息交换[4]。它的成功并不在于它容易被人们书写和阅读,而是因为XML 满足了两个基本的需求:1)将数据和表达形式分离;2)在不同的应用之间传输数据。
2系统设计
2.1系统逻辑结构设计
本系统为基于Web Service 的4层融合C/S 和
B/C 的数据分发系统,主要由6个模块组成:核心
模块、收集模块、分发模块、服务模块、数据源模块和用户模块。逻辑结构如图1所示。
2.1.1核心模块
核心模块是整个收集/分发系统的核心,它位于中心服务器中,负责联系其他模块:1)负责与用户模块交互,储存用户交互方式(网页或应用程序)并通知分发模块,执行用户的服务请求,将相应的任务分配到各模块;2)部署数据仓库,维护数据仓库的管理;3)协调数据仓库管理系统数据导入接口,存储收集模块发送的数据;4)通过数据仓库的程序接口,调用服务模块内程序,执行相应任务产生结果,发送到分发模块,进行显示。核心模块
一种数据分发系统的设计与实现
刘跃军苏静
(安阳师范学院继续教育学院,河南安阳455000)
摘
要:基于Web Service 的数据分发系统,充分利用XML 格式的通用性和平台无关性来解决不同数据格式的分发问题。
关键词:XML ;Web Services ;数据分发;JAXR ;中图分类号:TP393
文献标识码:A
文章编号:1673-2928(2008)06-0035-04
收稿日期:2008-04-02
基金项目:河南省教育厅自然科学研究计划项目(2008A180041)资助。作者简介:刘跃军(1976-),男,安阳师范学院讲师,硕士。研究方向:计算机网。
安阳工学院学报
Journal of Anyang Institute of Technology
35
安阳工学院学报
Journal of Anyang Institute of Technology2008年
的接口如图2所示。
2.1.2分发模块
分发模块负责接收核心模块发送的用户交互方式和服务结果,将结果进行处理后,转换到与服务方式相对应的输出格式进行显示,并实现对用户自行开发的程序实现接口对接。
2.1.3收集模块
收集模块负责维护各远程数据服务器数据库(包括数据类型、类别、安全等级、数据格式、数据库类型等),定期与数据服务器进行更新数据列表,负责与远程数据服务器建立连接,进行数据交换。此处涉及到的安全问题,可以采用SSL进行传输。实现各种数据格式与XML文件的转换,由接收到的XML文件向临时关系数据库映射[5]。实现数据清洗:由于各数据源对同样的数据表示的格式不同,将这些数据导入统一的关系数据库时,需要进行相应的裁减,将多余的列删掉或者添加一些列,实现格式统一。此外,在数据量大的时候,为了保证数据的正确接收与吞吐量,此处的临时数据库可采用并行数据库来提高性能。
2.2数据发布接口设计
Web Service对于Web服务的方式进行了扩展,除了传统的Browser方式,它还允许用户根据服务提供商所发布的WSDL文档自行开发客户端,通过SOAP与Web Service提供的服务自动对接,进行数据交换与程序的交互。数据发布接口的设计实际应包括客户端的设计与数据发布模块的设计。对于客户端的设计方案主要有以下两方面:2.2.1浏览器的应用方式
现在提供服务比较普遍的方式是采用浏览器/服务器的方式。为了向下保持兼容性,对于客户端的设计应包括浏览器方式,可以采用比较常用的浏览器,如IE,Netscape和Firefox等。当然还应包括一些PDA和无线设备的用户,这主要是面向瘦客户端的用户,这类用户只对浏览网页感兴趣,Web 服务的任务就是处理Web请求,实现对信息数据的分类分级后网页化显示并提供数据打包下载。
2.2.2应用程序客户端的应用方式
Web Service的重要特性是它把服务的方式进行了升级,可以在网络上以应用程序级的方式,交换数据。用户可以通过阅读WSDL文档,自行开发客户端应用程序,直接与服务器进行对接,实现数据的共享。分发模块负责与这些客户端进行对接,将服务的结果以约定的方式发送给这些客户端。这类用户属于胖客户端,可以利用组件如Java applet或者采用类似RPC的一些技术,如RMI-IIOP、COR-BA、RPC、COM+等进行开发可以和服务平台直接整合,将服务的数据直接导入用户的业务系统中。
3数据分发平台的开发
3.1基于J2EE的Web Service交互架构
设计Web Service之前,应该明确当前应用是否需要Web Service解决方案。Web Service技术的优势之一在于能够穿过防火墙,实现跨异构平台的协作,即如果需要将应用的全部或部分功能提供给不同平台上的其他应用访问时,可以引入Web Service解决方案。对于基于J2EE平台的应用系统,下列两种情况引入Web Service将非常有意义:1)客户端程序不是J2EE应用。2)客户端程序虽然是J2EE应用,但分布在分散的Web环境中。普通Web Service的系统架构是面向服务的,服务的发布和发现是Web系统架构中首要解决的问题。在Java环境下,Web Service通过JAXR(Java API for XML Registries)实现自身的发布。请求方使用同样的JAXR API寻找服务,使用JAX-RPC绑定和调用Web Service,如图3所示。
图3Java环境下Web Service的发布、发现、
绑定模型36