隨筆-128  評(píng)論-55  文章-5  trackbacks-0
                  SOA已經(jīng)成為公認(rèn)的IT基礎(chǔ)架構(gòu)發(fā)展的趨勢(shì),它為我們描繪了一幅美妙的IT系統(tǒng)和業(yè)務(wù)系統(tǒng)完美結(jié)合的圖畫。然而,即使是在各咨詢機(jī)構(gòu)推崇SOA,各廠商大肆宣傳推廣SOA,用戶普遍認(rèn)可SOA的今天,SOA的美好未來依然給人一種不清晰、不踏實(shí)的感覺。

            我們常常說SOA需要解決如何落地的問題。這個(gè)難題無法一蹴而就,必須花費(fèi)很多時(shí)間才能逐步進(jìn)行解決。但在目前,我們已經(jīng)為SOA找到了一個(gè)著地的落腳點(diǎn),這就是SCA/SDO規(guī)范。

            2005年11月, IBM、BEA、IONA、Oracle、S等幾家廠商就合作建立新的業(yè)內(nèi)規(guī)范來簡化 SOA 應(yīng)用發(fā)展達(dá)成了一致,共同發(fā)布了兩項(xiàng)針對(duì)SOA的重要構(gòu)件模型規(guī)范——SCA 0.9和SDO。此后,該團(tuán)體陸續(xù)吸引了Red Hat、普元、TIBCO等多家公司的加盟,形成了OSOA(Open Service Oriented Architecture)聯(lián)盟,目前成員數(shù)量達(dá)到18家。OSOA聯(lián)盟旨在為SOA起草一系列的規(guī)范,并以免版稅的許可方式提供給業(yè)界使用。AP

            2007年3月,OSOA聯(lián)盟宣布了SCA和SDO規(guī)范中關(guān)鍵部分的完成,發(fā)布了SCA 1.0和SDO 2.1,并將其正式提交給OASIS,通過其開放式標(biāo)準(zhǔn)過程進(jìn)行推動(dòng)。

            SCA規(guī)范旨在簡化服務(wù)的創(chuàng)建和合成,對(duì)于運(yùn)用基于SOA方式服務(wù)的應(yīng)用構(gòu)建十分關(guān)鍵。隨著SCA規(guī)范的完成,聯(lián)盟合作廠商希望將其標(biāo)準(zhǔn)化過程提交給OASIS。此外,聯(lián)盟廠商也已完成了SDO規(guī)范,旨在實(shí)現(xiàn)對(duì)多個(gè)站點(diǎn)中多種格式數(shù)據(jù)的統(tǒng)一訪問,并將把SDO基于Java的規(guī)范開發(fā)和管理提交給Java社團(tuán)過程(Java Community Process,JCP)組織,而基于非Java的規(guī)范(C++)提交給OASIS。

            SCA和SDO規(guī)范能幫助企業(yè)更便捷地創(chuàng)建新的以及改造現(xiàn)有的IT資產(chǎn),使之可復(fù)用、易整合,以滿足不斷變化的業(yè)務(wù)需求。這些規(guī)范提供了統(tǒng)一服務(wù)的途徑,大大降低了在應(yīng)用開發(fā)過程中,因程序設(shè)計(jì)語言與部署平臺(tái)的不同而產(chǎn)生的復(fù)雜性。SCA和SDO規(guī)范都是用于簡化業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)呈現(xiàn)的新興技術(shù)。

            “我們對(duì)OSOA聯(lián)盟取得這一里程碑成就,并選擇了在接下來通過開放標(biāo)準(zhǔn)過程繼續(xù)推動(dòng)這一重要工作表示歡迎和贊賞,”OASIS CEO和總裁Patrick Gannon說,“我們希望能進(jìn)一步推進(jìn)SCA規(guī)范,實(shí)現(xiàn)標(biāo)準(zhǔn)化,獲得最廣泛的行業(yè)應(yīng)用。”

            OASIS不只是研究和產(chǎn)生標(biāo)準(zhǔn),同時(shí)也跟其他國際組織一起合作推動(dòng)標(biāo)準(zhǔn)的采用和技術(shù)的發(fā)展。通過十多年的努力,OASIS已經(jīng)得到廣泛的承認(rèn),可以直接向國際標(biāo)準(zhǔn)組織、國際電聯(lián)和聯(lián)合國相關(guān)標(biāo)準(zhǔn)組織直接提交標(biāo)準(zhǔn)提案。

            SCA是一種規(guī)范,它使開發(fā)人員可以將注意力集中在業(yè)務(wù)邏輯的編寫上。更直接地說,它是一種大大改進(jìn)了的部署描述符,它可以使用任何語言而不限于Java。此外,編程人員還可以使用編程式語言和聲明式語言,比如BPEL和XSLT(eXtensible Stylesheet Language Transformation,擴(kuò)展樣式表轉(zhuǎn)換語言)。SCA的特別之處在于,它對(duì)安全性、事務(wù)和可靠消息傳遞之類的特性使用了聲明式策略的理念。

            SCA是專門針對(duì)SOA設(shè)計(jì)的,而不像J2EE只是面向SOA做了修改。SCA關(guān)注的是如何描述按照各種編程模型和協(xié)議編寫的組件所組成的程序集。SCA允許開發(fā)應(yīng)用程序集而不考慮特定的API或具體語言。中間件

            SCA的核心概念是服務(wù)及其相關(guān)實(shí)現(xiàn)。服務(wù)由接口定義,而接口包含一組操作。服務(wù)實(shí)現(xiàn)可以引用其他服務(wù),稱為引用。服務(wù)可以有一個(gè)或多個(gè)屬性,這些屬性是可以在外部配置的數(shù)據(jù)值。

            SCA中的一個(gè)關(guān)鍵推動(dòng)因素是SDO(Service Data Object,服務(wù)數(shù)據(jù)對(duì)象)。SDO用于表示業(yè)務(wù)數(shù)據(jù)、參數(shù)以及服務(wù)調(diào)用的返回值,當(dāng)它遍歷服務(wù)網(wǎng)絡(luò)時(shí),它還是一種表示數(shù)據(jù)的方式。注意,也可以使用XML Beans及其他技術(shù)。

            SCA組件被組成為程序集。程序集是服務(wù)級(jí)的應(yīng)用程序,它是服務(wù)的集合,這些服務(wù)被連接在一起,并進(jìn)行了正確的配置。SCA程序集運(yùn)行在兩個(gè)級(jí)別:第一種情況,程序集是系統(tǒng)內(nèi)的一組松散連接的組件;另一種情況,程序集是模塊內(nèi)的一組松散連接的組件。二者的區(qū)別在于,一般來說,模塊是組件的集合,而系統(tǒng)是模塊的集合。此外,系統(tǒng)對(duì)應(yīng)于“大規(guī)模編程”(programming in the large或megaprogramming),而模塊對(duì)應(yīng)于“小規(guī)模編程”(programming in the small),比如構(gòu)建當(dāng)今的典型應(yīng)用程序。

            將組件連接到它所依賴的服務(wù)的方式就是服務(wù)網(wǎng)絡(luò)“裝配”的方式。程序集已經(jīng)在許多技術(shù)和框架中廣為應(yīng)用,比如CORBA、J2EE、ATG Dynamo和Spring,也就是說,它并不是新出現(xiàn)的。從這些技術(shù)中我們可以知道,程序集提供了許多重要的優(yōu)點(diǎn),比如更輕松的迭代開發(fā),以及避免使業(yè)務(wù)邏輯依賴于中間件容器。SCA使用程序集解決了許多SOA開發(fā)中的重要問題,包括:

            *業(yè)務(wù)邏輯與底層基礎(chǔ)架構(gòu)、服務(wù)質(zhì)量和傳輸?shù)姆蛛x。

            *“小規(guī)模編程”與“大規(guī)模編程”的聯(lián)系。

            *為架構(gòu)的設(shè)計(jì)、編碼和操作性部署在自底向上(bottom-up)和自頂向下(top-down)兩種方法中來回切換提供了一種統(tǒng)一的方式。




          Author: orangelizq
          email: orangelizq@163.com

          歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人
          posted on 2010-11-30 09:54 桔子汁 閱讀(586) 評(píng)論(0)  編輯  收藏 所屬分類: SOA
          主站蜘蛛池模板: 仲巴县| 莱阳市| 庆云县| 开封县| 二连浩特市| 章丘市| 商都县| 尤溪县| 阆中市| 东光县| 舒兰市| 广东省| 白玉县| 静海县| 客服| 罗山县| 广州市| 无为县| 儋州市| 南华县| 崇州市| 德令哈市| 南安市| 石狮市| 泰宁县| 甘肃省| 会宁县| 远安县| 济宁市| 昌黎县| 大名县| 龙口市| 留坝县| 公主岭市| 米林县| 新宾| 普陀区| 汉川市| 广水市| 攀枝花市| 霍城县|