首页 > 范文大全 > 正文

探讨Web Service软件架构模型的构建

开篇:润墨网以专业的文秘视角,为您筛选了一篇探讨Web Service软件架构模型的构建范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在本文研究过程中,阅读了大量的资料,提出了基于web services技术架构进行Web Services组件开发的架构模型。其中包括:研究Web Services身份认证和授权模型、消息安全模型、事务处理模型。

关键词:软件架构;逻辑结构;安全模型;传输机制;事物处理

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21617-02

Discussing on Web Service Software Frame Building

LI Ya-ping

(Qinhuangdao Institute of Technology,Qinhuangdao 066100,China)

Abstract:Having read large amount of data, I brought forward the Web Services technology frame the model based on Web Services module frame. Include: studies on Web Services dignity attestation and authorizes model, safe information models, affairs treatment models.

Key words:software frame;logic structure;safety model;transmission mechanism;affairs treatment

1 为什么选择Web Services(优势分析)

Web服务是一种面向服务的体系结构,其中定义了一组标准协议,用于接口定义、方法调用、基于Internet的组件注册以及各种应用的实现。同传统的分布式模型相比,Web服务体系的主要优势在于:

(1)协议的通用性。Web Services利用标准的Internet协议(如HTTP, SMTP等),解决了面向Web的分布式计算的通信问题,而传统的分布式模型解决的是特定平台下的通信问题。

(2)完全的平台、语言独立性。Web Services进行了更高程度的抽象,只要遵守Web Services的接口即可进行服务的请求与调用。Web服务结合了面向组件方法和Web技术的优势,利用标准网络协议和XML数据格式进行通信,具有良好的普遍适用性和灵活性,在Internet这个巨大的虚拟计算环境中,任何支持这些标准的系统都可以被动态定位以及与网络上的其它Web服务交互,任何客户都可以调用任何服务而无论它们处在何处,突破了传统的分布式计算模型在通信、应用范围等方面的限制,允许企业和个人快速、廉价地建立和部署全球性应用。

2 Web Service软件架构模型的整体逻辑结构

为了解决Web Services应用过程中遇到的问题,需要构建一个安全的、可扩展的Web Services企业应用环境,设计了下面一个应用模型,结构图见图1。该模型主要是为商务应用间的Web Services通信和互操作提供一个安全、可靠和具有一定伸缩性的处理空间。其中的身份认证和授权处理Web Services环境下的身份认证问题,在复杂应用中可以考虑基于角色进行授权。

图1 Web Service架构模型

消息签名、加密提供了消息安全传输机制;消息交换中心提供了企业级的数据处理环境,能够缓存数据,实现数据的分布式环境下的具有弹性处理能力的应用机制。消息安全、身份认证和消息交换中心都是建立在企业基础设施上的。

3 Web Service信息安全模型

信息安全模型提供了端到端的消息安全传输机制和Web Services身份验证机制。

3.1 Web Services身份验证机制

图2提供了WebServices身份验证的一个模型,这个模型利用了可选择的SOAP头来实现灵活的、定制的身份验证

机制。在具体的使用中这实际上也是一个约定,也就是通信方法必须明确知道身份验证信息的格式。

图2 SOAP HEADER身份验证信息

3.2 Web Services消息安全传输机制

图3作为消息安全传输的发送方模型描述了如何实现消息完整性、消息的不可抵赖性、消息的保密性处理和确保消息被允许的接受方解密。

图3 消息安全传输模型――发送方

图4作为消息安全传输的接受方模型描述了如何判断消息完整性、明确消息发送方的身份、通过解密获取消息。

图4 消息安全传输模型―接收方

4 Web Service事务处理机制

事务处理是Web Service软件架构模型的整体中重要的一个组成部分。

4.1事务处理原理及事务类型

事务处理就是负责使交易平稳和可预测的技术。事务确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。事务处理的目的在于保持系统数据的完整性和一致性。从设计的角度而言事务处理的根本原因是业务过程的需要。

图5 事务处理在Web Service架构模型中的重要地位

4.2 事务处理原理

事务是一组作为一个单元成功或失败的相关任务。在事务处理术语中,事务要么提交,要么中止。若要提交事务,所有参与者都必须保证对数据的任何更改是永久的。不论系统崩溃或是发生其他无法顶料的事件,更改都必须是持久的。

只要有一个参与者无法做出此保证,整个事务就会失败。事务范围内的所有数据更改将回滚到事务未运行前的状态。

4.3 事务类型

(1)单数据源事务

事务可以限制在一个数据资源上,如数据库或消息队列。这些数据资源通常提供本地事务功能。这些事务由数据资源控制,管理起来轻松高效。

(2)分布式事务(跨多数据源事务)

事务可以跨越多个数据资源。分布式事务使出现在不同系统上的若干不同操作合并为单个的成功或失败操作。

4.4 Web Service简单的事务处理

XML Web Services的事务在公共语言运行库中得到支持,对于使用创建的XML Web Services,您可以通过设置应用于XML Web Services方法的Web Method特性的Transaction Option属性来声明EVIL Web Services的事务。如果当执行XML Web Services方法时引发异常,则自动中止事务;相反,如果未发生任何异常,则自动提交事务。

Web Method特性的Transaction Option属性指定XML Web Services方法参与事务的方式。与对象关联的事务自动流向合适的资源管理器。.NET Framework数据提供程序在对象的上下文中查找事务,并在分布式事务协调器(DTC)中登记,因此整个事务自动发生。XML Web Services方法只能作为新事务的根来参与事务。作为新事务的根,所有与资源管理器的交互(例如,运行Microsoft SQL Server, Microsoft消息队列和Microsoft Host Integration Server)都维护有运行稳健的分布式应用程序所需的ACID (atomicity, consistency, isolation, and durability)属性。但是Web Services方法中,事务边界为XML Web Services方法执行进程范围内,也就是参与事务的一个Web Services方法,当调用其它Web Services方法的时候,所调用的Web Services方法中小丙受原来事务的约束了,因为这时已经进入了另外一个进程。也就是Web Services方法中事务的边界是该方法中的非Web Services方法调用的进程。

4.5 Web Service复杂事务处理

4.5.1分布式事务处理

事务可以跨越多个数据资源。分布式事务使出现在不同系统上的若干不同操作合并为单个的成功或失败操作。同时在Web Services上实现自动事务的时候,由于每个Web Services方法只能作为根参与事务,如果构造多个Web Services方法的调用作为原子操纵形成一个事务的话就比较困难了。对于复杂事务我们可以从分布式事务的实现原理中领悟和构造更复杂环境下的事务处埋逻辑。

4.5.2分布式事务处理原理

分布式事务处理((TP)系统旨在协助在分布式环境中跨异类的事务识别资源的事务。在分布式TP系统的支持下,应用程序可以将不同的活动合并为一个事务性单元,这些活动包括从“消息队列”队列检索消息、将消息存储在Microsoft SQL Server数据库中、将所有现有的消息引用从Oracle Server数据库中移除等等。因为分布式事务跨多个数据库资源,故强制ACID (atomicity, consistency, isolation, and durability)属性维护所有资源上的数据一致性是很重要的。分布式TP系统由若干合作的实体组成。这些实体是逻辑上的且可驻留在同一计算机上或不同的计算机上。

(1)事务处理(TP)监视器

TP监视器是位于事务识别应用程序和资源集合之间的软件。它优化操作系统的活动,使网络通信流畅,并将多个客户端连接到可能访问多个数据资源的多个应用程序。不需要编写管理多用户(分布式环境)的应用程序,而是编写由单个事务请求组成的应用程序。监视器根据需要伸缩应用程序。分布式事务处理协调器(DTC)是用于Microsoft Windows 2000以上的TP监视器。

(2)事务管理器

在分布式事务中,每个参与资源均有一个本地事务管理器(TM)来跟踪此计算机上传入的和传出的事务。TP监视器将协调本地TM之间所有活动的附加任务分配给一个TM。这个协调事务活动的TM称为根TM或协调TM 。TM协调和管理所有的事务处理函数,但不具备直接管理数据的能力。资源管理器处理与数据相关的活动。

(3)资源管理器

资源管理器是一项系统服务,负责管理数据库、持续消息队列或事务性文件系统中的持久性或持续性数据。资源管理器存储数据并执行故障恢复。SQL Server和“消息队列”提供参与分布式事务的资源管理器。Oracle, Sybase, Informix, IBM(用于IBM DB2)

提供了用于他们各自数据库产品的兼容资源管理器。

(4)资源分配器

资源分配器管理可共享的非持续状态资源。例如,开放式数据库连接(ODBC),资源分配器管理数据库连接池,当不再需要某个连接时就将其收回。

参考文献:

[1]程炜,杨宗凯,乐春晖.基于Web Service的一种分布式体系结构[J].计算机应用研究,2002年3期.

[2]龚俭.计算机网络安全导论[M].南京:东南大学出版社,2002.

[3]柴晓路.Web Services技术架构和应用[M].电子工业出版社,2003.

[4]杨鳃鹏,李海峰.SOAP消息安全性分析及其加密、签名的实现[J].计算机与现代化,2005年第6期.

[5]朱明磊,黄磊.基于SOA模式的企业级应用程序的架构设计[J].电脑知识与技术,2005年17期.

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”