什么是SOA?为什么要SOA?

任何一种新事物的出现都是为了达到一定目的的,提供一定的价值,这也就是其产生和发展的意义所在。弄清楚了这点,也就弄清楚了其本质。
一、IT:英文的全称为Information Techology,中文翻译为信息技术。本质上包括两种使用方式:
(1)、创建信息:在企业的各种活动中,如接收订单、原料采购、等等活动,必然产生大量的信息,这就需要将各种信息收集起来,以备以后的进一步调用。
(2)、调用信息:如接收订单后,企业开始从事生产,产品生产出来后,需要发货。就需要找到原来的订单记录上面的客户地址用来发货,等等操作都是调用信息的实例,也就是IT帮助企业创建信息和调用信息的实例。
(3)、IT的进一步:集成信息,显然只有创建信息和调用信息是不够的,随着IT的进一步发展,信息集成已经显得格外重要,因为已经产生的IT格局虽然已经产生很大生产力,但这种生产力反作用IT,必然促进信息集成。 所以信息集成不仅仅是企业内部的事情,更关乎企业与企业之间。
二、IT程序语言的发展历史
观察过去可以更好的了解现在,因为现在是过去的延续。通过观察现在,可以更好的知道未来,因为未来是现在的延续。
(1) 面向过程的编程:C语言是典型的代表,是一种紧密耦合的软件语言技术,用C语言的应用程序完成了一大堆函数的编写,函数的可重用性很差。这种语言的特点必然造成了这种很紧密的耦合性。
(2) 现象对象的编程:以一种更接近人的思维的思想去解决程序设计中的问题,通过封装、继承、多态等形式实现松散耦合,达到一定程度的复用性。但是这些对象只能本地调用,不能远程调用。
(3) 面向组件的编程:其最初的动机就是实现远程分布式调用。它有接口类,另外有专门的实现方法类,客户端调用的是接口类,接口类和接口类之间实现了一定程度的解耦合,但是这种远程调用的组件却依赖于特殊的协议,比如J2EE采用RMI协议。
面向组件编程需要和特定的程序语言绑定,传输协议也是非标准化的,传输协议的不一致,导致各种组件之间不能互相调用,如J2EE和DCOM无法互相调用。
(4) 标准的Web Service的编程:采用标准的的SOAP传输协议,不同厂商实现的Web Servcie之间互相可以调用。
IT程序语言发展的过程实际是一个逐步降低耦合性的过程,也是一个接口和接口实现之间逐渐分离的过程。
    但是Web Service 的SOAP尽管是一种标准的传输协议,但是它毕竟是一种特殊的协议,一种特殊的技术,并不支持其它的传输协议,如RMI等,所以Web Service 还是和特定的SOAP技术绑定在一起的。
通过了解IT和程序语言的发展历史,可以得到这样的一个结果, SOA是为了信息集成,而出现的一种新事物,它显然是超越的现有的一切技术,但是它又包含了所有的技术。SOA达到的一个目的就是面向服务,而这种面向服务的结果就是忽略任何与技术有关的东西,最终提供的都是服务接口。
其实我们还应该搞清楚面向对象和面向组件之间的区别,面向组件和面向服务的区别,SOA和web service之间的区别?
面向对象和面向组件的区别在于面向组件需要和传输协议及应用服务器的端口绑定,面向服务就是要进一步对面向组件解耦,所谓解耦就是将将业务组件和传输协议的端口解耦,既各种业务组件可以自由的绑定各种传输协议。 SOA和web service之间的区别是SOA是在web Service的基础上发展起来的,web service实现了松散耦合的服务和粗粒度的服务,但是web service本质上只是一个服务组件,它虽然采用的标准的协议,但是它是个应用服务器紧密相关的。
所以可以得出 结论:SOA本身并非什么具体的技术,也不是什么架构,它是一种思想,它超越了现有的技术和架构,但是它又包含了现有技术和架构。运用这种思想要到达的目的就是做到业务和技术的完全分离,做到敏捷的、不受限制的信息集成。

SOA系列之 什么是SOA?相关推荐

  1. SOA系列文章(二):服务设计原理:服务模式和反模式

    服务设计系列的法则已经发展到最佳通信实践和取样相关编码的程度.本文提供了设计和实现网络服务的基本原理,并且对面向服务的体系结构(SOA)的相关概念做了一个简要的回顾,以及有关于几种模式和反模式的详细讨 ...

  2. SOA之(2)——SOA架构基础概念与设计框架

    SOA的设计框架 设计框架与架构相关的概念紧密相连,原则.模式和架构始终是与设计共舞的. SOA服务设计的原则中记录了一个基础的设计框架: 设计特性(Design Characteristic)--由 ...

  3. 什么是面向服务架构(SOA)以及ESB在SOA的作用与特点

    面向服务架构(SOA)是一种粗粒度.松耦合的服务架构,服务之间通过简单.精确定义接口进行通信.他可以根据需求通过网络对松散耦合的粗粒度的应用组件进行分布式部署.使用和组合.SOA能够帮助企业系统架构设 ...

  4. 什么是SOA架构?为什么使用SOA架构?

    SOA架构简介 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,通过这些服务之间定义良好的接口和契约联系起来. 接口是采用中立的方式进行定义的,它应该独立于实现 ...

  5. 什么是SOA,谈谈你的SOA的理解

    面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来. 接口是采用 ...

  6. java cxf 搭soa,WebService CXF入门问题 SOA 骑着上帝去环游 - 贪吃蛇学院-专业IT技术平台...

    package deng; import javax.xml.ws.Endpoint; import com.founder.ws.HelloWorld; import com.founder.ws. ...

  7. 软考高级系统架构设计师系列之:面向服务的架构SOA

    软考高级系统架构设计师系列之:面向服务的架构SOA 一.面向服务的架构SOA 二.SOA的特性 1.UDDI 2.WSDL 3.SOAP 三.SOA的用途 四.SOA的设计原则 五.SOA的实施过程 ...

  8. SOA为什么不“香”了?| 建设数据中台系列(三)

    SOA 所有的理念都是基于现有应用系统展开的,不管是对服务的梳理还是服务之间的交互,都是以现有应用系统为载体的,中台不同于SOA 的地方在于:中台是一种平台化思维,它并不是从系统集成的角度去思考问题, ...

  9. WCF系列之浅析深究什么是SOA

    金蝶中间件有限公司总经理 奉继承 博士 阅读提示: 本文探讨SOA概念背后的核心内涵,如何将SOA落地的实务方法. 金蝶中间件作为全球领先的SOA解决方案供应商,拥有中国唯一全球第四通过Java EE ...

最新文章

  1. 一些对制作网站有帮助的站点
  2. 10.1——为什么方法不能用static修饰
  3. Detective Book
  4. Java IO: PipedOutputStream
  5. Android之IPC机制
  6. html5学习之路_003
  7. makefile工作笔记0003---Makefile的ifeq逻辑或,逻辑与的变通实现
  8. [面试] C/C++ 语法 —— 内存与操作系统
  9. bzoj1045题解
  10. VirtualBox虚拟机执行效率很高
  11. 【人脸识别】基于matlab ksvd字典学习人脸表情识别【含Matlab源码 460期】
  12. devexpress实现模仿Win8桌面metro风格
  13. 进入Mysql数据库操作
  14. 1800套solidworks非标机械自动化3d设备图纸
  15. Hadoop Ha (High avilable)配置
  16. Allegro建立机械符号
  17. 用计算机写高中数学程序框图,高中数学教案《程序框图》
  18. L138常有网址-李云 酷壳等
  19. 成功或成仁:HP捡了芝麻丢了西瓜
  20. matlab 读指定字符,Matlab 文件读写(I/O)和字符串操作常用命令

热门文章

  1. const的作用和用法
  2. 求助:大文件mp4恢复
  3. 计算机三级网络技术 2019.3考试
  4. 类似火车头的采集器-免费任意数据采集器
  5. wav音频文件格式解析
  6. XML 中的 ﹤![CDATA[ ]]>
  7. Alpine | Docker基础镜像
  8. GraphQL 浅谈,从理解 Graph 开始
  9. 免费的21个UI界面设计工具、资源及网站
  10. 微型计算机的alu部件包含在什么中,【单选题】微型计算机的ALU部件包括在( )之中。A. 存储器 B. I/O接口 C. O/I接口 D. CPU...