观辰软件
服务支持/知识库/栏目:SOA/“一二三四”的SOA技术本质

“一二三四”的SOA技术本质

作者:JavaEye发布时间:2009-08-22编辑:观辰管理员更新时间:2009-11-27 11:48

从技术本质的角度,SOA是分布计算技术发展到Internet时代之后的必然产物,跟传统软件技术属于一脉相承的技术体系。因此,SOA所带来的技术冲击,并非颠覆性的技术革命,SOA本身并不创造新的轮子,也不曾代替已有的中间件和互操作技术,而是提供了一种建立在现有技术基础之上的应用系统架构的新的组织方式。那么,作为一种新的软件技术架构理念,SOA的价值究竟体现在哪里?现有的技术架构为什么需要改进?哪些方面需要改进?实践SOA所要遵循的基本原则是什么?SOA对现有的技术体系具体做了哪些针对性的改变?

我们认为可以用“一个中心,两个基本点,三项基本原则,四个变化”来归纳。

一个中心

一个中心,即“以改善企业的业务敏捷性为中心”,这是SOA的初衷,是其终极价值追求,是实践SOA的一切行动的根本出发点。

为什么要“业务敏捷性”为中心?IT技术的研究人员需要切实地探索和把握企业信息化过程中的真正痛点,只有切中痛点,才能让自己的工作内容正确而富有价值。在当今企业信息化建设过程中,企业最根本的痛点究竟在哪里呢?其实就在于企业易变的业务和难变的IT架构之间日益增长的矛盾。

“竞争战略之父”迈克尔·波特在其《竞争战略》一书中写到:竞争有三个基本战略:差异化、低成本和集中,这三种战略的有效组合就可以取得胜势。而业务的易变性,正是企业试图通过业务差异化而谋求利益最大化的必然结果,是激烈的市场竞争的产物。问题在于,企业常常发现,业务改变了,但是相应的IT基础设施却不能迅速地响应,导致新业务难以收获预期的效益。于是,改善IT架构基础设施的业务敏捷性,缩短新产品、新服务的研发和上市时间,降低生产运营成本,就成了企业的当务之急,是确保其在激烈的国际国内竞争中立于不败之地的坚强基石。因此,SOA将自身的价值追求定位于改善企业的业务敏捷性,“一个中心”是SOA价值的集中体现。

两个基本点

为什么传统的IT基础架构难以及时跟进企业业务的频繁变动?根本原因就在于目前最重要的软件开发和集成技术---软件复用、软件互操作,存在着严重的问题,它们才是导致企业业务敏捷性达不到预期目标的真实原因,因而也就成了SOA实践的目标对象。

众所周知,软件复用是解决“软件危机”的有效途径。软件复用是指重复使用“为了复用目的而设计的软件”的过程,而软件构件技术则是软件复用技术的核心与关键。以软件构件技术为核心的软件复用,已经成为当今最重要的软件开发技术,其典型代表包括SUN J2EE/EJB、OMG CORBA/CCM以及微软的.Net/DCOM。

软件复用技术存在的问题在于:构件技术由面向对象技术发展而来,提供的是一种较为细粒度的可复用构件,而缺乏封装粒度的弹性,因此该类型构件对复杂业务的封装效果不好,可复用的仍是分散的业务片段,完整的业务复用则需要充分了解复杂的业务规则,从而导致业务人员在构件灵活组装时面临相当大的困难;其次,构件的运行支撑,严重依赖其被部署的受控环境,而不同的构件实现和运行支撑技术之间存在着相当大的异构性,异构技术实现的构件之间缺乏直接组装式复用的能力;第三,系统各个功能模块紧密耦合,缺乏独立性,因而也严重影响了便捷复用的能力。

软件互操作描述的是软件系统之间的交互行为,即不同的软件系统之间共享信息或依据所共享的信息而做出行为的能力。Internet的飞速发展以及分布计算的流行,使得互操作技术已成为(异构)软件系统间集成时所必须的关键性技术。

软件互操作技术存在的问题在于:随着Internet的流行,曾经在Intranet领域取得巨大成功的传统中间件在Internet环境中暴露出了严重局限性,Internet前所未有的开放性意味着各个节点可能采用不同的中间件技术,它们各行其是,对技术细节进行了过多的私有化约束,而构件模型和架构也没有统一的标准,从而导致中间件平台自身呈现出相当大的异构性,具体表现为构件的描述、发布、查找、调用、互操作协议及数据传输等方面的多样性和差异性。此外,基于传统中间件进行互操作的软件系统之间也存在着一些紧密耦合的关系,难以扩展、缺乏灵活性。各种不良技术约束的结果是基于异构中间件的软件系统跨Internet进行交互变得困难重重,举步维艰,从而最终导致了跨企业、跨部门之间的业务集成和重组难以灵活快速的进行。

于是,只有针对性地解决好软件复用技术和互操作技术存在的问题,才能有效地提高现有的IT基础设施对应用系统的灵活支撑能力,实现改善业务敏捷性的根本目标。

三项基本原则

通过以上对两个基本点所存在问题的分析,可以发现,现有的IT基础设施难以应对业务变化的主要问题可以归结为传统分布计算和中间件技术在软件开发和集成方面存在着封装粒度过小、耦合紧密以及标准不统一的问题。针对该问题,SOA提出了三项基本原则,即,在实践SOA的活动中自始至终所必须坚持和贯彻的松耦合、良粒度封装和标准化的方针指引。

松耦合原则主要针对当前分布式系统构建过程中对技术、时间和组织等三个方面的不良约束。该原则不仅要求将服务的表现(接口和描述)和服务功能的实现之间完整分离,同时也需要将服务调用方和服务提供方进行彻底隔离。松耦合原则关注于业务和实现技术间的解耦,便于业务功能的选择和替换,提供了IT服务的灵活适应能力。

良粒度封装复用原则包括了对业务功能的更高层次的抽象化、模块化、构件化、粗粒度以及组合式复用的内容,它确保了SOA对企业已有资产的复用能力,保留了原有技术基础,并有效地隔离了各种技术间的异构性。值得注意的是,和传统构件技术不同,除了提供细粒度基础服务以确保复用的灵活性之外,SOA提倡的服务封装同时更强调一种粗粒度的构件复用方式,旨在提供对完整业务功能进行复用的能力。

标准化原则旨在解决长期以来在分布计算技术方面厂商之间各自为战,山头林立的问题。为了应对技术异构性,SOA前所未有地强调标准化的重要性,主要集中在与互操作相关的内容,包括服务封装、描述、发布、发现、调用、交互协议、数据交换格式、安全和管理等方面的内容。标准化原则在尊重厂商技术多样性的前提下,确保了异构技术体系的软件系统之间跨企业、部门的灵活业务协作能力。

四个变化

四个变化,指的是SOA改造的具体内容,即需要在软件的模型、架构、互操作以及开发方法四个方面进行针对性地调整。

模型:构件模型良粒度化,即,通过抽象层度更高的服务构件模型,实现具备更高结构独立性、内容自包含性和业务完整性的可复用构件。并且在细粒度的基本服务构件基础上,提供了相对更粗粒度的服务构件封装方式。

架构:组织结构松散化,即,将组装系统所需服务的描述和服务功能实现之间、服务的使用者和服务的提供者之间,都进行技术性分离,从而避免分布式应用系统构建和集成时常见的技术、组织、时间等不良约束。

互操作:互操作标准化,即,将与互操作相关的内容进行标准化定义,如服务封装、描述、发布、发现、调用等契约,通信协议以及数据交换格式等等。在标准规范基础上,异构系统之间的互操作就可以通过在私有技术体系和标准技术体系之间相互转换来完成。

开发集成方法:构建方式快捷组编化,即,在以上三项技术革新的基础之上,就可以有效地实现基于服务构件的快速简捷的应用组合及编排,完成更为复杂的业务逻辑的按需灵活组装,从而大大简化和加速应用系统的构建和重构过程。

综上所述,从软件技术本质来看,SOA的实践活动可以概括为:以“改善业务敏捷性”为中心,对“软件复用”和“软件互操作”这两个基本点,遵循“松耦合、良粒度封装和标准化”的三项基本原则,在“软件的模型、架构、互操作及开发方法”四个方面所进行的技术变革。简言之,即“一个中心”、“两个基本点”、“三项基本原则”和“四个变化”,如图1所示。

图1 SOA技术本质分析示意图

 

观辰智能软件平台

零代码配置高度灵活所见即所得简洁易用部署维护方便等是观辰智能软件平台相对于其它平台类软件的显著优势。无论从设计理念、实际生产效率以及后期维护便捷性及成本来讲,观辰智能软件平台都明显优于目前业界的其它软件平台类产品。

咨询热线

028-61297191
观辰软件 版权所有 © 2003-2015