一、WebService到底是什么?
一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

跨编程语言:服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!

跨操作系统:则是指服务端程序和客户端程序可以在不同的操作系统上运行。

二、WebService平台技术
 XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

XML+XSD:

XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。这些细节对实现互操作性很重要XMLSchema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。

SOAP:

WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

SOAP协议 = HTTP协议 + XML数据格式

SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

WSDL:

WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

三、WebService开发
WebService开发可以分为服务器端开发和客户端开发两个方面:

服务端开发:把公司内部系统的业务方法发布成WebService服务,供远程合作单位和个人调用。(借助一些WebService框架可以很轻松地把自己的业务对象发布成WebService服务,Java方面的典型WebService框架包括:axis,xfire,cxf等,java ee服务器通常也支持发布WebService服务,例如JBoss。)

客户端开发:调用别人发布的WebService服务,大多数人从事的开发都属于这个方面,例如,调用天气预报WebService服务。(使用厂商的WSDL2Java之类的工具生成静态调用的代理类代码;使用厂商提供的客户端编程API类;使用SUN公司早期标准的jax-rpc开发包;使用SUN公司最新标准的jax-ws开发包。当然SUN已被ORACLE收购)

WebService的工作调用原理:对客户端而言,我们给这各类WebService客户端API传递wsdl文件的url地址,这些API就会创建出底层的代理类,我调用这些代理,就可以访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再通过HTTP协议发出去,并把接收到的soap数据变成返回值返回。对服务端而言,各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。

四、适用场合
1、跨防火墙通信、应用程序集成、B2B集成、软件和数据重用

五、不适用场合
1、单机应用程序、局域网的同构应用程序:
————————————————
版权声明:本文为CSDN博主「鹿先生的安河桥」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/MR_XuZhe/article/details/78884438

转载于:https://www.cnblogs.com/jswu-ustc/p/11460045.html

web service是什么相关推荐

  1. Web Service 安全性解决方案(SOAP篇)

    拼吾爱程序人生 » 软件编程 » Visual Studio.NET » Web Service » Web Service 安全性解决方案(SOAP篇) Web Service 安全性解决方案(SO ...

  2. Web service到底是什么?

    Web service到底是什么:在什么情况下你应该使用Web service. 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的瘦客户应用程序.这 ...

  3. web service 和 remoting 有什么区别

    其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 1.Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这 ...

  4. 使用axis开发web service服务端

    一.axis环境搭建 1.安装环境 JDK.Tomcat或Resin.eclipse等. 2.到 http://www.apache.org/dyn/closer.cgi/ws/axis/1_4 下载 ...

  5. WCF实现RESTFul Web Service

    共同学习了前面一些概念,终于开始正题了哈.RESTful的Web Service调用直观,返回的内容容易解析.这里先会描述一个简单的场景--Web Service提供一个方法来搜索个人信息,传入人名, ...

  6. web service 项目 和 普通 web项目 的 区别

    web service 面向的是开发者(需要再次开发) 普通web 面向的是用户(直接使用) 转载于:https://www.cnblogs.com/zno2/p/5612024.html

  7. 从WEB SERVICE 上返回大数据量的DATASET

    前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作.查遍了网站的文章,问了一 ...

  8. postman请求soap 请求_postman测试调用web service asmx

    大多数情况都是使用postman来测试调用Restful接口,但是有些老系统用web service写的接口还是不少见.最近我就遇到了,我们之前买的一个系统居然是.net 写的web service, ...

  9. Web Service 的工作原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

  10. Web service是什么?

    一.Web service的概念 想要理解Web service,必须先理解什么是Service(服务). 传统上,我们把计算机后台程序(Daemon)提供的功能,称为"服务"(s ...

最新文章

  1. 在Ubuntu 16.04.6 LTS上升级python 3.5到3.7.3实录
  2. 超经典超好玩的光枪游戏,强烈推荐!
  3. python 去除字符串里所有标点符号
  4. python for in list
  5. vue 父组建获取子组建方法为获得_Vue父子组件状态同步的最佳方式
  6. 使用CreateProcess和wcscat_s容易出错的地方
  7. 非一致性访存系统_Hibernate事实:访存策略的重要性
  8. 后面第一个大于(51Nod-2500)
  9. [转] C#中Dispose和Close的区别
  10. android studio 2.3.1 r丢失,AndroidStudio中 R文件缺失的办法
  11. android 通知栏样式_Android通知样式
  12. 网站设计整体策划流程
  13. python open 函数漏洞_input()函数中的Python漏洞
  14. ER图工具Visual Paradigm下载并设置中文
  15. ERStudio使用细则
  16. jscpd--前端代码重复率检测
  17. apple 西单大悦城维修_如何检查Apple是否已召回MacBook(免费维修)
  18. cesium实现动态立体墙效果
  19. 【西祠日志】【19】【20】有人说,21天可以养一种习惯
  20. 酒店管理系统-毕业设计

热门文章

  1. Java校验文件是否损坏
  2. 二分查找法。Java泛型设计二分查找法。
  3. OPERA AR学习
  4. stm32单片机在keil中如何建立工程模板
  5. 第七课:电介质及极化
  6. 中了,2600万 鸿雁成功拿下成都轨交30号线一期配电箱项目
  7. win10新建文本文档(TXT)的快捷键
  8. 国际制造执行系统(MES)应用与发展(转)
  9. C语言设置自动关机,可以恶搞朋友(慎用!!!!)
  10. 数电Modelsim,Quartus仿真实验