Quick Guide to SCA

什么是SCA?

SCA是一个可执行的模型,用于将不同的 服务集成到一个业务解决方案。它简化了实现业务服务的组件编程模型,这些组件可以使用不同编程语言实现。SCA带来的一些益处主要为:

  • 松耦合
    组件件的集成不需要知道彼此是基于何种编程语言实现的。在同步、异步情况下,组件都可以被方便的调用。
  • 可扩展性
    组件可被简单的被替换。既有的服务可被用来创建新的解决方案(自下而上),也可业务建模和开发(自上而下)。
  • 生产率
    SCA可让你专心于分析业务逻辑,而不需要过多的去担心系统架构。SCA简化了所有开发者的使用体验(包括J2EE和集成开发者)。

SCA组件实现

SCA的基本的组成部分是组件实现。 当你编写SCA代码时,你通常正在写一个组件的实现或者将被这样的组件使用的代码。 一个组件通常由下列属性描述:

  • 服务:描述了该类型的组件所能提供的功能;
  • 引用:描述了该类型的组件相关功能的依赖性;
  • 属性:定义了配置参数,控制程序逻辑如何实现,例如,使用何种货币;
  • 策略:描述了组件行为策略,主要有两种策略:
    • 实现策略:对组件实现施加影响,例如:事务、监视以及日志;
    • 互动策略:定义组件件如何互动,例如:安全;

一个典型的组件实现可以用下图表示:

一个组件可以使用任何用户想要的编程语言去实现,例如用BPEL去实现业务流程控制,XSL-T实现转换,RUBY来编写脚本,也可以使用纯JAVA。这些服务、引用、属性以及策略如何去定义界定了一个组件的是具体实现类型。

SCA组件实现

一个组件是配置了的组件实现的实例,同一个实现可被不同组件使用,SCA生存在一个复合的环境中。

SCA集成

单个组件可独立使用,也可被组合起来作为一个合成组件使用。一个合成组件不是代码,而是由一个或多个组件集成起来作为一个整体提供服务的。合成作为一种解决方案,例如信用检查组合。合成方案也可以在一个更大规模的解决方案中使用,例如信用检查可能是一个订单处理组合中的一部分,一个复合构建像一个组件一样具有同样的特性,它提供服务,包含对其他组件的引用,并且可以配置成像单独组件那样使用属性和策略。在下面的例子中,你可以看到一个计算复合组件,它包含对四个组件的引用:加,减,乘,除。

配置信息使用服务组件定义语言(SCDL)定义在.composite 文件中。例如, calculator.composite 里定义了计算复合组件对其他组件的引用信息。

 SCA Domain(域)

这些组件无论独立还是集成,全部都是可在不同环境下使用多次 的可重用单元。一个合成组件,连带它的配置信息,被打包到一个叫做contribution的部署单元部署到域。资源可以在不同contributions间重用,比如:JAVA类、XSD文件、WSDL文件等等。

一个SCA域是一个完整的运行配置,可能分布于一系列互联的的节点运行,域配置的整体布局,是服务依赖、属性、策略的配置。一个域是运行着的系统,或者一组互相协作在一起工作工作的组件的逻辑视图,它们通过SCA线路彼此连接。当它实际的用于一个SCA环境的时候,合成组件实例化。

SCA域非常灵活,可以很小也可以很大:

  • 一个很小的域,可能是一个在测试环境内的ide内
  • 中型域可能是一个单一的服务器还是小型集群,支持单一应用
  • 大型的域可以描述一个部门或公司的全部服务

在一个大型域可能会有各种策略,定义组件可以在何处运行,以及它们如何连接到对方或对外服务。然而,在开发过程中人们不会关注这些。代码被打包以供部署。Tuscany SCA Java 支持以JAR包或者文件的形式部署。

下面是一个有两个contribution的域额度例子:

<全文完>

以上文章翻译自Tuscany官网的SCA快速入门部分,原文:

http://incubator.apache.org/tuscany/quick-guide-to-sca.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值