<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 19, 文章 - 93, 評論 - 17, 引用 - 0
    數(shù)據(jù)加載中……

    SOA的進(jìn)化(三)--------SOA 的根源(一)( SOA 與過去架構(gòu)的比較(一))

    3. SOA 的根源 (SOA 與過去架構(gòu)的比較 )

    我們現(xiàn)在實際地跳回時間軸看一看過去架構(gòu)與 SOA 的差別。這是一項有趣的研究, 我們能夠看出 SOA 許多當(dāng)代特征的起源。


    3.1. 什么是架構(gòu)?

    自打有計算機(jī)處理的自動化解決方案方案起,技術(shù)架構(gòu)就已存在。然而,在較老的環(huán)境中,解決方案直接建構(gòu)于抽象的任務(wù)上,并規(guī)定其架構(gòu)很少被執(zhí)行。

    隨著多層應(yīng)用的崛起,應(yīng)用交付的變異開始劇增。 IT 部門開始認(rèn)識到需要定義標(biāo)準(zhǔn)化的基線應(yīng)用,作為其他應(yīng)用的模板。這個定義自然是抽象的,但明確地解釋了所有解決方案以這個模板為基礎(chǔ),包括其技術(shù)、邊界、規(guī)則、限制及設(shè)計特征。這就產(chǎn)生了應(yīng)用架構(gòu)。

    應(yīng)用架構(gòu)

    應(yīng)用架構(gòu)對于應(yīng)用開發(fā)團(tuán)隊的意義,相當(dāng)于藍(lán)圖對于建筑工團(tuán)隊的意義。不同的組織印證不同水平的應(yīng)用架構(gòu)。一些保持了高水平,提供技術(shù)藍(lán)圖的抽象的物理及邏輯表達(dá)。另一些則包括更多的細(xì)節(jié),類似通用數(shù)據(jù)模型,通信流程圖,應(yīng)用范圍的安全需求,以及基礎(chǔ)設(shè)施方面。

    對于一個組織而言有幾個不同的應(yīng)用架構(gòu)的情況是不希奇的。一個架構(gòu)文檔典型地代表了不同的解決方案環(huán)境。例如,一個同時擁有 .NET J2EE 解決方案的組織很有可能針對每一種有分別的應(yīng)用架構(gòu)規(guī)范。

    任何應(yīng)用級架構(gòu)的關(guān)鍵部分在于它既要直接反映解決方案的需求,同樣又要考慮長期的、策略性的 IT 目標(biāo)。正由于這個緣故,組織內(nèi)的應(yīng)用架構(gòu)會伴以企業(yè)架構(gòu),并與其中居統(tǒng)治地位的一個保持一致。

    企業(yè)架構(gòu)

    在較大的 IT 環(huán)境,關(guān)鍵在于需要控制并指導(dǎo) IT 基礎(chǔ)設(shè)施。當(dāng)有很多不同的應(yīng)用架構(gòu)共同存在的時候,且有時甚至要整合,底層的主機(jī)平臺變會復(fù)雜而繁重。因此,通常會創(chuàng)建一個控制規(guī)范,為企業(yè)內(nèi)存在的所有異質(zhì)形態(tài)的提供高層概述,同時給出支持基礎(chǔ)設(shè)施的定義。

    繼續(xù)我們前一個類推,對于組織而言,企業(yè)架構(gòu)規(guī)范相當(dāng)于一個城市的城市規(guī)劃。因此,城市規(guī)劃與建筑藍(lán)圖間的關(guān)系,可與企業(yè)與應(yīng)用架構(gòu)規(guī)范間的關(guān)系相類比。

    典型地,企業(yè)架構(gòu)的變化直接影響應(yīng)用架構(gòu),這是為什么架構(gòu)規(guī)范通常由同一組人來維護(hù)。而且,企業(yè)架構(gòu)經(jīng)常包含組織長期技術(shù)和環(huán)境發(fā)展規(guī)劃。例如,階段性的目標(biāo)有可能是要立足于這個規(guī)范來逐步淘汰過時的技術(shù)平臺。

    最后,也可能會定義技術(shù)與策略背后的企業(yè)級安全度量。然而,這經(jīng)常會被作為單獨的安全架構(gòu)規(guī)范。

    面向服務(wù)架構(gòu)

    簡單而言,面向服務(wù)架構(gòu)跨越了企業(yè)與應(yīng)用架構(gòu)兩個領(lǐng)域。當(dāng)被用于跨多解決方案的環(huán)境時, SOA 所提供的潛在效益才能真正釋放。這個是對可復(fù)用和可協(xié)同服務(wù)的投資,并且充分利用基于廠商中立的通信平臺。這并不意味著企業(yè)必須變成面向服務(wù)。 SOA 所引入的特性及特征大部分都屬于這一范疇。

    注意術(shù)語“ SOA ”并不意味著一個特殊的架構(gòu)范圍。 SOA 可以是指一個應(yīng)用架構(gòu),或是用于跨企業(yè)的技術(shù)架構(gòu)的標(biāo)準(zhǔn)化方法。因為 SOA 天生的可組合性(意味著單個的應(yīng)用層架構(gòu)可由不同的擴(kuò)展及技術(shù)組成),完全適用于超越 SOA 的組織。

    請注意,如同前一章所解釋的, Web 服務(wù)平臺提供了眾多實現(xiàn) SOA 形式中的一個。它是本書專門研究的一種方法,但是還存在其他方法,比如由傳統(tǒng)的分布式平臺所提供的這些。術(shù)語方面有一點很重要,就是在后面章節(jié)中及整本書中所用的術(shù)語“ SOA ”是指在第 3 所建立的當(dāng)代 SOA 模型(基于 Web 服務(wù)與面向服務(wù)原則)。

    3.2. 比較 SOA 與客戶 - 服務(wù)器架構(gòu)

    幾乎在任何環(huán)境中,只要有一段軟件從另一個請求或接收信息,都能夠被稱為“客戶 - 服務(wù)器?!睅缀趺恳粋€不同的應(yīng)用架構(gòu)都曾存在(包括 SOA )一種客戶 - 服務(wù)器的交互元素。然而,行業(yè)術(shù)語“客戶 - 服務(wù)器架構(gòu)”通常是指特殊的前一代環(huán)境,期間客戶端與服務(wù)器扮演了特定的角色,并有清晰的實現(xiàn)特征。

    客戶 - 服務(wù)器架構(gòu)簡史

    初期龐大的主機(jī)授予組織嚴(yán)格的計算方式,通常被視作是客戶 - 服務(wù)器架構(gòu)稚形。這些環(huán)境,其中龐大的主機(jī)后端伺服瘦客戶端,被看作單層客戶 - 服務(wù)器架構(gòu)( 2 )。

    2. 個典型的單層客戶端服務(wù)器架構(gòu)


    主機(jī)系統(tǒng)天然支持同步及異步通信。后一種方法主要用于讓服務(wù)器連續(xù)不斷地接收來自終端的字符,以響應(yīng)個別的擊鍵事件。只在某種條件下服務(wù)器才會響應(yīng)。

    雖然它仍有殘留痕跡,但是當(dāng)兩層客戶 - 服務(wù)器的變化設(shè)計在 80 年代后期出現(xiàn)時,主機(jī)作為最初的統(tǒng)治計算平臺開始衰退。

    這個新方法引入了委派邏輯、以及處理職責(zé)下發(fā)到單個工作站的概念,導(dǎo)致了胖客戶的誕生。受圖形用戶界面( GUI )創(chuàng)新的進(jìn)一步支持,兩層客戶 - 服務(wù)器被認(rèn)為是前進(jìn)了一大步,并在 90 年早期持續(xù)統(tǒng)治了 IT 界數(shù)年之久。

    這個架構(gòu)的通常配置包含多個胖客戶端,每一個都有自己到中心數(shù)據(jù)庫服務(wù)器連接??蛻舳塑浖?zhí)行大量處理,包括所有的展現(xiàn)相關(guān)及多數(shù)的數(shù)據(jù)訪問邏輯( 3 )。一個或多個服務(wù)器通過累積可擴(kuò)展的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),促進(jìn)了這些客戶端。

    3. 典型的兩層客戶 - 服務(wù)器架構(gòu)


    讓我們通過單獨地和將它們與 SOA 的相應(yīng)部分作比較兩種方式,來看一看兩層客戶 - 服務(wù)器架構(gòu)的主要特征。

    應(yīng)用邏輯

    客戶 - 服務(wù)器環(huán)境將大多數(shù)應(yīng)用邏輯放到客戶端軟件中。這導(dǎo)致龐大的程序連同后端資源來一起來控制用戶體驗。分布式業(yè)務(wù)規(guī)則是一個例外。一個流行趨勢是將嵌入的和維護(hù)的業(yè)務(wù)規(guī)則與數(shù)據(jù)關(guān)聯(lián),放入數(shù)據(jù)庫的存儲過程與觸發(fā)器之內(nèi)。這略微抽象了一組來自客戶端的業(yè)務(wù)邏輯,并簡化了數(shù)據(jù)訪問編程。盡管如此,客戶端還是承擔(dān)著所有的展示任務(wù)。

    當(dāng)代面向服務(wù)解決方案中的展現(xiàn)層會有所不同。任何軟件片段若有能力依照所需的服務(wù)契約進(jìn)行 SOA P 消息交換,都可歸為服務(wù)請求者。同時通常也期望請求者能提供服務(wù),展現(xiàn)層的設(shè)計完全開放并對應(yīng)特定的解決方案需求。

    在服務(wù)器環(huán)境內(nèi),存在關(guān)于應(yīng)用邏輯如何駐留與分布的選擇權(quán)。這些選擇權(quán)不排除數(shù)據(jù)庫觸發(fā)器和存儲過程。同時,面向服務(wù)設(shè)計的原則開始起作用,通常指導(dǎo)劃分自治處理邏輯的單元。這促進(jìn)了特定設(shè)計品質(zhì),比如服務(wù)無狀態(tài)化及協(xié)同性,還有可組合性及復(fù)用性。

    另外,常有這些處理邏輯單元在 SOA 內(nèi)不屬于任何解決方案的情形。這也支持了促進(jìn)復(fù)用以及跨越應(yīng)用邊界的松散耦合這一終極目標(biāo)。

    應(yīng)用處理

    因為大部分客戶 - 服務(wù)器應(yīng)用邏輯駐留于客戶端,客戶端工作站負(fù)責(zé)了大量的處理。 80/20 比率常被作為一個經(jīng)驗法則,按此法則數(shù)據(jù)庫服務(wù)器承擔(dān)了 20% 的工作量。盡管如此,數(shù)據(jù)還是常常成為這些環(huán)境中的性能瓶頸。

    有大用戶量的兩層客戶 - 服務(wù)器解決方案,通常需要每一客戶建立其自身的數(shù)據(jù)庫連接。通信可預(yù)期是異步的,而且這些連接是永久的(意味著它們需要通過用戶登錄并保持活動直至其退出應(yīng)用)。專有數(shù)據(jù)庫連接是昂貴的,并且資源需求經(jīng)常壓垮數(shù)據(jù)庫服務(wù)器,給所有用戶以可觀的反應(yīng)時間。

    另外,假定客戶被分配以主要的處理職責(zé),他們常要求重要的資源。客戶端執(zhí)行完全是有狀態(tài)的,并要消耗大量的固定 PC 內(nèi)存。用戶工作站因此經(jīng)常需要專門運(yùn)行客戶端程序,以便所有可用資源能夠提供給應(yīng)用。

    SOA 中的處理是高度分布式的,每一服務(wù)都有一個清晰的功能邊界和相關(guān)的資源需求。在面向服務(wù)架構(gòu)建模技術(shù)中,對于如何能夠定位及部署服務(wù)你有很多的選擇。

    企業(yè)解決方案包含多個服務(wù)器時,每一個都裝有 Web 服務(wù)并支持中間件。因此,對于 SOA 而言沒有固定的比率。服務(wù)可根據(jù)需要分布,而且在決定物理部署配置時,性能需求是要考慮的因素之一。

    服務(wù)與請求者間的通信可以是同步的或是異步的。這一靈活性允許進(jìn)一步改進(jìn)處理,特別是使用異步的消息模式時。另外,通過在消息中放入更多的智能,可獲得消息層面的語境管理選擇。這促進(jìn)了無狀態(tài)的及自治的服務(wù)本性,并進(jìn)一步經(jīng)歷減少對狀態(tài)信息緩存的需要。

    技術(shù)

    客戶 - 服務(wù)器應(yīng)用的出現(xiàn)促進(jìn)了第四代 4GL 編程語言的使用,比如 Visual Basic PowerBuilder 。這些開發(fā)環(huán)境充分利用了 Windows 操作系統(tǒng)所提供的能力,來創(chuàng)建更美觀豐富、更具交互性的用戶界面。盡管如此,傳統(tǒng)的第三代語言,比如 C++ ,仍在使用,特別是對于有更嚴(yán)格的性能需求的解決方案。在后端,主流的數(shù)據(jù)庫廠商,象 Oracle 、 Informix IBM 、 Sybase 與微軟,提供了強(qiáng)健的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),能夠管理多連接,同時提供了靈活的數(shù)據(jù)存儲及數(shù)據(jù)管理特性。

    SOA 所用的技術(shù)集實際上并不象它所延展的那么多。舊版本的程序語言的更新版本,象 Visual Basic ,依舊能夠用于創(chuàng)建 Web 服務(wù),且依舊可以使用傳統(tǒng)數(shù)據(jù)庫。盡管如此, SOA 的技術(shù)版圖已經(jīng)變得日漸不同。除了 Web 技術(shù)的標(biāo)準(zhǔn)集( HTML 、 CSS 、 HTTP 等等),當(dāng)代 SOA 一并帶來了建立 XML 數(shù)據(jù)表達(dá)架構(gòu)的絕對需求,還有 SOA P 通訊框架,以及服務(wù)架構(gòu)所包含的永遠(yuǎn)擴(kuò)展的 Web 服務(wù)平臺。

    安全

    除了數(shù)據(jù)的存儲與管理以及嵌入存儲過程和觸發(fā)器中的業(yè)務(wù)規(guī)則,安全是經(jīng)常在客戶 - 服務(wù)器架構(gòu)的服務(wù)器層面集中處理的另一個部分。數(shù)據(jù)庫十分復(fù)雜,足以管理用戶帳戶及用戶組長,并將其分配到物理數(shù)據(jù)模型的個別部分。

    安全也能夠客戶程序中控制,特別是當(dāng)它與特定應(yīng)用邏輯執(zhí)行的業(yè)務(wù)規(guī)則相關(guān)聯(lián)時(譬如挑選用戶對部分用戶界面進(jìn)行限制訪問)。另外,與操作系統(tǒng)級的安全協(xié)作可實現(xiàn)單點登錄,此時應(yīng)用直接繼承操作系統(tǒng)的登錄賬戶信息。

    盡管有人夸耀 SOA 的優(yōu)勢,許多架構(gòu)師卻羨慕客戶 - 服務(wù)器的安全性。企業(yè)數(shù)據(jù)經(jīng)由單點鑒權(quán)而受到保護(hù),建立了客戶端與服務(wù)器間的單一連接。在 SOA 的分布世界中,這是不可能的。安全變成一個重要而復(fù)雜的問題,與必需的安全措施程度直接相關(guān)。牽扯到許多典型技術(shù),大多數(shù)包含在 WS- 安全框架中 。

    管理

    客戶 - 服務(wù)器時代終結(jié)的一個重要原因在于相關(guān)分發(fā)的大量維護(hù)成本的增加,以及跨工作站應(yīng)用邏輯的維護(hù)。因為每一個客戶裝載有應(yīng)用代碼,每一次應(yīng)用更新都要對所有的工作站重新分發(fā)軟件。在較大型的環(huán)境中,這造成了高度繁重的管理流程。

    維護(hù)問題跨越了用戶端和服務(wù)器端??蛻艄ぷ髡臼芴囟ōh(huán)境問題的支配,因為不同的工作站會安裝不同的軟件程序,或者可能購買不同的硬件廠商。更有甚者,還增加了對服務(wù)器端數(shù)據(jù)庫的要求,特別是當(dāng)客戶 - 服務(wù)器應(yīng)用拓展到更大的用戶基礎(chǔ)時。

    因為面向服務(wù)的解決方案會有不同的請求者,它們還要受到來自客戶端維護(hù)的挑戰(zhàn)。同時其分布式后端要適應(yīng)應(yīng)用及數(shù)據(jù)庫服務(wù)器的擴(kuò)展性,會引入新的管理需求。例如,一旦 SOA 發(fā)展為服務(wù)復(fù)用并成為多服務(wù)組合的一部分,服務(wù)器資源與服務(wù)接口的管理會需要強(qiáng)大的管理工具,包括私用注冊的使用。

    posted on 2006-12-03 09:22 BPM 閱讀(257) 評論(0)  編輯  收藏 所屬分類: SOA

    主站蜘蛛池模板: 亚洲精品国精品久久99热| 成人人免费夜夜视频观看| 亚洲偷自拍拍综合网| 免费看一级一级人妻片| 亚洲精品国产精品乱码不卞| 日韩大片免费观看视频播放| 亚洲精品无码日韩国产不卡?V | 女人18毛片特级一级免费视频| 亚洲国产日产无码精品| 啦啦啦完整版免费视频在线观看| 亚洲激情黄色小说| 男人的好看免费观看在线视频| 亚洲中文字幕精品久久| 国产精品免费看久久久无码| 污视频网站在线观看免费| 久久伊人亚洲AV无码网站| 成全在线观看免费观看大全 | 亚洲色图黄色小说| 毛片免费视频观看| jizzjizz亚洲日本少妇| 亚洲国产成人乱码精品女人久久久不卡| www在线观看免费视频| 亚洲AV无码一区二区三区DV| 中国人xxxxx69免费视频| 亚洲丰满熟女一区二区哦| 亚洲一区二区三区免费| 久久久免费精品re6| 四虎必出精品亚洲高清| 亚洲精品岛国片在线观看| 毛片在线播放免费观看| 国产成人精品日本亚洲专| 亚洲国产综合精品中文字幕| 伊人久久免费视频| 亚洲另类无码专区丝袜| 亚洲精品国产精品乱码不卡√| 免费成人激情视频| 免费无码AV一区二区| 77777_亚洲午夜久久多人| 免费一看一级毛片| 99久久国产免费-99久久国产免费| 亚洲精品国产av成拍色拍|