`

对tuscany中domain、cloud、node、composite关系的理解

    博客分类:
  • SCA
阅读更多

tuscany是对sca、sdo标准的实现,sca完成服务的封装和wire,sdo完成数据的统一。

sca是一种ESB实现方式

其实,sca完成的功能远远不止封装服务那么简单。我们在使用sca的过程中,将某个业务功能封装成sca组件,将多个composite封装成一个顶级的composite来完成更粗粒度的服务封装。将BPEL流程编排封装成一个sca组件来使用...... 可见,sca就是ESB的一种实现方式,而不单纯是一种服务的封装形式。

ESB完成的作用大致上有四点:

1、服务路由,让A服务发出的请求能够到达B服务。 

2、协议转换,转换A服务和B服务之间所用的不同协议 

3、数据格式转换,转换A服务和B服务之间数据的格式和关系 

4、事件处理,处理不同来源的事件

sca通过构件的方式将基于业务功能的服务进行封装,组件和组件、构件和构件之间通过Reference进行wire,产生松耦合的依赖。因为Reference可以指向一个本地域的组件的服务(target方式)或者通过引用一个webservice的方式来定义。实际上就是在多个组件和构件之间进行了一种路由。

sca支持将某个协议的服务包装成一个sca组件,对外暴露出基于其他协议的服务,相当于进行了协议的转换。

数据格式的转换是通过tuscany的DataBindingFrameWork来完成的。

事件处理可以通过CEI来实现基于事件的响应处理,构建在JMS的基础之上。

因此,sca本身就是ESB的一种实现方式,而且这种实现方式采用的编程模型更易于理解,也更加一致。

 

domain/cloud/node/composite

scaDomain sca域:在tuscany运行时随着web container启动的时候,就会产生一个sca domain,这个domain是一个全局对象,而且是单例。类似于hibernate的SessionFactory,是个耗费资源的对象。它包括所有和tuscany运行时相关的东西,比如贡献包contribution、可部署构件deployable composite、节点node........

workspace.xml 工作空间配置文件:用来注册domain内所有贡献包资源的物理位置(location)和命名空间(namespace),包括所有可部署节点deployable composite和一些jar包、war包等等。

domain.composite domain构件: 它关注的是在domain中可以使用的composite,虽然这些composite在workspace中添加了,但在domain中能不能被使用则是在这里配置的。

node 节点:一个用来描述物理节点或者逻辑节点的概念。

有两种情况:

1、将node视为物理节点

比如在分布式系统中,有很多台服务器,这些服务器侧重的业务不同。比如有A、B、C三台服务器。A服务器保存assert资源,B服务器保存某类业务的所有composite和实现,C服务器保存所有BPEL工作流组件。这三台服务器都链接到ESB上来,这个ESB也是一个SCA runtime,只不过通过这个runtime将分布在不同物理位置上的服务和应用整合起来了。那么这种情况下,对于每一个服务器,都可以看做是一个物理节点node。每个node下面都有一个或者多个composite,这些composite通过构构件实现的方式统一到一个顶级composite上来(构件之间的wire),然后node和这个顶级composite进行关联,从而实现了用node来管理多个composite的作用,而且对于构件引用而言,对引用它的构件是内部不可见的,也就是被引用的构件对外面引用它的构件隐藏了内部component的细节,而仅仅暴露了composite提升promote的Service、Reference和Property。从而实现了细节的封装。这是node作为物理节点的情况。

2、将node视为逻辑节点

比如在一个jvm环境下,可以通过node将应用程序按照功能模块进行划分,不同的模块对应不同的node,这也是一种用法。

cloud 云:用来管理node的一个逻辑集合,它的关注点是node,如何将这些分布在不同物理节点(或者不同功能模块)的node有效的组织起来,提供使用。

workspace从物理位置上定位了某个deployable composite的位置,但仅有这个还不能使用,cloud在逻辑上对deployable composite进行了定位(通过cloud来寻找node,在通过node找到某个具体的composite),两者缺一不可。

composite 组件:可以是细粒度的组件,也可以是粗粒度的组件

分享到:
评论

相关推荐

    基于Tuscany SCA的分布式SCA应用的设计与实现.pdf

    最后,文章中涉及到的SCA、域(domain)、节点(node)、构件(composite)和组件(component)等概念,是理解SCA规范和分布式系统架构的基础知识点。SCA作为一种架构模式,定义了如何将不同服务组装成应用的规则和...

    Apache Tuscany SCA 用户指南StepByStep

    4. **部署与配置**:学习如何使用SCA部署描述符(Composite.xml)来定义组件和服务的关系,以及如何配置组件的属性和服务的绑定。 5. **服务组合**:SCA支持服务的组合,你可以学习如何通过组合现有服务来创建新的...

    apaceh -TUSCANY 源码

    Tuscany源码的分析有助于深入理解SCA的工作原理以及如何在实际开发中应用这一框架。 SCA的核心概念包括组件、服务、绑定和配置。组件是应用程序的基本单元,可以提供或消费服务。服务是组件对外提供的接口,供其他...

    tuscany1.6.2

    5. **配置和部署**:Tuscany提供了一种基于XML的配置方式,用于描述组件、服务、依赖关系和部署信息。这使得开发者能够灵活地调整应用程序的结构和行为。 6. **多语言支持**:Tuscany支持多种编程语言,比如Java、...

    tuscany发布webservice实例

    在这个“Tuscany发布Web服务实例”中,我们将深入探讨如何利用Tuscany来配置和发布一个简单的Web服务接口。 1. **Tuscany简介** Tuscany的设计目标是支持多种服务交互协议和服务模型,如SOAP、REST、JMS等,并且...

    tuscany的一点文档

    Tuscany是一个开源的服务组合架构(Service Component Architecture, SCA)实现,它提供了一种方式来管理和控制应用程序中与业务逻辑正交的方面,比如日志、监控和安全性。策略在Tuscany和SCA中扮演着关键角色,它们...

    Tuscany的开源项目Tuscany_sdo(C++版)

    3. **示例和教程**:可能包含一些示例代码和教程,帮助用户快速理解和上手使用Tuscany SDO。 4. **文档**:用户指南、API参考等文档,解释了如何使用Tuscany SDO的各种功能。 5. **配置文件**:可能包括一些配置文件...

    一种基于Tuscany SCA的分布式应用模型.pdf

    “构件(composite)”则是一个高层次的概念,它是对组件的组装和组合,定义了各个组件之间的关系,包括它们之间的服务调用和数据引用。在Tuscany SCA中,构件可以通过XML文件来描述,这个文件指定了各个组件如何协同...

    Apache tuscany SCA实例

    Apache Tuscany是Apache软件基金会的一个开源项目,它实现了Service Component Architecture(SCA,服务组件架构),这是一种用于构建和集成分布式应用程序的规范。这个实例可能是关于如何使用Apache Tuscany来开发...

    apache-tuscany-sca-1.6.2

    在“apache-tuscany-sca-1.6.2”这个压缩包中,我们能找到Apache Tuscany的特定版本——1.6.2。这个版本包含了项目的所有源代码,这对于开发者来说是极其宝贵的资源,因为源码可以提供深入理解其内部工作原理的机会...

    Tuscany实战源代码

    【Tuscany实战源代码】是一份非常宝贵的资源,它主要涵盖了Apache Tuscany的相关实践与源码解析,旨在帮助那些无法便捷访问网络的学习者深入理解Tuscany框架的内部工作原理和应用方法。Apache Tuscany是一个开源的...

    Tuscany SCA与Spring、Hibernate整合实例-简洁方法

    由于压缩包中已删除了`lib`文件夹中的jar,你需要手动添加这些依赖到你的项目类路径中,包括Tuscany的SCA实现、Spring的核心库和Hibernate的JAR文件。 2. **创建SCA组件**:定义SCA组件,这些组件可以是Spring Bean...

    Tuscany 架构图

    Tuscany架构 Tuscany架构.jpg Tuscany架构.jpg

    Tuscany SCA in Action

    《Tuscany SCA在行动》一书深入探讨了Service Component Architecture(SCA)与Apache Tuscany项目,这是IT领域内对服务组件架构及其实现的重要研究资料。以下是基于标题、描述、部分目录和标签生成的相关IT知识点:...

    sca.rar_SCA_tuscany

    **Apache Tuscany Service Component Architecture (SCA) 概述** Apache Tuscany是一个开源的服务组件...通过深入理解和使用Tuscany,开发人员可以有效地组装服务,降低集成复杂性,提高系统的可维护性和可扩展性。

    tuscany-wsdl2java-1.5

    tuscany wsdl2java tools

    apache-tuscany-sca-1.6.zip

    7. **示例和文档**:压缩包中很可能包含了示例应用程序和详细的用户文档,这些可以帮助新用户理解如何使用Tuscany SCA来构建和部署SOA解决方案。 8. **社区和支持**:作为Apache项目的一部分,Tuscany拥有活跃的...

Global site tag (gtag.js) - Google Analytics