一、SOA是什么
 
SOA的全称是Service-Oriented Architecture,面向服务架构。是一种架构,不是一种具体的开发技术。
 
要真正理解什么是SOA需要从软件开发的技术发展史谈起。
 
真正的软件开发从开始到现在经历了四个阶段,也可以说成是四代:
1、汇编语言开发
2、面向过程的软件
3、面向对象的组件开发
4、面向服务的架构开发,也是今天要谈论的SOA架构
 
SOA与前面三代的软件开发技术对比,不同点是SOA超越了软件开发语言本身。是一种面向服务的架构,与软件开发语言无关。
 
但就软件开发本身来说,SOA是一种技术,又超越了所有具体的技术。
 
二、SOA的技术革命
 
SOA既然能成为第四代软件开发技术,究竟带来什么革命。
 
首先,SOA是一种开发思想。是一种松耦合的框架。可以让软件超越开发语言。
 
其次,SOA的开发需要SOA体系的支撑,就像J2EE应用一样,离不开应用服务器。SOA也一样,也有一个类似J2EE服务器的东西支持着整个SOA体系架构----ESB(
Enterprise Service Bus),企业服务总线。通过这个总线,将多个系统连接起来。
 
其次,SOA是基于消息请求响应的一个系统,对请求类型有高度的兼容性。与一个Web应用容器相比,web应用容器只能处理HTTP请求,而 SOA的ESB可以接受HTTP、FTP、WebService、JMS...等请求。这就使得SOA架构具有高度的兼容性,可以将不同的平台集成到一起,从而相互协调工作。
 
三、SOA火起来的真正原因
 
1、软件开发技术的不断提高。
 
2、硬件性能的提升,价格下降,投出SOA所消耗的成本为企业所能忍受。
 
3、SOA受到了IMB、Oracle、Sun、Microsoft等大公司的热力追捧,被捧红了,实际上,一直以来都是这些公司在引领软件应用的潮流。
 
4、SOA技术革命每年有上千亿美元的市场价值。软件要升级,这些服务提供商才可以买出更多的中间件服务器,卖出更多的硬件,赚取更多利润。
 
5、很多企业的软件应用系统已经满足不了信息高度集成化的要求,为了提高企业的核心竞争力,企业不惜重金,上SOA。
 
6、SOA的招牌很响亮,超越了一切,兼容了一切。它不摒弃旧系统,而是将很多旧系统继承起来,就可以实现。-----实际上,我个人认为这是一个骗局。
 
四、SOA最有前景的舞台
 
1、基于SOA是的思想和技术,SOA最适合最擅长的就是系统集成。而系统集成的关键就是提取公共的有价值的服务。各个系统通过暴露服务,经过ESB这条总线连接后,就将几个系统集成起来了。这在新一代软件开发中也许会得到应用。
 
2、SOA的架构注定SOA在中小企业内部没有多大价值。中小企业的摊子还不够大。
 
3、SOA系统集成难点在于抽取公共的服务。对于老的系统来说,抽取服务就是抽筋。很难很难,意味着要修改软件,要适合SOA的胃口。因此,对一些不同语言开发的系统来说,使用SOA进行系统实际上是扯淡。
 
五、SOA发展现状
 
对SOA口号叫的最响的是IBM,出书最多的也是IBM,成功的案例还没看到。所有的大公司都在忽悠,希望拿到第一笔大单。
 
SOA以来ESB,ESB本身也是一种中间件,或者说是一个增强了的企业应用服务器。目前开源的有几个,也没见过成功的案例。估计SOA技术从起步到成熟还有很长一段路要走。ESB的实现还需要一个发展过程。
 
相反与SOA有紧密联系WebService技术已经深入人心。现在用的比较多。

SOA是什么(转) .相关推荐

  1. SOA标准发展混乱 国内业务缺少经验

    近年来,SOA已经成为国际及我国信息技术领域的重大热点之一.从2005年至今,SOA逐渐成为影响中国IT系统构建的主导思想.从2006年开始,SOA的建设方法已在我国部分行业信息化项目中开始得以越来越 ...

  2. 基于SOA分布式架构的dubbo框架基础学习篇

    以需求用例为基,抽象接口,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段 ...

  3. 应用基于资产的开发到 SOA 的服务中1

    SOA 的主要原则之一是在整个 SOA 生命周期中将服务视为可重用资产.因此,务必在 SOA 中对服务应用正式的资产开发流程和指南.本文可帮助 IT 架构师.项目经理和 SOA 管理员全面了解一些主要 ...

  4. 服务应该去版本化,不管是微服务还是SOA

    在阅读本文之前,你需要先对前面的背景有些了解,下面是本系列的前两篇文章:\ \ 每天都在谈SOA和微服务,但你真的理解什么是服务吗? \ \ 服务的技术架构之争 经过前面的热身,我相信后面两章我们谈S ...

  5. SOA+AIOT=无限可能,上汽零束 AIOT 沙龙上海站火热报名中

    上汽零束致力于打造融合SOA.AI和IOT为一体的开发者平台,帮助汽车电子企业快速便捷应用SOA.物联网技术,实现在智能汽车时代的竞争力升级.本次活动聚焦在全面解读上汽零束SOA+AIOT的发展布局. ...

  6. 我的WCF之旅(7):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的继承...

    当今的IT领域,SOA已经成为了一个非常时髦的词,对SOA风靡的程度已经让很多人对SOA,对面向服务产生误解.其中很大一部分人甚至认为面向服务将是面向对象的终结,现在的面向对象将会被面向服务完全代替. ...

  7. SOA:惠普也要分块蛋糕

    据了解,惠普斥资45亿美元收购美科利(Mercury Interactive Corp.)后,已经成为全球第6大软件公司.知名调研机构近日刚刚发布的资料表明,2005年,惠普在全球分布式系统管理软件市 ...

  8. 敏捷SOA成功秘诀(三):生命周期管理

    本节主要介绍SOA如何逐渐融入敏捷的生命周期.在这里,我们将研究一下应用生命周期管理(ALM). 正如著名市场研究机构Forrester的Cary Schwaber所说的那样,最新的ALM平台将会改善 ...

  9. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔 ...

  10. [SOA征文]SOA如何起步?

    SOA有多好,似乎已经无数的人说过了,但是怎么做,却是大家各执一词. 技术厂商自然是推广自己的产品,根据自己的产品提出不同的路线图,EAI也好,ESB也好,莫衷一是. 实际上,就技术层面而言,我认为具 ...

最新文章

  1. 用python播放音乐_Python实例讲解 -- 定时播放 (闹钟+音乐)
  2. zigbee抗干扰matlab仿真,基于Zigbee的扩频通信MATLAB仿真.doc
  3. 冲刺二阶段-个人总结03
  4. Linux下部署Kubernetes+Kubesphere(一)Kubernetes基础
  5. hibernate连接泄露_泄漏抽象,或如何正确地与Hibernate绑定Oracle DATE
  6. .net+mysql关闭连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
  7. .net缓存应用与分析
  8. ELK下logstash通过redis收集日志
  9. html 伪元素原理,CSS伪类伪元素详解
  10. (附源码)Springboot校园万能跑系统 毕业设计 160934
  11. 修改Fedora 18的窗口背景颜色为浅绿色
  12. 硬盘容量的计算方法,这就是为什么实际容量总比官方标示少的原因
  13. 一个demo理解什么是MVP
  14. pyinstaller打包项目,运行exe找不到指定模块(自定义/python39.dll等)
  15. day2 编码与基本数据类型转换
  16. 查找技术:有序表的对分查找(折半查找)类
  17. 外贸如何找客户邮箱?
  18. java调用阿里云api发送短信验证服务
  19. 【玩转Jetson TX2 NX】(九)TX2 NX 安装onnx-tensorrt工具(详细教程+错误解决)
  20. Python:for循环语句

热门文章

  1. 计算机c盘扩容不用软件,小咖教你电脑如何不用重装调整C盘大小?
  2. Android - Glide加载gif时图片自适应手机屏幕的宽高
  3. Linux命令行五大装B技术
  4. LeetCode一求素数算法优化的简单研究
  5. MVO优化DBSCAN实现聚类
  6. HCIA网络基础10-交换网络及STP
  7. java 自动编译_java自动编译批处理
  8. Android 卡顿原因
  9. 联想召开全球誓师大会 未来瞄准数据中心与AI
  10. 一款开源、免费的微信管家系统,助你快速搭建微信应用