DotNET企業架構應用實踐-企業管理軟體架構的曆史與發展(中)- 分布式系統

來源:互聯網
上載者:User

在前幾天的DotNET企業架構應用實踐-企業管理軟體架構(計算)的曆史與發展(上)一文中,介紹了在企業管理軟體架構發布中的主機-終端結構、以及客戶機-伺服器結構、瀏覽器-伺服器結構,本文今天向大家介紹有關於分散式運算及SOA架構方面的知識。

廣義分布式系統

分布式系統(distributed system)是建立在網路之上的軟體系統。正是因為軟體的特性,所以分布式系統具有高度的內聚性和透明性。因此,網路和分布式系統之間的區別更多的在於高層軟體(特別是作業系統),而不是硬體。內聚性是指每一個資料庫分布節點高度自治,有本地的資料庫管理系統。透明性是指每一個資料庫分布節點對使用者的應用來說都是透明的,看不出是本地還是遠程。在分散式資料庫系統中,使用者感覺不到資料是分布的,即使用者不須知道關係是否分割、有無複本、資料存於哪個網站以及事務在哪個網站上執行等。

在一個分布式系統中,一組獨立的電腦展現給使用者的是一個統一的整體,就好像是一個系統似的。系統擁有多種通用的物理和邏輯資源,可以動態分配任務,分散的物理和邏輯資源通過電腦網路實現資訊交換。系統中存在一個以全域的方式管理電腦資源的分布式作業系統。通常,對使用者來說,分布式系統只有一個模型或範型。在作業系統之上有一層軟體中介軟體(middleware)負責實現這個模型。一個著名的分布式系統的例子是全球資訊網(World Wide Web),在全球資訊網中,所有的一切看起來就好像是一個文檔(Web 頁面)一樣。

以上內容是百度百科對分布式系統的定義,從理論的角度來講,目前極大多資料企業管理應用都是屬於分布式系統這一範疇,C/S、B/S是分布式結構、C/A/S、B/A/S也是分布式結構、智能用戶端更是這種結構,分布式系統的本質是在網路條件下的協同作戰。

狹義分布式系統

目前,在業界都不把C/S應用和B/S做為分布式應用,而之前文章中介紹的C/A/S、B/A/S結構我們可以認為是一個分布式體繫結構,因為廣義的分布式系統太過於寬泛,狹義的分布式體系如:

 

即物理上三層/多層(Tier)、邏輯上也是三層/多層結構(Layer),很多程式員都在喊,要搞三層架構的應用,但對於Tier和Layer兩個概念還是不能混淆的。

三層/多層(Tier)技術

三層/多層(Tier)是一種物理部署結構,其與一系列的分布式通訊技術分不開,常用的分布式通訊技術如下:

DCOM

DCOM全稱為分散式元件物件模型,是微軟基於其自身的COM技術的分布式擴充,它支援不同的兩台機器上的組件間的通訊,而且不論它們是運行在區域網路、廣域網路、還是Internet上。

DOCM提供了一系列的概念和程式介面,利用這個介面,用戶端程式對象能夠請求來自網路中另一台電腦上的伺服器COM對象。COM提供了一套允許同一台電腦上的用戶端和伺服器之間進行通訊的介面。

DCOM是早期的分布式通訊技術,目前還有大量的應用運行於DCOM技術之上。

.NET Remoting

可以說Remoting就是DCOM的一種升級,它改善了很多功能,並極好的融合到.Net平台下,用於在.NET開發中代替DCOM技術,並且和DCOM技術相比,其更加靈活和方便。

.NET Remoting 提供了一種允許對象通過應用程式定義域與另一對象進行互動的架構,而其技術本質是對象的跨越進程邊界,具體的說,就是對象的代理技術,在目前企業管理應用系統之中,.NET Remoting應用的非常廣泛。

Web Service

如果說DOCM和.NET Remoting都是微軟的特有技術的話,那麼Web Service技術就是一種標準,但是寫到這,我無法確切的給出一個Web Service的定義,只好摘抄百科中的一段自認為還算嚴謹定義:

Web services是建立可互操作的分布式應用程式的新平台。作為一個Windows程式員,你可能已經用COM或DCOM建立過基於組件的分布式應用程式。COM是一個非常好的組件技術,但是我們也很容易舉出COM並不能滿足要求的情況。

Web service平台是一套標準,它定義了應用程式如何在Web上實現互通性。你可以用任何你喜歡的語言,在任何你喜歡的平台上寫Web service ,只要我們可以通過Web service標準對這些服務進行查詢和訪問。

Web Service及其所使用的通訊協定SOAP已經是國際標準,基於這些標準,不管是windows還是UNIX,也管你使用何種程式設計語言,都可以通過這麼一個標準構建和使用WebService。

CORBA

CORBA(Common Object Request Broker Architecture公用對象請求代理體繫結構)是由OMG組織制訂的一種標準的物件導向應用程式體系規範。或者說 CORBA體繫結構是對象管理組織(OMG)為解決分散式處理環境(DCE)中,硬體和軟體系統的互連而提出的一種解決方案。

通訊技術分類

前面介紹了幾種分布式通訊技術,其規納起來無外忽兩種:

遠端程序呼叫

這中技術也可以理解為對象代理技術,或者說遠端程序呼叫也是對象代理技術的實現思路,從這種看法來分類,DCOM、.NET  Remoting和COBRA都屬性這一類,其本質是在用戶端請求遠程執行某個過程或者方法,微軟的RPC或者JAVA RMI。

訊息通訊

通訊雙方都尊守某一個協議標準進行通訊,各通訊雙方對訊息進行處,比如Web Service 採用SOAP-XML做為標準的通訊訊息,服務提供者和調用者自行處理訊息中的業務請求。

相關連結

DotNET企業架構應用實踐-系列目錄

AgileEAS.NET平台開發Step By Step系列-藥店系統-索引

AgileEAS.NET應用開發平台介紹-文章索引

QQ群:125643764,120661978

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.