SOA的过去,现在与未来 --ofeeler

原创 2006年05月26日 20:14:00

SOA的过去现在与未来,这个题目好大哦.  这些天读了王老师的<<应用服务器原理与实现>>, 感觉王老师对构件与应用服务器的整个演化体系很清楚.  景仰之情有如黄河之水,..... 好了,我就小试一把,我现在总结一下欢迎拍砖,呵呵.
 在PC产生初期我们的程序都是运行在单机上, 也就是说那时的应用系统基本上是建立在程序和文件的基础之上,
随后由于文件越来越多,软件界为了管理巨大的数据信息,不可能用文件的形式来组织了,因此而抽象出数据库系统,
注意这时还没有网络的产生, 所有的系统都运行在单机上,也就是运行在同一地址空间上, 各个模块,函数要完成一项具体的作业,也就是后来抽象出的服务,就需要模块之间的合作,互相调用, 那么他们之间关联都是通过指针也就是地址来完成的. 随着网络的诞生,我们的计算机界为了负载均衡, 因此把数据库系统单独放在一台或几台服务器上,也就是所谓的集群技术,在此基础上建立的应用系统也称之为基于C/S模式的系统,当然如果细分的话可以分为胖客户机模式与瘦客户机模式,也就是业务逻辑在那一端而已,呵呵:)但是上网的人越来越多,应用系统的越来越大,管理的角色,流程越来越多,服务器的连接也随之而迅猛增长,连接池技术也不能解决此类问题了,单纯的数据库服务器似乎无能为力,怎么办?人类最原始的做法最是把复杂问题分治化,软件问题也一样。于是乎,想到了能否把对数据业务逻辑的处理单独抽象出来以构件的技术来管理他们,但对构件的管理需要应用服务器了. 当然了这是应用服务器的雏形,还不是现在这个样子的.它只是管理客户与应用服务器,应用服务器与数据库服务器之间的通讯, 以及对构件运行环境的支持. 那么于之而来的一些问题又是如何解决的呢? 比如说,参数传递问题,如何象调用本地服务一样调用应用服务器上部署的构件呢。由于客户端进程与服务器端进程时不在同一地址空间因此我们不能通过指针的技术来解决关联问题,由此而产生了指代和服务骨架的概念。通过指代我们可以对网络上的进程之间的信息进行编排与还原,也就是在把信息通过底层协议的封装,与解析而完成网络间的通讯过程。也就是我们平时所说的互操作,互操作由RPC->DCOM->CORBA/J2EE->Web service而经历了一个演化发展的过程。由于互操作根据应用环境的不同,而提出了RPC,ORPC,IIOP,JRMP,SOAP等互操作协议,我们的SOA中用到的是SOAP协议,也就是简单对象传输协议,它是对HTTP协议的封装,是为了穿越防火墙而提出来的。互操作接口也就是对指代与服务骨架的描述而提出了IDL,JAVA,WSDL等接口描述语言。WSDL也是SOA中的核心技术之一,主要是以XML的形式对web服务进行定义,描述。那么后来为什么出现了EJB,以及后来的webservice技术,以及我们现在要讨论的SOA呢. 我们知道在我们软件界一直追求的目标是复用,尽量的复用已有的函数,类,构件,架构,系统等等,早期有“四人帮”提出了著名的24种设计模式,这些模式充分利用了面向对象设计语言(如C++,JAVA)的继承,接口,虚函数等概念,而最大限度地进行了代码级的复用。在信息系统开发领域,人们根据这些模式进一步抽象出面向信息系统的领域的体系架构,如struts,spring等。 这些面向领域的体系架构极大地方便了人们对信息系统的开发。
EJB本质上也是这中架构的一种模式,只不过提出了容器的概念,把原先必须通过代码(主要是类厂)对类的生命周期管理的过程进行了进一步的封装,使软件开发人员更加集中精力在业务逻辑上面。因而利用EJB在构件以及体系结构上都可以得到很好的复用效果。同时也提高的系统的稳定性。与之而来的是企业都根据上面的各种方法建立了ERP,CRM等,然后这些系统并不能够协同工作,以提高商业的流程,但是为了节省资金不可能重新开发一个集成的全新的系统,怎么办呢?SOA正是基于这种市场需求而提出的。它一ESB也就是企业服务总线的形式把各个服务联通起来。也就是在一定程度上实现了应用系统级别的复用。
 呵呵. 我手都写痛了,这两天感冒了。不知道王老师看到这篇文章,是否能把《中间件与构件技术》这门课我70分呢,马上还考试了啊,还有导师的关于TI的DM642的项目没搞定哦。写的好辛苦哦,版权所有,转载请说明,搞笑~
                                                                                                                                       ofeeler at  szpku

Hadoop的过去、现在和未来

Hadoop是目前大数据分析领域中应用最广泛的一种分布式架构,而经过相当长时间的发展,Hadoop在功能上也越来越成熟。不过,在这个星球上,你找不到拥有11年Hadoop经验的人。因为目前在Hadoo...
  • meiseeny
  • meiseeny
  • 2017年05月17日 15:25
  • 343

.net的过去、现在和未来

.NET Framework发展状况: 一、2000-11  发行第一个版本 .NET Framework 1.0 Beta  NET Framework现主要由以下几部分组成: (1).包括五...
  • hongwei_23
  • hongwei_23
  • 2014年12月04日 09:32
  • 311

Hadoop的过去、现在和未来

Hadoop是目前大数据分析领域中应用最广泛的一种分布式架构,而经过相当长时间的发展,Hadoop在功能上也越来越成熟。不过,在这个星球上,你找不到拥有11年Hadoop经验的人。因为目前在Hadoo...
  • shenmanli
  • shenmanli
  • 2016年08月30日 09:52
  • 302

API的过去,现在与未来

API的过去,现在与未来 作者:王下邀月熊 链接:https://zhuanlan.zhihu.com/p/24681051 随着微服务架构的流行,貌似我们已经聊了很多关于现在的API...
  • huangshulang1234
  • huangshulang1234
  • 2017年12月14日 09:24
  • 54

从工业角度谈推荐系统的过去、现在和未来(二)

一、推荐问题的理解1.传统定义: 基于用户过去的行为习惯、用户间的关系、 item间的相似度、上下文等信息来估计一个可以自动预测user对item的喜欢程度的效用函数(utility func...
  • u013527419
  • u013527419
  • 2017年03月24日 15:54
  • 599

编程语言的过去、现在和未来

两种动力在推动编程语言向前发展,一是各种国际组织,二是商业公司。对于形成语言规范来说,它们或许是各占一半,但以程序员选择哪种语言,那肯定是商业公司占主导地位。 一、微软 没有之一,微软是迄今为...
  • shuyededenghou
  • shuyededenghou
  • 2017年03月18日 10:29
  • 122

协程的过去,现在,未来

计算机科学是一门应用科学,几乎所有概念都是为了理解或解决实际问题而生的。协程 (Coroutine) 的出现也不例外。协程的概念,最早可以追溯到写作 COBOL 语言编译器中的技术难题。 从磁带...
  • sfdazsdf
  • sfdazsdf
  • 2015年08月07日 17:22
  • 637

细说分布式数据库的过去、现在与未来

随着大数据这个概念的兴起以及真实需求在各个行业的落地,很多人都热衷于讨论分布式数据库,今天就这个话题,主要分为三部分:第一部分讲一下分布式数据库的过去和现状,希望大家能对这个领域有一个全面的了解;第二...
  • luyaran
  • luyaran
  • 2017年05月02日 16:14
  • 369

水晶苍蝇拍:过去,现在,未来

每一个纠结的现在,都来自一个草率的过去,并将走向一个遗憾的未来。人的行为和思维是有惯性的,要想彻底改变谈何容易,在错误的道路上时间越久越积重难返。所以,从一开始就深思熟虑的选择一个正确的方向,才是真正...
  • ffm83
  • ffm83
  • 2015年03月10日 17:22
  • 943

编程语言的过去、现在和未来

两种动力在推动编程语言向前发展,一是各种国际组织,二是商业公司。对于形成语言规范来说,它们或许是各占一半,但以程序员选择哪种语言,那肯定是商业公司占主导地位。 一、微软 没有之一,微软是迄今为止最伟大...
  • ancientcc
  • ancientcc
  • 2014年12月15日 22:26
  • 284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SOA的过去,现在与未来 --ofeeler
举报原因:
原因补充:

(最多只允许输入30个字)