Service Component Architecture(SCA) 是一组标准,描述了一个通过SOA构建应用系统的模型。SCA扩展并补充了之前服务实现的方法,构建在一些开放的标准之上,比如Web Services。

SCA提倡基于SOA的业务应用能够用组件(component)的形式来实现业务逻辑,这些组件通过面向服务的接口提供功能(服务),或者使用别的组件通过面向服务的接口提供的功能,即服务引用(Service references)。SCA将构建一个SOA的应用切分为两个主要步骤:
 1.服务组件的实现:提供或者使用(consume)服务;
 2.服务组件的组装:用来构建完整的业务应用,通过连接服务引用与服务(Through the wiring     of service reference to services)。
Figure 1. Service Component Architecture

Service Component Architecture

SCA服务的实现支持使用多种的编程语言,既包括传统的面向对象或过程的语言,如:Java,PHP,C++,COBOL,以XML为核心的BPEL,XSLT等,又包括一些声明语言(declarative language)如:SQL和XQuery。SCA同样支持异步的和面向消息的调用以及同步的调用返回模式。

SCA支持绑定(Bindings)一组访问机制用来调用服务,包括Web Services,Messaging Systems 和 CORBA IIOP,Bindings 是声明式的(are handled declarativly)独立于实现代码,SCA通过使用策略定义了基础功能的使用,目的是为了更方便的应用到业务系统。

SCA提倡使用Service Data Object(SDO)来表示服务中使用或返回的业务数据,提供对业务数据统一的访问来满足对SCA自己提供的业务服务的统一访问。

SCA规范由许多文档共同描述,每一文档描述SCA中的一个方面。装配模型(Assembly Model)描述了组件间的配线连接。装配模型独立于实现语言。客户端和实现 描述了服务的实现和服务客户端—— 每一种实现语言有其自己的客户端和针对该语言的SCA模型实现规范。

原文