?? 序言.txt
字號:
序 言
我們假定用戶需要在一復雜的軟硬件環境中編寫應用程序,或是需要把一整套組件/應用程序集成到一靈活的企業級系統中。我們還假定用戶強烈要求自己的應用程序能運行起來,或者自己的系統能夠集成起來,但對于重新創建各個部件卻不感興趣。這樣,用戶就需要得到盡可能多的幫助,幫助的形式既可以是能購買到的可實現軟件,也可以是能采用的技術。
也許這種復雜性是由于用戶的應用程序/企業必須運行在分布式硬件系統上而產生的,因此必須解決網絡帶來的邊界問題。又或許用戶不得不處理由于不同的組件用不同的語言編寫所引起的問題;又或許這些組件需要運行在不同的操作系統上。又或許用戶(作為世界上唯一的建筑師或經理)正處理一個完全同種類的環境,但應用程序/組件必須越過不同部門或公司的邊界進行訪問。
如果真的出現以上情況,用戶就很可能要用到對象請求代理來幫助越過這些邊界—而實際上所用的代理可能就遵循著CORBA標準。使用CORBA的原因在于系統中的組件能越過這些邊界進行相互通信,而用不著編寫一個軟件層來提供越過邊界的橋梁。CORBA提出的不止是基本的通信需要,還有其他很多的內容。就像在點到點通信中,CORBA也能提供變化,如同多對多通信和存儲轉發一樣。對象可做成安全的;對象可以存儲在數據庫中;數據庫可以越界訪問;在一單獨的事務中,多個數據庫可自動更新;系統可以在不同的層次上進行監控和管理;對象可以通過名字或是用戶希望的屬性來尋找。
那么,本書在哪些方面可以起到作用呢?分布式系統研究大概始于1980年或更早些時候,在接近二十年的時間內,我們對它的理解不斷加深。這種理解實際是集中在如接口定義、安全性、實體命名、事務、通信選擇、兩層或三層體系結構、數據庫集成、容錯性、系統管理等領域。用戶如果對自己系統中重要的方面有著深刻的理解,那么就能更快更好地實現該系統。本書涉及了以上的所有領域,另外,對于CORBA環境,還給出了采取什么方法比較好的實踐性建議。
Dirk、Jason和Perry對這些領域有著深刻的了解。他們研究過調查結果,還擔任過多個與這些問題相關項目的顧問。他們的貢獻在論述了與現代系統相關的各個方面,并把這些方面依次和CORBA框架聯系起來。CORBA在系統中很容易用來克服多種限制,本書描述了用戶想要在應用層上用到的技術,以便最好地利用CORBA,并使自己的系統盡可能簡單地實現。
CORBA的發展方向何在?早期(到90年代中期),CORBA的目標是提供跨越邊界的框架。第二個階段(到1998年),內容有所豐富(安全性、事務、多通信、數據庫集成等),并且在CORBA中還集成了很多其他技術。因此,CORBA在使用了COM的環境中同樣工作良好;它采納了Java作為首要語言,并加入了其他設施以允許它在企業內使用;而且CORBA能安全地越過防火墻使用。那么往后幾年的目標是什么呢?
首先,和其他技術的集成還會繼續。EJB在這里很重要—或更具體地說,是在Java環境中持續加入功能設施,以允許編寫多特征的客戶機和服務器。CORBA和標準企業應用程序的集成也會作為有用的功能設施提供,而不是為每個應用程序編寫代碼。
其次,CORBA會變得越來越容易使用,現在出現的程序員生產工具就是明證。在這里一個關鍵領域是客戶機和服務器或至少是它們中的一部分基于腳本的生成。C++和Java代碼可以以這種方式產生,這就減少了人們必須編寫的和應用相關的代碼數量。使用工具的其他優點在于讓系統管理者有更多的監控和控制設施可用。
第三,組件這個概念變得越來越重要。組件是一個對象,里面只含有業務級的代碼,而沒有和安全性、事務、命名等方面相關的代碼。因此,一個組件可以給定不同的安全屬性而不用改變對象的代碼,在某種意義上,它可以“融”入不同的安全環境而不用改變它的代碼,即使這些安全環境是以不同的方式實現的。類似地,組件是否是事務性的,不是由組件本身決定,而是由它所融入的環境(或容器)來決定。
業務級代碼和基礎級代碼的分離是提高生產率的一個關鍵方面。這樣做的一個好處是軟件在所需執行的環境中的變化可以留待以后證明。同樣的組件可以融入一純CORBA容器、或是一EJB容器、或是一COM容器。這樣,如果組件融入一COM容器中,它可以自己用COM來進行通信,也可以在使用了自動橋梁的其他環境中進行通信。如果它融入到一CORBA容器中,CORBA就是它自身的通信環境,就需要一自動的橋梁來從COM中訪問它。當這些發生時,業務級的代碼不用改變。
這些改善都在進行當中,并會減少跨越邊界的軟件的編寫任務。自動化并不會減少對有經驗的軟件工程師和設計師的需要,他們對分布式計算的重要技術的理解,以及在不同的情況下如何找出最適合的技術仍然是很重要的。我非常感謝本書的三位作者,他們花了大量時間,不辭勞苦地把這些技術和CORBA關聯起來,并把多年的研究和開發結果公諸于眾,書中沒有多余的空話。此外,他們還指出了這些技術的相關發展方向。
Sean Baker IONA Technologies的創始人之一
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -