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分隔式架构可以使开发者更注重业务逻辑,而不必要关注诸如可靠性,安全,事务等系统属性,这些属性都配置到配置文件中。
(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是个逻辑的概念,管理跨机器,跨进程的Composite,同时Composite也可以跨机器跨进程部署,从而可以管理分布式部署的SCA,所以Domain是个相当重要的SCA概念。其实除了Domain是管理含义外,还有外部接口界面的含义。
分享到:
相关推荐
**SOA标准与SCA架构详解** 服务导向架构(Service-Oriented Architecture,简称SOA)是一种设计和构建软件系统的方式,它强调将业务功能分解为独立的服务,这些服务可以通过网络进行交互,实现松耦合和重用。SOA...
SCA 架构基础知识 SCA(Service Component Architecture)架构基础知识是指在服务组件架构中的一些基本概念和技术,旨在帮助开发者更好地理解和应用 SCA 架构。 绑定(Binding) 绑定是指服务或引用使用的访问...
SCA 软件架构知识点 一、SCA 软件架构概述 SCA(Service Component Architecture)是一种开发面向服务(SOA)应用的简单模型规范,描述使用 SOA 构建应用程序和系统的模型。SCA 仅仅是一个规范,各个涉及 SOA 技术...
**SCA服务构件架构**,全称为Service Component Architecture,是一种面向服务的软件架构,它提供了一种用于构建、部署和管理分布式应用程序的统一框架。SCA的核心思想是将应用程序拆分成独立的服务组件,并通过标准...
【基于ZedBoard的SCA架构的设计与实现】 软件通信体系架构(Software Communications Architecture, SCA)是一种标准化的体系架构,用于设计和构建模块化的、可重用的、可扩展的无线通信系统。ZedBoard是由Xilinx...
- **定义**:服务组件是SCA架构中最基础的构建单元,每一个组件实现特定的业务逻辑,并对外提供服务。同时,组件也可以引用其他组件提供的服务。 - **接口**:组件之间的通信主要通过接口实现,SCA通常采用WSDL...
SOA在Java领域有两套标准:一个是SUN推出的...在此,详细介绍SCA的架构思想。一、认识SCASCA(ServiceComponentArchitecture)中文翻译为“服务组件架构”,是一种全新的软件架构思想。SCA中,最重要的一个概念是Servi
SCA组件是SCA架构的基本单元,可以由不同的技术实现,如Java、C++或脚本语言等。每个组件都有其特定的功能,并通过接口与其他组件进行交互。理解和使用SCA组件对于构建可扩展、灵活的应用程序至关重要。 ### SCA...
- **应用架构**: 定义了应用程序在 SCA 架构中的位置和功能。 - **平台设备和服务架构**: 描述了硬件平台的架构设计和提供的服务。 - **核心框架控制架构**: 定义了核心框架如何管理和控制整个系统。 - **SCA ...
SCA(Service Component Architecture)即服务组件架构,是一种通用的服务组件模型,旨在简化服务的组装与交互;而SDO(Service Data Object)即服务数据对象,则是一种数据编程架构和API,用于统一不同数据源的数据编程...
在SCA架构中,组件和复合组件进一步组织在域(Domain)内。域是SCA应用的顶级容器,包含了所有组件、复合组件以及运行时环境。域可以跨多个服务器或分布式环境,提供了一种管理和协调SCA组件的全局视图。域的概念...
【SCA架构简述】 面向服务的架构(Service-Oriented Architecture,SOA)是一种设计原则,它强调构建可重用的服务,以便不同系统之间能够灵活集成。然而,SOA的实施常常涉及到复杂的接口和多样化的组件,这对许多...
6. SCA-ESB-v4.ppt - ESB(Enterprise Service Bus,企业服务总线)是SCA架构中的一个重要组件,这份PPT可能介绍了SCA ESB的版本4,涵盖了其功能、设计原则和使用方法。 这些文档将提供关于SCA的全面理解,包括其...
通过以上内容,你可以了解到如何利用Apache Tuscany实现SOA中的SCA架构,以及如何创建和管理服务组件,包括命令行构建和Eclipse插件辅助开发的方式。学习并掌握这些知识,将有助于你构建灵活、可扩展的分布式系统。
7. **域(Domain)**:域是SCA架构的管理实体,它包含一组组件和服务,并负责这些组件的生命周期管理和运行时行为控制。 中文版的SCA规范对于中国开发者来说尤其有价值,因为它消除了语言障碍,使得开发者能够更加...
### SOA SCA服务构件架构Spring构件实现方案 #### 一、引言 随着企业级应用的日益复杂,传统的单体应用已经难以满足快速变化的业务需求。面向服务的架构(SOA)作为一种灵活的服务组织方式,通过将复杂的业务功能...