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
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模型實現規范。
原文