一、组件介绍
1、Component 简介
Component是SCA规范中最基本的元素,是粒度最小的执行单元或者实现单元。
为了方面后面的描述和图解,将Component图示作了一些简化。如图:

2、Composite简介
Composite组件是SCA规范中最基本的单元,是部署的最基本单位。其他组件要以Composite组件的组成形式通过Composite组件表现出来。对于Composite组件会在下一篇文章--Composite与架构中详细说明。
同样,简化Composite组件的图示。如图:

3、Component组件和Composite组件之间的关系
Component组件是Composite组件的重要组成部分。Composite组件可以包含0个以及0个以上的Component组件。如Composite组件图示中表示的,包含了2个Component组件。可以假设为,Composite组件是一个可以任意扩展端口的集线器(通常叫Hub),Component组件就是集线器的端口。

集线器和RJ45接头

Composite组件和Component组件
二、Component组件与实现
下面详细说说Component组件与实现。
SCA允许在很宽的implementation types(实现类型)中选择任何一种实现,例如象
目前,SCA提供了Spring、EJB、JavaScript、Groovy、Ruby、BPEL等的实现技术,可以将已有的程序实现加入到SCA系统中,为SCA提供具体的功能实现。也可以根据实际需要,通过SCA提供的扩展
Component组件的Implement联接到一个某种技术的具体实现,这些实现通过Component组件联接到SCA系统中。每个Component组件仅对应一个实现。如图:

图中以.ComponentType为扩展名的文件是SCA提供的机制,对Component的实现提供可扩展的、可配置的实现机制。每个Component组件的细节,包括service、reference和property通过.ComponentType配置实现。
经过Component组件的封装,形成一个格式一致、描述规范、统一的Component组件实现层。Component组件为Composite组件提供了服务---功能实现,分离了具体技术实现和Composite组件层,也将业务层、架构层与实现层分开。

三、Component组件和实现机制带来的益处:
1、实现层和架构业务层分离,使实现层不必受架构层和业务层的限制和影响,专注与实现。
2、每一个Component组件实现一个功能,实现的功能职责清晰,目标明确。每一个实现将精力集中在目标功能上,只做与它相关的事情。
3、清晰的责任和明确的目的,使代码量变得很少。几百k甚至几十k的代码量就可以完成功能的实现。
4、代码量的减少,增加了可测试性和可调试性。编码、测试和维护都变得相对简单,提高了开发效率和代码质量。
5、Component组件的实现粒度非常的小,可以提供很小的独立的接口,提高可复用的程度。
6、Component组件的实例通过XML格式文件的描述进行装配,以依赖注入模式的松散的耦合方式实现对具体实现的注入。
7、通过Component组件的配置和依赖注入模式可以非常容易的扩展和替换具体实现。
8、可以用不同的语言和技术实现相同的功能,充分发挥已有资源的作用,人近其才,物近其用,节省
这里主要讲了一些Component和实现机制的内容,SCA在架构层所对应的Composite组件提供了什么呢?
用户评论