
设计与实现
金萍
北京邮电大学信息网络中心,北京(100876)
E-mail: jingp@buptnet.edu.cn
摘要:XML自描述性和平台无关性使得它已经成为通过互联网在各种异构系统间交换和共享数据的强大工具。Web Services 技术提供了不同平台上以不同语言开发的应用程序相互通信和互操作的标准手段。文中提出了一种基于XML 和Web Services 技术的网络安全资源共享平台模型, 阐述了这种模型的结构和实现技术。
关键词:XML;Web Service;网络安全
中图分类号:TP393.08
1.引言
随着计算机网络技术的飞速发展以及数字信息资源在各个领域的迅速普及,建立标准统一、符合国际规范的网络安全基础资源平台已经成为网络安全信息共享的重要工具。当前各国,尤其是欧美发达国家,在科技信息资源共享方面投入了巨大的财力和物力。尽管国内正在积极进行科技基础条件平台的建设工作,但是国内网络安全领域的基础资源共享平台的建设尚属于空白阶段。
目前,基于Web的信息交流、共享与协作已成为网络领域资源共享的发展方向。然而不同的部门的信息资源往往采用了不同的数据管理系统,这些不同的数据管理系统是由各部门自身的特点决定的,在地理位置上往往也是分布的,只能通过Internet访问。要统一协调管理,促进资源共享,就必须对这些分布异构数据库进行必要的集成。而Web Service是一种新型的Web应用程序。具有自包含、自描述以及模块化的特点。可以通过Web发布、查找和调用。一旦一个Web Service配置好后,其它应用程序和其它Web Service就可以直接发现和调用该服务。
2.Web Service
Web Service的优点是完好的封装性、松散藕合、使用标准协议规范和高度的可集成力。Web Services 把一切都看作服务( Service) , 这种服务可以在网络上通过消息传递机制动态地被发现、组织和重用。Web Services对外封装成由WSDL 描述的服务, 屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性[1]。
Web Services 核心协议:Web Services 的核心协议栈如图1 所示: 主要有SOAP、WSDL 和UDDI。SOAP( Simple Object Access Protocol) 是一个轻型的简单协议, 即通过HTTP 等协议传送XML 数据。WSDL (Web Services Description Language) 借助XML 文档来描述一个Web Services 服务, 描述服务提供的功能和所接受的数据格式。UDDI(UniversalDescription、Discovery and Integration Registry) 规范用于描述某项业务的商业结构, UDDI 框架是一个企业可以注册其Web Services 并查找其他Web Services 的数据库集合, 应用程序使用SOAP API 来读取或提供与UDDI 相关的WSDL 文档。
图1 Web Service核心协议栈
3.基于XML和Web Service网络安全资源平台模型
3.1 平台总体设计
系统设计的指导思想是:将已有数据集整合到统一的平台中;同时,平台要提供查询、分析和数据下载的功能;考虑平台的兼容性、扩展性,对用户提供标准的通用接口;对敏感数据匿名化。在这种设想下,存在以下难点:
1.现有数据集由不同的部门管理。
2.现有数据集分布于不同的物理地址。
3.现有数据集使用不同的存储方式。有的数据集使用数据库存储,有的数据集使用文件方式存储。即便是使用数据库存储的数据集,使用的数据库也各不相同。
4.没有元数据,或者现有元数据标准不统一。
根据以上难点,平台建设选择使用Web Service方案,利用XMLSchema描述各种信息资源,并用UML来创建XMLSchema元数据,完善信息资源标准化,达到共享的目的[2]。
使用Web Service方案,共享平台通过Web Service提供的接口与数据集进行交互。共享平台与数据集之间并不直接相连,而是通过Web Service提供的接口进行连接。同时,原有数据集存放方式无需改变,只需增加查询分析模块调用文件形式存放的数据集中的数据。Web Service模块将共享平台与数据集隔离,当一方更改时,另一方无需被动更改。平台也提供了更好的扩展性,当有新的数据集加入平台中时,只需参照平台的Web Service 接口,加入Web Service接口模块即可。同时,用户可以使用共享平台的开放的Web Service接口,对数据分析功能二次开发。图2为平台结构示意图。
图2 平台结构示意图
3.2 元数据创建
元数据简单言之,就是“关于数据的数据”。网络安全资源元数据是用于描述网络安全数据集的内容、获得方法、获得时间、位置、管理方式以及其它特征的数据[3]
。元数据对于建立网络安全资源共享平台是十分重要的,通过设在中心的元数据库可以实时地连接各个分布于不同部门的资源数据库,帮助潜在的用户找到其特定应用所需要的数据,实现数据共享。 利用UML 创建XML Schema 元数据的过程也可以分为概念建模、逻辑建模和物理建模三步[4]。概念建模创建UML 类图与XML Schema 中的定义形成一一对应关系。进一步得到逻辑层模型后,生成最终的物理层模型。例如,统计信息类应生成如图3所示的XML Schema 元数据。
图3 统计信息类元数据XML Schema
(文件形式存放)数据集提供者C 数据集提供者A
3.3 Web Service 接口设计 一个完整的Web 服务数据交互过程如图4所示:
图4 Web Service 接口功能 1.XML 字符串封装模块将服务请求放提供的参数a 、b 封装成XML 字符串。XML 字符串型如“ 相反。 3.4 Web Service 的发布 Axis 为用户提供了极为方便的发布Web 服务的方式。将开发完成的Web 服务程序保存为后缀名为.jws 的文件,上传到应经安装有Axis 插件的Apache 服务器上。完成后,Web 服务将被发布。 在浏览器中输入Web 服务的地址,就可以看到所发布服务的WSDL 文件。通过该WSDL ,需要使用该服务的用户就可以参照WSDL 文件描述的接口使用该Web 服务。 3.5 Web Service 接口的使用和扩展 通过查看WSDL 文件,用户可以了解到Web Service 所提供的方法的相关参数,包括函 、y 请求 同时,Axis还提供了方便的客户端自动生成功能。只要知道WSDL文件所在的位置,同时客户端装有Axis,就可以利用该功能自动生成Web Service客户端的接口。例如,在本例中,执行java org.apache.Axis.wsdl.WSDL2Java -p client http://210.25.137.251/Axis/Data_analyse.wsdl后,就可以自动生成Web Service的API。执行该命令后,会产生四个文件,分别是Data_analyse.java、Data_analyseService.java、 Data_analyseServiceLocator.java、Data_analyseSoapBindingStub.java。其中,在 Data_analyse.java中,有Web Service所提供函数的声明,因此,用户只需编写程序调用Data_analyse类中的函数即可调用服务器端的方法,就像调用本地方法一样。用户完全不需要了解更深层次的Web Service技术。 对于平台的开发人员,在将来扩展共享平台的功能时,还可以方便的定义Web Service 的其他方法。只需将所需的全部输入参数组合成XML格式的字符串即可,返回值也为XML 格式的字符串。所有的输入输出值和XML格式字符串之间的串并转换功能由已经编写的字符串封装、解析功能实现。唯一需要做的工作是编写XML字符串的XML Schema,并把该XML Schema提供给客户端的开发者。 4.结束语 基于XML 的数据集成已经成为当今的热点之一, 文章结合XML 和Web Services 技术提出了一种网络安全资源平台的解决方案。由于充分利用了XML 强大的表述信息的能力和Web Services的灵活性, 有效地解决网络安全领域数据交换和共享问题, 实现信息的互联互通。 参考文献 [1]柴晓路,梁宇奇, Web Services技术、架构和应用,电子工业出版社, 2003年。 [2]田博涵,XML Schema元数据在网络安全资源领域的创建过程,中国科技论文在线,2009年1月。 [3]中华人民共和国科学技术部,SDS/T2112-2004,科学数据共享元数据内容,北京,2005年。 [4] Carlson and David,Modeling XML applications with UML,科学出版社,2004年。 [5] Richard Monson-Haefel,J2EE Web Services 高级编程,清华大学出版社,2005年。 Study and Design Of Data Exchange Platform Based On XML and Web Services Jin Ping Information Network Center, Beijing University of Posts and Telecommunications, Beijing (100876) Abstract XML is a self- describing and platform- free language. It has become a powerful tool when sharinginformation on Internet. Web Services make it possible to communicate between different programs which are developed in different languages and on different platform. This paper proposes to build a network security resource sharing platform with XML and Web Services technology and then illustrates the architecture of this model as well as the key techniques. Key words: XML; Web services; network security
