DotNET企业架构应用实践-企业管理软件架构的历史与发展(中)- 分布式系统
在前幾天的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
轉載于:https://www.cnblogs.com/eastjade/archive/2011/05/26/2057876.html
總結
以上是生活随笔為你收集整理的DotNET企业架构应用实践-企业管理软件架构的历史与发展(中)- 分布式系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复制本张表数据并插入本张表中
- 下一篇: JAVA获取系统相关信息