频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

SCA软件架构设计理念分析(1)

作者: 李俊杰 出处:Csdn博客 2007-11-13 15:55    砖    好    评论   进入论坛
阅读提示:SCA (Service Component Architecture) 是一个开发SOA(Service-Oriented Architecture)面向服务应用的简单模型规范,它描述用于使用SOA构建应用程序和系统的模型。本文仅仅涉及插件式设计模式及工厂模式的深化和发展。

1、概述

SCA (Service Component Architecture) 是一个开发SOA(Service-Oriented Architecture)面向服务应用的简单模型规范,它描述用于使用SOA构建应用程序和系统的模型。它可简化使用SOA进行的应用程序开发和实现工作。SCA仅仅是个规范(http://www.osoa.org),各个涉及SOA技术的公司的实现也各不相同。本文主要分析Apache Tuscany开源项目 (http://incubator.apache.org/tuscany/)中的SCA设计架构;因为我们不能满足于会用,而从这些大师们的作品中汲取营养,知其然,也要知其所以然,当我们面对需求(比如说SCA规范),都拥有同样的语言功底,如何设计一个开放性,可扩展性的架构,就是一个挑战。因为Tuscany设计理念博大精深,开放式的结构思想,性能方面的考虑,安全方面的考虑,不一而足,所以不可能在一篇短文中详细介绍,将在后续的文章中不断地深入剖析,提取设计架构和设计技巧的精华之处,供广大软件界同仁共享。

2、SCA规范基础知识

SCA编程模型是高扩展性和语言中立的,它易于被扩展为多种实现语言技术JAVA,C++,BPEL,PHP, Spring等,多种远程访问bindings包括Web Service,JMS, EJB,JSON RPC等,多种主机环境例如Tomcat,Jetty,Geronimo,OSGI等。SCA分隔式架构可以使开发者更注重业务逻辑,而不必要关注诸如可靠性,安全,事务等系统属性,这些属性都配置到配置文件中。SCA的组成部分如下图所示:(本文涉及的SCA术语不翻译)

图1

(1)Component

深蓝色方框(Component A和Component B)表示是Component。Component是SCA原子(最基层的组织单元),其封装了实际的业务逻辑。Component可以采用运行环境支持的任何编程技术实现。例如,Apache Tuscany项目目前支持Java、JavaScript、Ruby、Python和C++组件类型,同时为创建新的组件类型提供了扩展API。

(2)Property

Property (Component A和Component B上方的黄色方框和Composite A的黄色小方框)。Property控制Component的行为,在部署其间可以被可改变。同时Composite也可以有Property,但其Property是Component Property升级(Promote)后的Property。

(3)Service

Service是供其它Component调用时使用。在图中接口用Component方框左边的绿色箭头来表示,被称作SCA的“服务”(Service)。

(4)Reference

Component也描述了被该Component调用的其它组件的接口,在图中这样的接口用组件方框右边的粉红色箭头来表示,称为SCA的“引用”(Reference)。这些Service和Reference被连接在一起,组成一个可运行的系统。

(5)Composite

如果说Component是SCA架构中的原子,那么Composite就是SCA架构中的分子;图中的两个Component,A和B,被组装在一个更大Composite范围内,被称作Composite A。SCA的Composite描述了一个由互相连接的Component所构成的集合。正如你所看到,Composite也声明了Service和Reference,它们被暴露到Composite外部。Composite的service和Reference是Composite内部的Component的Service和Reference的升级。一个Composite内部的Component彼此连接就如同创建一个运行在同一进程中的紧耦合的应用程序。将Composite通过Service和Reference连接在一起,则形成了一个更加松耦合的系统;系统中的每一个Composite都可能运行在一个单独的进程或处理器中,在网络中通过各种的协议和传输绑定连接起来。通过这个途径SCA为独立和分布式应用提供了统一的编程模型。

(6)Wire

Wire是连接Service和Reference的连线。

(7)Promote

Promote是wire的特殊表现形式,是把Component级别Service或者Reference升级为Composite级别的连线。

(8)Domain

为了更直观地介绍domain,如下图所示:

图2

从上图可以清楚地看出,Domain是个逻辑的概念,管理跨机器,跨进程的Composite,同时Composite也可以跨机器跨进程部署,从而可以管理分布式部署的SCA,所以Domain是个相当重要的SCA概念。其实除了Domain是管理含义外,还有外部接口界面的含义。


共6页: 1 [2] [3] [4] [5] [6] 下一页
【内容导航】
 第 1 页:SCA规范基础知识  第 2 页:Tuscany SCA软件架构设计思想
 第 3 页:ctory调用及代理模式实现的延迟加载功能  第 4 页:更复杂的工厂模式
 第 5 页:精巧的设计  第 6 页:Tuscany中工厂设计中涉及泛型的应用
关于 SCA  软件  架构  设计  理念
专题
网吧管理软件
Oracle较真SAP-商业管理软件之战一触即发
玩转Vista上的杀毒软件
全面解构SOA技术理念
杀毒软件优化和使用技巧
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81024次)
·UML类图详解 (查看72498次)
·C++是垃圾语言?! (查看42631次)
·C#技术开发指南 (查看40232次)
·UML统一建模语言 (查看39205次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。