Finally, I Know What Ice means! This article focuses on an overview of ice, so that we can fully understand what technologies it is mainly about? Main application scenarios? As well as the main core components; some practical experiences and notes will be introduced in the future;
Ice [Internet communications engine] is the main and core product of zeroc. Based on ice, there are many derivative products, such as ice-E [embedded Ice], ice touch, and ice for Silverlight. Ice is a modern object-oriented middleware, it can be used to replace middleware such as CORBA or COM/DCOM/COM +. Currently, Supported languages includeC ++,. Net,Java,Python,Ruby,PHP. He is not only easy to learn, but also provides powerful network infrastructure for various applications with demanding technical requirements; it is the most appropriate business scenario to use ice when technology like soap or XML-RPC is too slow or does not provide enough scalability or security. According to the zeroc evaluation, the performance of Tao [the ACM (the adaptive communication environment) orb], which has the best performance in the implementation of CORBA, is significantly improved. For details, see http://www.zeroc.com/performance/index.html;
As a high-performance internet communication platform, ice contains many layered services and plug-ins [plugins], which are simple, efficient, and powerful. Ice consists of the following parts:
-
- Slice
The standard language of ice is equivalent to the IDL Interface Definition Language of CORBA. Slice establishes a contract between the client and the server: interface. Slice is also used to describe object persistent data.
- Slice Compilers
The standard slice language can be reflected in a varietyProgramming Language. Currently, ice supports ing between C ++,. net, Java, Python, Ruby, and PHP. The client and server of ice work together without knowing which programming language is implemented separately. The language ing mentioned above refers to the server. for clients, ice supports more languages, such as Silverlight and iPhone;
-
- Ice
Ice Core library. Among the many features, the ice core library manages all communication tasks through an efficient protocol (including TCP/UDP layer protocol compression, A flexible thread pool is provided for multi-threaded servers, and special functions are provided to support the scalability of millions of objects.
-
- Iceutil
Some common function sets. For example, Unicode processing and multi-threaded programming are written in C ++.
-
- Icebox
An application server dedicated to ice applications. Icebox allows you to conveniently run and manage ice services in the form of dynamic loading, shared libraries, or Java classes.
-
- Icegrid
A mature Service Activation and Deployment Tool for advanced grid plans. The previous version was icepack, which greatly simplifies the complexity of deploying applications between heterogeneous networks. As long as you write a deployment description file in XML format, icepack can automatically process the remaining work. The latest icegrid adds the deployment function in a distributed environment based on icepack;
-
- Freeze
Freeze provides automatic persistence of ice servants objects. Through several rowsCodeAn application can generate a highly scalable Evictor to efficiently manage persistent objects.
- Freezescript
In large software projects, changing the Data Type of persistent objects is common. To minimize the impact of these changes, freezescript provides tools to check and port databases generated by freeze. These tools support configuration scripts in XML format and are easy to use.
-
- Icessl
The dynamic SSL transmission plug-in used for ice core. It provides authentication, encryption, and message integrity, and is implemented using industry-standard SSL protocols.
-
- Glacier
One of the biggest challenges facing the object-oriented middleware platform is security and firewall. Glacier is an ice firewall solution that greatly simplifies SecurityProgram. Glacier authenticates and filters client requests, and allows the server to safely call back client objects. Combined with the use of icessl, glacier provides a powerful security solution, that is, security, and easy configuration management. The latest version is glacier2.
-
- Icestorm
A message service that supports consortium. Compared with most other messages and Event Services, icestorm supports event types, which means it is as easy to broadcast a message through consortium as to call a method on an interface.
-
- Icepatch
A software patching and distribution service. To ensure that the running software is the latest version, it is tedious to update the software frequently. Icepatch automatically updates files at a directory level. Only files to be updated are stored on the client. To download updates quickly, icepatch uses efficient compression.Algorithm. The latest version is icepatch2.
we mentioned earlier that ice can be used to completely replace CORBA. Frank pilhofer, a former master of CORBA, commented that ice can be regarded as Millennium CORBA, throwing away the burdens accumulated during its lifetime, but retaining all the good features of CORBA, adding some features, and designing them in a more clear and neat way; since we know little about CORBA, we do not know much about the real differences between ice and CORBA/soap. If you are interested, you can refer to the following link:
ice vs CORBA: http://www.zeroc.com/iceVsCorba.html
ice vs soap: http://www.zeroc.com/iceVsSoap.html