WebService的概念知识

什么是WebService?
  • webservice即web服务,因为互联网而产生,发布web服务后可以将资源进行共享,通过webservice调用获取并操作资源信息。
  • websevice是一种跨编程语言和操作系统平台的远程调用技术
  • 采用标准SOAP(Simple Object Access Protocol)协议传输,soap属于w3c标准。基于http传输xml,即soap=http+xml
  • 采用WSDL作为描述语言,即webservice使用说明书,wsdl属于w3c标准
  • xml和xsd(XML Schema Datatypes)是webservice的跨平台的基础,xml主要的优点在于它既与平台无关,又与厂商无关。xml是万维网协会(w3c)创办。

WebService三要素
  • SOAP
    • soap即简单对象访问协议(Simple Object Access Protocol)是一种简单的基于xml的协议,它使应用程序通过http来交换信息,简单理解为soap=http+xml。版本主要使用soap1.1、soap1.2,它也可以运行在任何其他应用协议上,例如:SMTP、tr069等
  • WSDL
    • wsdl是基于xml的用于描述web service及其函数、参数和返回值。通俗理解wsdl是web service的使用说明书。
  • UDDI
    • uddi是一种目录服务,通过它,企业可注册并搜索web service,企业将自己提供的web service注册在uddi,也可以使用别的企业在uddi注册的web service服务,从而达到资源共享。
    • uddi旨在将全球的webservice资源进行共享,促进全球经济合作,但是使用webservice并不是必须使用uddi,因为很多使用者已经知道了web service地址并进行调用。
WebService应用场景
  • 应用程序集成
    • 分布式程序之间进行集成使用webservice直接调用服务层方法,不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。

  • 软件重用
    • 将一个软件的功能以webservice方式暴露出来,达到软件重用。例如上边分析的天气预报,将天气查询功能以webservice接口方式暴露出来非常容易集成在其它系统中,再比如一个第三方物流系统将快递查询、快递登记暴露出来,从而集成在电子商务系统中。

  • 跨防火墙通信
    • 如果一个大型系统是基于web的且用户分布在世界各地,除了以浏览器访问系统页面外,如果使用其它客户端访问服务器的功能,客户端和服务器通信问题是大问题,因为客户端和服务器之间会有防火墙或者代理服务器,这时如果使用webservice开发功能就可以很容易跨越防火墙,因为webservice和网页程序都是运行在web容器且用相同的端口和协议。
可以不用WebService
  • 单机程序间通信
    • 这里说的单机程序是指一个厂家开发的多个应用部署在一台服务器,当程序之间需要通信且无需将接口暴露给第三方系统时完全没有必要使用 webservice技术,这时企业自定义一种简单的接口协议即可,简单高效。
  • 同构程序间通信
    • 同构程序是指采用相同的编程语言的程序之间通信,比如java远程调用RMI技术就可以非常高效的实现远程调用,使用简单方便,必需保证两边应用都是java编写才可以使用。总之,只要有其它方法比webservcie更高效更可行就不需要用webservice,因为web跨平台远程调用方法不止webservice一种,需要择优考虑。
建议使用WebService
  • 公开接口
    • 面向互联网公开的接口,例如:某公司产品促销介绍、股票信息查询等,因为webservice是互联网的一个标准协议,将接口发布为webservice,其它公司很容易使用;
  • 调用webservice服务端
    • 你作为客户端要调用别人的接口,对方接口用的是webservice,这时你也用webservice开发客户端,且协议版本要和服务端保持一致。
WebService优缺点
  • 优点
    • 采用xml支持跨平台远程调用
    • 基于http的soap协议,可跨越防火墙
    • 支持面向对象开发
    • 有利于软件和数据重用,实现松耦合
  • 缺点
    • 由于soap是基于xml传输,本身使用xml传输会传输一些无关的东西从而效率不高,随着soap协议的完善,soap协议增加了许多内容,这样导致了soap协议去完成简单的数据传输的效率更加不高
    • webservice作为web跨平台访问的标准技术,很多公司都限定要求使用webservice,其实对于简单的接口如果直接用http传输自定义数据内容比webservice开发更快捷,例如第三方支付公司的支付接口。
现状前景
  • 就目前来看webservice主要作为一种远程调用技术而存在,而远程调用的技术非常多,比webservice简单方便的也有,比如http。但是随着SOA的兴起,面向服务构建应用的模式被推崇,随着webservice标准的规范,相信web服务将是未来应用架构的一个极为重要的模式,随着web服务的深入人心,会有越来越多的应用采用web服务架构开发,web服务的需求将不断增加。
  • 像一些互联网开发商yahoo、eBay以及亚马逊等都提供了自己的W恩福,大大推动了企业B2B的进程,将来会有更多企业开放自己的web服务,从中获得更多的效益,这一切都有web服务所带来的,当然web服务正在发展肯定还有更精彩的前景等待人们去开发。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值