由“SOA已死”想到的……

2024-04-24 14:08
文章标签 已死 想到 soa

本文主要是介绍由“SOA已死”想到的……,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

曾经,SOA是多么的火,以至于一说到企业的IT架构,非SOA莫属。如果一个企业的新业务系统不采用SOA的架构,就会被认为是落后的;如果已有的业务系统,不用SOA进行改造,就会必然死亡。一时之间,SOA满天飞,新闻报道,企业宣传,搞的不亦乐乎。
在如此的形势之下,为了不使自己落后,急忙找点SOA的资料充充电,却看到“目前实现SOA的最佳技术是Web Service”,心里不免落寞,难道SOA是新瓶装旧酒?又学习了一番,发现SOA主要是概念上的,要从技术上实现它,目前最适用的是Web Service。其实,Web Service的概念与SOA非常相似,只是没有SOA拔的更高而已。在实际的IT项目中,没有看到多少采用SOA架构的,也没有多少采用Web Service的,还是该咋咋地,尽管SOA的宣传铺天盖地。
SOA宣传的很火,但用的很少,慢慢也就淡忘了。今天看到一则新闻“严峻的经济形势,缺乏有说服性的案例使得SOA开始面临质疑,有分析师断言SOA已死,并批评SOA项目浪费了企业大量的投资。”看了不仅愕然,像我这样的IT民工还没有尝试一把SOA,她就是死去了?不仅感慨技术也是“长江后浪推前浪,前浪死在沙滩上”,优秀的技术在大浪淘沙之后还是会生存下来,没有实质内容的技术和概念,即使宣传再猛烈,终究是要死去的。
SOA真的要死去了吗?即使SOA这个名字死去了,她背后代蕴含的降低复杂性、松耦合、灵活支持业务等优秀观点是不会死去的,而且还会更加发扬光大,其实这样的优秀观点在SOA出现之前就已经出现了,Web Service也具有这些优点,在Web Service之前的一些技术也具有这些优点,既然如此,SOA又剩下些什么呢?不过是一些IT企业吸引眼球圈钱的作秀而已。
无论如何,以降低复杂性、松耦合、灵活支持业务为宗旨的SOA或Web Service,不能一棒打死,在其适用的范围内还是大有可为的。SOA或Web Service的特性决定了具有相对独立业务功能的程序体可以打造为一个功能节点,这个功能节点对内是自治的,具有一定独立性,对外提供一些功能,功能的使用者并不需要关心其实现原理、内部结构,只要拿来为我所用就可以了。但使用者一旦使用了某个SOA或Web Service节点,就对其有了依赖性,一旦节点无法对外提供服务,使用者的功能就会受到影响,甚至无法使用。这样,对于不需要与外部交互的系统来说,就没有必要把它细分为若干可单独部署的SOA或Web Service节点互相调用了,传统的技术就足够了,使用SOA或Web Service来构建只是画蛇添足,当需要对外有信息交互时,把需要交换信息的那部分加上SOA或Web Service接口就可以了。当有几个子系统或系统之间需要信息交互时,每个子系统或系统内部还是按照传统的开发技术,只是在需要发布信息或使用信息的地方用SOA或Web Service做接口就可以了。这样,因为SOA或Web Service的通用性,在构建其它系统时,如果正好有信息在已有的系统里存在,就可以通过SOA或Web Service进行信息交互了,而不需要重复开发。以此看来,一个SOA或Web Service节点,就是一个组件,在这些组件基础上可以搭建更大范围的应用,也就体现了降低复杂性、松耦合、灵活支持业务的优点。
万变不离其宗。SOA所体现的思想还是有价值的。

 

参考资料:
  1. 换个角度看IT的大救星 SOA是否真的已死?

这篇关于由“SOA已死”想到的……的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931966

相关文章

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

【系统架构设计师】论文:论SOA在企业集成架构设计中的应用

论文:论SOA在企业集成架构设计中的应用 文章目录 论文一摘要正文总结 论文二摘要正文总结 论文一 摘要 2021年10月, 本人所在保险公司启动了超级销售 APP 项目,该项目通过运用先进的销售工具、客户管理、营销活动管理等功能以达到提升销售人员的效能,加大业务驱动的目标。我在该项目中担任系统架构师, 主要负责系统的架构设计工作。 本文以该项目为例, 主要论述面向服务架构

【初出江湖】SOA 与微服务:哪个最适合您的业务?

目录标题 面向服务的体系结构 (SOA)SOA 角色那么它们是如何通信和协同工作的呢? SOA 的优势 微服务架构微服务的优势 SOA 和微服务之间的区别SOA 与微服务:常见问题采用 SOA 和微服务面临哪些挑战?SOA 和微服务是否可以共存?每种体系结构如何影响部署和 DevOps 实践? 面向服务的体系结构 (SOA) 面向服务的架构(SOA)是一种软件开发方法,它使

【系统架构设计师】论文:论SOA面向服务架构技术的应用

论文:论SOA面向服务架构技术的应用 文章目录 摘要正文总结 摘要 本人于2020年7月参加国内某某知名港口供电业务系统的开发工作,在该项目中主要担任系统架构师,主要负责该系统架构和网络安全体系架构设计。经过近20年的港口信息化建设,港口供电系统已经建立了一些应用系统,但是,随着港口供电业务的发展,有些系统已经无法满足目前供电业务需求,同时存在已经开发的系统之间信息共享能力

由一个订单推送想到了ObservableCollection的神奇用法

最近在做taobao的一个卖家应用,需要订阅taobao的订单推送,示例代码如下:     看到上面的OnMessage场景之后,我突然就鬼使神差的在想最近写的一个服务,其中的一个功能是需要定时的轮询一个集合,这样可以方便的把数据取出来,但是 轮训对我来说是被迫的,我急迫需要一种机制对一个集合的数据进行监控,比如List,Dictionary等等,这样我就很方便的对数据进行

系统架构设计师——SOA面向服务的架构

概述 基本概念:SOA是一种设计方法,其中业务功能被封装为可重用的服务。这些服务通过定义良好的接口和协议进行交互,独立于编程语言和部署平台。 服务与对象的区别: 面向系统与面向业务:对象通常专注于系统内部的实现细节,而服务则侧重于提供针对特定业务需求的功能。粒度级别:对象的粒度通常是类级别,更细;服务的粒度则更粗,通常一个服务会包含多个类的协作来提供更完整的业务功能。交互方式:对象之间主要通

软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程剖析

1.单体架构 特点: 1、所有的功能集成在一个项目工程中。 2、所有的功能打一个war包部署到服务器。 3、应用与数据库分开部署。 4、通过部署应用集群和数据库集群来提高系统的性能。 优点: 1、项目架构简单,前期开发成本低,周期短,小型项目的首选。 缺点: 1、全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。 2、系统性能扩展只能通过扩展集群结点,成本高、有瓶

架构设计(4)面向服务架构SOA与C++模拟实现

SOA架构 SOA(面向服务的架构)是一种架构风格,通过将系统划分为服务来提高灵活性和可维护性。每个服务是一个独立的功能模块,通过标准化接口进行交互。SOA架构涉及多种技术和组件,以下是关键技术和它们的作用: 1. 服务设计与接口 - 服务接口定义:通常使用标准接口描述语言,如WSDL(Web Services Description Language)或OpenAPI(Swagger)来定

Python优化算法14——海鸥优化算法(SOA)

科研里面优化算法都用的多,尤其是各种动物园里面的智能仿生优化算法,但是目前都是MATLAB的代码多,python几乎没有什么包,这次把优化算法系列的代码都从底层手写开始。 需要看以前的优化算法文章可以参考:Python优化算法_阡之尘埃的博客-CSDN博客 ​ 算法介绍 基本概念 SOA的设计灵感来源于海鸥的三种典型行为:迁徙、围绕猎物飞行和俯冲捕捉。通过模拟这些行为,SOA能够

day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记

淘淘商城项目_01 1、电商行业的背景介绍--电子商务1.1、11.111.2、电商行业技术特点 2、淘淘商城的系统架构2.1、淘淘商城介绍2.2、功能介绍2.3、系统架构2.3.1、传统架构2.3.2、1000个并发2.3.3、分布式架构(10000个并发)2.3.4、基于SOA的架构2.3.5、淘淘商城系统架构 3、技术选型和开发环境3.1、技术选型3.2、开发工具版本和环境 4、工程