zoukankan      html  css  js  c++  java
  • Web Service

    1. Web Service使用场景

      现在有这样一种场景:ProjectA用Java开发部署运行在Windows平台,而ProjectB用Python开发部署运行在Linux平台,现在ProjectA和ProjectB需要交换数据,除了使用消息中间件,我们还可以使用Web Service实现方式RESTful、RPC、SOAP进行数据交换。

    2. Web Service是什么

      WebService是一种跨编程语言跨操作系统平台的远程调用技术。WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的一套标准。

    • 跨编程语言:可以在不同语言开发的应用之间交换数据(比如Java和Python之间)
    • 跨操作平台:可以在不用操作系统之间交换数据(比如Windows和Linux之间)

    3. Web Service实现方式

      3.1 SOAP(Simple Object Access Protocol,简单对象访问协议

        SOAP是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。其实就是交换数据的一种协议规范。SOAP使用因特网应用层协议作为其传输协议。SMTP以及HTTP协议都可以用来传输SOAP消息,但是由于HTTP在如今的因特网结构中工作得很好,特别是在网络防火墙下仍然正常工作,所以被广泛采纳。SOAP亦可以在HTTPS上传输。

        SOAP的消息格式必须采用XML。

      3.2 RESTful(Representational State Transfer,表现层状态转换

        采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源,REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。简单来说就是URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。

          比如用HTTP动词GET请求ID为1001用户的用户信息:URL定位资源https:127.0.0.1/8080/api/v1.0/user/1001,对于1001用户信息在网络中是资源

          比如用HTTP动词PUT更新ID为1001用户的用户信息:URL定位资源https:127.0.0.1/8080/api/v1.0/user?userId=1001,然后在HTTP 请求体里面以JSON格式传入更新的内容。

      3.3 PRC(Remote Procedure Call, 远程过程调用)

        在分布式计算,远程过程调用是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-接受回应进行信息交互的系统。

        RPC是一种进程间通信的模式,程序分布在不同的地址空间里。如果在同一主机里,RPC可以通过不同的虚拟地址空间(即便使用相同的物理地址)进行通讯,而在不同的主机间,则通过不同的物理进行交互。许多技术(常常是不兼容)都是基于这种概念而实现的。

  • 相关阅读:
    React初识整理(二)--生命周期的方法
    React初识整理(一)
    前后端分离浅析
    url地址数据参数转化JSON对象(js三种方法实现)
    js和JQuery中的获取宽、高、位置等方法整理
    游民轮播图效果实现
    焦点轮播图效果实现
    iOS开发debug集锦
    实现一个 RESTful API 服务器
    从iOS的图片圆角想到渲染
  • 原文地址:https://www.cnblogs.com/kesuns/p/12564331.html
Copyright © 2011-2022 走看看