複製鏈接
請複製以下鏈接發送給好友

ICE

(IT詞彙)

鎖定
Internet Communications Engine,或Ice,是ZeroC開發的一個面向對象的中間件平台。它提供了面向對象的遠程過程調用、網格計算和發佈/訂閲功能,並有基於GPL的雙許可協議和一個私有許可協議。它支持LinuxSolaris、Windows和Mac OS X等最主要的操作系統,和C++Java.NET語言(如C#Visual Basic)、Objective-C、Python、PHP和Ruby等語言。Ice運行時的一個輕量變體叫做Ice-e,可以運行在移動電話中。如它的名字所表明,該中間件可以被用於應用程序,而不需要使用HTTP協議,並且有能力穿越防火牆(這一點不同於當時的其它中間件)。
中文名
ICE
外文名
Internet Communications Engine

目錄

ICE簡介

Internet Communications Engine,或Ice,是ZeroC開發的一個面向對象中間件平台。它提供了面向對象的遠程過程調用網格計算發佈/訂閲功能,並有基於GPL的雙許可協議和一個私有許可協議。它支持LinuxSolarisWindowsMac OS X等最主要的操作系統,和C++Java、.NET語言(如C#Visual Basic)、Objective-CPythonPHPRuby等語言。Ice運行時的一個輕量變體叫做Ice-e,可以運行在移動電話中。如它的名字所表明,該中間件可以被用於應用程序,而不需要使用HTTP協議,並且有能力穿越防火牆(這一點不同於當時的其它中間件)。

ICE歷史

ZeroC於2002年成立於佛羅里達。Ice的設計受到了CORBA的影響,並且實際上也是由幾位有影響力的CORBA開發者創立的,包括Michi Henning。不過,按照ZeroC的説法,它比CORBA更小更簡潔,因為它是由一個富有經驗的開發者小團體設計的,而不是難產於委員會設計。
2004年,有報道稱,一家名為Mutable Realms的公司在一個叫做“Wish”的遊戲中使用了Ice。2008年,有報道稱,大熊湖太陽天文台從2005年起就在使用該軟件。某些版本作為開放顯微鏡環境的一部分被髮布到了GitHub,直到2011年的3.4.2版本。

ICE組件

Ice的組件包括面向對象的遠程對象調用、響應(replication)、網格計算、故障轉移、負載均衡、防火牆穿越和發佈-訂閲服務。為了訪問這些服務,應用程序被連接到一個存根庫或集合,該存根庫或集合產生於一個語言無關的叫做slice的類IDL語法。
參見ICE示意圖(英文)

ICEIceStorm

是一個面向對象的發佈和訂閲框架,它還支持聯盟(federation)和服務質量(quality-of-service)。不同於其它的發佈-訂閲框架如TIBCO軟件公司的Rendezvous或SmartSockets,它的消息內容是由定義良好的類的對象組成的,而不是由結構化文本組成的。

ICEIceGrid

是一套框架,它提供面向對象的負載均衡故障轉移、對象發現和註冊服務。

ICEIcePatch

協助部署基於ICE的軟件。例如,希望部署新功能和/或補丁到多台服務器的用户可以使用IcePatch。

ICEGlacier

是一個基於代理的能夠穿越防火牆的服務,因此使得ICE成為一個因特網通訊引擎。

ICEIceBox

是一個面向服務架構的容器,它包含可執行的由.dll或.so庫實現的服務。這是一個更輕量的選擇,可以對每個服務構建整個可執行服務。

ICESlice

Ice規範語言(Specification Language for Ice)是一個Zeroc私有的文件格式,程序員按照它來編輯獨立於計算機語言的聲明和類、接口、結構和枚舉的定義。Slice定義文件被用來作為存根生成過程的輸入。存根依次被連接到應用程序和服務器,它們應該基於由slice聲明/定義的接口和類進行互相通訊。
不同於CORBA,這裏的類和接口還支持繼承和抽象類。此外,slice還在宏和屬性的表單中提供配置選項來管理代碼生成過程。一個例子是,指令可以生成STL模板list<double>,而不是默認地生成STL模板vector<double>。 [1] 

ICE參見

參考資料
  • 1.    Sergij Shumko (November 2, 2008). "Ice middleware in the New Solar Telescope's Telescope Control System" (PDF). Astronomical Data Analysis Software and Systems XVII, ASP Conference Series, Vol. XXX, 2008. Quebec City, Canada. Archived from the original (PDF) on August 25, 2012. Retrieved July 17, 2013.