小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SCA 應(yīng)用程序開發(fā): 第 1 部分:服務(wù)組件體系結(jié)構(gòu)概述

 gujin2006 2007-08-18

2006 年 12 月 07 日

本 文是介紹服務(wù)組件體系結(jié)構(gòu)(Service Component Architecture,SCA)的系列文章的第 1 部分。此部分將概覽 SCA,并說明它如何簡化使用面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)所構(gòu)建的業(yè)務(wù)應(yīng)用程序的設(shè)計和集成。本系列的后續(xù)文章將討論 SCA 體系結(jié)構(gòu)及其主要概念,包括服務(wù)實現(xiàn)、服務(wù)客戶機(jī)和各種組件的組裝。

引言

面向服務(wù)的體系結(jié)構(gòu) (SOA) 是一個框架,用于組合各個業(yè)務(wù)功能和流程(稱為服務(wù)),以便實現(xiàn)復(fù)雜的業(yè)務(wù)應(yīng)用程序和流程。在 SOA 框架中,相對粗粒度的業(yè)務(wù)組件被作為服務(wù)公開。SOA 將 IT 資產(chǎn)構(gòu)造為一系列可重用的服務(wù),這些服務(wù)是松散耦合的,與平臺和實現(xiàn)無關(guān)。SOA 將解決方案設(shè)計為服務(wù)的組裝,通過定義良好的接口和契約進(jìn)行連接。

服務(wù)組件體系結(jié)構(gòu) (SCA) 是一個規(guī)范,它描述用于使用 SOA 構(gòu)建應(yīng)用程序和系統(tǒng)的模型。它可簡化使用 SOA 進(jìn)行的應(yīng)用程序開發(fā)和實現(xiàn)工作。

動機(jī)

SCA 可簡化使用 SOA 構(gòu)建的業(yè)務(wù)應(yīng)用程序的創(chuàng)建和集成。SCA 提供了構(gòu)建粗粒度組件的機(jī)制,這些粗粒度組件由細(xì)粒度組件組裝而成。

SCA 將傳統(tǒng)中間件編程從業(yè)務(wù)邏輯分離出來,從而使程序員免受其復(fù)雜性的困擾。它允許開發(fā)人員集中精力編寫業(yè)務(wù)邏輯,而不必將大量的時間花費在更為底層的技術(shù)實現(xiàn)上。

SCA 方法的優(yōu)勢包括:

  • 簡化業(yè)務(wù)組件開發(fā)
  • 簡化作為服務(wù)網(wǎng)絡(luò)構(gòu)建的業(yè)務(wù)解決方案的組裝和部署
  • 提高可移植性、可重用性和靈活性
  • 通過屏蔽底層技術(shù)變更來保護(hù)業(yè)務(wù)邏輯資產(chǎn)
  • 提高可測試性

SCA 體系結(jié)構(gòu)

SCA 將構(gòu)建面向服務(wù)的應(yīng)用程序的步驟劃分為兩個主要部分:

  • 實現(xiàn)提供服務(wù)和使用其他服務(wù)的組件
  • 組裝組件,以通過服務(wù)引用其他服務(wù)的方式來構(gòu)建業(yè)務(wù)應(yīng)用程序

SCA 提供了一種機(jī)制,用于打包和部署那些緊密相關(guān)的組件,這些組件是作為一個整體開發(fā)和部署的。這種機(jī)制使服務(wù)的實現(xiàn)和組裝避免了陷入基礎(chǔ)設(shè)施功能的細(xì)節(jié),也避免了調(diào)用外部系統(tǒng)。這樣可支持不同基礎(chǔ)設(shè)施間的服務(wù)可移植性。

服務(wù)實現(xiàn)和服務(wù)客戶機(jī)

服務(wù)實現(xiàn)是業(yè)務(wù)邏輯的具體實現(xiàn),提供服務(wù)和/或使用服務(wù)。這些實現(xiàn)會使用眾多實現(xiàn)技術(shù)中的任意一種,如 Java?、BPEL 或 C++。實現(xiàn)是業(yè)務(wù)流程的“仆人”。

實現(xiàn)可以提供服務(wù),而服務(wù)則是由一個接口定義的一組操作,此接口供其他組件調(diào)用。實現(xiàn)也可以調(diào)用其他服務(wù),稱之為服務(wù)引用,服務(wù)引用指示了此實現(xiàn)對外界服務(wù)的依賴關(guān)系。實現(xiàn)還可以具有一個或多個可配置屬性。屬性是可以從外部配置的數(shù)據(jù)值,會影響此實現(xiàn)的業(yè)務(wù)功能。

SCA 服務(wù)通常對參數(shù)和返回值使用文檔樣式的業(yè)務(wù)數(shù)據(jù),最好使用服務(wù)數(shù)據(jù)對象(Service Data Object,SDO)表示這些參數(shù)(有關(guān)更多信息,請參見參考資料部分)。

服務(wù)、引用和屬性是實現(xiàn)的可配置方面——SCA 將其統(tǒng)稱為組件類型。

配置引用是通過將引用綁定到目標(biāo)服務(wù)來完成的,隨后實現(xiàn)可以通過調(diào)用引用來使用目標(biāo)服務(wù)。屬性的配置將涉及到為屬性設(shè)置具體的數(shù)據(jù)值。在 SCA 框架中,可以使用一個實現(xiàn)構(gòu)建多個不同的組件,每個組件具有不同的引用和屬性配置。組件及其服務(wù)可以被其他本地組件調(diào)用,或者用于遠(yuǎn)程訪問。

組裝

組裝一個組合業(yè)務(wù)應(yīng)用程序的過程,在此過程中配置并連接提供服務(wù)實現(xiàn)的組件。SCA 組裝在兩個層次進(jìn)行:

  • 系統(tǒng)內(nèi)松散連接的組件的組裝
  • 模塊內(nèi)松散連接的組件的組裝

SCA 組裝模型包括一系列由 XML 元素定義的構(gòu)件。

模塊組裝

SCA 模塊 是一起開發(fā)和部署到 SCA 系統(tǒng) 的最大緊密耦合組件。它是 SCA 系統(tǒng)內(nèi)的松散耦合組合的基本單元。SCA 模塊包含一系列組件、外部服務(wù)、入口點,以及用于銜接這些部分的機(jī)制。模塊向 SCA 系統(tǒng)提供服務(wù)實現(xiàn)。

入口點 定義模塊提供的公共服務(wù),此服務(wù)可以由同一模塊內(nèi)的其他組件使用,也可以在模塊外使用。入口點用于使用特定的綁定 發(fā)布模塊提供的服務(wù)。

模塊內(nèi)的外部服務(wù) 表示其他模塊提供的遠(yuǎn)程服務(wù)。它們位于使用此服務(wù)的 SCA 模塊之外。組件可以像訪問 SCA 組件提供的任何服務(wù)一樣訪問這些外部服務(wù)。外部服務(wù)使用綁定來描述對外部服務(wù)的訪問。

外部服務(wù)的接口必須為可遠(yuǎn)程訪問的。

系統(tǒng)組裝

SCA 系統(tǒng) 中,SCA 系統(tǒng) 用于聚合那些提供了相關(guān)業(yè)務(wù)功能的模塊。這是通過配置和管理模塊組件、外部服務(wù)、入口點,以及連接機(jī)制來完成的。SCA 系統(tǒng)的配置由所有部署到其中的子系統(tǒng)的組合加以表示。圖 1 是系統(tǒng)組裝的一個示例;它說明了如何使用服務(wù)和引用連接各個子系統(tǒng)和模塊。


圖 1. 服務(wù)組件體系結(jié)構(gòu)
服務(wù)組件體系結(jié)構(gòu)

讓我們逐個分析一下圖 1 中所看到的內(nèi)容:

  • 子系統(tǒng)配置中的模塊組件表示 SCA 模塊的一個已配置實例,模塊組件可以在其中為模塊的外部服務(wù)設(shè)置值,并能夠為模塊公開的屬性設(shè)置值。
  • 外部服務(wù)是位于使用服務(wù)的 SCA 系統(tǒng)外部的遠(yuǎn)程服務(wù)。模塊級別的外部服務(wù)與系統(tǒng)級別的外部服務(wù)的不同之處包括:
    • 名稱必須在子系統(tǒng)中定義的所有外部服務(wù)中保持唯一性。
    • 子系統(tǒng)中沒有與模塊組件具有相同名稱的外部服務(wù),因為它們都可能成為連接機(jī)制的目標(biāo)。
  • 入口點用于聲明可外部訪問的子系統(tǒng)服務(wù)。它們由其他組裝或客戶作為 Web 服務(wù)使用。模塊級別的入口點和系統(tǒng)級別的入口點的不同之處包括:
    • 名稱必須在子系統(tǒng)內(nèi)定義的所有入口點中保持唯一性。子系統(tǒng)內(nèi)不能存在與模塊組件同名的入口點。
    • 引用子元素的指定是可選的,因為可以通過另一個子系統(tǒng)提供的連接機(jī)制進(jìn)行連接。

開放源代碼運行時和工具

有一個開放源代碼項目提供服務(wù)組件體系結(jié)構(gòu)的運行時實現(xiàn),您可以使用該實現(xiàn)來運行 SCA 應(yīng)用程序。此項目稱為 Tuscany,目前在 Apache 中處于孵化期。此項目的主要參與者有 IBM、BEA、OracleSybase、SAPIONASiebel。

結(jié)束語

在本文中,我們介紹了 SCA 體系結(jié)構(gòu)及其組裝模型,并說明了 SCA 子系統(tǒng)及各種組件,包括組成此子系統(tǒng)的模塊、連接機(jī)制和外部服務(wù)。這些細(xì)節(jié)應(yīng)該能夠幫助您理解使用 SCA 構(gòu)建和集成不同業(yè)務(wù)應(yīng)用程序所需的各個概念。



參考資料



作者簡介


Sreedevi Penugonda 是 IBM Java 技術(shù)中心的一位系統(tǒng)軟件工程師。她專長于分布式對象計算系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)及算法和操作系統(tǒng)



Rakesh Kumar Dash 是 IBM Java 技術(shù)中心的一位系統(tǒng)軟件工程師。他對 RMI 和 ORB 開發(fā)進(jìn)行了廣泛的研究。他所感興趣的領(lǐng)域包括 SOA、Web 服務(wù)、CORBA 和操作系統(tǒng)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多