SOA体系架构模型及特征分析

2010-09-08 06:44张秀英
中国新技术新产品 2010年10期
关键词:请求者服务提供者调用

邓 荣 张秀英

(1、重庆工程职业技术学院,重庆 400037 2、重庆警官职业学院,重庆 400319)

1 SOA概述

软件系统开发经历了面向过程、面向对象、面向组件、面向集成的发展过程:基于面向过程的代码高度耦合,可以提高效率,但无法满足业务变化的需求;面向对象技术通过继承、多态和重载等一系列特性提高了软件的重用,使得整个基础架构能够满足需求的快速变化,但它的重用仍停留在代码共享的级别;面向组件技术加速了适应业务变化的步伐,但在异构系统操作中依然存在许多问题;面向集成把系统的概念提升到了一定的高度,但它针对独立的应用提供服务,系统的体系结构面向特定的应用,使得系统的可实施性较差。在这种情况下,一种更活跃的、自由的、高效的软件复用机制--面向服务的体系架构SOA(serviceoriented architecture)应运而生,它不仅是一个体系结构,也包含了策略、实践和框架,以保证服务被正确的提供和消费。

2 SOA体系结构组成元素

SOA通过构建分布式系统,将应用程序功能作为服务对象对外发布,从而将服务提供给终端用户应用程序或其它服务。SOA体系结构的组成元素,分为功能元素和服务质量元素两大部分。

2.1 功能性方面

传输:定义了用于将来自服务使用者的服务请求传送给服务提供者,并将来自服务提供者的响应传送给服务使用者的通信机制;

服务通信协议:定义了服务提供者和服务使用者进行通信的服务协议;

服务描述:事先定义好的模式,用于描述服务的内容、调用方式和参数等;

服务:实际可供使用的服务功能;

业务流程:定义了满足业务要求的服务集合,可按照特定的顺序用一组特定的规则进行调用;

服务注册中心:服务和服务描述的仓库,服务提供者可以通过服务注册中心发布服务,而服务使用者可以通过服务注册中心,查找自己可用的服务。

2.2 服务质量方面

策略:一组条件和规则,服务提供者遵循这些条件和规则来对外提供服务;

安全性:规则集,应用于服务使用者的身份验证、授权和访问控制等;

事务:属性集,应用于一组服务,以保证每次调用一组服务时都提供一致的结果;

管理:属性集,应用于管理服务和服务的使用。

3 SOA模型

面向服务体系架构模型,如图1所示,建立在三个角色(服务提供者、服务注册中心和服务请求者)的交互上。交互的内容包括发布、查找和绑定三个操作。这些角色和操作都围绕Web服务的服务本身和服务描述而展开。图1显示了这些操作、提供这些操作的模块以及它们之间的交互关系。

图1 面向服务体系架构模型

3.1 SOA模型释义

3.1.1 服务:服务是由服务描述定义的接口,而这里接口的实现就是服务本身。服务是服务提供者在网络上发布可供不同平台使用的软件模块。服务请求者可以调用服务。服务本身也可能是请求者,在它的实现过程中使用其他的服务。

3.1.2 服务描述:服务描述包含服务接口和实现的细节,包括数据类型、操作、绑定信息和网络位置等,也可能包括分类和其他元数据信息,这些信息通常是为了协助服务请求者发现和使用服务。服务的提供者可以把服务描述直接发送给服务请求者,也可以发布到服务注册中心。

3.1.3 服务提供者:从商业的角度来看,服务提供者是服务的拥有者。从SOA架构看,服务提供者是拥有服务的平台。

3.1.4 服务请求者:从商业的角度来看,服务请求者是需求某种功能的商业机构。从SOA架构看,服务请求者是查找、调用服务的应用程序。

3.1.5 服务注册中心:服务提供者在服务注册中心发布他们的服务描述,而服务请求者在服务注册中心找到服务,并得到服务绑定的信息。

3.2 实现操作

在服务的实现过程中,有三个操作是必须的:服务描述的发布、查找服务描述和根据服务描述绑定或调用服务。这些操作可能会执行一次或多次。

3.2.1 发布:为了能够访问服务,必须首先发布服务描述,服务请求者才能找到它。到底把服务描述发布到何处,或者以什么方式发布,这是由应用程序的具体要求决定的。

3.2.2 查找:在查找操作中,服务请求者可能会直接得到服务描述,也可能会向服务注册中心查询服务描述的位置。查找操作可以出现在服务请求者生命周期的两个不同阶段:设计时刻和运行时刻,前者获得服务的接口说明用于程序的开发,后者获得服务的绑定和定位说明用于服务的调用。

3.2.3 绑定:在绑定操作中,服务的请求者在运行时刻使用服务描述中的绑定信息定位、连接和调用服务,启动与服务的交互。

4 SOA与Web服务

Web服务(web service)[20,22]是由web应用延伸出来的一种技术规范,同时它也是SOA技术思想的源泉。SOA虽然不一定必须基于Web服务,但是其思路与Web服务关系密切,而且Web服务是当前SOA较为理想的技术。当前一些研究倾向于使用面向服务模型的概念来描述Web服务。尽管Web服务与SOA密切相关,但Web服务仍然需要进一步的提升以获得真正的服务模型。

从本质上来说,SOA是一种架构模式,而Web服务则是利用一系列技术标准实现的服务,也就是说Web服务是实现SOA的方式之一。用 Web服务来实现SOA的好处是可以用一个中立平台来获得服务,而且随着越来越多的软件商都支持Web服务规范,更好地理解Web服务即能更好地理解SOA内涵。

5 小结

SOA是一种新兴的分布式软件体系架构,具有分布式、松散耦合、开放性等的特点,在其架构下,可以通过一系列符合开放式标准的协议和规范,为分布式环境下异构系统的整合与集成提供一种可控代价的技术途径。SOA的提出为解决在Internet环境下多种异构业务集成的提供了一种十分有价值的技术手段,通过连接能完成特定任务的独立功能实体,来实现整合、集成的应用功能。它能够以可控制的实现代价整合不同的业务系统,使它们具备协同工作的能力。

[1]桑兰芬,李海军.实验室开放与校园网实验教学[J].长春理工大学学报(社会科学版),2005,18(3):46-47.

[2]邬志红,段喜龙,舒远仲.开放型计算机实验室管理系统的设计与实现[J].计算机与现代化.2006(2):114-115,121.

[3]W3C.Simple Object Access Protocol Version 1.2[[EB/OL].http://www.w3.org/TR/soap/

[4]Heather Kreger,Web Services Conceptual Architecture[M]IBM Software Group,2001

[5]Lianjun An and Jun-Jang Jeng ,Web Service Management Using System Dynamics[C],IEEE,2005

[6]隋菱歌,殷树友,黄岚.SOAP协议在XML数据传输中的应用[J],长春大学学报(自然科学版),2006,4

[7]刘振鹏,周冬冬,薛林雁,常晓萌,宋晓静.一个基于SOAP消息的Web服务综合安全模型[J],武汉大学学报(理学版).2006,5.

猜你喜欢
请求者服务提供者调用
基于D2D 多播通信的合作内容下载机制
群智感知中基于云辅助的隐私信息保护机制
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
论网络服务提供者刑事责任的归责模式一一以拒不履行网络安全管理义务罪为切入点
汉语自然会话中请求行为的序列结构
基于差值诱导的Web服务评价可信度的评估
基于系统调用的恶意软件检测技术研究
网络服务提供者第三方责任的立法审视
利用RFC技术实现SAP系统接口通信