之前写代码,只是用到的时候才去看相关技术,用过后也没有再回头特别 去看,现在突然发现对一些技术的了解不够深刻,故现在准备再从头对用到的技术深入的学习下。就从webservice开始。首先对我不解的地方提出问题,由问题进入深入(以下的内容是转载别个作者的内容,文章地址见;https://jingyan.baidu.com/article/148a19219e87a54d71c3b1c3.html):

一、WebService到底是什么?

 1、什么是webservice

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

所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。

所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用。

其实可以从多个角度来理解WebService,从表面上看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何在Web上实现互操作性,你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。 

2、webservice平台需要什么?

WebService平台需要一套协议来实现分布式应用程序的创建。

因为,任何平台都有它的数据表示方法和类型系统。因此,WebService平台要实现互操作性,必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。

所以,Web service平台必须提供一种标准来描述Web service,让客户可以得到足够的信息来调用这个Web service。

最后,我们还必须有一种方法来对这个Web service进行远程调用,这种方法实际是一种远程过程调用协议(RPC)。为了达到互操作性,这种RPC协议还必须与平台和编程语言无关。

3、小结

通过前面所描述的WebService的介绍,从概念上来理解WebService,那么WebService就是一种跨编程语言和跨操作系统平台的远程调用技术。是为实现互操作的分布式应用程序创建的一种新平台,新标准,它通过一套协议标准实现了跨平台和语言的远程调用。其基本目的就是提供在各个不同平台的不同应用系统的协同工作能力。

其实webservice并不是什么神秘的东西。它就是一个可能远程调用的类,或者说是组件。把你本地的功能开放出来供别人调用.

最新文章

  1. 【MSP是什么】MSP认证之成功的项目群管理
  2. 利用django创建一个投票网站(一)
  3. wpf,ListBox,ScrollViewer内容向左向右偏移指定位置
  4. ThinkPHP之项目搭建
  5. C# is 强制转换
  6. 解决windows7搜索不了txt文本内容的问题
  7. WPF界面设计技巧(8)—自制山寨版CheckListBox
  8. Android中支持的距离单位
  9. windows下,提权代码.
  10. git push 不想把本地某个目录下文件上传的办法
  11. Android 设计模式对比
  12. [BZOJ4005][JLOI2015]骗我呢-[dp+容斥]
  13. ELK-elasticsearch-6.3.2部署
  14. c#之如何计算哈希值字符串
  15. 从此web开发so easy!
  16. highcharts 知识点
  17. (五)JMM的介绍
  18. c++ 类内static成员初始化
  19. fedora常见问题和解决方案
  20. .net core 集成 autofac.

热门文章

  1. 查询Oracle日志文件的方法
  2. linux下的bash shell
  3. 使用文件描述符作为Python内置函数open的file实参调用示例
  4. urllib.request.urlopen(req).read().decode解析http报文报“utf-8 codec can not decode”错处理
  5. 第15.5节 PyQt的历史沿革介绍
  6. PyQt(Python+Qt)学习随笔:信号签名(signature of the signal)是什么?
  7. git 常用命令 command 1.0(本地 local repository 对远程仓库 remote repository 的操作)
  8. 笔试题.NET基础代码面试题
  9. Alpha冲刺阶段Day4
  10. CF1439C Greedy Shopping