DotNET企业架构应用实践-企业管理软件架构的历史与发展(中)- 分布式系统
在前幾天的DotNET企業(yè)架構應用實踐-企業(yè)管理軟件架構(計算)的歷史與發(fā)展(上)一文中,介紹了在企業(yè)管理軟件架構發(fā)布中的主機-終端結構、以及客戶機-服務器結構、瀏覽器-服務器結構,本文今天向大家介紹有關于分布式計算及SOA架構方面的知識。
廣義分布式系統(tǒng)
分布式系統(tǒng)(distributed system)是建立在網(wǎng)絡之上的軟件系統(tǒng)。正是因為軟件的特性,所以分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。因此,網(wǎng)絡和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件(特別是操作系統(tǒng)),而不是硬件。內(nèi)聚性是指每一個數(shù)據(jù)庫分布節(jié)點高度自治,有本地的數(shù)據(jù)庫管理系統(tǒng)。透明性是指每一個數(shù)據(jù)庫分布節(jié)點對用戶的應用來說都是透明的,看不出是本地還是遠程。在分布式數(shù)據(jù)庫系統(tǒng)中,用戶感覺不到數(shù)據(jù)是分布的,即用戶不須知道關系是否分割、有無復本、數(shù)據(jù)存于哪個站點以及事務在哪個站點上執(zhí)行等。
在一個分布式系統(tǒng)中,一組獨立的計算機展現(xiàn)給用戶的是一個統(tǒng)一的整體,就好像是一個系統(tǒng)似的。系統(tǒng)擁有多種通用的物理和邏輯資源,可以動態(tài)的分配任務,分散的物理和邏輯資源通過計算機網(wǎng)絡實現(xiàn)信息交換。系統(tǒng)中存在一個以全局的方式管理計算機資源的分布式操作系統(tǒng)。通常,對用戶來說,分布式系統(tǒng)只有一個模型或范型。在操作系統(tǒng)之上有一層軟件中間件(middleware)負責實現(xiàn)這個模型。一個著名的分布式系統(tǒng)的例子是萬維網(wǎng)(World Wide Web),在萬維網(wǎng)中,所有的一切看起來就好像是一個文檔(Web 頁面)一樣。
以上內(nèi)容是百度百科對分布式系統(tǒng)的定義,從理論的角度來講,目前極大多數(shù)據(jù)企業(yè)管理應用都是屬于分布式系統(tǒng)這一范疇,C/S、B/S是分布式結構、C/A/S、B/A/S也是分布式結構、智能客戶端更是這種結構,分布式系統(tǒng)的本質(zhì)是在網(wǎng)絡條件下的協(xié)同作戰(zhàn)。
狹義分布式系統(tǒng)
目前,在業(yè)界都不把C/S應用和B/S做為分布式應用,而之前文章中介紹的C/A/S、B/A/S結構我們可以認為是一個分布式體系結構,因為廣義的分布式系統(tǒng)太過于寬泛,狹義的分布式體系如下圖:
?
即物理上三層/多層(Tier)、邏輯上也是三層/多層結構(Layer),很多程序員都在喊,要搞三層架構的應用,但對于Tier和Layer兩個概念還是不能混淆的。
三層/多層(Tier)技術
三層/多層(Tier)是一種物理部署結構,其與一系列的分布式通信技術分不開,常用的分布式通信技術如下:
DCOM
DCOM全稱為分布式組件對象模型,是微軟基于其自身的COM技術的分布式擴展,它支持不同的兩臺機器上的組件間的通信,而且不論它們是運行在局域網(wǎng)、廣域網(wǎng)、還是Internet上。
DOCM提供了一系列的概念和程序接口,利用這個接口,客戶端程序?qū)ο竽軌蛘埱髞碜跃W(wǎng)絡中另一臺計算機上的服務器COM對象。COM提供了一套允許同一臺計算機上的客戶端和服務器之間進行通信的接口。
DCOM是早期的分布式通信技術,目前還有大量的應用運行于DCOM技術之上。
.NET Remoting
可以說Remoting就是DCOM的一種升級,它改善了很多功能,并極好的融合到.Net平臺下,用于在.NET開發(fā)中代替DCOM技術,并且和DCOM技術相比,其更加靈活和方便。
.NET Remoting 提供了一種允許對象通過應用程序域與另一對象進行交互的框架,而其技術本質(zhì)是對象的跨越進程邊界,具體的說,就是對象的代理技術,在目前企業(yè)管理應用系統(tǒng)之中,.NET Remoting應用的非常廣泛。
Web Service
如果說DOCM和.NET Remoting都是微軟的特有技術的話,那么Web Service技術就是一種標準,但是寫到這,我無法確切的給出一個Web Service的定義,只好摘抄百科中的一段自認為還算嚴謹定義:
Web services是建立可互操作的分布式應用程序的新平臺。作為一個Windows程序員,你可能已經(jīng)用COM或DCOM建立過基于組件的分布式應用程序。COM是一個非常好的組件技術,但是我們也很容易舉出COM并不能滿足要求的情況。
Web service平臺是一套標準,它定義了應用程序如何在Web上實現(xiàn)互操作性。你可以用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service ,只要我們可以通過Web service標準對這些服務進行查詢和訪問。
Web Service及其所使用的通信協(xié)議SOAP已經(jīng)是國際標準,基于這些標準,不管是windows還是UNIX,也管你使用何種編程語言,都可以通過這么一個標準構建和使用WebService。
CORBA
CORBA(Common Object Request Broker Architecture公共對象請求代理體系結構)是由OMG組織制訂的一種標準的面向?qū)ο髴贸绦蝮w系規(guī)范?;蛘哒f CORBA體系結構是對象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互連而提出的一種解決方案。
通信技術分類
前面介紹了幾種分布式通信技術,其規(guī)納起來無外忽兩種:
遠程過程調(diào)用
這中技術也可以理解為對象代理技術,或者說遠程過程調(diào)用也是對象代理技術的實現(xiàn)思路,從這種看法來分類,DCOM、.NET? Remoting和COBRA都屬性這一類,其本質(zhì)是在客戶端請求遠程執(zhí)行某個過程或者方法,微軟的RPC或者JAVA RMI。
消息通信
通信雙方都尊守某一個協(xié)議標準進行通信,各通信雙方對消息進行處,比如Web Service 采用SOAP-XML做為標準的通信消息,服務提供者和調(diào)用者自行處理消息中的業(yè)務請求。
相關鏈接
DotNET企業(yè)架構應用實踐-系列目錄
AgileEAS.NET平臺開發(fā)Step By Step系列-藥店系統(tǒng)-索引
AgileEAS.NET應用開發(fā)平臺介紹-文章索引
QQ群:125643764,120661978
轉載于:https://www.cnblogs.com/eastjade/archive/2011/05/26/2057876.html
總結
以上是生活随笔為你收集整理的DotNET企业架构应用实践-企业管理软件架构的历史与发展(中)- 分布式系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复制本张表数据并插入本张表中
- 下一篇: c#根据年份和月份获得本月最后一天