首页 >西餐

Web Services(一)_a

2020-01-16 15:35:07 | 来源: 西餐

Java重拾也差不多了,以前差不多就学习了这么多关于java的知识了。现在可以再深入一下,学习学习web服务了,似乎这是比较老的技术了,但是我一直没有时间来学习它,这次终于空下来有时间学习了。老早就听说了web服务(大概是02年,微软为.net造势的时候,我记得很清楚那时有个女工程师到清华讲授.net framework,演示web服务,当时就粗略的看了一下视频),现在终于可以用用它了。选了本书,又是e文的,找了半天都是英文版,《web services essentials》,Oreilly的东西,值得看看。本书大概是给程序员一个坚实的简介和手册。解释了这个新的分布式服务,演示快速创建web服务的java工具,探索四个关键技术:xml-rpc,soap,uddi,wsdl。

第一章简介

1.1 介绍web服务

在internet上面适用的,使用标准的xml消息系统,与任何一个OS或者编程语言无关的服务。(在这里我们可以看出xml的出现,带来了多大的好处,所有的数据交换都用它。但是现在我还是比较迷惑在通信的规则上,调用方和提供方怎样实现通信的?与com有关的原理相似吗?)

web服务也有两个额外的属性:

1.一个web服务应该是自解释型。如果你发布一个新的web服务,你应该发布一个public接口。至少,你的服务应该包含可读性良好的文档,以便其他的开发人员嗯那挂钩容易的整合你的服务。如果你已经创建了一个soap服务,你应该完美的包含public接口,用一个普通的xml语法写成的。

2.web服务应该是可以发现的。如果你创建了一个web服务,应该有一个相关的简单的机制来发布这些。同样地,应该有一些简单的机制为何有趣的部分能够发现这个服务,定位它的public接口。这个确切的机制能够通过一个完全的分散的系统,或者一个逻辑上更加集中的注册系统。

然后给出了web服务的完整属性描述。1.1.1今天的web:以人为本

1.1.2web服务:以程序为中心

意思是说,程序之间可以产生对话,就像原来的浏览器和服务器之间。

web服务和语意web。

1.1.3web服务版本:自动化web

以程序为中心不是一个新的概念,cgi和java servlets主要用来设计为其他程序使用的东西。最大的不同是大多数的这些系统是由ad hoc解决方案组成。

尽管我们现在可以进行一部分的自动化,但是目前没有机制来为商业关系提供自动化。比如当前的服务描述没有覆盖价格,发送方案,或者法定的分流的保证。

1.1.4工业前景

目前有许多的有竞争的架构和建议。包括:.net,ibm web services和 sun ONE。本书把焦点放在了一般的定义和技术上,并没有放在特殊的实现或者是架构上。

1.2web服务体系结构

1.2.1web服务的角色:

服务提供者,服务请求者,服务注册(这是一个逻辑上的集中式目录服务)

1.2.2web服务协议栈

服务传输:在应用程序之间传递消息。包括http,smtp,ftp和beep

xml通信:负责解码标准的xml格式。包括xml-rpc和soap

服务描述:描述public接口,由wsdl进行处理

服务discovery:把服务集中到一个一般的注册中。并提供简单的发布和查找功能。由uddi处理。随着web服务的发展,这些层的内容在不断的发生着变化。

1.2.3体系结构快照:ibm web服务浏览器

1.3xml通讯

在xml messaging中主要有两个主要的斗争

1.3.1xml-rpc

使用xml来执行rpc。通过http的post发送xml。xml响应嵌入在了http响应的body中。

缺点:没有相应的服务描述语法。

1.3.2soap

基于xml的协议,用来交换信息。可以用在不同的消息系统中,通过不同的传输协议发送。request和response都比xml-rpc复杂。

1.4服务描述:wsdl

用xml语法来说明一个公用的接口。wsdl不依赖某个xml通讯系统,内置了描述soap服务的扩展。

1.5uddi

由两个部分组成:

1.uddi是一个技术的说明,用来创建分布式的商业和web服务目录。数据存放在详细的xml格式里面。

2.uddi商业注册

uddi的数据由三个类别:

1.white pages:包含一般信息关于明确的公司

2.yellow pages:

3.green pages

1.6服务传输

1.6.1http

1.6.2beep

是一个新的额ietf框架,用来建立新的协议。beep是在tcp上的,包括许多内置的特性,包括三次握手,认证,安全和容错。

soap可以通过beep或者http-r来传输数据。

1.7安全考虑

web服务的安全性是至关重要的,包括机密性,认证和网络安全。

1.7.1机密性

ssl,程序链。

1.7.2认证

soap-dsig,saml,skms

1.7.3网络安全

大便干结有什么小妙招
宝宝健脾胃什么药好
藤黄健骨丸能长期吃吗
薏芽健脾凝胶

猜你喜欢