SOA之SCA/SDO標(biāo)準(zhǔn)體系介紹[zhuan]
引:Open CSA組織促進(jìn)了服務(wù)組件架構(gòu)(SCA)和服務(wù)數(shù)據(jù)對(duì)象(SDO)規(guī)范系列的創(chuàng)建和采用。
Open CSA組織促進(jìn)了服務(wù)組件架構(gòu)(SCA)和服務(wù)數(shù)據(jù)對(duì)象(SDO)規(guī)范系列的創(chuàng)建和采用。
服務(wù)組件架構(gòu)(SCA)
服務(wù)組件架構(gòu)(SCA)是一組規(guī)范,它描述了利用面向服務(wù)架構(gòu)(SOA)來(lái)構(gòu)建應(yīng)用程序和系統(tǒng)的模型。SCA是基于開放標(biāo)準(zhǔn)(例如Web服務(wù))構(gòu)建的,它擴(kuò)展和補(bǔ)充了先前的服務(wù)實(shí)現(xiàn)方法。
SCA的基本思想是將業(yè)務(wù)功能作為一系列服務(wù)來(lái)提供,這些服務(wù)組合到一起,以創(chuàng)建滿足特定業(yè)務(wù)需 要的解決方案。這些復(fù)合應(yīng)用程序既可以包含專門為該應(yīng)用程序創(chuàng)建的新服務(wù),也可以包含來(lái)自現(xiàn)有系統(tǒng)和應(yīng)用程序的業(yè)務(wù)功能(作為復(fù)合應(yīng)用程序的一部分來(lái)重 用)。SCA為服務(wù)組合和服務(wù)組件的創(chuàng)建(包括SCA復(fù)合應(yīng)用程序內(nèi)部現(xiàn)有應(yīng)用程序功能的重用)提供了模型。
SCA這一模型旨在包含廣泛的服務(wù)組件技術(shù)以及用于連接這些組件的訪問(wèn)方法。對(duì)于組件,它不僅包 括各種編程語(yǔ)言,還包括通常與這些語(yǔ)言一起使用的框架和環(huán)境。對(duì)于訪問(wèn)方法,SCA復(fù)合應(yīng)用程序允許使用各種常用的通信和服務(wù)訪問(wèn)技術(shù),例如,Web服 務(wù)、消息傳遞系統(tǒng)和遠(yuǎn)程過(guò)程調(diào)用(RPC)。
SCA包含以下規(guī)范:
SCA EJB組件模型
SCA Java EJB客戶及實(shí)現(xiàn)(SCA Java EJB Client and Implementation)規(guī)范描述了如何在SCA復(fù)合應(yīng)用程序中使用EJB和EJB模塊。它在兩個(gè)層次上定義了EJB的使用:
- 可以將完整的EJB模塊像SCA復(fù)合體一樣使用,不需要做任何內(nèi)部細(xì)節(jié)上的改動(dòng),借助SCA連接到EJB模塊提供的服務(wù)上,并將EJB模塊的服務(wù)需求連接到EJB模塊的外部組件所提供的服務(wù)上。
- 可以使用單個(gè)EJB,由SCA提供所有的連接。
SCA裝配模型
SCA裝配模型(SCA Assembly Model)定義了構(gòu)成一個(gè)SCA系統(tǒng)的各種構(gòu)件和他們之間的關(guān)系。包括:SCA復(fù)合體,SCA構(gòu)件,服務(wù),服務(wù)實(shí)現(xiàn),服務(wù)需要,連線等等。
SCA策略框架(SCA Policy Framework)
非功能性需求(例如安全性)的捕獲和表示是服務(wù)定義的一個(gè)重要方面,在組件和復(fù)合應(yīng)用程序的整個(gè)生命周期中都會(huì)對(duì)SCA產(chǎn)生影響。SCA提供了策略框架以支持約束、能力和服務(wù)質(zhì)量(QoS)預(yù)期的規(guī)范,從組件設(shè)計(jì)直到具體部署。此規(guī)范描述了框架及其使用。
SCA Java注釋、API和組件實(shí)現(xiàn)
SCA Java公共注釋和API(SCA Java Common Annotations and API)規(guī)范定義了Java API和注釋,以支持使用Java編程語(yǔ)言來(lái)構(gòu)建服務(wù)組件和服務(wù)客戶。有一些緊密相關(guān)的模型,它們描述了如何在SOA上下文中使用其他基于Java的框架 和模型,例如Spring和EJB,這些模型也使用此規(guī)范定義的公共注釋和API。此外,Java組件實(shí)現(xiàn)規(guī)范還定義了用于創(chuàng)建服務(wù)組件的簡(jiǎn)單Java POJO模型。
SCA客戶及實(shí)現(xiàn):C++
SCA C++客戶及實(shí)現(xiàn)(C++ C&I)規(guī)范定義了API和注釋,以支持使用C++來(lái)編寫適合SCA組裝模型的服務(wù)組件和服務(wù)客戶。
SCA客戶及實(shí)現(xiàn):BPEL
SCA WS-BPEL客戶及實(shí)現(xiàn)(BPEL C&I)模型指定了如何將WS-BPEL進(jìn)程用作SCA組件。
SCA客戶及實(shí)現(xiàn):PHP
針對(duì)PHP的SCA客戶及實(shí)現(xiàn)模型定義了如何在“SCA裝配”中使用PHP腳本和對(duì)象。
SCA客戶機(jī)及實(shí)現(xiàn):Spring
針對(duì)Spring的SCA Java客戶及實(shí)現(xiàn)模型指定了Spring框架如何與SCA一起使用,以實(shí)現(xiàn)以下目的:
進(jìn)行粗粒度的集成:與Spring的集成將在SCA復(fù)合體層次進(jìn)行,其中Spring應(yīng)用程序上下文提供了完整的SCA復(fù)合體,并通過(guò)SCA暴露的服務(wù)和服務(wù)需求。這意味著Spring應(yīng)用程序上下文定義了SCA復(fù)合體的具體實(shí)現(xiàn)的內(nèi)部結(jié)構(gòu)。
從SCA組件類型開始:利用Spring,可以實(shí)現(xiàn)任何SCA復(fù)合應(yīng)用程序,這些應(yīng)用程序使用WSDL或Java接口來(lái)定義可能具有某些特定于SCA擴(kuò)展的服務(wù)。
從Spring上下文開始:可以將任何有效的Spring應(yīng)用程序上下文用作SOA中的組件實(shí)現(xiàn)。特別地,應(yīng)該可以從任何Spring上下文生成SCA復(fù)合應(yīng)用程序,并在“SCA裝配”中使用這些復(fù)合應(yīng)用程序。
SCA綁定規(guī)范
SCA綁定(SCA Binding)規(guī)范適用于服務(wù)和服務(wù)需求。綁定允許通過(guò)特定的訪問(wèn)方法或傳輸來(lái)提供服務(wù)并滿足服務(wù)需求。
Web服務(wù)綁定允許利用Web服務(wù)技術(shù)來(lái)訪問(wèn)外部需求或公開SCA服務(wù)。SCA提供了服務(wù)組件之 間的互連的復(fù)合視圖,而Web服務(wù)提供了用于訪問(wèn)服務(wù)組件的互操作方式。Web服務(wù)綁定還提供了SCA系統(tǒng)與其他服務(wù)之間的互操作銜接,這里的其他服務(wù)是 指SCA系統(tǒng)的外部服務(wù),但它們供SCA復(fù)合體使用。
JMS綁定允許SCA組件使用JMS API來(lái)通信。它提供了連接到所需的JMS資源的JMS特有的連接細(xì)節(jié)。它支持使用Queue和Topic類型的目標(biāo)。
EJB Session Bean綁定可以將先前部署的Session Bean集成到SCA裝配中,并允許向使用EJB編程模型的客戶公開SCA服務(wù)。EJB綁定既支持無(wú)狀態(tài)的Session Bean模型也支持有狀態(tài)的Session Bean模型。
服務(wù)數(shù)據(jù)對(duì)象(SDO)
服務(wù)數(shù)據(jù)對(duì)象(SDO)的設(shè)計(jì)是為了簡(jiǎn)化和統(tǒng)一應(yīng)用程序處理數(shù)據(jù)的方式。利用SDO,應(yīng)用程序編程人員可以一致地訪問(wèn)和操縱來(lái)自異構(gòu)數(shù)據(jù)源的數(shù)據(jù),包括關(guān)系數(shù)據(jù)庫(kù)、XML數(shù)據(jù)源、Web服務(wù)和企業(yè)信息系統(tǒng)。
為支持各種可能的應(yīng)用,標(biāo)準(zhǔn)中包括了對(duì)各種常用語(yǔ)言的支持,包括:SDO for Java and C++,SDO for PHP,SDO for C,SDO for COBOL。詳細(xì)內(nèi)容可以從相關(guān)的白皮書和規(guī)范正文中獲得。
posted on 2008-03-11 13:04 gembin 閱讀(581) 評(píng)論(0) 編輯 收藏 所屬分類: SCA 、SOA