ICE介绍(1) - abetman的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/04/19 21:44:51

2.1Chapter Overview

 

 

In this chapter, we present a high-level overview of the Ice architecture.

 

 

Section 2.2 introduces fundamental concepts and terminology, and outlines how

 

 

Slice definitions, language mappings, and the Ice run time and protocol work in

 

 

concert to create clients and servers. Section 2.3 briefly presents the object

 

 

services provided by Ice, and Section 2.4 outlines the benefits that result from the

 

 

Ice architecture. Finally, Section 2.5 presents a brief comparison of the Ice and

 

 

CORBA architectures.

 

 

 

 

2.1 章节预览

在这一章里,我们将呈现一个ICE架构的高层预览。2.2节将介绍一些基础的概念和术语,并概括一下Slice是如何定义的,语言是如何映射的,还有Ice运行时和协议在创建客户端和服务器时是如何保持一致的。2.3节简要的介绍一下ICE提供的对象服务。在2.4节概括一下由ICE架构所带来的好处。最后,在2.5节将提供一个ICECORBA架构的一个大概的比较。

2.2The Ice Architecture

 

 

2.2.1Introduction

 

 


Ice is an object-oriented middleware platform. Fundamentally, this means that Ice provides tools, APIs, and library support for building object-oriented client–server applications. Ice applications are suitable for use in heterogeneous environments: client and server can be written in different programming languages, can run on different operating systems and machine architectures, and can communicate 10 Ice Overview using a variety of networking technologies. The source code for these applications is portable regardless of the deployment environment.

 

 

2.2 ICE的架构

2.2.1 介绍

ICE是一个面向对象的中间件平台。从根本上讲,这意味着ICE提供了一些工具、API和库用以开发面向对象的客户端-服务器的应用程序。ICE应用程序适合于用在各种异构的环境中:客户端和服务器可以用不同的语言编写,能够运行在不同的操作系统、不同体系结构的机器上,可以用不同的网络技术进行通讯(大概10种以上)。这些程序的源代码可以在不同的开发环境之间移植。

2.2.2Terminology

 

 


Every computing technology creates its own vocabulary as it evolves. Ice is no exception. However, the amount of new jargon used by Ice is minimal. Rather than inventing new terms, we have used existing terminology as much as possible. If you have used another middleware technology, such as CORBA, in the past, you will be familiar with most of what follows. (However, we suggest you at least skim the material because a few terms used by Ice do differ from the corresponding CORBA terminology.)

 

 

2.2.2 术语

任何一个计算机技术在它的发展过程中都会创造一些术语。ICE也不例外。但是,ICE所用的新术语是最少的。我们尽可能的用一些已经存在的术语,而不是发明新的。如果你以前用过其他的中间件产品的话,例如CORBA,你对下面的很多术语可能已经熟悉了。(但是,我们建议你至少要掌握一些重要的东西,因为有一些术语在ICE中与在CORBA中的意思不同)

Clients and Servers

 

 

The terms client and server are not firm designations for particular parts of an

 

 

application; rather, they denote roles that are taken by parts of an application for

 

 

the duration of a request:

 

 

• Clients are active entities. They issue requests for service to servers.

 

 

• Servers are passive entities. They provide services in response to client

 

 

requests.

 

 

l         客户端和服务器

 

 

客户端和服务器不是指应用程序的固定的某一方。相反,它们是指在应用程序请求期间某一方所扮演的角色。

 

 

       客户端是主动的实体。它们向服务器发出服务请求。

 

 

       服务器是被动的实体。它们向客户端提供服务。

 

 

Frequently, servers are not “pure” servers, in the sense that they never issue

 

 

requests and only respond to requests. Instead, servers often act as a server on

 

 

behalf of some client but, in turn, act as a client to another server in order to

 

 

satisfy their client’s request.

 

 

服务器并不总是一个“纯粹的”服务器(所谓“纯粹的”服务器是指它们从来不发送请求,只是回应请求)。通常情况下是这样,服务器相对自己的客户端时是服务器,但是,为了满足其客户端的请求,它们可能会是其他服务器的客户端。

 

 

Similarly, clients often are not “pure” clients, in the sense that they only

 

 

request service from an object. Instead, clients are frequently client–server

 

 

hybrids. For example, a client might start a long-running operation on a server; as

 

 

part of starting the operation, the client can provide a callback object to the server

 

 

that is used by the server to notify the client when the operation is complete. In

 

 

that case, the client acts as a client when it starts the operation, and as a server

 

 

when it is notified that the operation is complete.

 

 

同样的,客户端也不总是一个“纯粹的”的客户端(所谓“纯粹的”的客户端是指只是从一个对象中请求服务)。相反,客户端经常是一个客户端-服务器的混合体。例如,一个客户端可能会在服务器上启动一个长时间的操作,在启动这个操作时,客户端可能会向服务器提供一个回调对象,服务器可以在完成操作时用这个对象通知客户端。在这种情况下,客户端在启动操作时是一个客户端,在指定的操作完成被通知时是一个服务器。

 

 

Such role reversal is common in many systems, so, frequently, client–server

 

 

systems could be more accurately described as peer-to-peer systems.

 

 

这样的角色互换在很多系统中是很普通的,所以,一个客户端-服务器系统常常被精确的描述为一个PtoP系统。