分布式系统阅读笔记(九)-----Web Service服务

一、介绍

Web Service用一句话概括就是它提供了一个服务接口使客户端能够与服务端进行交互用非常多种的方式,超过普通的浏览器的模式。在Web Service中通常是以XML的格式方式进行传输和通信的。这其中还涉及了XML的Security安全方面的操作。

1、Web Service服务是Web服务器的一个扩展形式。

2、Web Service采用的XML的数据格式保证了可读性。

3、一个标准的Web Service通过一个URI统一资源标志符的方式被客户端访问的,URI的值可以有2种方式,1个是URL资源统一定位符2、或者是URN统一资源名字符。

4、在Web Service中提供了一个service服务描述语言,典型代表为WSDL,里面包含了接口的定义和其他的一些信息。

二、Web Services

1、一个Web Service接口包含了可以被客户端所调用的操作的集合,大多数的Web Service服务可以以SOAP信息的格式进行操作。

2、一个有效的代理可以根据各个Service开放出来的接口来协调,整合多个Service服务。

3、Web Service的特征使得在分布式系统中的结构变得更加的松耦合性。

4、Web Service的一下特征使得他更具松耦合性:1、程序的定义和实现通过接口的形式分离了。2、Web Service可以通过RESTFUL的接口方式访问。3、在数据的传输中可以采用异步的消息模式。

5、消息采用xml的格式虽然在可读性方面增强了,但是带来了占据空间的开销,还有解析语言的开销等等缺点。

6、服务的引用是通过每个Web Service都有唯一的URl统一资源标志符来区分的。

7、最原始SOAP是基于HTTP协议之上的使得客户端和服务端之间通信的一个结构。

8、一个标准的SOAP消息的格式也是采用xml的格式,包括一个header头,和body消息主体部分。body主题部分包括了参数信息或者是回复信息。

9、分布式对象中的远程对象引用和Web Service中的URI最大不同在于前者可以由客户端创建一个实例,而后者是不能创建instance的。

10、之前的分布式对象服务的CORBA体系结构域Web Service比的优势在于他的服务覆盖面大,在CORBA中,对于事物,安全访问控制等方面都有相应的操作。

三、Web Service的服务描述和IDL接口定义语言

1、在语言的环境先,是通过将服务描述语言xml格式中进行沟通的。

2、在Web Service上下文中,通过WSDL用来做服务描述的。WSDL中包含了很多组成部分,包括定义,类型,消息,绑定,服务等等。

3、WSDL中包描述了将用来进行交互的消息。

四、在Web Service中用到的目录服务

1、这里的目录只要的指的是UDDI,通过这个服务,你可以用名字或者属性去找出相应的服务,类似于JNDI。

2、里面的数据被组织成了四种结构,每个结构可以通过key来进行搜索找出,4大结构分别为:1、businessEntity,2、businessServices,3、bindingTemplate4、tModel。

3、UDDI里通过注册过后会有副本存储机制。

五、Xml数据安全机制

xml的消息格式在Web Service的服务中被大量的用到,所以其中的安全性不容小觑。下面是一些安全措施。

1、在类似于SSL的安全通道中进行传输数据。

2、针对xml信息格式里的用户隐私数据进行部分加密,不过要指定开始标签位置和结束标签位置。

3、对xml数据进行数据签名的算法。

4、可以先对xml数据先进行base64的明文转码然后再进行加密算法的处理。

六、Web Service服务之间的协调

这里主要是通过基于WSDL的方式,对各个服务进行协调的。

七、Web Service的应用

随着Web Service的部署和发展,衍生出了一个SOA的面向服务的架构,具体的例子为Grid网格计算和Cloud Computing云计算。

1、首先,SOA面向服务的架构指的是一个松耦合的服务群,具体的服务可以被动态的发现和加载,服务之间可以相互的协调与合作。

2、Web Service典型的应用是在云计算上,比如Amazon的AWS服务,里面具体的还有ES2弹性部署服务,还有S3简单对象存储服务,通过一个简单的接口开放形式被使用。

参考文献:<<Distributed Sysytems Concepts And Design>>原版第五版,author:George Coulouris,Jean Dollimore, Tim Kindberg,Gordon Blair

时间: 2024-10-10 04:03:22

分布式系统阅读笔记(九)-----Web Service服务的相关文章

Android笔记之 Web Service 基础

一.Web Service是什么? 就是网络服务,根据W3C的定义,WebServices(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一种自包含.自描述和模块化的应用程序,它可以在网络中被描述.发布和调用,可以将它看作是基于网络的.分布式的模块化组件.  Web Services是建立在通用协议的基础之上的,包括HTTP.SOAP.UDDI.WSDL等.其中Web Service三要素就是SOAP.WSDL和UDDI. SOAP用来描述传递信息的格式, WSDL用来描述如何访

面对软件错误构建可靠的分布式系统(阅读笔记)

阅读笔记 joe Armstrong 段先德 译 核心问题:如何在存在软件错误的情况下编写具有合理行为的软件 ,如何避免像死锁.死循环等问题 ERLANG的世界观,一切皆进程.将任务分离成层次化的一系列任务,强隔离的进程负责来执行每个具体化的任务,进程之间不共享状态(实际上ETS跨越了这个准则). 只能通过消息传递来通信,必须注意进程消息的堵塞问题 工作者和监督者构成一个完整的系统,监督者的作用就是监控整个系统的运行状况.并对突发情况进行可靠的处理. behaviour库的设计思想就是将程序的并

Sharepoint2013商务智能学习笔记之Excel Service服务配置(四)

第一步,新建Excel Service应用程序 第二步,管理中心,在应用程序管理区域点管理服务应用程序,进入应用程序管理列表, 再点击刚才新建好的ExcelServiceApplication进入excel service配置页面 第三步,确认Excel服务和web应用程序关联.进入管理中心,在应用程序管理区域点管理web应用程序. Sharepoint2013商务智能学习笔记之Excel Service服务配置(四)

使用CXF开发Web Service服务

1.使用CXF开发Web Service服务端 1.1 开发一个Web Service业务接口,该接口要用@WebService修饰 (1)创建一个Java项目MyServer (2)在MyServer项目中创建一个接口HelloWorld package com.xju.ws; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHello(String name); } 1.2 开发

使用axis开发web service服务端

一.axis环境搭建 1.安装环境 JDK.Tomcat或Resin.eclipse等. 2.到 http://www.apache.org/dyn/closer.cgi/ws/axis/1_4下载Axis的jar包 3.将Axis的jar包放入WEB-INF/lib目录下 二.编写web service服务端 1.编写服务 package com.webservice; public class HelloWebservice { public String doService(String

IDEA创建Web Service服务端和客户端

1.  创建服务端 第一步:File–>New–>Project:我这里使用原生JDK来开发Web Service Server服务,所以不勾选Generate Sample Server Code,意思是不使用Apache Axis,也不生成Apache Axis代码.选中Set up library later表示暂时不设置依赖包. 第二步:输入项目名称 项目结构如下: PublishWebService.java 1 package com.suns.webservice.server;

分布式系统阅读笔记(一)-----分布式系统的特征

1)引言 从今天开始,我将会开始学习分布式系统的一些理论知识,全方面的重新学习分布式的各个技术点,所以选用了原版本的英文教材<<Dstributed Sysytems Concepts And Design>>作为学习的资源.在期间,我会没读完一章,及时的做一些阅读的笔记,1个是怕自己忘了,还有一个是把知识分享给大家,这也是我首次阅读全英文的书籍,还是挺吃力的,希望能坚持把长达1000页的书籍学习完把. 2)分布式系统的介绍 分布式系统是通过网络连接各个计算机,通过消息通信的方式实

分布式系统(2)---Web Service原理

众所周知,异构系统之间使用Web Service比较合适,上面一篇介绍了EJB,EJB是业务逻辑的分布式,是系统内部的调用.而Web Service比较适合用于系统间的调用. 什么需要用到WebService,举例说明: 比如说天气预报,股市,地图等都是需要从互联网上的其他系统服务器获取的,它向外界暴露出一个能够通过Web进行调用的API,通过API去获取数据. 实时天气预报: Web Service定义 Web Service提供了一个在不同的应用和平台之间的交互操作标准.这个交互操作通过一系

分布式系统(3)---Web Service实战--CXF理论篇

第一篇:CXF理论篇 在Java领域,WebService的框架很多,例如:AXIS,XFire,CXF等.AXIS,XFire相对比较成熟. Axis全程Apache Extensible Interaction System即Apache可扩展交互系统.是第三代Apache SOAP.本质上就是一个SOAP引擎,但不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎的服务器. XFire是新一代的Java Web服务引擎,可以非常容易地和Spring集成.是c