InfoQ

新闻

组件组合的策略与技巧

作者 Jean-Jacques Dubray译者 王锐 发布于 2008年1月11日 下午8时1分

社区
Architecture,
SOA
主题
SOA平台,
编制
标签
服务组件架构,
基于组件的架构

自20世纪90年代以来,组件技术一直在持续发展。随着Spring的出现和依赖注入模式的发展,它们到了一个新的转折点,开始提供先进的组合机制。

前几周,SAP Labs的标准架构师Sanjay Patil发表了一篇名为服务组件体系结构的IT场景的文章,描述了一些服务组件体系结构(SCA)提供的组合策略。

上个月,一个IBM的团队比较了不同的组件技术,以及各种组件技术对组合的支持程度。这篇文章首先定义了一些促使组合机制的属性:

  • 接口耦合
  • 数据(类型系统和消息格式)
  • 版本弹性(译注:即接口的版本对消费者的影响)
  • 转换独立性
  • 预期的交互模式
  • 会话
  • 仲裁能力
  • 动态性

对Sanjay来说,两个最重要的因素是:转换独立性,它导致部署的灵活性;动态性,在SCA中可利用策略达到。

IBM的文章也探讨了影响组件粒度的很多因素,它支持当前行业共识:

一般说来,松散耦合的组件是粗粒度的,而紧耦合的组件更可能是细粒度的。

这篇文章声称:

SCA 在两个坐标轴上提供组合:引用组合与实现组合

  • SCA组件可以这样组合服务:以一个单一调用编程模型(它独立于服务部署的位置和方式)来编制那些服务的调用模式。
  • SCA还可以通过实现来提供组合:通过把一组细粒度的组件装配成一个粗粒度组件的实现。

Sanjay把他们的分析分享出来,他认为:

  • 在一个自底向上的组合场景里,一个应用是通过装配现有的不同实现部件[而组合在一起的]
  • 在一个异构的组合场景里,……SCA允许将结构化逻辑以及相关的功能(例如映射等)作为第一级别的组件,这些组件与其它组件的关系将被作为一个定义良好的组合的一部分。

然而,他也描述了另一个场景,一个“自顶向下”的场景:

……采用相反的方式来创建组合[……]装配器的目标是分析高层业务需求,并在一些仍需实现的组件的顶层创建组合。

IBM的文章总结:

SCA的一个强大之处在于它的整合各种各样的细粒度组件模型的能力,而这些模型过去一般被用来实现粗粒度的服务组件。通过模型化全局解决方案的结构,提供机动性与灵活性,以及无需在实现代码中定义复杂的配置细节,SCA给它们中的每一个带来价值。SCA还有一个优点,它能把整个解决方案中不同部分的不同组件模型连接起来。

查看英文原文:Component Composition Strategies and Tactics

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!