细说SCA V1.0规范(2) --Composite与架构

来源:互联网 发布:vb linq 编辑:程序博客网 时间:2024/06/03 02:49

 

SCA规范中的"三大件"分别是Component 、Composite和Domain 。

在上一篇 细说SCA V1.0规范(1) --component与实现  里面主要说的是Component 。本文将继续说说这第二"大件":Composite !

一、Composite简介

 Composite组件是SCA规范中最基本的单元,是部署的最基本单位。Composite组件的图示和简化Composite组件的图示如下:

二、Composite的组成

一个Composite包括0个或多个Property、Service、Component、Reference、Wire和包含的Composite(included Composite).

三、Composite与Component的关系

Component组件是Composite组件的重要组成部分。

四、Composite与Domain的关系

<待续>

五、Composite 在模型中的分类

为了讨论方便,也便于理解,将Composite分成三种类型:(这不是规范中的分类)

这三种类型很像数据结构中的"树"。树有树叶、树跟和树枝。与之对应,Composite架构层分为基本层Base-Composite、顶层Top-Composite和处在基本Composite和顶层Composite之间的Composite层,就叫Arch-Composite吧。

第一种Composite——Base-Composite:它的特征是其implementation不是通过引用Composite实现的。即它的implementation是通过SCA支持的implementation类型提供的实现。它们处于整个Composite架构的底层,为上层的Composite提供服务实现。这些Composite包含了implementation的实现。对整个Composite层而言,可以认为不存在Component层,因为Component是做为Composite的一部分存在的。只要Base-Composite有implementation实现,Composite层不关心是什么技术的实现,以及如何实现的。

目前Tuscany SCA支持的plementation 类型如下表所示:

Implementation Types
implementation.java Support for SCA components implemented with Java classes Available from 0.90 implementation.script Support for SCA components implemented with scripting languages Available from 0.90 implementation.bpel Support for components implemented in BPEL Available from 1.0 implementation.spring Support for spring Available from 0.91 implementation.resource exposes file resources Available from 0.91 implementation.osgi Support for osgi Available from 1.0 implementation.xquery Support for components implemented in xquery Available from 1.0

 第二种Composite——Top-Composite:其特征是它们将成为Domain-Level Composite的一部分,或者说将为Domain-Level Composite提供服务。它们处于Composite架构层的顶端,上面就是Domain层。它们以其他的Composite作为implementation实现,为Domain层提供服务。Composite层的所有Composite的服务都要通过Top-Composite向Domain层暴露,为Domain层提供由Base-Composite实现,Arch-Composite组合而成的各种功能。Top-Composite通过指定一个URI与Domain建立关系。

第三种就是Arch-Composite:它们或者引用(Reference)其他的Composite或者用其他的Composite实现implementation。Arch-Composite可以通过引用实现等形式组合成功能更为复杂的系统功能或者流程。就象工作流的流程那样,通过一系列的Composite实现复杂的功能。

<待续>

原创粉丝点击