• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析面向服務(wù)的體系結(jié)構(gòu)SOA

      2009-09-11 08:25:32丁敏英羅立紅
      關(guān)鍵詞:WEB服務(wù)

      丁敏英 羅立紅

      摘要:SOA是一種對(duì)未來(lái)軟件架構(gòu)設(shè)計(jì)有著巨大影響的技術(shù)。文章就什么是SOA;SOA的特點(diǎn);SOA用于解決哪些問(wèn)題;SOA相關(guān)的技術(shù)以及SOA與Web service的區(qū)別等問(wèn)題提出自己的理解。總結(jié)出SOA的特性。

      關(guān)鍵詞:SOA系統(tǒng)架構(gòu);分層模型;Web服務(wù)

      中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1674-1145(2009)09-0147-02

      一、SOA產(chǎn)生的背景

      現(xiàn)代企業(yè)面臨的環(huán)境越來(lái)越復(fù)雜,一個(gè)企業(yè)往往具有多個(gè)業(yè)務(wù)系統(tǒng),而且這些系統(tǒng)往往是異構(gòu)的,而且可能需要與客戶、合作伙伴的業(yè)務(wù)系統(tǒng)交互。因此在這樣的復(fù)雜環(huán)境中構(gòu)件新的企業(yè)應(yīng)用是非常困難的。這就要求今天的企業(yè)解決方案具有廣泛的兼容能力,可以支持不同的系統(tǒng)平臺(tái)、數(shù)據(jù)格式和多種連接,要求在Internet環(huán)境下,實(shí)現(xiàn)系統(tǒng)是松散藕荷的、跨平臺(tái)的、與語(yǔ)言、接口無(wú)關(guān)的,而且要求提供對(duì)Web應(yīng)用程序的可靠訪問(wèn)等等。各種系統(tǒng)間的互操作性就顯得必要,要求系統(tǒng)能夠無(wú)縫地進(jìn)行通信和共享數(shù)據(jù),從而在Internet環(huán)境下,消除巨大的信息孤島,實(shí)現(xiàn)信息共享、進(jìn)行數(shù)據(jù)交換,達(dá)到信息的一致性。SOA就是為了適應(yīng)這種復(fù)雜多變的應(yīng)用環(huán)境,用一種不同于以往的方式來(lái)快速、簡(jiǎn)便地開(kāi)發(fā)企業(yè)應(yīng)用系統(tǒng),為企業(yè)在激烈的市場(chǎng)競(jìng)爭(zhēng)中搶得先機(jī)。

      二、什么是面向服務(wù)的體系結(jié)構(gòu)(SOA)

      面向服務(wù)的體系結(jié)構(gòu)(serviee-oriented architecture。SOA)是指為了解決在Internet環(huán)境下業(yè)務(wù)集成的需要,通過(guò)連接能夠完成特定任務(wù)的獨(dú)立功能實(shí)體的一種系統(tǒng)架構(gòu)。是一個(gè)組件模型,它將應(yīng)用系統(tǒng)的不同功能實(shí)體(稱為服務(wù))通過(guò)定義良好的接口和契約聯(lián)系起來(lái),從而使得開(kāi)發(fā)人員能夠調(diào)用服務(wù)的功能來(lái)快速便捷地構(gòu)造企業(yè)所需業(yè)務(wù)系統(tǒng)。服務(wù)的接口是采用中立的方式進(jìn)行定義的,獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境和編程語(yǔ)言等。使得構(gòu)建在這樣的系統(tǒng)架構(gòu)中的各種服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。這種具有中立的接口定義(沒(méi)有強(qiáng)制綁定到特定的實(shí)現(xiàn)上)的特征稱為服務(wù)之間的松耦合。

      從SOA的定義中,我們看到兩點(diǎn):(1)軟件系統(tǒng)架構(gòu):SOA不是一種語(yǔ)言,也不是一種具體的技術(shù),更不是一種產(chǎn)品,而是一種軟件系統(tǒng)架構(gòu),它嘗試給出在特定環(huán)境下推薦采用的一種架構(gòu),從這個(gè)角度上來(lái)說(shuō),它其實(shí)更像一種架構(gòu)模式(Pat-tern),是一種理念架構(gòu),是人們面向應(yīng)用服務(wù)的解決方案框架;(2)服務(wù)(service):服務(wù)是整個(gè)SOA實(shí)現(xiàn)的核心。SOA架構(gòu)的基本元素是服務(wù),服務(wù)是一種邏輯實(shí)體,由一個(gè)或多個(gè)已發(fā)布接口定義的契約,是外部可見(jiàn)的功能。SOA指定一組實(shí)體(服務(wù)提供者、服務(wù)消費(fèi)者、服務(wù)注冊(cè)中心、服務(wù)條款、服務(wù)代理和服務(wù)契約),這些實(shí)體詳細(xì)說(shuō)明了如何提供和消費(fèi)服務(wù)。遵循SOA觀點(diǎn)的系統(tǒng)必須要有服務(wù),這些服務(wù)是可互操作的、獨(dú)立的、模塊化的、位置明確的、松耦合的并且可以通過(guò)網(wǎng)絡(luò)查找其地址。

      服務(wù)是SOA的核心,具有如下一些特點(diǎn):

      1.服務(wù)的重用(Reuse)。服務(wù)的可重用性顯著地降低了企業(yè)應(yīng)用系統(tǒng)開(kāi)發(fā)的成本。為了實(shí)現(xiàn)可重用性,服務(wù)只工作在特定處理過(guò)程的上下文(context)中,獨(dú)立于底層實(shí)現(xiàn)和客戶需求的變更。

      2.服務(wù)的互操作(internperability)?;ゲ僮鞑⒉皇且粋€(gè)新概念。在CORBA、DCOM、Web service中就已經(jīng)采用互操作技術(shù)了。在SOA中,通過(guò)服務(wù)之間既定的通信協(xié)議進(jìn)行互操作。主要有同步和異步兩種通信機(jī)制。SOA提供服務(wù)的互操作特性更利于其在多個(gè)場(chǎng)合被重用。

      3.服務(wù)是自治的(Autonomous)功能實(shí)體。服務(wù)是由組件組成的組合模塊,是自包含和模塊化的。SOA非常強(qiáng)調(diào)架構(gòu)中提供服務(wù)的功能實(shí)體的完全獨(dú)立自主的能力。SOA架構(gòu)中非常強(qiáng)調(diào)功能實(shí)體自我管理和恢復(fù)能力。常見(jiàn)的用來(lái)進(jìn)行自我恢復(fù)的技術(shù),比如事務(wù)處理(Transaction),消息隊(duì)列(Message Queue),冗余部署(Redundant Deploymen)和集群系統(tǒng)(Clus-ter)在SOA中都起到至關(guān)重要的作用。

      4.服務(wù)之間的松耦合(Loosly Coupled)在基于SOA架構(gòu)的系統(tǒng)中,具體應(yīng)用系統(tǒng)的功能是由一些松耦合并且具有中立接口定義的服務(wù)組合構(gòu)建起來(lái)的。松耦合系統(tǒng)的好處有兩點(diǎn),一點(diǎn)是它的靈活性;另一點(diǎn)是,當(dāng)組成整個(gè)應(yīng)用程序的每個(gè)服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)逐漸地發(fā)生改變時(shí),它能夠繼續(xù)存在。比如:服務(wù)提供者可以將以前基于遺留代碼(例如,COBOD的實(shí)現(xiàn)完全用基于Java語(yǔ)言的新代碼取代,同時(shí)又不對(duì)服務(wù)請(qǐng)求者造成任何影響。

      5.服務(wù)是位置透明的(Location Transparency)服務(wù)是針對(duì)業(yè)務(wù)需求設(shè)計(jì)的。需要反應(yīng)需求的變化,要想真正實(shí)現(xiàn)業(yè)務(wù)與服務(wù)的分離,就必須使得服務(wù)的設(shè)計(jì)和部署對(duì)用戶來(lái)說(shuō)是完全透明的。也就是說(shuō),用戶完全不必知道響應(yīng)自己需求的服務(wù)的位置,甚至不必知道具體是哪個(gè)服務(wù)參與了響應(yīng)。

      三、SOA架構(gòu)的分層模型

      整個(gè)SOA架構(gòu)的分層模型如圖1所示。

      在SOA系統(tǒng)中不同的功能模塊可以被分為7層:

      第1層就是企業(yè)已經(jīng)存在的系統(tǒng)資源,例如企業(yè)ERP或者CRM系統(tǒng)等。

      第2層就是組件層,在這一層中我們用不同的組件把底層系統(tǒng)的功能封裝起來(lái)。

      第3層就是sOA系統(tǒng)中最重要的服務(wù)層,在這層中我們要用底層功能組件來(lái)構(gòu)建我們所需要的不同功能的服務(wù)。

      第4層就是商業(yè)流程層,在這一層中我們利用已經(jīng)封裝好的各種服務(wù)來(lái)構(gòu)建商業(yè)系統(tǒng)中的商業(yè)流程。

      第5層表示層,我們利用表示層來(lái)向用戶提供用戶接口服務(wù)。

      第6層企業(yè)服務(wù)總線(ESB)上面5層都需要有一個(gè)集成的環(huán)境來(lái)支持它們的運(yùn)行,企業(yè)服務(wù)總線(ESB)就提供了這樣的功能。

      第7層主要為整個(gè)SOA系統(tǒng)提供一些輔助的功能,例如服務(wù)質(zhì)量管理,安全管理這一類的輔助功能。

      四、SOA技術(shù)克服的傳統(tǒng)分布式系統(tǒng)開(kāi)發(fā)體系結(jié)構(gòu)中的一些問(wèn)題

      SOA最主要的應(yīng)用場(chǎng)合在于解決在Internet環(huán)境下不同商業(yè)應(yīng)用之間的業(yè)務(wù)集成問(wèn)題。Internet應(yīng)用環(huán)境有以下特點(diǎn):(1)大量異構(gòu)系統(tǒng)并存,比如在Internet環(huán)境中,計(jì)算機(jī)硬件體系結(jié)構(gòu)的差異,操作系統(tǒng)的不同,編程語(yǔ)言的不同,數(shù)據(jù)庫(kù)不同,應(yīng)用服務(wù)器不同,使用的規(guī)范不同等等;(2)大量、頻繁的數(shù)據(jù)傳輸速度緩慢并且不穩(wěn)定;(3)版本升級(jí)無(wú)法完成,根本就無(wú)法知道互聯(lián)網(wǎng)上有哪些機(jī)器直接或者間接地使用某個(gè)服務(wù)。

      1.大量異構(gòu)系統(tǒng)并存。在Internet這樣松散的使用環(huán)境中,任何訪問(wèn)請(qǐng)求都有可能出錯(cuò),因此任何企圖通過(guò)Internet進(jìn)行控制的結(jié)構(gòu)都會(huì)面臨嚴(yán)重的穩(wěn)定性問(wèn)題。所以SOA非常強(qiáng)調(diào)架構(gòu)

      中提供服務(wù)的功能實(shí)體的完全獨(dú)立自主的能力。

      2.大數(shù)據(jù)量低頻率訪問(wèn)。對(duì)于NET、EJB或者XML-RPC這些傳統(tǒng)的分布式計(jì)算模型而言,他們的服務(wù)提供都是通過(guò)函數(shù)調(diào)用的方式進(jìn)行的,一個(gè)功能的完成往往需要通過(guò)客戶端和服務(wù)器來(lái)回很多次函數(shù)調(diào)用才能完成。在Intranet的環(huán)境下,這些調(diào)用給系統(tǒng)的響應(yīng)速度和穩(wěn)定性帶來(lái)的影響都可以忽略不計(jì),但是在Internet環(huán)境下這些因素往往是決定整個(gè)系統(tǒng)是否能正常工作的一個(gè)關(guān)鍵決定因素。因此SOA系統(tǒng)推薦采用大數(shù)據(jù)量的方式一次性進(jìn)行信息交換。

      3.基于文本的消息傳遞。由于Internet中大量異構(gòu)系統(tǒng)的存在決定了SOA系統(tǒng)必須采用基于文本而非二進(jìn)制的消息傳遞方式。在COM/DCOM、CORBA這些傳統(tǒng)的組件模型中,從服務(wù)器端傳往客戶端的是一個(gè)二進(jìn)制編碼的對(duì)象,在客戶端通過(guò)調(diào)用這個(gè)對(duì)象的方法來(lái)完成某些功能;但是在Internet環(huán)境下,不同語(yǔ)言,不同平臺(tái)對(duì)數(shù)據(jù)、甚至是一些基本數(shù)據(jù)類型定義不同,給不同的服務(wù)之間傳遞對(duì)象帶來(lái)很大困難。由于基于文本的消息本身是不包含任何處理邏輯和數(shù)據(jù)類型的,因此服務(wù)間只傳遞文本,對(duì)數(shù)據(jù)的處理依賴于接收端的方式可以幫忙繞過(guò)兼容性這個(gè)大泥坑。

      五、面向服務(wù)架構(gòu)(SOA)的優(yōu)勢(shì)

      SOA不同于現(xiàn)有的分布式技術(shù)之處在于大多數(shù)軟件商接受它并有可以實(shí)現(xiàn)SOA的平臺(tái)或應(yīng)用程序。SOA伴隨著無(wú)處不在的標(biāo)準(zhǔn),為企業(yè)的現(xiàn)有資產(chǎn)或投資帶來(lái)了更好的重用性。SOA能夠在最新的和現(xiàn)有的應(yīng)用之上創(chuàng)建應(yīng)用;SOA能夠使客戶或服務(wù)消費(fèi)者免予服務(wù)實(shí)現(xiàn)的改變所帶來(lái)的影響;SOA能夠升級(jí)單個(gè)服務(wù)或服務(wù)消費(fèi)者而無(wú)須重寫整個(gè)應(yīng)用,也無(wú)須保留已經(jīng)不再適用于新需求的現(xiàn)有系統(tǒng)??偠灾琒OA以借助現(xiàn)有的應(yīng)用來(lái)組合產(chǎn)生新服務(wù)的敏捷方式,提供給企業(yè)更好的靈活性來(lái)構(gòu)建應(yīng)用程序和業(yè)務(wù)流程。其優(yōu)勢(shì)主要體現(xiàn)在如下幾個(gè)方面:(1)利用現(xiàn)有的資產(chǎn);(2)更易于集成和管理復(fù)雜性;(3)更快地整合現(xiàn)實(shí);(4)減少成本和增加重用。

      SOA業(yè)務(wù)流程是由一系列業(yè)務(wù)服務(wù)組成的,可以更輕松地創(chuàng)建、修改和管理它來(lái)滿足不同時(shí)期的需要。

      六、結(jié)語(yǔ)

      隨著分布式應(yīng)用系統(tǒng)復(fù)雜性的持續(xù)增長(zhǎng)以及企業(yè)業(yè)務(wù)不斷變化以適應(yīng)激烈的市場(chǎng)競(jìng)爭(zhēng),企業(yè)的各種新業(yè)務(wù)的快速推出,新老應(yīng)用系統(tǒng)的集成,系統(tǒng)可用性,可靠性和可伸縮性等等,這些成為各公司企業(yè)面臨的主要問(wèn)題,SOA成為解決這些問(wèn)題的最好解決方案。

      參考文獻(xiàn)

      [1]Yvonne Balzer.改進(jìn)您的SOA專案規(guī)劃.IBM,2004-08-01.

      [2]OASIS探尋標(biāo)準(zhǔn)SOA參考架構(gòu).2007.

      [3]實(shí)現(xiàn)SOA的相關(guān)技術(shù).2005-09-15.

      作者簡(jiǎn)介:丁敏英,湖南商務(wù)職業(yè)技術(shù)學(xué)院教師;羅立紅。湖南商務(wù)職業(yè)技術(shù)學(xué)院教師。

      猜你喜歡
      WEB服務(wù)
      現(xiàn)代SOA架構(gòu)差旅報(bào)銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析
      基于3G技術(shù)的智能水表WEB服務(wù)系統(tǒng)的研究
      基于Web服務(wù)的SPSS與.NET系統(tǒng)集成開(kāi)發(fā)
      軟件(2016年4期)2017-01-20 09:28:12
      基于線性回歸的航班延誤預(yù)測(cè)研究與系統(tǒng)開(kāi)發(fā)
      基于Proteus的嵌入式以太網(wǎng)Web服務(wù)虛擬實(shí)驗(yàn)的設(shè)計(jì)與實(shí)現(xiàn)
      智慧校園一卡通與圖書館系統(tǒng)對(duì)接探究
      軟件(2016年5期)2016-08-30 18:28:31
      教學(xué)工作量管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      一種基于SOA的web異構(gòu)數(shù)據(jù)集成方法研究
      基于Agent的自演化Web服務(wù)機(jī)制研究
      基于ARM平臺(tái)的嵌入式Web服務(wù)器設(shè)計(jì)
      瑞金市| 鄂温| 公主岭市| 财经| 弥勒县| 府谷县| 高唐县| 吴江市| 丰都县| 禹城市| 乌审旗| 大庆市| 枣庄市| 大关县| 繁昌县| 辽阳市| 武隆县| 筠连县| 成安县| 同心县| 多伦县| 玉门市| 罗山县| 彭山县| 西华县| 宽城| 肃南| 连平县| 巨鹿县| 华宁县| 河北区| 慈溪市| 新邵县| 长岛县| 岑溪市| 舞钢市| 黑山县| 闽侯县| 翼城县| 方山县| 瑞金市|