分布式系统阅读笔记(九)-----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