引子
“SOA”这个词已经不算是新了,在“2004 BEA中国大会”上,BEA就已经是满场宣扬这个概念。经过这几年IBM、Oracle、BEA、SAP等大公司的努力和推进,被越炒越热,很多软件厂商都在“生拉硬攀”与“SOA”的关系。2005年底,SCA标准组织的成立更进一步促进“SOA”迈向了标准化,而普元作为唯一的中国厂商也加入了这个国际化的标准组织。表明了普元未来的产品将靠近国际标准,“SOA”也将成为其产品的一个重要特征。普元所一直倡导的“面向构件”也悄然的变为“SOA从面向构件开始”。
“SOA”逐渐成为软件行业的时代主流,而“面向构件”技术是否已经有些衰老了呢?
构件技术在软件行业的认知,尚处“少年”
假如制造业和建筑业对构件技术的认知和应用水平比作“高中”的话,那么我们的软件行业的构件技术最多处于“小学”水平。
从计算机制造业来讲,为什么不同厂家的CPU、主板、硬盘、内存、显卡、机箱、电源、显示器、键盘和鼠标能够“DIY”成为一台计算机?为什么这个计算机可以选用不同厂家的操作系统?为什么时隔一段时间后,用户可以轻易的对显卡和CPU等部件进行升级?归根结底是“构件技术”起到了关键的作用,CPU和内存等所有这些部件都已经作为“构件”被标准化。
软件行业对构件技术的认知和应用水平的“低下”决定了当前应用软件还不能象制造业那样“随需构建”。
“面向构件”技术非但没有老去,反而是刚刚开始。
新技术的出现促进了“面向构件”技术的发展
“USB”技术的出现使我们的计算机可以以更加高效和便捷的方式接入更多的外部设备,也造就了很多以“USB”为接口的硬件“构件”的诞生。(诸如USB台灯、USB风扇、USB手机充电器等等)
同样,对软件产业而言,XML技术、Web Service技术、AOP、Ajax、IOC等技术的涌现和不断成熟,也促进了构件技术的不断发展,应用了新技术的构件也随之不断的产生。
一个USB的构件(设备)能否应用于一台计算机是由这台计算机的“架构”决定的。而每种构件都有其所依赖的条件和环境。这些条件和环境都定义在了“架构”中。
“构件”必须匹配“架构”
当你想把一个USB设备直接的接在一个不支持USB技术的计算机上时,这显然是做不到的。计算机的“架构”限定了其可以使用的构件范围。
软件的架构不仅仅决定了应用的层次,组成,和通讯机制,模块间的耦合关系,同时也决定了其所采用的技术和标准。这些技术和标准同样也就制约了构件的使用,这里讲的“标准”主要是指某种技术的特定版本,标准(版本)决定了构件能否使用,能否发挥其最大效用。这就如同“USB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="”">2.0”</st1:chmetcnv>的设备能在“USB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="”">1.0”</st1:chmetcnv>的接口上兼容,却不能发挥高速传输的特性一样。
因此,“构件”必须匹配“架构”,“架构 + 构件 + 环境 = 应用”。这里的环境包括了软件环境和硬件环境。
“SOA”就是一种架构,以SOA为架构的应用设计和实现不是一定要运用“面向构件”技术,而单一引用“面向对象”技术的应用所提供的细粒度的复用将无法满足“SOA”对粗粒度的业务组件复用的需要。结合了“面向对象”的“面向构件”技术将能够满足“SOA”架构对各种粒度的组件复用的需求。随着架构技术发展到SOA,那么我们的“面向构件”也应该是基于SOA的构件技术。
对普元构件技术的认知
普元是国内乃至世界上最早将构件技术运用于产品的软件公司。在普元EOS产品已经大量的运用了“面向构件”技术。
在EOS的5.X及更早的版本中,普元的构件是建立在其EOS独有的架构基础之上的,所有的EOS构件也都是服务于其EOS架构中的展现引擎、业务引擎、工作流引擎等核心上的。专有的架构和专有的构件及缺乏标准,使其很难成就第三方构件市场。
而随着普元加入SCA国际化标准组织,并且努力打造符合SOA的EOS产品,普元的“面向构件”技术则上升到了一个新的高度。一方面使其产品架构得到了很大提升,另一方面,其构件的标准化也会赢得更多第三方构件厂商的支持。
结论
“SOA”的发展带动了“面向构件”技术,“SOA”代表了应用的架构,代表了整体结构;“构件”代表了应用的组成,代表了局部和构建单元。“架构”和“面向构件”代表了软件技术发展的两条主线,解决的是两个不同领域的问题,两种技术是并行发展,在发展过程中必定是相辅相成
<o:p> </o:p>
分享到:
相关推荐
应该说从不同的角度可以有不同的理解和描述,首先SOA是面向服务体系结构的简称,如果从软件架构的角度来说SOA是一种用来整合不同应用服务的解决方案框架,从软件制作理念的角度来说,SOA的出现是软件厂商开始抛弃...
Spring框架是Java开发领域非常著名的开源框架,它的初识主要可以分为两个部分:框架的基本概念和Spring框架的设计理念。 首先,从框架的基本概念来看,它是由一系列类和接口组成的集合,这些类和接口协调工作以完成...
初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么...
WCF 是 Microsoft 为构建面向服务的应用 (SOA) 提供的分布式通信编程框架。通过这个框架,开发者可以构建跨平台、安全、可靠并且支持事务处理的企业级互联应用解决方案。 - **跨平台能力**:WCF 可以跨进程、跨机器...