gembin

OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

HBase, Hadoop, ZooKeeper, Cassandra

Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

About Me

 

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

posted on 2008-04-27 21:38 gembin 阅读(466) 评论(0)  编辑  收藏 所属分类: SCASOA


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(6)

随笔分类(440)

随笔档案(378)

文章档案(6)

新闻档案(1)

相册

收藏夹(9)

Adobe

Android

AS3

Blog-Links

Build

Design Pattern

Eclipse

Favorite Links

Flickr

Game Dev

HBase

Identity Management

IT resources

JEE

Language

OpenID

OSGi

SOA

Version Control

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

free counters