技术开发 频道

SCA软件架构设计理念分析

【IT168 技术文章】

    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)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)。

0
相关文章