UML软件工程组织

 

 

SOA从面向构件开始,面向构件从SOA开始
2008-01-15 出处:goCom
 

主要观点阐述:

  • 构件,是构造应用软件的标准单元
  • 面向构件,是基于构件的软件开发方法、技术和标准
  • SOA,面向服务的企业总体架构,服务成为企业应用的新资源
  • 是与非,应用为本,SOA成就企业架构,软件构件造
  • 远景,SOA从面向构件开始,面向构件从SOA开始

构件,是构造应用软件的标准单元

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

  • 应用软件可以通过构件中的Services(服务), References(依赖)和Properties(属性)来构造更为高层和更粗粒度的应用软件模块(如后面要讲到的业务构件(Composite))
  • 也可以通过构件中的Implementation(实现)来封装更为低层和更细粒度的逻辑实现。

构件中的几个概念和元素解释如下:

  • 服务(Services):服务是构件的一种组成元素,是构件功能的暴露和被使用的方式;构件是服务的载体,构件也会需要依赖(References)其他构件的服务,构件的具体实现(Implementation)也可以是个其他软件实现的服务。
  • 依赖(References):构件自身需要用到的其它构件的服务。
  • 属性(Properties):构件自身运行时的可设置参数。
  • 实现(Implementation):构件具体实现时支持各种的功能实现技术,如Java, C++, PHP, Java Script, BPEL, SQL, XQuery, Composite等。

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

面向构件,是基于构件的软件开发方法、技术和标准

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

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

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

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

服务逻辑(Service Logic):全流程同样可以在构件或是业务构件中访问和使用外界的服务资源,以实现更高层次的业务构件。具体可以通过构件中的实现(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从面向构件开始”。

远景,SOA从面向构件开始,面向构件从SOA开始

把我们的时间轴放到未来的5年,SOA将从面向构件开始。把我们的时间轴放到未来的10年甚至更长的时间,则面向构件将从SOA开始。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号