专家全面解读WebService开发技术的奥秘

日期: 2013-02-28 来源:TechTarget中国

  随着企业信息化的不断深入,企业各种异构信息系统的数据交互需求日益增多。Web Service完全基于XML、XSD等独立于平台和软件供应商标准的技术,是创建可互操作的、分布式应用程序的新平台,能很好的解决异构系统交互的需求,将分散在各种系统、信息孤岛中的数据进行整合,让管理者们能够实时地访问这些数据。SOA(Service-Oriented Architecture,面向服务架构)思想是当今企业软件架构的热点,通过允许强定义的关系,使业务 IT 系统变得更加灵活,适应业务中的改变,IT 系统既可以利用现有系统的功能,也可以做出改变来满足它们之间交互的需要。目前,Web Service 是SOA 的一种较好的实现方式,因此Web Service的应用也有助于在SOA架构方面的探索打下基础。下面本文将从四个方面全面介绍Web Service开发技术。

  一、需求决定选择

  在使用Web Service开发技术之前,首先需要明确的问题是Web Service技术是否满足企业项目的实际需求。Web Service的通信基于SOAP协议,SOAP协议现阶段是绑定在HTTP协议上传输的,这使得Web Service可以跨越不同平台,穿越防火墙实现异构环境下的远程集成。正如每枚硬币都有正反两面,Web Service的跨平台特性也是一把双刃剑,它在斩断异构远程平台集成的羁绊的时候也带来了效率问题。这是由于Web Service在客户端要完成调用请求向XML格式数据的转换,并用SOAP协议传输;服务器端在接收到XML格式的SOAP消息之后,需要解析成本地环境的调用信息然后完成调用。由此可见,Web Service在实现异构环境下远程应用集成的时候付出了双层信息转化和传输信息量增大的代价。因此对于同构环境下的应用集成,Web Service技术并不适合,使用特定平台下的远程调用技术,效率会更高,集成难度更小。

  二、Web Service开发模式

  在软件建模中有三种方式:自底向上,自顶向下和双向模式。Web Service的开发模式对应的也有三种:

  1) “自底向上”模式:从实现接口代码开始生成 WSDL 文档。

  2) “自顶向下”模式:从 WSDL 文档开始生成实现接口代码。

  3) “双向”模式:从 WSDL 文档开始生成实现接口代码,接着使用生成的实现接口代码来生成 WSDL 文档,然后使用生成的 WSDL 文档来生成最终的实现接口代码。

  对于自底向上模式由于是从企业已有的实现接口或者技术出发,WSDL 文档可以由工具生成,需要的相关WSDL 或 XML 的知识最少,所以这种方式能快速开发出Web Service接口,但是这种方式对接口的递增更改管理比较困难;自顶向下模式则相反,它对开发人员要求较高,需要开发人员熟悉WSDL 或 XML 的知识和SOAP协议等;双向模式则结合了前两种模式的特点。企业需要根据自己的技术积累和需要选择相应的开发模式。

  三、开发框架选择

  现阶段,Web Service开发框架有几十种之多。主流的开发框架有四种:Axis、Axis2、Xfire和CXF。其中历史最悠久的是Axis框架,应用也最广泛,但Axis框架在2006年4月底之后就停止更新了;Xfire也是应用较广泛的Web Service开发框架,它在2007年5月停止更新;Axis2 由Axis系列演化过来,对 Axis 进行了彻底重写,它使用了新的模块化架构,更方便于功能性的扩展;CXF是XFire和Celtix项目的结合产品,重新的深化了XFire和Celtix这两个开发工具。四种开发框架的主要特点是:

  1) Axis项目成熟,文档多,但是后续没有更新,效率较低。

  2) Axis2(Axis2和Axis相差很大) 支持多语言开发,但复杂性高,依赖的包数量和大小都较大,打包部署发布较麻烦,不能很好的与现有应用整合为一体。

  3) XFire支持Web Service各项标准协议,可以方便快速地开发Web Service应用,XFire提供了和Spring的集成支持,在Web Service开源社区拥有众多的追随者,且很容易在Spring中使用XFire构建Web Service应用,有后续项目CXF支持。

  4) CXF来自于XFire项目,经过改造后形成的,就像目前的Struts2来自Web Work一样。但目前CXF项目较新,不够成熟,文档较少。

  企业需要根据自己的需要灵活选择开发框架。

  四、Web Service测试

  Web Service测试主要包含功能测试、性能测试和安全性测试三大要点。

  1) Web Service功能测试:测试系统所实现Web Service接口的功能。开发人员提供已实现功能的程序包,和待测试Web Service的方法名、参数以及实现的功能描述。测试要点是不同的参数组合,应按设计要求返回相应的信息。

  2) Web Service性能测试:测试系统所实现Web Service接口的性能,需要Web Service接口的功能测试已完毕。测试要点是测试并发调用Web Service接口,观察其性能表现,主要是在不同的并发量、持续运行时间和数据库容量下,测试事务的响应时间、总事务数、事务的成功率、点击率等,同时监控硬件资源的消耗情况。

  3) Web Service安全性测试:测试系统所实现Web Service接口的安全性。需要Web Service接口的功能测试已完毕。测试要点是测试Web Service接口的调用是否有用户名、密码验证,恶意调用是否会导致系统崩溃等。

  随着企业信息系统跨平台交互需求的增加,Web Service作为一种优秀的跨平台通信技术正得到越来越广泛的应用。但正如前文所述,是否采用Web Service技术一定要从企业实际需求出发,采用适合企业和项目的开发模式和开发框架,最后还要根据Web Service的特点进行详细的测试,这样才能保证Web Service技术在企业应用的成功。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐