浅谈面向服务的体系结构SOA

2018-09-04 09:15赵鑫
世界家苑 2018年8期
关键词:架构

赵鑫

摘 要:SOA是一种对未来软件架构设计有巨大影响的技术。文章从软件体系结构角度出发,深入分析了SOA的产生背景,什么是SOA,SOA的五个特征,SOA包括的角色、操作、构件,以及使用SOA架构的优势。最后对SOA进行了总结论述。

关键词:SOA;面向服务;架构

引言

软件开发经历了不同体系结构的变革,从传统软件体系结构阶段到基于组件的体系结构阶段,再到面向服务的体系结构阶段。随着软件应用规模的逐步扩大,应用层次的不断深入,软件开发的难度、复杂度也随之增加。如何尽可能多得利用已有的资源而增加修改,提高软件的可重用性,减少开发成本,成为了亟待解决的问题。

1.SOA的产生背景

随着网络的普及化,越来越破功需要将现有多个应用系统集成,以便实现更强的信息处理功能。如电子商务的供应链,智能交通、电子政务、数字地球等。而传统的三层体系结构虽有力的提供了一种分布式系统的解决方案,实现了一种紧耦合的分布式系统,组成了一个自成体系的单个应用软件,而如何将现有的多个应用软件,通过网络将其整合成一个集成系统,早期的技术是无法解决的,所以迫于亟待解决的多应用集成问题,SOA是当前 最理想的解决方案。SOA就是为了适应复杂多变的应用环境,用一种不同于以往的方式来快速、简便的开发企业应用系统,为企业在激烈的市场竞争中抢得先机。

2.什么是面向服务的体系结构SOA

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

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。

3.SOA的特征

SOA具有以下五个特征:

(1)可重用

一个服务创建后能用于多个应用和业务流程。

(2)松耦合

服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等等。

(3)明确定义的接口

服务交互必须是明确定义的。Web服务描述语言(Web Services Description Language,WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节。WSDL不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序设计语言编写的。

(4)无状态的服务设计

服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时,它们可以定义成通用业务流程、函数和 数据模型。

(5)基于开放标准

当前SOA的实现形式是Web服务,基于的是公开的W3C及其他公认标准.采用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务来实现SOA。

4.SOA包括的元素

面向服务的体系结构中的角色包括服务请求者、服务提供者、服务注册中心。服务请求者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务请求者根据接口契约来执行服务。服务提供者是一个可通过网络寻址的实体,它接受和执行来自请求者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务请求者可以发现和访问该服务。服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者接口。

面向服务的体系结构中的每个实体都扮演着服务提供者、请求者和注册中心这三种角色中的某一种(或多种)。面向服务的体系结构中的操作包括发布、查找和绑定。

发布:为了使服务可访问.需要发布服务描述以使服务请求者可以发现和调用它。

查找:服务请求者定位服务.方法是查询服务注册中心来找到满足其标准的服务。

绑定和调用:在检索完服务描述之后,服务请求者继续根据服务描述中的信息来调用服务。

面向服务的体系结构中的构件包括服务和服务描述。服务可以通过已发布接口使用服务,并且允许服务使用者调用服务。服务描述指定服务使用者与服务提供者交互的方式。它指定来自服务的请求和响应的格式。服务描述可以指定一组前提条件、后置条件和/或服务质量(Q0S)级别。

5.面向服务SOA架构的优势

SOA不同于现有的分布式技术之处在于大多数软件商接受它并有可以实现SOA的平台或应用程序。SOA伴随着无处不在的标准,为企业的现有资产或投资带来了更好的重用性。SOA能够在最新的和现有的应用之上创建应用;SOA能够使客户或服务消费者免予服务实现的改变所带来的影响;SOA能够升级单个服务或服务消费者而无须重写整个应用,也无须保留已经不再适用于新需求的现有系统。总而言之,SOA以借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。其优势主要体现在如下几个方面:(1)利用现有的资产;(2)更易于集成和管理复杂性;(3)更快地整合现实;(4)减少成本和增加重用。

SOA业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它来满足不同时期的需要。SOA能够在最新的和现有的应用之上创建应用;SOA能够使客户或服务消费者免予服务实现的改变所带来的影响;SOA能够升级单个服务或服务消费者而无需重写整个应用,也无需保留已经不再适用于新需求的现有系统。总而言之,SOA以借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。

结束语

SOA作为一种超技术的理念,需通过对具体技术的包容来体现它无所不包无所不通,唯一不变的就是其核心理念。基于SOA的企业业务系统不是一次建成的,SOA不仅仅是软件系统的一种体系架构思想,它也正成为一种文化。

参考文献

[1] 张春霞 李旭东 徐涛.浅谈面向服务架构_SOA_的核心理念[J].计算机系统应用,2010.

[2] 尚建嘎.软件系体结构与设计实用教程[M].科学出版社2016.

[3] 陈旺.面向服务架构SOA[J].IT技术应用,2013.

[4] 张一清.面向服务的软件体系架构SOA[J].福建电脑,2007.

(作者單位:河南大学软件学院)

猜你喜欢
架构
基于云控平台雾计算架构的网联汽车路径控制
沃尔沃汽车宣布启动全新CMA豪华紧凑型整车平台架构
VIE:从何而来,去向何方
企业架构需要统一标准
企业架构的最佳实践
三层架构在企业信息化中的应用