Ice Reading Notes-middleware concepts and ice Overview (2)

Source: Internet
Author: User

II. Ice Overview

1.3) slice (standard ice LANGUAGE)

1.3.1) Overview

Each ICE object has an interface with some operations. Interfaces, operations, and data types exchanged between the customer and the server are defined in the slice language. The Slice language is a way to define a client-server contract independent of a specific programming language. Slice defines an API compiled by a compiler into a specific programming language. That is to say, the API that corresponds to the defined interface and type is grouped by the generated code.

1.3.2) Language ing (will be detailed later)

1.3.3) structure of customers and servers

Both the client and server are composed of the following code: application code, library code, and code generated according to the slice definition:

A) the core of ice provides support for remote communication between the client and the server.

B) the general part of the ice core, that is, the part unrelated to the specific type defined by slice, can be accessed through the ice API.

C) The proxy code is generated according to the slice definition. Therefore, it corresponds to the type of hot data of the slice-Defined Object.

1.3.4) Ice Protocol

Ice provides an RPC protocol that can either use TCP/IP or UDP as the underlying transmission mechanism. In addition, ice allows SSL to be used as a transmission mechanism to encrypt the communication between the customer and the server.

The ice Protocol defines the Message Type (request or reply), Protocol state machine, encoding rules, and message content.

1.3.5) Object Persistence

Ice has a built-in Object persistence service called freeze. Freeze allows us to store the object state in the database: first use slice to define the State of an object to be stored. The freeze compiler will generate code and use

The status of objects stored and retrieved from the database.

 

1.4) Ice Service

Ice provides a complete server platform for distributed application development. However, real applications often require far-reaching communication capabilities, including starting servers on demand, distributing agents to customers, distributing abnormal parts, configuring applications, and distributing application patches.

1.4.1) icepack: The locating server of the IC. It is used to resolve the symbolic adapter name to a protocol-address pair when binding the description.

1.4.2) icebox: a simple application server that can be used to coordinate the start and stop of many application components. Application components can be deployed as dynamic libraries rather than processes.

1.4.3) icestorm: icestorm is a publish-subscribe service that can remove coupling between customers and servers. Essentially, it acts as an event distribution switch. The publisher sends the event to the subscriber.

1.4.4) icepatch: icepatch is a software repair service that distributes software updates to customers.

1.4.5) Glacier: Ice's Firewall Service.

 

1.5) Advantages of ice in architecture

It provides application developers with the following benefits:

A) Object-oriented semantics: "online" retains the object-oriented model.

B) supports synchronous and asynchronous operation calls and dispatch, and provides a publishing-subscription message transmission mechanism through icestorm.

C) multiple interfaces are supported: objects can provide multiple irrelevant interfaces and span these interfaces to maintain a single object ID.

D) machine independence: customers and servers are isolated from the underlying machine architecture.

E) Language independence: customers and servers can be deployed in different languages. The Slice defines the interface contract between the two.

F) implementation independence: the internal implementation between the customer and the server is hidden for the other party.

G) transmission mechanism independence: customers and server code do not need to understand the underlying transmission mechanism. Currently, ice uses TCP/IP and UDP as the transmission protocol.

 

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.