SCA軟體架構設計理念分析

來源:互聯網
上載者:User

1、概述

SCA (Service Component Architecture) 是一個開發SOA(Service-Oriented Architecture)面向服務應用的簡單模型規範,它描述用於使用SOA構建應用程式和系統的模型。它可簡化使用SOA進行的應用程式開發和實現工作。SCA僅僅是個規範(http://www.osoa.org),各個涉及SOA技術的公司的實現也各不相同。本文主要分析Apache Tuscany開源項目 (http://incubator.apache.org/tuscany/)中的SCA設計架構;因為我們不能滿足於會用,而從這些大師們的作品中汲取營養,知其然,也要知其所以然,當我們面對需求(比如說SCA規範),都擁有同樣的語言功底,如何設計一個開放性,可擴充性的架構,就是一個挑戰。因為Tuscany設計理念博大精深,開放式的結構思想,效能方面的考慮,安全方面的考慮,不一而足,所以不可能在一篇短文中詳細介紹,將在後續的文章中不斷地深入剖析,提取設計架構和設計技巧的精華之處,供廣大軟體界同仁共用。

2、SCA規範基礎知識

SCA編程模型是高擴充性和語言中立的,它易於被擴充為多種實現語言技術JAVA,C++,BPEL,PHP, Spring等,多種遠端存取bindings包括Web Service,JMS, EJB,JSON RPC等,多種主機環境例如Tomcat,Jetty,Geronimo,OSGI等。SCA分隔式架構可以使開發人員更注重商務邏輯,而不必要關注諸如可靠性,安全,事務等系統屬性,這些屬性都配置到設定檔中。SCA的組成部分如下圖所示:(本文涉及的SCA術語不翻譯)

圖1

(1)Component

深藍色方框(Component A和Component B)表示是Component。Component是SCA原子(最基層的組織單元),其封裝了實際的商務邏輯。Component可以採用運行環境支援的任何編程技術實現。例如,Apache Tuscany項目目前支援Java、JavaScript、Ruby、Python和C++組件類型,同時為建立新的組件類型提供了擴充API。

(2)Property

Property (Component A和Component B上方的黃色方框和Composite A的黃色小方框)。Property控制Component的行為,在部署其間可以被可改變。同時Composite也可以有Property,但其Property是Component Property升級(Promote)後的Property。

(3)Service

Service是供其它Component調用時使用。在圖中介面用Component方框左邊的綠色箭頭來表示,被稱作SCA的“服務”(Service)。

(4)Reference

Component也描述了被該Component調用的其它組件的介面,在圖中這樣的介面用組件方框右邊的粉紅色箭頭來表示,稱為SCA的“引用”(Reference)。這些Service和Reference被串連在一起,組成一個可啟動並執行系統。

(5)Composite

如果說Component是SCA架構中的原子,那麼Composite就是SCA架構中的分子;圖中的兩個Component,A和B,被組裝在一個更大Composite範圍內,被稱作Composite A。SCA的Composite描述了一個由互相串連的Component所構成的集合。正如你所看到,Composite也聲明了Service和Reference,它們被暴露到Composite外部。Composite的service和Reference是Composite內部的Component的Service和Reference的升級。一個Composite內部的Component彼此串連就如同建立一個運行在同一進程中的緊耦合的應用程式。將Composite通過Service和Reference串連在一起,則形成了一個更加松耦合的系統;系統中的每一個Composite都可能運行在一個單獨的進程或處理器中,在網路中通過各種的協議和傳輸綁定串連起來。通過這個途徑SCA為獨立和分布式應用提供了統一的編程模型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.