当前位置首页 > 百科> 正文

web services

2019-10-08 09:42:38 百科
web services

web services

Web Service是基于网路的、分散式的模组化组件,它执行特定的任务,遵守具体的技术规範,这些规範使得Web Service能与其他兼容的组件进行互动操作。Internet Inter-Orb Protocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协定,而 Web Services 利用 SOAP 和 XML对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。Web Services 主要利用 HTTP 和 SOAP 协定使业务数据在 Web 上传输,SOAP通过 HTTP 调用业务对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象的。

基本介绍

  • 外文名:web services
  • 功能:使您的应用程式成为Web应用程式
  • HTTP 协定:网际网路协定
  • 平台: XML + HTTP

功能

Web Services 可使您的应用程式成为 Web 应用程式。
Web Services 通过 Web 进行发布、查找和使用是应用程式组件使用开放协定进行通信, 是独立的(self-contained)并可自我描述, 可通过使用UDDI来发现,可被其他应用程式使用。XML 是 Web Services 的基础

工作原理

Web services 平台是简单的可共同操作的讯息收发框架。它仍然缺少许多诸如安全和路由等重要的特性。但是,一旦 SOAP 变得更加高级,这些事项就会得到解决。有望使应用程式更加容易通信
  
Web services 工作原理
基础的 Web Services 平台是 XML + HTTP。
HTTP 协定是最常用的网际网路协定。
XML 提供了一种可用于不同的平台和程式语言之间的语言。
Web services 平台的元素:
SOAP (简易对象访问协定)
UDDI (通用描述、发现及整合)
WSDL (Web services 描述语言)
1.整体结构
web services
2.一个Web Service客户端,顾名思义是和一个Web Service伺服器进行互动。
下面是一个Web Service客户端调用Web Service的基本过程。
--> 构造SOAP请求讯息(将本地数据对象转换为SOAP讯息)
--> 传送SOAP讯息到Web Service伺服器的指定连线埠
--> 接收SOAP回响讯息
--> 将SOAP回响讯息转换为本地数据对象
3.webService与SOA的关係
webService是SOA的一个具体实现
SOA是思想
就像面向对象和J2ee的关係
4.SOAP基于HTTP的,在http协定下传输xml档案
5.UDDI:发现和整合服务,很少用
6.开发方法:只要获得wsdl方式即可
7.webService效率较慢
传输的是文本
EJB和CORBA传输的是二进制,效率较好
8.拦截soap请求和回响信息

主要架构

客户根据 WSDL 描述文档,会生成一个 SOAP 请求讯息。Web Services 都是放在Web伺服器(如IIS)后面,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,传送到 Web 伺服器来。Web 伺服器再把这些请求转发给 Web Services 请求处理器。请求处理器的作用在于,解析收到的 SOAP 请求,调用 Web Services,
web services
然后再生成相应的 SOAP 应答。Web 伺服器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。
Web Services 体系
Web Services 体系主要包括以下几个方面:① Web Services 组件。包括 3 种组件:
各类程式语言通过标準网际网路统一服务各类程式语言通过标準网际网路统一服务
服务提供者:提供服务,进行注册以使服务可用;
服务代理:服务交换所,服务提供者和服务请求者之间的媒体;
服务请求者:向服务代理请求服务,调用这些服务创建应用程式。
② Web Services 操作。包括 3 种操作:
发布/不发布(Publish/Unpublish):提供者向代理髮布(注册)服务或不发布(移
去)这些服务的注册;
发现(Find):由服务请求者向服务代理执行 find 操作,服务请求者描述要找的
服务,服务代理分发匹配的结果;
绑定(Bind):在服务请求者和服务提供者之间绑定,这两部分协商以使请求者
可以访问和调用提供者的服务。
③ UDDI——通用发现、描述和整合。这是一个Web Services的信息注册规範,基于UDDI的Web Services注册可以被发现 UDDI 的发现方法是:在 Web 上有一种分布的注册服务,商务和服务以一种通用的 XML 格式描述,XML 中的结构化数据易于发现、分析和操作。
三大核心技术标準三大核心技术标準
④ WSDL——Web 服务描述语言。
Web 服务描述言语(WSDL)是一种 XML 语法,为服务提供者提供了描述构建在不同协定或编码方式之上的 Web Services 请求基本格式的方法。WSDL 用来描述一个 Web Services 能做什幺,它的位置在哪里,如何调用它等。在假定以SOAP/HTTP/MIME 作为远程对象调用机制的情况下,WSDL 会发挥最大作用。UDDI 注册描述了 Web Services 绝大多数方面,包括服务的绑定细节。WSDL 可以看作是 UDDI 服务描述的子集。
WSDL 将服务定义为一个网路端点的集合,或者说连线埠的集合。在 WSDL 里面,端点及讯息的抽象定义与它们具体的网路实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:讯息,需要交换的数据的抽象描述;连线埠类型,操作的抽象集合。针对一个特定连线埠类型的具体协定和数据格式规範构成一个可重用的绑定。一个连线埠定义成网路地址和可重用的绑定的连线,连线埠的集合定义为服务。因此一个 WSDL 文档在定义网路服务的时候使用如下的元素:
类型——使用某种的类型系统(如 XSD)定义数据类型的容器;
讯息——通讯数据抽象的有类型的定义;
操作——服务支持动作的抽象描述;
连线埠类型——一个操作的抽象集合,该操作由一个或多个端点支持;
绑定——针对一个特定连线埠类型的具体协定规範和数据格式规範;
连线埠——一个单一的端点,定义成一个绑定和一个网路地址的连结;
服务——相关端点的集合。
所以不难看出,WSDL 给客户提供了一个模板,方便客户描述和绑定服务。

主要区别

web services是指用于架构Web service的整体技术框架,而Web Service则是使用Web Services技术而创建的套用实例,在很多时候,Web Services的含义也是具体的套用实例,只不过此时泛指。

套用实例

<%@ WebService Language="VB" Class="TempConvert" %>
Imports SystemImports System.Web.ServicesPublic Class TempConvert :Inherits WebService<WebMethod()>
PublicFunction CelsiusToFahrenheit(ByVal Celsius As Int16) As Int16 Dim fahrenheit As Int16 fahrenheit = ((((Celsius) * 9) / 5) + 32) Return fahrenheitEndFunctionEnd Class
要运行这个例子,我们需要一个 .NET 伺服器
此文档中第一行表明这是一个 Web Service,由 VB 编写,其 class 名称是 "TempConvert"。
<%@ WebService Language="VB" Class="TempConvert" %>接下来的代码行从 .NET 框架导入了命名空间 "System.Web.Services"。
Imports SystemImports System.Web.Services下面这一行定义 "TempConvert" 类是一个 WebSerivce 类:
Public Class TempConvert :Inherits WebService接下来的步骤是基础的 VB 编程。此应用程式有两个函式。一个把华氏度转换为摄氏度,而另一个把摄氏度转换为华氏度。
与普通的应用程式唯一的不同是,此函式被定义为 "WebMethod"。
请在您希望其成为 web services 的应用程式中使用 "WebMethod" 来标记函式。
<WebMethod()>Public Function FahrenheitToCelsius(ByVal Fahrenheit As Int16) As Int16 Dim celsius As Int16 celsius = ((((Fahrenheit) - 32) / 9) * 5) Return celsiusEnd Function<WebMethod()>Public 最后要做的事情是终止函式和类:
End Function
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net