Service Component Architecture(SCA) 是一組標準,描述了一個通過SOA構建應用系統(tǒng)的模型。SCA擴展并補充了之前服務實現(xiàn)的方法,構建在一些開放的標準之上,比如Web Services。
SCA提倡基于SOA的業(yè)務應用能夠用組件(component)的形式來實現(xiàn)業(yè)務邏輯,這些組件通過面向服務的接口提供功能(服務),或者使用別的組件通過面向服務的接口提供的功能,即服務引用(Service references)。SCA將構建一個SOA的應用切分為兩個主要步驟:
?1.服務組件的實現(xiàn):提供或者使用(consume)服務;
?2.服務組件的組裝:用來構建完整的業(yè)務應用,通過連接服務引用與服務(Through the wiring ??? of service reference to services)。
Figure 1. Service Component Architecture
SCA服務的實現(xiàn)支持使用多種的編程語言,既包括傳統(tǒng)的面向對象或過程的語言,如:Java,PHP,C++,COBOL,以XML為核心的BPEL,XSLT等,又包括一些聲明語言(declarative language)如:SQL和XQuery。SCA同樣支持異步的和面向消息的調用以及同步的調用返回模式。
SCA支持綁定(Bindings)一組訪問機制用來調用服務,包括Web Services,Messaging Systems 和 CORBA IIOP,Bindings 是聲明式的(are handled declarativly)獨立于實現(xiàn)代碼,SCA通過使用策略定義了基礎功能的使用,目的是為了更方便的應用到業(yè)務系統(tǒng)。
SCA提倡使用Service Data Object(SDO)來表示服務中使用或返回的業(yè)務數(shù)據(jù),提供對業(yè)務數(shù)據(jù)統(tǒng)一的訪問來滿足對SCA自己提供的業(yè)務服務的統(tǒng)一訪問。
SCA規(guī)范由許多文檔共同描述,每一文檔描述SCA中的一個方面。裝配模型(Assembly Model)描述了組件間的配線連接。裝配模型獨立于實現(xiàn)語言。客戶端和實現(xiàn) 描述了服務的實現(xiàn)和服務客戶端—— 每一種實現(xiàn)語言有其自己的客戶端和針對該語言的SCA模型實現(xiàn)規(guī)范。