一、Web服务概述 什么是Web服务? Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。 Web服务就像Web_上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序,就像调用本地服务一样。 Web服务使开发人员能够在任何平台,上使用任何编程语言,创建任何电子商务应用程序。 企业通过Web服务可以与世界各地的客户、合作伙伴实现无缝、高效的连接。 Web服务可以实现Internet.上不同服务器接口之间应用程序的相互调用。它还支持异构操作系统之间的连接。 Web服务主要是对一-些已经存在的技术(HTTP、SMTP、XML)进行包装,因此,它是基于现有技术的一种整合技术。 通常一个Web服务 可以分为4个逻辑层: 业务逻辑层:提供业务面使用的服务 业务面层:提供一个简单的接口,直接映射到Web服务提供的过程。 4.监听者——最高层,负责接收带有请求服务的输入消息,解析这些消息,并把请求发给业务面的相应方法。 Web服务的不同描述: 1.应用的分布式: 2.应用到应用的交互:在分布式环境中,若采用集中控制方式,则服务器有较大的负荷,且系统不 3.平台无关性:由于Web服务采用简单、易理解的标准Web协议作为构件接口和协同描述的规范,完全屏蔽了不同软件平台的差异,具有可集成能力。 Web服务的特点: 从外部使用者的角度来看,Web服务是一种部署在Web上的对象/构件,它具有以下5个特征:
使用标准协议规范
使用协约的规范性
高度集成能力:由于Web服务采用简单、易理解的标准Web协议作为构件界面描述和协同描述规范,屏蔽了不同软件平台的差异,实现最高的集成性。
完好的封装性:Web服务既然是种部署在Web.上的对象,自然就具备对象的良好的封装性,对应使用者只能看到该对象提供的功能列表。
松散耦合:对于调用者而言,只要Web服务调用的界面不变,Web服 务实现的任何变更对调用者都是透明的。 二、Web服务体系结构模型 1.Web服务模型一个完整的Web服务包括3种逻辑构件,服务提供、服务代理、服务请求,其服务模型如下图: 服务提供者:提供服务并进行注册,以使服务可用。 服务代理:起中介作用,它是服务的注册场所,充当服务提供者和服务请求者之间的媒介。 服务请求:在应用过程中通过向服务代理请求服务,调用所需服务。 与Web服务相关的操作有: 发布:服务提供者向服务代理发布所提供的服务。服务提供者可以决定发布(注册)或不发布(移去)服务。 发现:服务请求者向服务代理发出服务查询请求,服务代理接收该请求。 绑定:服务的具体实现。分析从注册服务器中得到的调用该服务所需的详细绑定信息,根据这些信息服务请求者就可以编程实现对服务的远程调用。 2.Web服务开发生命周期开发周期分为4个阶段: Web服务是种全新的体系结构, 为支持其特性,相关规范不断被推出。Web服务 要以一种可互操作的方式执行发布、发现和绑定这3个操作,必须有一个包含每层标准的Web服务栈。其结构由如下的5层组成: ①发现服务层:用来帮助客户端应用程序解析远程服务的位置,通过UDDI 协议实现。UDDI 使Web服务可以真正实现信息的次注册,到处访问”。 ②描述服务层:为客户端应用程序提供正确地与远程服务交互的描述信息。通过WSDL ( Web服务描述语言)来实现。 ③消息格式层:保证客户端应用程序和服务器端在格式设置上保持致,通过S0AP协议实现。S0AP (简单对象访问协议)定义了服务请求者与服务提供者之间的消息传输规范。, ④编码格式层:为客户端和服务器之间提供个标准的、独立于平台的数据交换编码格式,通过XML来实现。 ⑤传输协议层:为客户端和服务器之间提供二者交互的网路通信协议,通过HTTP (超文本传输协议)和SMTP (简单邮件传输协议)来实现。 Web服务体系结构的优势 Web服务是近年来提出的一种新的面向服务的体系结构,它与传统的分布式体系结构相比,其优势有如下4点: XML是W3C制定的作为Internet.上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言。 Web服务所提供的接口、对Web服务的请求、Web服务的应答数据都是通过XML来描述的。 Web服务的所有协议都是建立在XML基础上,故XML可称为Web服务的基石。 2.简单对象访问协议(SOAP)S0AP是一个基于XML, 在松散分布式环境中交换结构化信息的轻量级协议,它本身不定义任何应用 SOAP消息结构图如下所示: SOAP信封包括一个S0AP头和一个S0AP体: S0AP头:是可选的。作用是在松散环境下且通信方之间没有达成一致的情况下,为SOAP消息增加特性的通用机制,扩展S0AP消息的描述能力。它是由中介者处理。 S0AP体:是必须的。包含需要传输给接收者的具体消息内容。它由S0AP最终接收者处理。 3. Web服务描述语言(WSDL )当服务提供者提供了项服务后,就需要一种方法来让使用者了解调用规则以便使用。WSD是一种XML格式,用于将网络服务描述为组端点,这些端点对消息进行操作。WSDL的模型图如下图所示: WSDL文档在网络服务的定义中使用以下8个元素: ①定义:是整个WSDL文档的根元素,包含所有其它 WSDL元素。 ②类型:包含与交换的消息相关的数据类型定义。 ③消息:代表传输数据的抽象定义。 ④操作:是对服务所支持的操作的抽象描述。 ⑤端口类型:是一组指定的抽象操作和有关的抽象消息。 ⑥绑定:由特定端口类型所定义的操作和消息指定格、式的协议细节。某个给定的端口类型可以有多个绑定。 ⑦端口:通过为绑定指定一一个地址来定义一个端点。 ⑧服务:表示相关端口的集合。 4.统一描述、发现和集成协议(UDDI) UDDI是一套基于Web的、分布式的、为Web服务提供信息注册中心的实现标准和规范。UDDI定义了4种核心数据结构类型,分别如下: (1)业务实体结构 UDD核心数据结构关系图如下图所示: UDD I的技术发现包括2方面: 注册:对核心数据结构类型进行发布和删除。 至今S0A还没有一个公认的定义,许多组织从不同角度、不同侧面对其进行了描述,其中: 一个完整的面向服务的体系结构(SOA)模型: 在上面图中: 单个服务内部结构: 它与构件模型的区别: 服务接口的意义: SOA模型的特征: S0A的设计原则: 从建模的观点看,SOA的主要挑战:如何描述设计良好的操作、服务和流程抽象的特征以及如何系统地构造它们。为此提出了:面向服务的分析与设计(SOAD)原理 SOA的实践原则: SOA是一种企业系统体系结构,它是从企业的业务需求开始的,它的优势在于SOA提供了业务的敏 捷性。 业务的敏捷性是指企业对业务的变化能够快捷、有效的进行响应,为此SOA必须遵循如下2个原则: ①业务驱动服务,服务驱动技术在抽象层上,服务位于业务和技术之间,业务处于主导地位→业务的变化需要服务的重新编排和组合→服务变化会带来实现细节的变化。 ERP(企业资源计划)是一个庞大、复杂的信息化系统,传统的设计、开发模式不满足要求,故提出了基于Web服务技术,按照“面向服务”的设计思想和开发模式,建立了基于Web服务的ERP体系结构,其结构图如下;它包括4层: 1.系统入口 系统入口层:用户单一的入口,它可以是程序、网络浏览器、任何能访问的服务单元,也可以通过手机、掌上电脑等通信设备访问系统。 服务集成器:是整个系统的核心部分。在实际运行过程中,系统自动调用相关的服务单元,这些对用户是透明的。它是用业务过程定义来驱动功能单元的执行。 原子服务库:是所有服务单元的集合。它包含: ERP系统自身的服务单元和其它系统的功能单元进行Web包装后得到的服务单元。 原子服务包含2种服务单元: 功能服务单元:完成业务操作和数据处理 控制服务单元:决定业务流程的流向并实现权限管理。 数据库与数据仓库:传统的ERP是构建在关系型数据库上,而数据仓库是指一个“面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持经营管理中的决策制定过程”数据进入仓库之前,经过加工和集成,以实现将原始数据从面向应用到面向主题的转变。 (责任编辑:) |