SOA面向服务的软件架构探讨

  • 格式:pdf
  • 大小:159.43 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007年10月

第24卷 第5期枣庄学院学报JOURNAL OF Z AOZHUANG UN I V ERSI TY Oct .2007Vol .24NO.5

S OA 面向服务的软件架构探讨

袁伟1,2

(1.华东师范大学软件学院,上海200062; 2.枣庄学院计算机科学系,山东枣庄277160)

[摘 要]S OA 是一种新型的软件体系架构,本文着重介绍了S OA 的基本特点及其优越性,并对其发展作出展望.

[关键词]S OA;服务;软件架构

[中图分类号]TP311.5 [文献标识码]A [文章编号]1004-7077(2007)05-0070-031 引言

近年来,在软件开发领域,S OA (Service -O riented A rchitecture,面向服务软件架构)成了热门的话题.作为一种新的开发理念和I T 生活方式,S OA 以其固有的松散耦合性与灵活的互操作性,受到众多的软件厂商的青睐,据Gartner 的预测,到2008年,S OA 将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架构长达40年的统治地位.因此研究和应用基于S OA 架构的企业应用系统已经成为目前一个十分重要的研究课题,具有十分重要的现实意义.

2 S OA 概述

2.1产生背景

伴随着I nternet 的普及应用,信息技术的不断发展,在各行业领域内部出现大量基于网络的大量信息系统,这些系统各司其职,但相互之间往往缺乏很好地协作,易形成许多信息孤岛.此外,现代企业面临巨大的市场压力,需要随时应对不断变化的市场需求,客观上要求应用系统能够快速搭建并实施,做到“随需应变”.并且伴随着电子商务的繁荣发展,跨企业供应链协作需求也日益普及.因此,客观上需要有一种技术能够将构建于不同时期,不同类型的异构系统以及跨企业边界的软件系统进行集成整合.而传统软件架构已经无法满足需求,在这种背景下,S OA 面向服务的软件架构应运而生.基于S OA 架构的应用集成可以减少不同类型的I T 系统的依赖性,降低费用和I T 操作的复杂性;提高已部署系统的灵活性,同时排除了抑制业务创新的障碍.

2.2S OA 的定义

S OA 并不是一个新概念,早在1996年,Gartner Gr oup 就已经提出了S OA 的预言,近年来,随着S OA 的技术实现手段,特别是基于标准的集成技术(如W eb 服务和X ML )不断成熟,S OA 得以迅速风行起来.

所谓的S OA 就是面向服务的体系结构(service -oriented architecture,S OA )是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言.这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互.

07・①[收稿日期]2007-07-01

[作者简介]袁伟(1979-),男,山东枣庄人,枣庄学院计算机科学系助教,华东师范大学软件学院2006级硕士研究生,主要从

事软件工程和多媒体技术研究.

袁伟 S OA面向服务的软件架构探讨

传统的W eb(HT ML/HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展.W E B服务(X ML/S OAP/W S DL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/E A I/C B2C的发展.S OA(面向服务的体系架构)则是采用面向服务的商业建模技术和W E B服务技术,实现系统之间的松耦合,实现系统之间的整合与协同.W E B服务和S OA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作.

虽然不同的人对S OA有着不同的理解,但是从上述定义中仍然可以看到S OA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型.S OA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用.服务层是S OA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性.服务(service)是整个S OA实现的核心.除了动态服务发现和服务接口契约的定义之外,面向服务的体系结构还具有以下特征:服务是自包含和模块化的;服务支持互操作性;服务是松散耦合的;服务是位置透明的;服务是由组件组成的组合模块.

2.3S OA的组成

S OA的基本体系架构由以下四部分组成:

2.3.1服务提供者(Service Pr ovider)服务提供者是一个可通过网络寻址的实体,它接受和执行来自消费者的请求.它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务.

2.3.2.注册中心(Register)服务注册中心是一个包含可用服务的网络可寻址的目录,它是接收并存储服务契约的实体,供服务消费者定位服务之用.

2.3.3服务消费者(Service Consu mer)服务消费者可以是一个请求服务的应用、服务或者其它类型的软件模块,它从注册机制中定位其需要的服务,并通过传输机制来绑定该服务,然后通过传递契约规定格式的请求来执行服务功能.

2.3.4服务契约(Contract)服务契约是服务消费者和服务提供者间交互方式的规范,指明了服务请求和响应的格式.

3 S OA的优势

3.1编码灵活性

可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现重用,这些都体现了编码的灵活性.此外,由于服务使用者不直接访问服务提供者,这种服务实现方式本身也可以灵活使用.

3.2明确开发人员角色

例如,熟悉BES的开发人员可以集中精力在重用访问层,协调层开发人员则无须特别了解BES的实现,而将精力放在解决高价值的业务问题上.

3.3支持多种客户类型

借助精确定义的服务接口和对X ML、W eb服务标准的支持,可以支持多种客户类型,包括P DA、等新型访问渠道.

3.4更易维护

服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现.

3.5更好的伸缩性

依靠服务设计、开发和部署所采用的架构模型实现伸缩性.服务提供者可以彼此独立调整,以满足服务需求.

3.6更高的可用性

该特性在服务提供者和服务使用者的松散耦合关系上得以体现.使用者无须了解提供者的实现细节,这样服务提供者就可以在W eb Logic集群环境中灵活部署,使用者可以被转接到可用的例程上.

1

7

相关主题