What is ice

Source: Internet
Author: User

Ice (Internet communications engine) is an object-oriented middleware platform for heterogeneous environments.

So what is middleware?

A popular definition is that middleware is an independent system software or service.ProgramDistributed Application Software shares resources between different technologies. Middleware is located on top of the client/server operating system to manage computing resources and network communication.
From the definition of middleware, we can see that middleware is a kind of software, not a kind of software. Middleware not only achieves interconnection, but also achieves interoperability between applications. middleware is a distributed processing-based software, the network communication function is particularly emphasized in the definition.

(In this case, twisted is a middleware)

Currently, three major middleware platforms:

1. OMG's CORBA

2. Sun's J2EE (including EJB and other technologies)

3. Microsoft DNA 2000 of MS (DCOM/COM + and other technologies)

2. Concepts of ice

Server/client: This definition is the same as the general definition. The active party is considered as the client.
Ice object: similar to the object in OOP, the difference is that in a distributed environment, the same ice object may exist in different address spaces. the ice object also provides a set of APIS (facets ). the ice object also has a special interface: the main interface.
Proxies: refers to the ice object reference. The proxy is in the customer address space, and the customer's operations on the ice object are performed through the proxy. proxy encapsulation completed: Ice object addressing (including server addressing), Activating ice object, passing in parameters, waiting for execution and returning execution results
SERVANT: indicates the execution body on the server. The ice object performs operations on the server by calling servant.
"Up to once" Principle: A single access to the target will only be executed once (do not rule out error retry

 

Ice is a modern object-oriented middleware, similar to the middleware such as CORBA or COM/DCOM/COM +.

The internal logical structure of ice customers and servers:

• The core of ice provides support for remote communication between the client and the server.

• Common components of the ice core (that is, those that are irrelevant to the specific types you define using slice) can be accessed through the ice API. You use the ice API to take care of various management transactions, such as the initialization and termination of icerun time.

• It provides customers with a down-call interface. If you call a function in the "generated proxy API", an RPC message is sent to the server.

• Skeleton)CodeIt is also generated according to your slice definition. The skeleton code is the server-side equivalent of the client proxy code: it provides an up-call interface.

• The Object Adapter is a part of the server-side ice API. The Object Adapter tracks the servant in the memory and the object identifier.

The core of ice provides a complete client-server platform for distributed application development, and various services provided by ice provide on-demand server startup and application configuration. Distribute application patches and other functions.

2. Ice Service

Ice provides five services: icepack, icebox, icestorm, icepatch, and glacier.

2.1 icebox

Icebox is a simple application server that can be used to coordinate the startup and stop of many application components. Application components can be deployed as dynamic libraries rather than processes.

2.2 icepack (for service deployment)

Icepack consists of two main components:

Icepack registry, used to manage all information about applications deployed in a specific domain.

Icepack node is used to activate and monitor server processes.

Run iceregistry (config) to manage the information of each service node.

Each server registers with icepackregistry to run icepacknode (config)

Run as one of the nodes.

Then, load the service on any server through icepackadmin (Add "application add 'application. xml. At the same time, you can dynamically manage various servers or servant.

Execute the client program. The client can communicate with the corresponding service accurately through the Object ID in the server and start the service as needed.

2.3 icepatch

Icepatch is a software patching service.

2.4 glacier

Glacier is an ice Firewall service that enables customers to communicate with servers securely through the firewall without sacrificing security. Client-server communication data is completely encrypted using the public key certificate and is bidirectional. Glacier supports mutual authentication and secure session management.

2.5 icestorm

icestorm is a publish-subscribe service that removes the coupling between customers and servers. In essence, icestorm acts as an event distribution switch. The publisher sends the event to the service and sends it to the subscriber. In this way, a single event published by the publisher can be sent to multiple subscribers. Events are classified by topic. The Subscriber specifies the topics they are interested in. Only topics that match the topics that the subscriber is interested in will be sent to the subscriber. This service allows you to specify service quality standards so that the application can properly compromise between reliability and performance.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.