中国SOA从面向构件开始

日期: 2008-05-26 作者:银弹 来源:TechTarget中国

  面对SOA,人们会很自然地产生一个疑惑:已经有了SOA为什么还需要面向构件?这两者到底是什么关系?一个比喻可以很形象地回答这个问题:要跳好一支舞,仅仅依靠节奏还远远不够,舞蹈老师同样很关键,除此之外舞伴与舞者的基本功也功不可没的。构件,本质上就是SOA标准的中国式实践。

  SOA从面向构件开始

  文/程朝晖

  主要观点阐述:

  ●构件:是构造应用软件的标准基础单元

  ●面向构件:是基于构件的软件开发方法和技术,用于构造应用

  ●SOA:面向服务的企业总体架构,服务成为企业应用的新资源层

  ●是与非:一切从应用出发,以应用为根本

  ●远景:SOA成就企业架构,应用软件都用构件来造

  构件:是构造应用软件的标准基础单元。

  作为标准的应用软件构造基础单元,有两方面的作用和功能:

  1.应用软件可以通过构件中的Services(服务),References(依赖)和Properties(属性)来构造更为高层和更粗粒度的应用软件模块(如后面要讲到的业务构件(Composite)).

  2.也可以通过构件中的Implementation(实现)来封装更为低层和更细粒度的逻辑实现。

  构件的编程语言无关性特征,得以在更高层次抽象、屏蔽了具体的底层实现技术。基于构件来构造应用的时候更多地脱离了底层复杂技术和它们的差异性,而是站在更高层的构件和服务的层面来构造。其中构件的几个基本概念和元素解释如下:

  1.服务(Services):服务是构件的一种组成元素,是构件功能的暴露和被使用的方式;构件是服务的载体,构件也会需要依赖(References)其他构件的服务,构件的具体实现(Implementation)也可以是个其他软件实现的服务。

  2.依赖(References):构件自身需要用到的其它构件的服务。

  3.属性(Properties):构件自身运行时的可注入参数。

  4.实现(Implementation):构件具体实现时支持各种具体的逻辑实现技术,如Java,C++,PHP,JavaScript,BPEL,SQL,XQuery,Composite等。

  暗示:服务是构件与生俱来的,而以前的编程语言却不是;因此以构件为基础单元的应用软件就与生俱有了服务的能力,也就是服务别人的能力和享用别人服务的能力。这就是“SOA从面向构件开始”的第一层逻辑验证。

  面向构件:是基于构件的软件开发方法和技术,用于构造应用。

  构件封装和实现了我们更低层次的代码和逻辑实现,而面向构件则在此基础上开创了我们全新的应用软件的开发模式。应用软件的开发不会再是无休止的重复性的低层次编码劳动。而是基于构件的高度复用的软件图形化组装的开发方式。这就是面向构件所带来的软件工程和开发的革命。任何的革命实际都是要解决这个时代遇到的关键问题。面向构件正是关注和解决了我们现代应用软件开发中的三个核心关键问题:

  1:全流程管理(Process):应用的流程实现是通过构件的组装(Wire)来完成,而且是支持全流程的实现。全流程也就是对于三层不同逻辑资源的一体化使用:

  ?代码逻辑(CodeLogic):也称为功能逻辑,可以支持细到各种语言(Java,C++,BPEL…)编写的代码逻辑的流程,它们一旦被封装到标准的构件中,就可以被用来组装成更高级的业务构件(Composite),或是被暴露成构件中的服务(Service)而被使用。在业务组装开发环境中,原来的实现技术和语言已经被屏蔽了,对于应用开发来讲具体的实现技术和语言已经变得透明和不再重要了。

  ?构件逻辑(ComponentLogic):也称为应用逻辑,可以支持到基于构件的逻辑组装,而开发出更粗粒度的业务构件(Composite),业务构件实现了具体的业务模块和流程。

  ?服务逻辑(ServiceLogic):也称为集成逻辑,同样可以在构件或是业务构件中访问和使用外界的服务资源,以实现更高层次的业务构件。具体可以通过构件中的实现(Implementation),或是依赖(References),也或是业务构件(Composite)中的依赖(References)来访问外界的各种服务(Services),甚至是企业服务总线(ESB)上的各种服务。

  2:无缝访问各层资源(Access):对于各种资源的无缝访问是现代应用的索求。而构件正是实现了标准的无缝访问。无论是访问逻辑/流程,还是访问数据/信息,甚至是访问页面/展现。构件可以封装任何已有的和新建的模块功能,通过暴露构件的服务可以被更多的使用者访问。构件的服务(Services)提供了被人访问的能力;构件的依赖(References)提供了访问别人功能的可能;而构件的实现(Implementataion)则把底层的代码、逻辑和服务一并纳入构件的标准体系中,供应用软件来无缝访问。构件提供的标准化访问能力让我们应用中遇到的集成(Integration)问题得到迎刃而解。过去那些专有化的集成和访问方式将一去不复返了,取而代之的是构件和服务的与生俱来的无缝访问和集成能力。

  3:易于根据需求而改变(Change):变化是现代应用的主要特征,尤其是在中国。很多客户的需求还没明确,项目就已开始,一切都在应用开发的过程中不断沟通、不断实践、不断改变而成。因此面向构件技术必须更好地解决这个应用的关键问题即‘变化’,才能有真正的实际使用价值。构件和业务构件(Composite)可以让改变易如反掌,应用的改变可以通过重新的属性(Property)注入,重新的绑定(Binding)调整和依赖(Reference)调整,甚至于重新的实现(Implementation)及组装(Wire)。这些构件和业务构件(Composite)的属性和特征,这些面向构件的组装(Wire)、绑定(Binding)带给了我们过去任何开发技术所无可比拟的改变能力。

  暗示:面向构件这个开发方式是最好的服务的制造方式,它所造出的构件和业务构件是全粒度的服务,为我们应对新一代应用的需求游刃有余。这就是“SOA从面向构件开始”的第二层逻辑验证。

  SOA:面向服务的企业总体架构,服务成为企业应用的新资源层。

  服务是新的一种企业应用资源,而SOA的总体企业架构成就了这种企业资源的共享、复用和被应用。各种粒度的服务通过面向构件的方法被不断地复用和应用,它们的价值也同时被得到了量级的提升。

  暗示:面向构件的开发方式可以很好地利用SOA所带来的企业级服务资源的共享,并为应用所用。这就是“SOA从面向构件开始”的第三层逻辑验证。

  是与非:一切从应用出发,以应用为根本。

  在我们所处的纷繁复杂的技术世界中,任何技术和产品只有被应用,并且应用的价值得到了展现,那么它本身才是有真正的使用价值,不然再好的技术和产品都不会有市场,都不会获得商业的成功,SOA和面向构件技术同样如此。所以首先我们要抓住根本,那就是‘应用’。

  我们现在的业务和管理应用真正需要的是能解决他们所遇到问题的技术和产品。全流程、无缝访问和易于改变是我们提升软件生产力和质量的关键策略,这也正是在SOA的企业总体架构下,以服务为标准接口和资源,通过面向构件的应用建设方法和技术的实实在在应用价值、市场价值和商业价值。

  暗示:一切从应用出发来看,这才能抓住本质。我们不难看到构件必将成为应用软件的标准构造单元,而面向构件就是最好的应用软件构造方法,并能把SOA企业架构下的企业服务资源很好地应用起来。这正是“SOA从面向构件开始”。

  远景:SOA成就企业架构,应用软件都用构件来造

  把我们的时间轴放到未来的5年,SOA将从面向构件开始。利用构件这一应用软件的基础标准单元,利用面向构件的方法,才能不断构造出符合与满足SOA企业架构下的统一服务和管理。

  当我们把时间轴放到更长的时间,那么面向构件将从SOA开始,从SOA开始展露面向构件的生命力。

  SOA概念着眼于软件的功能

  文/严永欣博士

  面向构件的概念着眼于软件的构造,构造包括层次化和可复用。层次化:软件呈现层次化构造,整体可以由一系列有内在结构的器官(即构件)构成。而构件可以由更小的构件构成。可复用:这些构件可以在不同的软件中以相同的形式出现,完成大致相同的功能。

  SOA概念着眼于软件的功能,包括层次化和可外化。层次化:软件的功能呈现层次化复合,综合功能由单项功能复合而成,复杂功能由简单功能复合而成。可外化:一个软件需要的功能可以由另一个软件提供。

  由于“功能外化”可以看作是互联网时代功能复用的一种形式,面向构件与SOA完全同构。因此,我们说SOA从面向构件开始,就是SOA通过面向构件去实现的,因为面向构件是SOA的自然实现方式。我们说SOA从面向构件开始,就是SOA通过面向构件去实现,因为面向构件是SOA的自然实现方式。

  强调面向构件的基础性的作用

  文/黄柳青

  就像IBMSOA的宣传电影里一样,美国的现有软件是几个“大柜子”,每个柜子里的部门级系统已经比较完备,但是系统信息传递存在问题。而中国的很多部门级系统因为业务不断发展尚待完善,需要面向构件来建立。“软件中国”中的观点仍是中国SOA上的信息系统建设的重要指导。Service需要构件来建造,SOA服务本身的管理和组装也是一个面向构件的过程,无论是SOA服务的开发,还是SOA服务的使用(组装)方面,都要以面向构件为基础。

  同时,SOA中的SCA/SDO规范,为面向构件的体系带来了更具体的参照和标准。不但说Service需要构件来建造,SOA服务本身的管理和组装也是一个面向构件的过程,即SCA模型。有了SCA,SOA才有了更易管理、重用、替换的具体实现依据。

  面向构件具有层次上的递归性,既是SOA的生产方式,也是SOA的使用方式。从EOS6.0的定位上来讲,我认为面向构件已经通过SCA/SDO的实现,同时完成了SOA服务的开发和SOA服务的使用两个方面。
 
  作为SOA的路线图,建议我们在SOA服务的开发,以及SOA服务的使用(组装)方面,强调面向构件的基础性的作用。SOA从面向构件开始,因为基础服务需要面向构件开发,也因为服务组装需要面向构件。

  面向构件不仅仅是从应用内部构成来实施SOA

  文/王满红构件技术专家

  面向构件不仅仅是从应用内部构成来实施SOA,更彻底更全面的是细粒度对SOA的支持。对中国市场和客户而言,目前更需要考虑开发和集成的结合,就是在开发新应用的同时考虑未来的“可集成性”,面向构件是个很好的起点。从面向构件走向SOA更加具有技术上继承性,可以更好地汲取二者的精华,对于实施的风险和成本都会有相应的降低。对于EOS产品而言,提供了更多的“中国特色”的业务化增值,比如基础应用框架、组织机构权限、工作流等,可进一步提高应用起点。

  SOA中间件:SOA的终极解决之道

  文/程朝晖

  据报道,“2007年3月21日,18家致力于联合推动创建SOA(面向服务的架构)行业标准的领先技术厂商,宣布了SCA(ServiceComponentArchitecture,服务构件架构)和SDO(ServiceDataObjects,服务数据对象)规范中关键部分的完成,并将正式提交给OASIS(TheOrganizationfortheAdvancementofStructuredInformationStandards,结构化信息标准促进组织),通过其开放式标准过程进行推动”。

  SCA(服务构件架构)和SDO(服务数据对象)规范中关键部分的完成似乎有些波澜不惊,不过它对于未来商业软件业的意义和冲击力将大大超出我们现在所能感受到的程度。

  中间件的融合之道

  SCA和SDO的问世不得不让我们回顾历史,回头看看其发展轨迹,愈发对于未来的发展景象看得清晰。

  中间件的市场从来是新技术、新架构、新标准和新理念的集合地。而这也正与它对于应用的承上启下和承前启后的特殊位置相关,企业应用需要它的承载。

  从20世纪70年代开始,诞生了中间件这个软件领域。随着应用的深入,中间件也开始五花八门和百花齐放,有负责信息可靠传递的消息中间件,有负责屏蔽异种环境和各种开发语言的对象中间件,有负责访问专有系统的中间件不过到了20世纪90年代中,随着Java技术和J2EE/.Net应用服务器的发展,中间件开始了第一次的融合,各种五花八门的中间件开始随着新的技术和需求融合到应用服务器之中,作为独立的软件发展起来。

  到了现在,随着SOA架构和技术的发展,中间件开始了进入第二次的融合期。原本的应用服务器不再是应用建设的直接平台,而是转变到了底层的运行承载环境。而面向构件(SCA/SDO)开始浮出水面,作为企业应用建设的核心平台。以往的门户和集成服务器也在新的SOA技术时代面前被融入进去,作为独立的系统软件将逐步退出历史的舞台。

  SOA中间件的心蓬勃起跳

  SCA/SDO的问世并推广让我们看到SOA中间件的核心技术有了国际的标准。让我们真正感受到了SOA中间件的心已经开始跳动,这个生命将蓬勃发展,将改变我们的软件世界。让我们一起来领略一下SOA中间件的四大组成部分:

  面向构件,是SOA中间件的心脏,成为新一代面向服务架构的核心。我们看到了新一代基于构件组装的开发方式和技术,成为了SOA的核心支撑技术和国际开发的规范和标准。因此我们把它称作是一个新生命里的心脏。它的健壮和有力的跳动是生命的象征,是能真正给SOA带来落地和实践的可能。

  流程管理,是SOA中间件的大脑神经。这是SOA中间件的第二个部分,通过全流程的编排和开发,细到代码逻辑、粗到构件业务组装逻辑、再到跨部门和跨企业的服务集成逻辑,都在统一的流程开发和管理之下。它像大脑神经一样控制着我们业务的运行,从而把我们的各种逻辑开发和资源访问统一控制起来,指挥起来。

  统一服务,是SOA中间件的血液。作为SOA中间件的第三个部分,统一服务使得服务作为企业的资源得到了统一的管理、访问和共享利用。它像血液一样把养分输送到身体的各个需要的角落。

  软件治理,是SOA中间件的五官感知,作为SOA中间件的最后一个部分。企业的应用已经非常的复杂,动则几千个构件和上万个的服务。我们需要明锐的五官去感知外界的变化,并反映到我们的软件系统中,我们也需要感知我们企业内部软件的安全、可靠、稳定等,我们需要有序的治理来让纷繁负责的软件得以健康的运行。

  普元作为面向构件最早的创造者、推动者和领导者,已经站在这个领域的世界前沿。并在自己的产品发展策略上与SOA的主流得到了融合。站在了主流领导厂商之列,依靠自身的技术创新和积累,依靠我们中国客户这个良好的发展土壤,不断做出世界级的产品,与大象们共舞。

  原文出处:http://gocom.primeton.com/modules/techresource/article_page.php?linkid=1756

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

银弹
银弹

相关推荐