WebService
使用基于
XML
的消息处理,作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言之间存在的差异,使异构
系统能作为单个计算机网络协同运行。
WebService
建立在一些通用协议的基础上,如
HTTP
,
SOAP
,
XML
,
WSDL
,
UDDI
等。这些协议在涉
及到操作系统、对象模型和编程语言时,没有任何倾向,因此具备很强的生命力。
1.2
WebService
的特点
WebService
的主要目标是跨平台。为了达到这一目标,
WebService
完全基于
XML
(可扩展标记语言)、
XSD
(
XMLSchema
)等独
立
于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。
WebService
主要用于如下三个方面:
1.2.1
远距离的通信
如果应用程序有成千上万的用户,而且分布在世界各地,最关键的是运行在完全不同的平台上。各个组件之间的通信是个非常棘手
传统的解决方案是通过
Web server
对外提供服务,比如
Servlet
技术,但
Servlet
花费太多的精力生成界面,组件之间的通信完全不需
要界面部分,而是依赖于服务的互相引用。
的问题。因为,客户端和服务器之间通常会有防火墙或者代理服务器,并且程序运行在不同
的平台上。将中间层组件换成
WebService
,组件可以直接调用中间层组件,省掉建立
Servlet
的表现层。由
WebService
组成的中间
层,完全可以在异构系统整合或其它场合下重用。最后,通过
WebService
把应用的逻辑和数据“暴露”出来,可以让其它平台上的客户
重用这些应用。
1.2
.2
应用程序集成
企业里经常需要整合不同语言的、在不同平台上运行的应用程序,这种整合将花费很大的开发力量。应用程序经常需要从
IBM
主机
上获取数据,或者把数据发送到
UNIX
应用程序中去。即使在同一个平台上,不同软件厂商的各种软件也常常需要整合。通
过
WebService
,应用程序可以以标准方式“暴露”功能和数据,供其他应用程序使用。
例如,面对这样的订单登记应用,用于登记客户
发来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于管理实际的货物发送。而两个
应用程序来自不同软件厂商。新订单进入系统之后,订单登记程序应通知订单执行程序发送货物。这样,可以在订单执行程序包装一
层
WebService
,将“
AddOrder
”函数“暴露”出来。订单登记程序可以调用这个函数来发送货物,而无须理会该程序的运行平台、具体
实现等细节。
1.2
.3 B2B
的整合
WebService
可用来整合应用,从而使公司内部的商务处理更加智能化。整合跨公司业务交易成为
B2B
整合。
通过
WebService
,
公司可以把关键的商务应用“暴露”给指定的供应商和客户。例如,将电子下单系统和电子发票系统“暴露”出来,客户可以发送电子单,
供应商则可以发送电子采购发票。当然,
WebService
只是
B2B
整合的关键部分,还需要许多其他部分才能实现整合。
用
WebService
来实现
B2B
整合好处在于:可以实现跨平台的互操作性。只要把商务逻辑“暴露”出来,成为
WebService
,可以让任何指
定的合作伙伴调用这些逻辑,不管他们的系统在什么平台上运行,使用什么开发语言。这样,可以大大减少
B2B
整合的时间和成本。
1.2
.4
软件和数据重用
软件重用是一个很大的主题,重用的形式很多,重用的程度各有不同。基本的形式是源代码模块或者类一级的重用,另一种形式是
二进制形式的组件重用。
当前的可重用的组件存在一个很大的限制:重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码
都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。WebService
既允许重用代码,也允许重用的数据。通
过
WebService
,客户也不必像从前那样,要先从第三方购买、安装组件,再通过应用程序调用组件;应用程序可以直接调用远端
的
WebService
。
WebService
提供商可以按时间或使用次数来对服务收费。这样的服务通过组件重用是不可能的,因为数据不可能与应
用一起发布,即使一起发布,也不能实时更新。
另一种软件重用的情况是,整合多个应用程序的功能。例如,要建立门户站点应用,让
用户既可以查看股市行情,又可以管理自己的日程安排,看可以浏览国际新闻,还可以在线购买电影票。现在
Web
上有很多供应商,在
其应用中分别实现了这些功能。一旦他们把这些功能通过
WebService
“暴露”出来,就可非常容易地将这些功能集成到你的门户站中,
为用户提供统一的、友好的界面。
总结起来,
WebService
有如下特点:
a. 封装性:
WebService
是一种部署在
Web
应用上的对象,具备良好的封装性。对使用者而言,仅能看到服务描述,而该服务的具体
实现、运行平台都是透明,调用者无须关心,也无法关心。
WebService
作为整体提供服务。
b. 松散耦合:当
WebService
的实现发生改变时,调用者是无法感受到这种改变的。对调用者而言,只要服务实现的接口没有变化,
具体实现的改变是完全透明的。
c. 使用标准协议:
WebService
所有的公共协议都使用标准协议描述、传输和交换。这些标准协议在各种平台上完全相同。
d. 高度整合的能力:由于
WebService
采用简单的、易理解的标准
Web
协议作为通信协议,完全屏蔽了不同平台的差异,无论
是
CORBA
、
DCOM
还是
EJB
,都可以通过这种标准的协议进行互操作,实现系统的最高可整合性。
e. 高度的开放性:
WebService
可以与其他的
WebService
进行交互,具有语言和平台无关性,支持
CORBA
,
EJB
,
DCOM
等多种组
件标准,支持各种通讯协议如:
HTTP
,
SMTP
,
FTP
和
RMI
等。
1.3
WebService
的主要技术
WebService
建立在一些技术标准上,设计的主要技术
SOAP
(
Simple Object Access Protocol
简单对象访问协议),
WSDL
(
WebService Description Language WebService
描述语言),
UDDI
(
Universal Description
,
Description and Integration
统一描述、发现和整合协议)。
1.
3
.1 SOAP
(简单对象访问协议)
SOAP
(
Simple Object Access Protocol
简单对象访问协议)是
WebService
的根本。它是一种具有扩展性的
XML
消息协
议。
SOAP
允许一个应用程序向另一个应用程序发送
XML
消息,
SOAP
消息是从
SOAP
发送者传至
SOAP
接收者的单路消息,任何应用
程序均可
作为发送者或接收者。
SOAP
仅定义消息结构和消息处理的协议,与底层的传输协议独立。因此,
SOAP
协议能通过
HTTP
,
JMS
或
SMTP
协
议传输。目前,大多采用
HTTP
传输
SOAP
消息。
SOAP
包括如下三个部分:
a.
SOAP
封装结构:该结构定义消息的整体框架,确定消息中的内容,内容的处理者,
内容哪些部分是可选的,哪些部分是必
需的
b.
SOAP
编码规则:定义应用程序程序之间数据交换机制。
c.
SOAP RPC
表示:定义远程过程调用的应答的协议。
在
SAOP
封装、
SOAP
编码规则和
SOAP RPC
协议之外,该规范还定义了两个协议绑定,分别确定在有
HTTP
扩展框架、无
HTTP
扩展框
架的情况下,如何在
HTTP
消息中传输
SOAP
消息。
1.
3
.
2
WSDL
(
WebService
描述语言)
WSDL
(
WebService Description Language WebService
描述语言)使用
XML
描述
WebService,
包括访问和使用
WebService
所必需的信息,定义该
WebService
的位置、功能以及如何通信等描述信息。
WSDL
文件包含如下三个部分:
a.
WHAT
部分:包括类型(
types
)、消息(
messages
)、
portType
元素,它们定义
了
客户端及服务器端交互的消息及数
据类型。
b.
HOW
部分:包括
binding
元素,用于描述
WebService
的实现细节。
binding
元
素将
portType
绑定到一种特定的协议。
C.
WHERE
部分:包括
Service
元素,它将端口类型元素,
binding
元素以及
WebService
实际的地址放在一起,可在
WSDL
文
件的最后部分看
到
Service
元素。
1.
3
.
3
UDDI
(统一描述、发现和整合协议)
UDDI
(
Universal Description
,
Description and Integration
统一描述、发现和整合协议)是一套信息注册规范,
它具有如下特点:
a.
基于
Web
。
b.
分布式。
UDDI
还包括一组使企业能将自身提供
WebService
注册,以使别的企业发现访问协议的实现标准。
UDDI
的核心组件是
UDDI
商
业注册,它使用
XML
文件来描述企业及其提供的
WebService
。
通过使用
UDDI
的发现服务,企业可以注册
WebService
,允许别的企
业调用本身的
WebService
。企业通过
UDDI
商业注册中心的
Web
界面,将这些
WebService
的信息加入
UDDI
商业注册中心。该
WebService
就可以被发现和调用。
相关推荐
### XML_XSL_DTD_SCHEMA_SAX_DOM_JDOM_WEBSERVICE简介 #### 背景知识点拨 XML(可扩展标记语言,Extensible Markup Language)及其相关技术(如XSL、DTD、Schema、SAX、DOM、JDOM以及Web服务)在现代信息技术中...
Web服务(Web Service)是一种基于互联网的、采用标准的XML(Extensible Markup Language)进行通信的技术,它允许不同系统间的应用程序进行交互。本篇将深入探讨Web服务的概念、架构及其在Java环境中的实现。...
综合上述知识点,使用RESTEasy框架构建WebService的整个过程,从项目初始化、资源类的编写、服务类的实现、拦截器的使用、文件上传的处理、与Spring框架的集成,以及前端请求的编码问题解决等方面都提供了一个清晰的...
一、Webservice 简介 Webservice 是一种基于 XML 的分布式系统,允许不同的应用程序之间进行交互和集成。Webservice 通常使用 SOAP(Simple Object Access Protocol)协议来传输数据,使用 WSDL(Web Service ...
#### 一、WebService简介 WebService是一种标准的跨平台通信方式,它允许在不同技术栈之间进行数据交换和服务交互。通过WebService,可以在不同的应用程序之间共享业务逻辑、数据和功能,这有助于提高软件的可重用...
Web服务是一种基于互联网的软件接口,允许不同系统之间的应用程序组件相互通信和交换数据,不受平台、编程语言或操作系统限制。这种技术的核心理念是通过标准化的技术实现互操作性,使得服务提供者(Provider)和...
一、C# WebService简介 WebService是一种基于HTTP协议的Web应用程序,能够跨平台、跨语言地提供服务。在C#中,可以使用.NET框架的ASMX(ASP.NET Web Services)或WCF(Windows Communication Foundation)来创建和...
#### 二、WebService简介 WebService是一种开放标准协议,用于在网络上交换数据和执行远程过程调用。WebService可以通过HTTP协议进行通信,并且通常使用XML作为数据格式。WebService的一个主要优势在于它的平台无关...
介绍的比较 细致全面
WebService简介 WebService是一种基于标准的、平台无关的通信方式,它允许不同系统间的应用程序通过互联网进行交互。通常使用SOAP(Simple Object Access Protocol)协议传输数据,并通过WSDL(Web Services ...
一、WebService简介 WebService是一种基于互联网的、平台无关的分布式计算模式,它允许不同系统间的应用程序进行交互。通过使用XML(可扩展标记语言)作为数据交换格式,SOAP(简单对象访问协议)作为通信协议,以及...
##### 1.1 WebService简介 WebService是一种基于XML和HTTP协议的应用程序接口(API),它允许不同平台、不同语言编写的程序进行通信。WebService通常使用SOAP(Simple Object Access Protocol)作为通信协议的标准格式...
1. WebService简介: WebService是一种基于开放标准(如WSDL、SOAP和UDDI)的互联网通信协议,允许不同应用程序之间共享数据和功能。通过XML格式的数据交换,WebService可以跨越操作系统、编程语言和网络环境的限制...
#### 一、WebService简介与应用场景 WebService是一种标准的网络服务,它使得不同系统之间可以通过标准的协议(如HTTP)进行数据交换和服务调用,而无需关心底层实现细节。WebService通常使用SOAP(Simple Object ...
#### WebService简介 WebService是一种用于在分布式环境中进行远程调用的技术,它允许应用程序通过网络相互通信并共享数据。由于其具备跨编程语言和跨操作系统平台的能力,WebService成为了现代软件架构中非常重要的...