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