Web Service 是一种新的分布式技术。一个Web服务本质上是一个应用组件,可以通过Web协议和数据编码机制,例如HTTP和XML,对这个组件进行访问。
Soap简单对象访问协议:
是一种基于XML的通信协议。它包括3个部分。
Soap封装结构:定义消息的XML格式,包括其整体框架、消息内容、由谁处理这些内容等。
Soap编程规则:定义如何将程序数据表示为XML。
Soap RPC表示:定义如何使用scap进行远程过程调用。
WSDL Web服务描述语言:
WSDL文件是一个XML文档,用于说明一组soap消息以及如何交换这些消息。还定义了服务的位置以及使用服务的通信协议等。
Uddi统一描述、发现和集成标准
是wed服务的黄页。它提供了用于服务注册的目录技术,并用它来建立Web服务的目录信息。UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及所提供的Web服务。它包括3个部分:
白页:介绍提供服务的公司,包括名称、地址和联系方式等;
黄页:包括按照标准分类法进行分类的行业类别;
绿页:详细介绍,访问服务接口等技术信息。
Web服务是构建在soap(简单对象访问协议)、wsdl(web服务描述语言)、uddi(统一描述、发现和集成标准)3个开放的核心标准之上的。Soap用来进行Web服务通信的协议,WSDL用来进行说明和描述Web服务
由于Web服务完全基于XML的,使Web服务成为一个跨语言、跨平台、跨网络的可互操作的分布式应用软件的新平台。
Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。
情景1:不带应用程序服务器的Web服务器
在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。
应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。
情景2:和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server- side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。
在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。
通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML 页中了。
应用服务器通常会包含web服务器。