欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Ice與CORBA的差異

Ice與CORBA的差異

                                      

 

之前已經(jīng)想將ZeroC主頁(yè)上的這篇文章翻譯出來(lái),前一段時(shí)間翻譯了一半,就放下了。到了今天終于翻譯完?,F在已經(jīng)是凌晨3點(diǎn)多,聽(tīng)著(zhù)歌,想著(zhù)她,并且將這篇文章發(fā)布到自己的Blog。

============================================================

首先聲明,我們既不想引起一場(chǎng)"CORBA vs Ice"的爭論,也不想懷疑CORBA。相反,我們認為CORBA在它的時(shí)代是一個(gè)很大的成就,而且,Ice也明顯借用了CORBA的很多思想。

我們決定寫(xiě)這篇比較文章是因為我們期望更多的人能正確地詢(xún)問(wèn)我們?yōu)楹嗡麄円肐ce代替CORBA。對這個(gè)問(wèn)題,我們通常的回答是:為什么不先自己試試使用Ice呢?我們敢肯定,一旦你使用了Ice有一段時(shí)間,你就永遠不會(huì )再想用回CORBA。請相信我們,很容易會(huì )喜歡上Ice,因為它優(yōu)雅、簡(jiǎn)單,它的結構一致性,而且最后一點(diǎn):至少它沒(méi)有大量的特性和工具。

對于沒(méi)有時(shí)間去試驗Ice來(lái)了解它的人,這里有一些原因讓我們相信Ice優(yōu)于CORBA:

1、Completeness(完備性)
當我們說(shuō)到完備性時(shí),我們的意思是實(shí)際產(chǎn)品的完備性,而不是從來(lái)未被實(shí)現的標準的完備性。我們相信Ice比市場(chǎng)上任何單個(gè)CORBA更完備。你可以自己做一個(gè)檢查:市場(chǎng)上有哪個(gè)CORBA產(chǎn)品提供了跟Ice可比較的特性?

2、Performance(性能)
由于具有CORBA所沒(méi)有的結構優(yōu)點(diǎn),Ice具有突出的性能。Ice高效的協(xié)議、請求批量化、高效的事件分發(fā)都意味著(zhù)Ice比CORBA ORB運行得更快,同時(shí)消耗更少的線(xiàn)路帶寬。

3、No "Design by Committee"(非“委員會(huì )設計”)
Ice由一群專(zhuān)業(yè)的資深專(zhuān)家所設計。Ice沒(méi)有設計成適合所有人的“萬(wàn)金油”。而CORBA則充斥著(zhù)被具有特權的制定者加進(jìn)到標準里的眾多不切實(shí)際的特性,卻又沒(méi)有真正考慮到這些特性是否會(huì )被真正地實(shí)現。

通常,為了就CORBA標準達成一致的唯一方法就是將之前大量實(shí)現的特性放在一起,生硬地塞進(jìn)標準里。這導致了標準越來(lái)越大,也越來(lái)越復雜,超出了實(shí)際的需要。這也意味著(zhù)平臺更大更慢,也因為復雜的API導致了難以使用。Ice提供的API集小得多,也更高效,比CORBA的API易于學(xué)習使用,并且功能并不少。

4、Slice
Slice,Ice的規范定義語(yǔ)言,比CORBAIDL更小、更簡(jiǎn)潔、更強大。Slice具有更少的語(yǔ)言結構,但卻更靈活。例如,一個(gè)內建的字典類(lèi)型提供直接快速訪(fǎng)問(wèn)數據結構,異常的繼承允許更清晰地影射到支持異常處理的語(yǔ)言。同時(shí),Slice拋棄了CORBAIDL不需要的復雜性,例如屬性,inout參數,上下文和傳值對象(Objects-by-Value)的復雜性。

5、Language Mappings(語(yǔ)言影射)
Ice支持到C++、Java、Python、PHP、C#和Visual Basic的語(yǔ)言影射。我們知道任何一個(gè)CORBA實(shí)現提供商都沒(méi)有提供那么多的語(yǔ)言影射選擇。

實(shí)際上大多數的CORBA提供商只提供C++和Java的影射,如果你想使用其它語(yǔ)言影射,你就要切換到不同的提供商的產(chǎn)品或使用沒(méi)有實(shí)驗支持的CORBA實(shí)現。

6、Persistence(持久性)
Slice并不單單是一個(gè)接口定義語(yǔ)言。它也可以用來(lái)描述Ice對象進(jìn)行持久的屬性,使得很容易寫(xiě)出支持對象持久的服務(wù)器端程序。

7、Metadata(元數據)
Slice支持可擴展的元數據設施,它允許Slice為實(shí)現應用程序相關(guān)的某些目的而使用元數據的標記。例如元數據可以用于定制不同于標準Java影射方式的影射來(lái)滿(mǎn)足某些特定程序的要求。

8、No any Type(沒(méi)有any數據類(lèi)型)
Ice沒(méi)有CORBA里Any類(lèi)型的等價(jià)數據類(lèi)型。這對于CORBA用戶(hù)來(lái)說(shuō)可能感到很驚訝,因為Any數據類(lèi)型在CORBA標準里被廣泛地使用。但是,Any數據類(lèi)型是多余的:程序語(yǔ)言象Java和C++并沒(méi)有Any數據類(lèi)型,而且Any數據類(lèi)型對分布式系統來(lái)說(shuō)也不是屬于一個(gè)良好的設計。Any數據類(lèi)型通常用在兩種情況下:一種是需要在系統的中介部分對接收到的數據直接進(jìn)行傳遞,而不用關(guān)心數據的真實(shí)類(lèi)型,例如CORBA的Event服務(wù),另一種是用來(lái)作為union(聯(lián)合結構體)的一個(gè)等價(jià)物。

Ice可以通過(guò)發(fā)送和接收"blobs"的請求來(lái)滿(mǎn)足第一種情況,Slice的類(lèi)繼承可以滿(mǎn)足第二種情況。任何一種情況,Ice的程序都更高效,更加具有類(lèi)型安全,更加容易設計和實(shí)現,而不會(huì )遇到使用CORBA Any數據類(lèi)型時(shí)所具有的復雜性。

9、Ice Core(Ice的核心)
雖著(zhù)時(shí)間的演化,CORBA的核心變得異常的復雜。一個(gè)初級的例子要在POA(CORBA的對象適配器)里面正確使用都需要很專(zhuān)業(yè)的知識,即使你只想支持一小部分的技術(shù)特性。Ice的對象適配器,在另一方面來(lái)說(shuō),更加簡(jiǎn)單、直觀(guān)、也跟POA一樣的功能強大:定義良好的API使得比POA開(kāi)發(fā)一個(gè)可擴展的程序項目需要更少的工作。

10、Ice Protocol(Ice協(xié)議)
IIOP是CORBA的弱點(diǎn)之一,具有太多的設計缺陷。例如,沒(méi)有缺少請求的封裝來(lái)防止消息的分發(fā)。低效的對齊規則導致了多余的數據拷貝。數據的編碼規則復雜,卻沒(méi)有帶來(lái)相應的性能的提高,對象引用的編碼異常復雜,妨礙了有效的的編碼和在內存共享的執行。代碼集的協(xié)商是在標準下達成,會(huì )遭遇到很多沖突。所有這些復雜性意味著(zhù)IIOP很難實(shí)現,帶來(lái)了互操作性和性能上的問(wèn)題。Ice的協(xié)議是簡(jiǎn)單并且更加有效,它提供了一些IIOP沒(méi)有提供的特性,例如數據壓縮和批請求批量化。

11、Security(安全性)
安全性是CORBA的最大的一個(gè)難題。OMG已經(jīng)通過(guò)了多個(gè)標準,但很多都沒(méi)有被廣泛地實(shí)現,CORBA的客戶(hù)依然沒(méi)有一個(gè)可工作的安全的ORBs。當設計Ice時(shí),和CORBA相比,安全性被認為是基本的特性。這就是Ice提供一個(gè)真正能運作的SSL實(shí)現的安全的防火墻的原因。

12、C++ Mapping(C++映射)
用C++來(lái)使用CORBA非常困難。即使你是很有經(jīng)驗的C++開(kāi)發(fā)者。CORBA的C++映射在內存管理和異常安全方面有很多的陷阱和缺陷。相較之下,Ice的C++映射非常簡(jiǎn)單和直觀(guān)。它不會(huì )有因為錯誤而導致內存的泄漏。要記住的映射規則的數目比CORBA的C++映射少得多,而且Ice的C++映射是基于工業(yè)標準的STL。

14、Scalability(可伸縮性)
當你是一個(gè)專(zhuān)家時(shí),CORBA是一種可伸縮性很好的技術(shù)。但采用Ice,任何人都可以寫(xiě)出高可伸縮性的應用。例如,Ice實(shí)現了一個(gè)持久化的逐出器,你可以使用它來(lái)很容易地處理上百萬(wàn)的對象,你所做的僅僅是在Slice的定義里指定對象的數據,剩下的工作Ice一手包辦:Ice運行庫使用高速的數據庫來(lái)自動(dòng)加載和保存對象。

15、Versioning(版本化)
CORBA沒(méi)有任何機制來(lái)支持對象狀態(tài)的版本化。Freeze是Ice的持久服務(wù),它允許持久數據在Slice的定義中改變時(shí),很容易地進(jìn)行數據庫的移植。

16、Software Updates(軟件更新)
IcePatch是一個(gè)允許你更行客戶(hù)端軟件的工具。它使用壓縮來(lái)提高數據的傳輸,并使用校驗值來(lái)保證一致性。CORBA完全沒(méi)有提供一個(gè)在分布式環(huán)境來(lái)進(jìn)行軟件更新的機制。

17、Typed Event Service(類(lèi)型化的事件服務(wù))
CORBA有一個(gè)標準來(lái)提供類(lèi)型化的事件服務(wù),但很少甚至沒(méi)有被實(shí)現。類(lèi)型化的事件服務(wù)也有很多已知的問(wèn)題,事實(shí)上它在真正環(huán)境的部署是不可用的。Ice從一開(kāi)始就提供了類(lèi)型化事件的服務(wù)。IceStorm是一個(gè)高效、類(lèi)型化事件服務(wù)的實(shí)現,它支持事件聯(lián)盟。

18、Facets(多接口)
CORBA支持繼承,DCOM支持聚合。在過(guò)去,有很多關(guān)于那一種是更好的方法的爭論。Ice以接口繼承加上以多接口形式的聚合來(lái)同時(shí)支持這兩種方式。Facets允許你在運行的時(shí)候用動(dòng)態(tài)的聚合來(lái)擴展類(lèi)型來(lái)替代靜態(tài)的繼承。

19、Asynchronous Messages(異步消息)
CORBA支持異步消息調用(AMI),但很少CORBA產(chǎn)品實(shí)現了AMI。Ice一開(kāi)始就以簡(jiǎn)單和有效的方式支持AMI。Ice也支持異步消息分發(fā)(AMD),這是CORBA里完全沒(méi)有的東西。AMD等價(jià)于客戶(hù)端的AMI,不過(guò)AMD是用在服務(wù)器端的。使用AMI,你可以發(fā)送了一個(gè)請求,然后在以后的一個(gè)事件收到服務(wù)器的結果時(shí)調用一個(gè)回調函數來(lái)處理返回的結果。而使用AMD,你可以將分發(fā)線(xiàn)程歸還給Ice,并在結果已經(jīng)準備好發(fā)送到客戶(hù)端時(shí)再次調用分發(fā)線(xiàn)程。AMI和AMD都能被連接起來(lái),這允許你只消耗很少的資源就能構建高效的路由程序。

AMI和AMD對客戶(hù)端和服務(wù)器端來(lái)說(shuō)都是透明的。也就是,一個(gè)服務(wù)器程序不知道一個(gè)請求是否通過(guò)AMI調用發(fā)出的還是同步地調用發(fā)出的,客戶(hù)端程序也不知道一個(gè)操作的調用在服務(wù)器端是通過(guò)AMD分發(fā)處理的還是同步地處理的。當需要使用AMI和AMD時(shí),不用修改Slice。

結束語(yǔ):

我們希望上面的解釋能另你激發(fā)你對Ice的興趣。如果你有任何的問(wèn)題或解釋?zhuān)覀儠?huì )邀請你加入我們的郵件列表。我們的目標是不斷地改進(jìn)Ice,因此你的反饋對我們來(lái)說(shuō)是很有價(jià)值的。

                                                                                    gigaboy翻譯完成于2005/7/4 3:02

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
反叛之冰:Internet Communications Engine
ICE一篇很好的基礎
【轉】ice介紹網(wǎng)上搜集整理
ICE學(xué)習筆記(01):Slice規范
人人網(wǎng)中間層-系統架構
DDS介紹---DDS標準中有什么?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久