APP下载

SOA技术的发展及研究

2016-05-11佟敏徐凤全许韦达

中国新通信 2016年7期
关键词:体系结构关键技术

佟敏 徐凤全 许韦达

【摘要】 面向服务架构(SOA)已经逐渐成为软件产品开发和系统建设的主导方法,基于SOA的信息化工程项目已逐步在各相关行业得到越来越广泛的实施。梳理了SOA的定义、关键技术等,分析了SOA的优点,并肯定了SOA将成为解决当前信息化建设中普遍面临的信息资源共享难、IT系统间难以协作,以及IT系统难以支撑业务变化等难题的有效途径,最后提出了下步发展的思路和重点。

【关键词】 SOA 体系结构 关键技术

一、SOA的定义

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

这种具有中立的接口定义的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。

1、体系结构角度。从体系结构的角度,SOA是一种软件体系结构和软件构造方法。在软件的基础架构上,SOA架构能够实现服务部署环境和服务实现之间的松散耦合,有利于提高分布式系统的可伸缩性,有利于实现对资源的动态优化配置,最大程度地资源共享。在软件的构造方法上,SOA打破了传统的分布式组件容器的界限,以服务作为基本构造计算单元,通过服务的组合和组装完成系统整体功能。

2、实现技术角度。从实现技术的角度,SOA是指以松散耦合方式实现业务层面各种服务能力的共享、供给和重用的方法学。SOA包含了编程模型及软件工程方法学等在内的一整套系统构造方法和环境。SOA的技术实现也体现了在软件使用模式的深刻变革,软件将以服务的形式通过互联网向用户提供,目前的软件授权、开发、维护方式将发生巨大变化,软件应用模式和商业模式也随之发生改变。虽然SOA技术与软件服务化的使用模式并没有必然的联系,但SOA软件构造技术所带来的松散耦合和软件的可组合等特性,都有助于软件的使用方式逐渐演化为“定制化使用”、“托管部署和运维”的服务化使用方式。

二、引言

随着信息化建设的深入,许多企业都开始建立计算机信息系统,由于各个信息系统都是独立开发的,所采用的开发方式和平台各不相同。因此,系统之间独立性很强而沟通性严重缺乏,而以此系统为基础的企业职能部门,相互之间无法进行有效的通信,从而形成孤立的信息系统。而现代企业为了适应客户需求的不断变更以及激烈的市场竞争,迫切需求各个部门以及商业伙伴之间能够及时获取实时信息,信息孤岛的存在严重制约着企业的进一步拓展,容易导致企业IT投资的成本居高不下,因此遗留程序和信息孤岛,已成为企业必须面对的当务之急。

而基于SOA(面向服务的架构)的应用集成开发方案可以很好地解决这些问题,尤其是针对多个不同技术开发,运行在不同平台的应用程序的相互通信。

三、SOA的组成元素

面向服务的体系结构中的角色包括:如下图所示:

(1)服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务请求者根据接口契约来执行服务。

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

(3)服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者接口。

(4)面向服务的体系结构中的每个实体都扮演着服务提供者、请求者和注册中心这三种角色中的某一种(或多种)。面向服务的体系结构中的操作包括:1)发布:为了使服务可访问.需要发布服务描述以使服务请求者可以发现和调用它。2)查询:服务请求者定位服务.方法是查询服务注册中心来找到满足其标准的服务。3)绑定和调用:在检索完服务描述之后,服务请求者继续根据服务描述中的信息来调用服务。

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

四、SOA的优势

(1)实现企业IT闲置资产的重用。实施SOA,企业必然需要对自身所用的信息系统进行重新的分类,这势必会使企业全面的了解自身的信息系统,然后针对企业的服务寻找适合的IT支持。以前由于种种原因被闲置的企业IT资产,企业必然会重新考虑,挖掘到闲置资产的价值,从而使闲置的IT资产得以重用。另外,SOA可以将旧的系统封装起来,成为Web Services得以重新利用。

(2)降低企业的IT投资成本。以往多数企业在建设企业的IT系统时是从项目的角度出发的,事后等企业的IT系统越来越多的时候,才会考虑系统的集成问题,但这时候往往集成的难度就很大了。而SOA要求企业在建设IT系统之初就要考虑这些问题,也就是要考虑服务之间的接口问题。这样就会使企业的IT的成本大大缩减。同时,SOA将改变以往的软件购买模式,目前的多数企业在购买软件时往往是成熟性软件,往往无法将那些企业不需要的功能剔除出去,这样,企业就不得不为此付出资金成本等许多不必要的成本,而SOA则可以帮助企业实现真正的按需购买,帮助企业避免不必要的支出。

(3)实现企业的动态变革。SOA使企业的IT人员不必太多的关心企业IT系统的底层技术,而更多的去考虑企业的业务以及业务与IT的接合。SOA面对的是一个个独立的服务,服务之间可以通过标准接口来相互调用,这样企业在重复功能上就可以直接通过接口调用,而不必去重新开发。企业的业务发生变化时,只需要修改相对应的服务即可,降低了修改的难度与复杂度,保证了企业的IT系统的动态变化。

五、SOA的关键技术

随着SOA技术应用范围的扩展、应用程度的加深,以及SOA技术与其他新技术的融合,SOA技术体系已经变得较为复杂,掌握SOA技术体系的难度较大,对实施SOA的技术人员和业务人员提出了很高的要求。如何将技术简化为更实用、更可靠的工具,以方便和推进SOA的实施,也是SOA下步发展的重要方向。总结SOA的关键技术,从工程角度看主要包含三方面。

(1)与Web服务相关的一组技术。包括:Web服务建模、Web服务的描述、发布与发现技术、Web服务通信技术、Web服务交互技术、Web服务组合技术、Web服务安全和QoS保障技术、Web服务的事务管理技术等。

(2)与SOA工程相关的一组技术。包括SOA构造方法学、领域建模、需求分析、服务编程与开发技术, 以及基于服务的信息集成、应用集成等服务集成技术等。

(3)与分布式系统共性问题相关的一组基础技术,包括SOA系统的体系结构、可伸缩性、可靠性及可用性保障技术等。这里每一个方面都有相应的技术产品和商业产品出台,一些老牌的供应商也都有重量级的产占领市场。此外,面向开放式网络计算环境,软件发展还在探索新兴的云计算、软件即服务(SaaS)、平台即服务(PaaS)等一系列技术下步可能的应用模式。面对如此庞大的SOA技术体系和繁杂的SOA产品市场和应用模式,用户其实更需要的是针对不同的应用需求提供更加简单、易用的、可选配的SOA平台解决方案,来屏蔽复杂的技术细节,建立规范化的服务接入“窗口”,向下能够选择装配不同厂家的SOA基础产品,向上又能够根据行业应用需求快速接入不同的业务应用服务,方便技术人员和业务人员的实施,真正提高 SOA 应用系统开发、整合的效率、降低实施SOA的成本。

六、SOA下一步发展方向

SOA 的理念和技术经过多年的发展,目前正在走向平稳发展阶段。我认为在总体发展思路上应重点把握以下几点:

(1)在标准规范建设上,构造和完善SOA国际和国内直至行业标准规范的总体布局,将标准规范与技术实现、业务应用相结合,推进更多的国内和行业标准国际化,提升我国自主软件产业在国际标准阵营的主动权和话语权。

(2)在技术上,重点发展和建立重业务、可选配、轻量级的SOA产品平台,推动集约化应用与管控模式下的核心技术积累,在相应的体系结构、保障和优化技术等方面形成特色核心技术。促进软件服务化转型,优化产业结构,促进国内供应商基于现有SOA平台联合协作,促进成功的SOA成果应用落地。

(3)在SOA应用和市场方面,发挥国内供应商产品轻量级、可选配的技术特点,结合熟悉业务需求的特长优势,协作开展咨询和服务工作,为行业用户提供咨询和工程实施服务,在项目支持上重点突破与广泛应用相结合,选择重点领域,进行联合攻关,解决用户重大工程需求问题。在具体技术产品方面,重点发展以下产品套件和平台产品。

SOA 应用集成框架,SOA工具集产品,SOA基础产品,SOA通用业务服务产品及面向行业的SOA应用服务产品。这样既可以为用户提供实施和开发SOA应用的工具和基础产品支撑,又可以为不同行业领域的SOA应用集成商和服务商提供规范化、易实施的常用模式/模板及应用加工软件,有效缩短SOA技术与业务应用的距离,降低SOA的实施难度,提升SOA应用的规范化程度。

七、结束语

SOA是目前在开放式网络环境下,构建大型信息系统的有效指导思想和配套的方法路子,SOA目前还有很大的发展空间,随着SOA的逐步实现和使用,我们可以更好地发现它的不足,扬长避短,发挥贴近业务优势,更好地理解和使用SOA,促进SOA的发展和成熟。

参 考 文 献

[1]喻坚,韩燕波.面向服务的计算[M]. 北京 :清华大学出版社,2006

[2]Shawn X. K. Hu. Interoperability at the SOAP message level(aWS-DL design case study), IBM DW站点, 2006,7.

[3] Jeremy Caine, Joe Hardman. Design strategies for legacy system in-volvement in SOA solutions. IBM DW站点, 2007,4.

[4]唐秀良,SOA的发展探索与研究,中国软件与技术服务股份有限公司,2009.

[5]凌晓东,SOA的综述,上海科学院,2007.

[6] (美)Thomas Erl著,王满红,陈荣华译以概念、技术与设计北京机械工业出版

猜你喜欢

体系结构关键技术
基于思维导图的化学知识体系结构构建
防雷关键技术在自动气象站系统中的应用探究
软件通信体系结构(SCA)理念下的无线通信系统探究
网络安全态势感知关键技术研究
无人机集群作战关键技术及发展趋势
认知无线网络中的重点技术和研究
TD—LTE关键技术与发展展望