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