隨筆-128  評論-55  文章-5  trackbacks-0
          服務(wù)組件架構(gòu)(SCA)語言無關(guān)的編程模型,它提供了一種統(tǒng)一的面向服務(wù)構(gòu)件的調(diào)用方式,使得客戶可以把不同的軟件模塊通過服務(wù)構(gòu)件的標(biāo)準(zhǔn)化而統(tǒng)一地封裝起來和被調(diào)用訪問。SCA描述了利用面向服務(wù)架構(gòu)(SOA)來構(gòu)建應(yīng)用程序和系統(tǒng)的模型。SCA是基于開放標(biāo)準(zhǔn)(例如Web服務(wù))構(gòu)建的,它擴展和補充了先前的服務(wù)實現(xiàn)方法。

          SCA的基本思想是將業(yè)務(wù)功能作為一系列服務(wù)來提供,這些服務(wù)組合到一起,以創(chuàng)建滿足特定業(yè)務(wù)需要的解決方案。這些復(fù)合應(yīng)用程序既可以包含專門為該應(yīng)用程序創(chuàng)建的新服務(wù),也可以包含來自現(xiàn)有系統(tǒng)和應(yīng)用程序的業(yè)務(wù)功能(作為復(fù)合應(yīng)用程序的一部分來重用)。SCA為服務(wù)組合和服務(wù)組件的創(chuàng)建(包括SCA復(fù)合應(yīng)用程序內(nèi)部現(xiàn)有應(yīng)用程序功能的重用)提供了模型。

          注:UML也是一種建模語言,而可以看到SCA組件模型是對應(yīng)的不是UML中的類,而可能是一個粗粒度的組件包,對于粗粒度的組件包,特別是一個服務(wù)組件,我們關(guān)注的就是它暴露了哪些服務(wù),有哪些屬性,引用了哪些其它子組件等。這些描述清楚了一個服務(wù)基本就描述清楚了。特別是在構(gòu)建組合服務(wù)的時候,我們看到服務(wù)和應(yīng)用描述方式很容易將多個子組件串聯(lián)在一起,而不需要通過BPEL服務(wù)編排方式實現(xiàn)。

          SCA這一模型旨在包含廣泛的服務(wù)組件技術(shù)以及用于連接這些組件的訪問方法。對于組件,它不僅包括各種編程語言,還包括通常與這些語言一起使用的框架和環(huán)境。對于訪問方法,SCA復(fù)合應(yīng)用程序允許使用各種常用的通信和服務(wù)訪問技術(shù),例如,Web服務(wù)、消息傳遞系統(tǒng)和遠(yuǎn)程過程調(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ī)范適用于服務(wù)和服務(wù)需求

          服務(wù)組件提供給別的服務(wù)調(diào)用的入口叫Interface(接口)。而服務(wù)組件本身可能也需要調(diào)用別的服務(wù),這個調(diào)用出口叫Reference(引用)。無論是接口還是引用,其調(diào)用規(guī)范都是WSDL或Java接口SCA服務(wù)組件與傳統(tǒng)組件的主要區(qū)別在于:
          • 服務(wù)組件往往是粗粒度的,而傳統(tǒng)組件以細(xì)粒度居多。
          • 服務(wù)組件的接口是標(biāo)準(zhǔn)的,主要是WSDL接口,而傳統(tǒng)組件常以具體API形式出現(xiàn)。
          • 服務(wù)組件的實現(xiàn)與語言是無關(guān)的,而傳統(tǒng)組件常綁定某種特定的語言

          服務(wù)數(shù)據(jù)對象(SDO)

          統(tǒng)一訪問不同數(shù)據(jù)源的數(shù)據(jù)編程模型,讓開發(fā)人員可以從不同的數(shù)據(jù)源以統(tǒng)一的方式訪問和操縱數(shù)據(jù)。服務(wù)數(shù)據(jù)對象(SDO)的設(shè)計是為了簡化和統(tǒng)一應(yīng)用程序處理數(shù)據(jù)的方式。利用SDO,應(yīng)用程序編程人員可以一致地訪問和操縱來自異構(gòu)數(shù)據(jù)源的數(shù)據(jù),包括關(guān)系數(shù)據(jù)庫、XML數(shù)據(jù)源、Web服務(wù)和企業(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ā)效率。可以在不改變應(yīng)用程序情況下,使用不同的技術(shù)來作為組件的實現(xiàn),或者改變通信協(xié)議等等,同時模塊也可以根據(jù)容易的被重用和組裝,易于修改和變更。


          Author: orangelizq
          email: orangelizq@163.com

          歡迎大家訪問我的個人網(wǎng)站 萌萌的IT人
          posted on 2010-11-30 09:57 桔子汁 閱讀(485) 評論(0)  編輯  收藏 所屬分類: SOA
          主站蜘蛛池模板: 合肥市| 永康市| 榆林市| 赤壁市| 三门县| 安丘市| 定日县| 鹤岗市| 丹巴县| 布拖县| 双城市| 天台县| 曲水县| 台北县| 呈贡县| 南木林县| 眉山市| 洱源县| 垫江县| 常德市| 新巴尔虎左旗| 固安县| 扎囊县| 永定县| 博乐市| 镇远县| 兴安盟| 凯里市| 依安县| 宾阳县| 汽车| 大丰市| 景洪市| 双江| 内黄县| 西充县| 咸阳市| 锡林郭勒盟| 广河县| 通化县| 临安市|