服務組件架構(gòu)(SCA)語言無關(guān)的編程模型,它提供了一種統(tǒng)一的面向服務構(gòu)件的調(diào)用方式,使得客戶可以把不同的軟件模塊通過服務構(gòu)件的標準化而統(tǒng)一地封裝起來和被調(diào)用訪問。SCA描述了利用面向服務架構(gòu)(SOA)來構(gòu)建應用程序和系統(tǒng)的模型。SCA是基于開放標準(例如Web服務)構(gòu)建的,它擴展和補充了先前的服務實現(xiàn)方法。
SCA的基本思想是將業(yè)務功能作為一系列服務來提供,這些服務組合到一起,以創(chuàng)建滿足特定業(yè)務需要的解決方案。這些復合應用程序既可以包含專門為該應用程序創(chuàng)建的新服務,也可以包含來自現(xiàn)有系統(tǒng)和應用程序的業(yè)務功能(作為復合應用程序的一部分來重用)。SCA為服務組合和服務組件的創(chuàng)建(包括SCA復合應用程序內(nèi)部現(xiàn)有應用程序功能的重用)提供了模型。
注:UML也是一種建模語言,而可以看到SCA組件模型是對應的不是UML中的類,而可能是一個粗粒度的組件包,對于粗粒度的組件包,特別是一個服務組件,我們關(guān)注的就是它暴露了哪些服務,有哪些屬性,引用了哪些其它子組件等。這些描述清楚了一個服務基本就描述清楚了。特別是在構(gòu)建組合服務的時候,我們看到服務和應用描述方式很容易將多個子組件串聯(lián)在一起,而不需要通過BPEL服務編排方式實現(xiàn)。
SCA這一模型旨在包含廣泛的服務組件技術(shù)以及用于連接這些組件的訪問方法。對于組件,它不僅包括各種編程語言,還包括通常與這些語言一起使用的框架和環(huán)境。對于訪問方法,SCA復合應用程序允許使用各種常用的通信和服務訪問技術(shù),例如,Web服務、消息傳遞系統(tǒng)和遠程過程調(diào)用(RPC)。
SCA包括如下規(guī)范
- SCA Java EJB客戶及實現(xiàn)(SCA Java EJB Client and Implementation)
- SCA裝配模型(SCA Assembly Model)定義了構(gòu)成一個SCA系統(tǒng)的各種構(gòu)件和他們之間的關(guān)系
- SCA策略框架(SCA Policy Framework)
- SCA Java注釋、API和組件實現(xiàn)
- SCA綁定(SCA Binding)規(guī)范適用于服務和服務需求
服務組件提供給別的服務調(diào)用的入口叫Interface(接口)。而服務組件本身可能也需要調(diào)用別的服務,這個調(diào)用出口叫Reference(引用)。無論是接口還是引用,其調(diào)用規(guī)范都是WSDL或Java接口SCA服務組件與傳統(tǒng)組件的主要區(qū)別在于:
- 服務組件往往是粗粒度的,而傳統(tǒng)組件以細粒度居多。
- 服務組件的接口是標準的,主要是WSDL接口,而傳統(tǒng)組件常以具體API形式出現(xiàn)。
- 服務組件的實現(xiàn)與語言是無關(guān)的,而傳統(tǒng)組件常綁定某種特定的語言
服務數(shù)據(jù)對象(SDO)
統(tǒng)一訪問不同數(shù)據(jù)源的數(shù)據(jù)編程模型,讓開發(fā)人員可以從不同的數(shù)據(jù)源以統(tǒng)一的方式訪問和操縱數(shù)據(jù)。服務數(shù)據(jù)對象(SDO)的設計是為了簡化和統(tǒng)一應用程序處理數(shù)據(jù)的方式。利用SDO,應用程序編程人員可以一致地訪問和操縱來自異構(gòu)數(shù)據(jù)源的數(shù)據(jù),包括關(guān)系數(shù)據(jù)庫、XML數(shù)據(jù)源、Web服務和企業(yè)信息系統(tǒng)。
在SDO中有兩個要素,一個是數(shù)據(jù)視圖,一個是數(shù)據(jù)視圖中的數(shù)據(jù)對象。數(shù)據(jù)視圖是描述數(shù)據(jù)對象的分層結(jié)構(gòu),包括數(shù)據(jù)對象樹和更改摘要;而數(shù)據(jù)對象是保存數(shù)據(jù)的組件,有鍵/值對組成,每個值可以是原始的數(shù)據(jù)類型,也可以是一個數(shù)據(jù)對象,并支持序列化。
為何要采用SCA和SDO?因為通過SCA和SDO獲得了更高的靈活性和更高的開發(fā)效率。可以在不改變應用程序情況下,使用不同的技術(shù)來作為組件的實現(xiàn),或者改變通信協(xié)議等等,同時模塊也可以根據(jù)容易的被重用和組裝,易于修改和變更。
Author: orangelizq
email: orangelizq@163.com
posted on 2010-11-30 09:57
桔子汁 閱讀(471)
評論(0) 編輯 收藏 所屬分類:
SOA