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

原创 2007年09月27日 23:01:00

 

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实现复杂的功能。

<待续>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MHA高可用架构搭建指南V1.0

written by Jane 高可用架构MHA的搭建过程

Cocos2d-x(Cocos引擎v1.0 Preview版) CSLoader 内存泄漏

使用CSLoader::create建立场景,场景切换时内存会泄漏。 测试平台:Xcode 6.1 + iOS 8.2 + Cocos引擎v1.0 Preview版 新建工程时默认的HelloWorl...

angular2(v 1.0)

step1: 先安装node,去官网下载,不多提了。 step2:创建项目根文件夹并创建如下目录: 其中,node_modules可以先不创建,是由后续命令生成的;systemjs.confi...

Drone2Map+Arcgis开发探索v1.0

Drone2Map+Arcgis开发探索 1   Drone2Map使用 如博文http://blog.sina.com.cn/s/blog_13fce1e1a0102wpbx.html所示,可申请使...

【资源共享】Rockchip I2C 开发指南 V1.0

I2C设备的设备应用非常广泛,常见的包含重力传感器,触摸屏驱动芯片,音频解码等 这个文档是RK3399的I2C开发文档:《Rockchip I2C 开发指南 V1.0》   内容...

struct2json -- C结构体与 JSON 快速互转库V1.0发布

struct2json 是一个开源的C结构体与 JSON 快速互转库,它可以快速实现 结构体对象 与 JSON 对象 之间序列化及反序列化要求。快速、简洁的 API 设计,大大降低直接使用 JSON ...

c++实践--cocos2dx, 2048v1.0

主要类的作用和关系: Director: 导演,单例类Director::getInstance()           设置游戏配置(OpenGL),推动游戏发展  转场:runWit...
  • dddxxxx
  • dddxxxx
  • 2016年10月13日 16:22
  • 296

Cocos2dx学习之-----别踩白块V1.0

学了点COCOS2DX,一直感觉也没什么大意思,所以就找个教程做个小游戏出来

struct2json -- C结构体与 JSON 快速互转库V1.0发布

http://blog.csdn.net/arminkztl/article/details/49861223 struct2json struct2json 是一个开源的C结构体...

【Android开发经验】Android编程规范V1.0

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     本文章是根据众多公司的编程规范整理而成,如果错误,还请指出。 Android编程规范   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:细说SCA V1.0规范(2) --Composite与架构
举报原因:
原因补充:

(最多只允许输入30个字)