美文网首页SOA
我所理解的SOA

我所理解的SOA

作者: 方方土 | 来源:发表于2015-04-14 10:05 被阅读1193次

作者:up方方土,一个混在金融行业的屌丝程序员,喜欢代码,喜欢咖啡,喜欢旅行

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

技术圈就好比娱乐圈 ,在大平云移四大天王的年代,有谁还会想起曾经呼风唤雨的一哥SOA?也许SOA也许就此陨落了~也许再过两年,有人再看到SOA,会很愤怒地骂道,哪个屌丝程序员又写错别字,明明是SAO,写成SOA!!!

所以,作为SOA的粉丝,写篇文章来纪念一下这个昔日的明星,来阐述一下我对他的理解,来回顾一下我是不是真的懂他

SOA到底是什么?

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

维基百科说:面向服务的体系结构(Service-oriented architecture)是构造分布式計算的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务

它采用开放标准、与软件资源进行交互并采用表示的标准方式。

软件厂商说:SOA就是一个概念,帮我们卖出去了好多产品和服务;企业用户说:SOA就是一个标签,让我们的系统更高更大更上;架构师说:SOA深不可测,可大可小,可长可短;程序员说:丫的,SOA就是一骗子,哪些WSDL,SOAP不就是个远程调用吗?

SOA到底是什么?是一种商业手段?是一种设计方法?是一种开发技术?都是、也都不是。我理解的SOA的定义应该是可变的,在一个企业的上下文环境下,来定义SOA的具体含义。说白了:企业遇到了怎么样的问题,用SOA的哪些方法来解决了这些问题,便是SOA在这个企业上下文环境下的定义了;

那么对于一个系统的架构而言,SOA可以从哪些方面去切入呢?

一、系统集成:站在系统的角度,目的:将原先系统间调用的网状结构转变为星形结构;

这是SOA的第一步,解决的是企业系统间的通信问题,将原先散乱、无规划的系统间的网状结构,梳理成规整、可治理的系统间星形结构。在这一步,往往会需要引入一些产品,比如企业服务总线(ESB)、会引入一些服务的技术规范,会引入一些服务的管理规则等。完成了这一步,解决的一个核心问题是【有序】

图1:系统集成

二、系统的服务化:站在功能的角度,将业务逻辑抽象成可复用、可组装的服务,通过服务的编排,实现业务流程的快速再生,目的:将原先固化的业务功能转变为通用的业务服务,实现业务逻辑的快速复用;

这是SOA的第二步,解决的是提升企业系统生产力的问题,将原先定制、功能化的代码逻辑,转变成在通用、服务化的业务逻辑。这一步,往往会需要引入一些产品,比如流程引擎(BPM)、会引入一些服务的设计方法,会引入一些服务的编排原则等。完成了这一步,解决的一个核心问题是【复用】

图2:系统的服务化

三、业务的服务化:站在企业的角度,将企业职能目抽象成可复用、可组装的服务:将原先职能化的企业架构转变为服务化的企业架构,进一步提升企业的对外服务能力;

这是SOA的第三步,SOA第一步解决的是系统间调用的问题,SOA第二步解决的是系统功能复用的问题,这两步都是从技术层面,从系统角度来对于现在面临的问题进行剖析和处理。而SOA的第三步,则是从业务层面,从职能角度来剖析和处理所面临的问题。一项业务的组成,包括了【业务规则+业务流程+业务系统+业务人员】,用SOA的服务封装理念,将这样一个业务单元封装成一项服务,而整个企业是通过这些服务的编排实现业务价值。完成了这一步,解决的一个核心问题是【高效】

图3:业务的服务化

还是要重申一点:虽然SOA是一剂良药,但是一定要对症下药,用药过量也会带来副作用。

相关文章

  • 我所理解的SOA

    作者:up方方土,一个混在金融行业的屌丝程序员,喜欢代码,喜欢咖啡,喜欢旅行 ~~~~~~~~~~~~~~~~~~...

  • 我所理解的SOA和微服务

    SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上的区别,两者说到底都是对外提供接...

  • SOA实践指南读书笔记一

    本系列读书笔记为书籍SOA实践指南的读书笔记,旨在帮助理解SOA系统架构。 动机 SOA——面向服务化的架构优点:...

  • 结合领域驱动设计的SOA分布式软件架构,你还在为这些烦恼?

    一、SOA与DDD的定义 SOA与DDD都是常用的系统架构,但两者之间所针对的核心是不同的。 SOA(面向服务架构...

  • 微服务,SOA的理解

    单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改...

  • 我所理解的韩寒,我所理解的生活

    最近读了韩寒的一本书,《我所理解的生活》。书中韩寒讨论民主自由,针砭时弊,分享个人成长经历,还谈及他自己的感情、家...

  • 我所理解的

    开学许久了,也没什么可是可感慨的。只是觉得一回到学校,整个人立刻就垮掉了,身体上是其次,抛开口干舌燥,忧心忡忡,还...

  • 我所理解的

    所有我所理解的 最终都成了我难以理解的 所有我所理解的 都是从给于我的阳光,土壤,雨露那里 浅浅的嗅觉 还有那与我...

  • 我所理解的

    我所理解的 你是快乐水的味道 我攒了一大口气 差点喝光了你 医生说 不,你太快乐了 不能再 喝了! 我所理解的 你...

  • 我所理解的

    我所理解的朋友 我所理解的朋友就是,每次自己在发什么开心的事,他总会在下方评论,调侃吐槽,每次自己出了什么不...

网友评论

    本文标题:我所理解的SOA

    本文链接:https://www.haomeiwen.com/subject/tbclfttx.html