0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

soa架构的优缺点解析

lhl545545 来源:电子发烧友网 2018-02-07 15:20 次阅读

概述

在企业传统的系统开发中,企业往往在设计架构的时候都是采用了紧耦合形式,这是封闭的,自成一体的。这种架构下的的MRP、ERP、OA等产品很难适应或快速响应市场或客户灵活多变的需求,以及后续的扩展。在这样的市场、及客户需求下,从而催生了软件产品一种新的设计或架构的理念:面向服务架构(SOA架构)。

SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性。

SOA体系架构带来的主要观点是业务驱动IT,即业务驱动和业务更加紧密地联系在一起。以粗粒度的业务服务作为基础来对公司业务进行建模,这样就可以产生简洁的业务和系统视图;以业务服务为基础来实现的IT系统更灵活、更易于重用、也更快地应对企业业务需求的变化;以业务服务为基础,通过显式地方式来定义、描述、实现和管理业务层次的粗粒度服务(包括业务流程),提供了业务服务模型和相关IT业务之间提供了更好的“可追溯性”,缩小了它们之间的差距,使得业务服务的变化更容易传递到IT。

利用SOA架构开发的时候,其基于松耦合的特性能给企业带来诸多的好处:

第一、更易维护

业务服务提供者和业务服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现。建立在以 SOA基础上的信息系统,当需求发生变化的时候,不需要修改提供业务服务的接口,只需要调整业务服务流程或者修改操作即可,整个应用系统也更容易被维护。

第二、更高的可用性

该特点是在于服务提供者和服务使用者的松散耦合关系上得以发挥与体现。使用者无须了解提供者的具休实现细节。

第三、更好的伸缩性

依靠业务服务设计、开发和部署等所采用的架构模型实现伸缩性。使得服务提供者可以互相彼此独立地进行调整,以满足新的服务需求。

现在,国内许多企业已经使用了SOA架构,但是是否它就真的没有缺点,答案显然不是:

SOA的不足

作为一个具有发展前景的应用系统架构,SOA尚处在不断发展中,肯定存在许多有待改进的地方。随着标准和实施技术的不断完善,这些问题将迎刃而解,SOA应用将更加广泛。

缺憾之一 : 可靠性(Reliability)

SOA还没有完全为事务的最高可靠性——不可否认性(nonrepudiation)、消息一定会被传送且仅传送一次(once-and-only-once delivery)以及事务撤回(rollback)——做好准备,不过等标准和实施技术成熟到可以满足这一需求的程度并不遥远。

缺憾之二 : 安全性(Security)

在过去,访问控制只需要登录和验证;而在SOA环境中,由于一个应用软件的组件很容易去与属于不同域的其他组件进行对话,所以确保迥然不同又相互连接的系统之间的安全性就复杂得多了。

缺憾之三:编排 (Orchestration)

统一协调分布式软件组件以便构建有意义的业务流程是最复杂的,但它同时也最适合面向服务类型的集成,原因很显然,建立在SOA上面的应用软件被设计成可以按需要拆散、重新组装的服务。作为目前业务流程管理(BPM)解决方案的核心,编排功能使IT管理人员能够通过已经部署的套装或自己开发的应用软件的功能,把新的元应用软件 (meta-application)连接起来。 事实上,最大的难题不是建立模块化的应用软件,而是改变这些系统表示所处理数据的方法。

缺憾之四:遗留系统处理(Legacy support)

SOA中提供集成遗留系统的适配器, 遗留应用适配器屏蔽了许多专用性API的复杂性和晦涩性。一个设计良好的适配器的作用好比是一个设计良好的SOA服务:它提供了一个抽象层,把应用基础设施的其余部分与各种棘手问题隔离开来。一些厂商就专门把遗留应用软件“语义集成”到基于XML的集成构架中。 但是集成遗留系统的工作始终是一种挑战。

缺憾之五 : 语义 Semantics

定义事务和数据的业务含义,一直是IT管理人员面临的最棘手的问题。语义关系是设计良好SOA架构的核心要素。 就目前而言,没有哪一项技术或软件产品能够真正解决语义问题。为针对特定行业和功能的流程定义并实施功能和数据模型是一项繁重的任务,它最终必须由业务和IT管理人员共同承担。不过,预制组件和经过实践证明的咨询技能可以简化许多难题。

采用XML技术也许是一个不错的主意。许多公司越来越认识到制定本行业XML标准的重要性。譬如,会计行业已提议用可扩展业务报告语言(XBRL)来描述及审查总账类型的记录。 重要的是学会如何以服务来表示基本的业务流程。改变开发方式需要文化变迁,相比之下,解决技术难题只是一种智力操练。

性能(performance):SOA的第六个缺憾?

批评SOA的人士经常会提到性能是阻碍其采用的一个障碍,但技术的标准化总需要在速度方面有一些牺牲。这种怀疑观点通常针对两个方面:SOA的分布性质和Web服务协议的开销。

不可否认,任何分布式系统的执行速度都不如独立式系统,这完全是因为网络的制约作用造成的。当然,有些应用软件无法容忍网络引起的延迟,例如那些对实时性要求很高的应用软件。所以在应用SOA架构之前,搞清楚它的适用范围就显得很重要了。

除了上述几点之外,笔者认为还有两点也颇值得关注:

松耦合和敏捷性要求之间的权衡难题:

服务松耦合设计其实是一把双刃剑,在带来应变敏捷性的同时,也给业务建模和服务划分带来难题。这就是为什么在SOA讨论中,业务建模的争论总是最多的原因。

跨系统集成难题:

面向服务的体系结构设计将跨越计算机系统,并且还可能跨越企业边界。我们不得不考虑在使用 Internet 时安全性功能和需求,以及如何链接伙伴的安全域。Internet 协议并不是为可靠性(有保证的提交和提交的顺序)而设计的,但是我们需要确保消息被提交并被处理一次。当这不可能时,请求者必须知道请求并没有被处理。

其次,个性化问题。SOA通过所谓粗粒度服务接口和分级,确实提高了效率。实现流程化以后,也确实简化了开发难度。如果这个流程不适合我这个企业的实际情况,我还是需要个性化开发。国内的中小企业占到了企业总量的70%,他们的需求很具个性化,而且比较在意价格的因素。实际上这和SOA高度集成的性质是不相符的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SOA
    SOA
    +关注

    关注

    1

    文章

    270

    浏览量

    27219
收藏 人收藏

    评论

    相关推荐

    日本大带宽服务器优缺点分析

    日本大带宽服务器是很多用户的选择,那么日本大带宽服务器优缺点都是什么?Rak部落小编为您整理发布日本大带宽服务器优缺点分析。
    的头像 发表于 03-22 10:08 133次阅读

    带你探索稳压器的优缺点和选择技巧

    TOREX特瑞仕(KOYUELEC光与电子):带你探索稳压器的优缺点和选择技巧
    的头像 发表于 01-24 10:35 249次阅读
    带你探索稳压器的<b class='flag-5'>优缺点</b>和选择技巧

    常见开关电源优缺点对比

    常见开关电源优缺点对比
    的头像 发表于 12-07 15:30 279次阅读
    常见开关电源<b class='flag-5'>优缺点</b>对比

    请问Arduino与树莓派相比各自有什么优缺点

    玩过arduino,想入手树莓派了。想问下这两者的优缺点
    发表于 11-07 07:53

    单电源的优缺点 为什么我们在实际设计中会选择单电源系统呢?

    单电源的优缺点 双电源的优缺点 为什么我们在实际设计中会选择单电源系统呢? 单电源和双电源是电子设计中常见的两种电源架构。在实际设计中,我们选择单电源系统还是双电源系统,需要根据具体的应用场
    的头像 发表于 10-29 14:21 1030次阅读

    电阻式触摸屏的原理及优缺点

    电子发烧友网站提供《电阻式触摸屏的原理及优缺点.pdf》资料免费下载
    发表于 10-08 10:16 1次下载
    电阻式触摸屏的原理及<b class='flag-5'>优缺点</b>

    共源共栅Cascode以及级联Cascade的优缺点是什么?

    共源共栅Cascode以及级联Cascade的优缺点是什么? 共源共栅Cascode以及级联Cascade是常用的放大电路架构,它们在不同应用场合中具有不同的优缺点。在本文中,我们将就这些架构
    的头像 发表于 09-18 15:08 5155次阅读

    igbt的优缺点介绍

    igbt的优缺点介绍 IGBT的优缺点介绍 IGBT是一种晶体管,是MOSFET和BJT集成而成的开关,具有高速开关能力和较低的导通电阻,用于高效率的功率调节。IGBT具有一些优点和缺点,下面将详细
    的头像 发表于 08-25 15:03 4803次阅读

    石墨烯电池的优缺点是什么?

    石墨烯电池的优缺点是什么?  石墨烯是一种具有极高导电性、热导性和物理可塑性的材料,可以被用于制造各种电子设备和材料。石墨烯电池是一种基于石墨烯技术的电池,与传统的电池相比,具有一些独特的优缺点
    的头像 发表于 08-22 17:06 3.2w次阅读

    数字电源和开关电源的优缺点

    数字电源和开关电源的优缺点 数字电源和开关电源是现代电子设备中最常用的两种电源。这两种电源在设计和工作原理上有很大的不同,因此也有不同的优缺点。本文将详细介绍数字电源和开关电源的优缺点。 一、数字
    的头像 发表于 08-18 15:01 1463次阅读

    球阀,蝶阀,止回阀,闸阀四种阀门的优缺点

    阀门的类型有很多种,每种都有各自的优缺点,下面小编就列举五大阀门优缺点,包括闸阀、蝶阀、球阀、截止阀和旋塞阀,希望对您有所帮助。
    发表于 08-11 11:47 651次阅读

    基于SOA架构的整车操作系统的变革

    SOA全称为Service Oriented Architecture,即面向服务的架构。1996年,SOA概念由Gartner提出,并率先在IT行业被应用推广。目前,SOA
    发表于 08-11 11:31 360次阅读
    基于<b class='flag-5'>SOA</b><b class='flag-5'>架构</b>的整车操作系统的变革

    基于磁贴的GPU架构优缺点

    本指南介绍了基于磁贴的GPU架构优缺点。它还将ARM马里基于瓷砖的GPU架构设计与台式PC或控制台中常见的更传统的即时模式GPU进行了比较。 马里GPU使用基于平铺的渲染体系结构。这意味着GPU
    发表于 08-02 12:54

    共地和分地的优缺点

    共地与分地并没有硬性规定,可以按需求自己设计。这里归纳一下他们的优缺点。 分地不容易短路。但是地与地与正极与负载之间容易形成电压差。形成奇怪的故障现象。 共地,拥有稳定的二进制表现,即稳定的直流表现
    发表于 06-27 16:48

    双电芯电池的优缺点

    双电芯电池是一种由两个电池单元组成的电池。这种电池通常由两个相同的电池单元并联而成,以提供更高的电压和/或更长的使用时间。与单电池相比,双电芯电池具有许多优点和一些缺点。本文将介绍双电芯电池的优缺点
    的头像 发表于 06-20 17:29 8194次阅读