分享
 
 
 

Java Web 服务学习报告—Web简介

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

在网络飞速发展的今天,每个组织都面临着同样一个挑战:在平衡核心能力和已有应用程序时创建同构的环境。IT需要一个简单的,与平台无关的应用程序间通信方式。在这种需求下产生了Web服务,它是一类可以从Internet上获取的服务的总称,它使用标准的XML消息接发系统,并且不受任何操作系统和编程语言的约束。在过去的三年中,出现了三种作为全球标准的主要技术:SOAP,WSDL和UDDI.它们构成了今天Web服务技术的核心。然而所有Web服务协议和新技术都是以XML作为其数据表示层的,XML消除了协议特有的网络,操作系统以及平台绑定限制,因此XML是所有Web服务的基础。

1. XML (Extensible Markup Language)

1.1 XML

Html的诞生使得Web发布变得非常简单,但是HTML存在很大的局限性,由于标准的标记已经由W3C预先确定,所以在描述复杂文档时HTML就显得力不从心。并且HTML是面向描述的,而非面向对象的,因此HTML不会给出内容的含义。为了解决这些问题,W3C开始寻找答案,这就是XML.

XML是可扩展的,我们可以创建自定义元素以满足创作的需要。XML同时也是可结构化的。我们可以检查XML文档的语法,从而避免大量错误的XML文档在Internet上流传。这便是DTD.

1.2 DTD

DTD(文档类型定义)可以看作是标记语言的语法文件,它是一套定义XML标记如何使用的规则,DTD定义了元素,元素的属性和取值,以及哪个元素可以被包含在另一个元素中的说明。DTD还可以定义实体。XML解析器可以使用DTD文件来解析XML文档。DTD使得我们能够发布文档以供其他人共享。一个拥有DTD参考文件的XML文档称为一个有效的XML文档。

然而由于XML DTD并不能完全满足XML自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏对文档结构、属性、数据类型等约束的足够描述等等,所以W3C于2001年5月正式推荐XML Schema为XML 的标准模式。显然,W3C希望以XML Schema来作为XML模式描述语言的主流,并逐渐代替XML DTD.

1.3 XML Schema

XML Schema与XML DTD有很大的区别。XML Schema事实上是XML的一种应用,也就是说XML Schema的格式与XML的格式是完全相同的,而作为SGML DTD的一个子集,XML DTD具有着与XML格式完全不同的格式。这种区别给XML Schema的使用带来了很多好处。如:XML语法分析器可以直接的应用到XML Schema,而不需要修改。另外作为XML的一个应用,XML Schema理所当然的继续了XML的自描述性和可扩展性,这使得XML Schema 更具有可读性和灵活性。同时由于格式完全与XML一样,XML Schema除了可以像XML一样处理外,也可以同它所描述的XML文档以同样的方式存储在一起,方便治理。

1.4 DOM

另外,为了更好的访问XML文档,我们需要用到文档对象模型DOM(Document Object Model),DOM事实上就是采用树状对象集合的方式访问给定文档内容的抽象规范。DOM对象库可以让我们在内存中构建XML语法树,从而提供了更有效的方法来增加文档、定位文档结构、填加,修改和删除文档元素。

有了以上这些规范,XML已经为我们在网络上传输数据提供了一个规范的结构。XML-RPC技术就为通过网络的方法或函数调用提供了基于XML和HTTP的机制。XML-RPC答应程序通过网络调用函数或过程。它只用了很少的XML词汇描述请求和响应的属性,用HTTP协议将信息从客户端传递给服务器。客户端在XML请求中指定过程名和参数,服务器在XML响应中返回一个错误或响应。当然对于普遍运用对象的编程领域,XML-RPC对于许多应用程序来说似乎太受限制了。但当我们需要集成不同类型的系统时,XML-RPC固有的简洁性优势便能体现出来。在我们建立公共服务时,可以用XML-RPC来定义接口,并且选择一种语言来实现它,这样一旦服务在Web上发布,任何具有XML-RPC能力的客户端就能连上它。而且在建立分布式系统时,也可以用XML-RPC作为粘贴码来连接内部网络中的不同部分。因此,虽然XML-RPC很简单,但简单的工具有创造力的应用可以构建复杂而功能强大的体系结构。当各种各样的系统需要通信时,XML-RPC可能是最合适的最低标准。

2. SOAP(Simple Object Access Protocol)

2.1 SOAP

SOAP是一种基于XML的,用于计算机之间交换信息的协议。SOAP能应用于各种消息接发系统,并能通过各种传输协议进行传递,但最初的侧重点是通过HTTP传输的远程过程调用。因此,SOAP能使客户应用程序很轻易地连接远程服务并调用远程方法。

SOAP规范主要定义了四个元素:SOAP信封规范,传输和协议绑定,编码规则和一个RPC协定。

SOAP信封规范,SOAP信封规范对计算机间传递的数据如何封装定义了具体的规则。这包括应用特定的数据,如要调用的方法名,方法参数和返回值;还包括谁将处理封装内容,失败时如何编码错误消息等信息。

数据编码规则,为了交换数据,计算机必须在编码特定数据类型的规则上达成一致,SOAP也有自己的一套编码数据类型的约定。大部分约定都基于W3C XML Schema规范。

RPC协定,SOAP能用于单向和双向等各种消息接发系统。SOAP为双向消息接发定义了一个简单的协定来进行远程过程调用和响应,这使得客户端应用可以指定远程方法名,获取任意多个参数并接受来自服务器的响应。

传输和协议绑定,提供了更底层协议传输SOAP封套的一套通用机制。

源自客户端的请求或来自服务器的响应是一个单向消息,称为SOAP消息。每个消息都有一个强制性的Envelope元素,一个可选的Header元素和一个强制性的Body元素。SOAP请求必须包括要调用的方法名和所有必须的参数。其次还需要定义若干个命名空间,用于区分XML元素和属性,或用于引用外部模式。SOAP响应与SOAP请求相类似。

XML和SOAP能够很好的描述数据,但许多应用程序的数据并不适合用XML来描述,比如图像的二进制数据。这时候就需要SWA(Soap With Attachments)来解决问题。SWA将SOAP协议和MIME格式组合在一起,从而使SOAP消息中可以包含任意想要的数据。

2.2 SOAP-RPC

SOAP-RPC使用SOAP底层结构定义了一个用来表示RPC以及RPC响应的模型。它并不要求一定要紧紧绑定一个同步的请求/响应模型或者一个HTTP协议。实际上SOAP-RPC的使用和协议的绑定是无关的。因此重要的是SOAP定义了一个统一的模型,来表示RPC及其一个或多个返回值。SOAP还提供了对方法签名,头数据和代表目的地的URI进行编码的方法。所以SOAP-RPC比XML-RPC更加复杂,功能也更加强大。

3. WSDL(Web Services Description Language)

WSDL是一种将Web服务描述为一系列访问端点的XML文法,这些端点具有以面向过程或者面向文档的方式交换信息的能力。WSDL描述了四种要害的数据:

描述所有公用函数的接口信息。

所有消息请求和消息响应的数据类型消息。

所使用的传输协议的绑定信息。

用来定位指定服务的地址信息。

总之,WSDL在服务请求者和服务提供者之间提供了一个协议,主要用于描述SOAP服务。WSDL本身使用的是XML语法,可以分为六个主要的元素:

definitions :必须是所有WSDL文档的根元素。它定义了Web服务的名称,声明文档其他部分使用的多个名称空间,并包含所有服务元素。

types :描述在客户端和服务器之间使用的所有数据类型。

message :描述一个单向信息,定义消息的名称,可以包含零个或多个的引用消息参数或消息返回值的消息part元素。

portType : 结合多个message元素,形成一个完美的单向或往返操作。

binding : 描述了在Internet上实现服务的具体细节。

service : 用于定义调用指定服务的地址。一般包含调用SOAP服务的URL.

4. UDDI(Universal Description ,Discovery and Integration)

UDDI是一个描述,发现和连接Web服务的技术规范。有了UDDI,公司不但可以发布Web服务,还能查找Web服务。UDDI的核心由两部分组成。第一,UDDI是一个建立业务和Web服务的分布式目录的技术规范。数据存储在特定的XML格式中,UDDI规范包括搜索已有数据和发布新数据的API细节。第二,UDDI业务注册中心是UDDI规范的一个完全操作实现。

UDDI的技术体系结构由三部分组成:

UDDI数据模型 :一个描述业务和Web服务的XML Schema.

UDDI API :一个用于搜索和发布UDDI数据的,基于SOAP的API.

UDDI 服务群 :一个提供UDDI规范实现的根据预定基础使所与数据同步的操作入口站点。

综上所述,以上的后三种技术以及传输协定组成了一个完整的Web服务的四个层面,自上而下分别为:

发现—— UDDI

描述—— WSDL

XML消息接发 ——XML-RPC,SOAP,XML

传输 —— HTTP,SMTP,FTP,BEEP

这些技术使得Web服务实现了 基于XML,松散耦合,粗粒度,同步或异步能力,支持远程过程调用和支持文档交换等特性,从而让Web服务得到了更广泛的应用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有