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