`
jdlsfl
  • 浏览: 159847 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

远程过程调用中间件技术简介

阅读更多

<nobr oncontextmenu="return false;" id="key1" onmousemove="kwM(1);" onmouseover="kwE(event,1, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: 0px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">远程</nobr>过程调用原理

进程间通信(IPC):是在多任务操作系统或联网的计算机之间运行的程序和进程所用的通信技术。有两种类型的进程间通信(IPC)。

1 本地过程调用(LPC):LPC用在多任务操作系统中,使得同时运行的任务能互相会话。这些任务共享内存空间使任务同步和互相发送<nobr oncontextmenu="return false;" id="key0" onmousemove="kwM(0);" onmouseover="kwE(event,0, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">信息</nobr>。

2 远程过程调用(RPC):RPC类似于LPC,只是在网上工作RPC开始是出现在Sun微系统公司和HP公司的运行UNIX操作系统的计算机中。

通过IPC和RPC,程序能利用其它<nobr oncontextmenu="return false;" id="key7" onmousemove="kwM(7);" onmouseover="kwE(event,7, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">程序</nobr>或计算机处理的进程。客户机/服务器模式计算把远程过程调用与其它技术如消息传递一道,作为系统间通信的一种机制。客户机执行自己的任务,但靠服务器提供后端文件服务。RPC为客户机提供向后端服务器申请服务的通信机制,如图R-4所示。如果你把客户机/服务器应用程序想作是一个分离的程序,服务器能运行数据访问部分,因为它离数据最近,客户机能运行数据表示和与用户交互的前端部分。这样,远程过程调用可看作是把分割的程序通过网络重组的部件。LPC有时也称耦合(Coupling)机制。

用这种方式分割程序,当用户要访问数据时就无需每次拷贝整个数据库或它的大部分程序到用户系统。其实,服务器只处理请求,甚至只执行一些数据计算,把得出的结果再发送给用户。因为当数据存放在一个地方时,数据库同步很容易实现,所以多个用户可同时访问相同的数据。

分布式计算环境是由一个通信系统——网络连接的计算机集群。很容易把这个网络看成一个计算平台,若是对等方式,其中任何一台计算机都能成为客户机或服务器。一些处理任务可被分成独立运行程序在不同的网络计算机上并行处理,而独立的程序被交给最适合这个任务的计算机处理。这种策略可利用计算机空闲资源,提高网络的效益。一个典型的企业网包括许多运行着不同操作系统的异构计算机系统。

远程过程调用中间件技术

随着企业网的产生,<nobr oncontextmenu="return false;" id="key4" onmousemove="kwM(4);" onmouseover="kwE(event,4, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">开发</nobr>商必须编制可在各种计算机和网络通信协议中都能运行的程序。现在人们正努力使得远程过程调用独立,这意味着开发商就不用考虑底层的网络和网络上数据传输所用的协议,下面介绍RPC在开放式软件基金(OSF)的分布式计算环境(DCC)中实现的相关方法。RPC工作于多种分布式计算环境。

SunSoft的开放网络计算(ONC)的远过程调用/外部数据表示(RPC/XDR)协议被广泛采用。在三百一十万个运行网络文件系统(NFS)的系统中,有二百八十万个使用ONCRPC库,并在分布式应用中作为客户机或服务器。ONCRPC被IBM的所有操作系统所支持(除了OS/400)。UNIX系统实验室把RPC/XDR当作是UNIX System V Release 4的一个标准部分。Novell支持下一代ONC+传输自立远程过程调用(TI-RPC)技术.TI-RPC 使用<nobr oncontextmenu="return false;" id="key3" onmousemove="kwM(3);" onmouseover="kwE(event,3, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">运输</nobr>层接口(TLI)实现传输自立。TLI提供了一种访问面向连接或非连接传输服务的通用方法(这在“STERAMS环境”中有所叙述)。

Open Software Foundation(OSF)RPC 开放软件基金会(OSF)的RPC

RPC工具提供了一种编程语言和编译器,它们使用可看作是本地过程的可运行于客户机和服务器上的模块开发分布式应用程序。运行时设施(run-timefacility)使得分布式应用程序能在多机种异构系统上运行,这样使得底层体系结构和运输协议对于应用程序是透明的。

程序员用接口定义<nobr oncontextmenu="return false;" id="key2" onmousemove="kwM(2);" onmouseover="kwE(event,2, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">语言</nobr>(IDL)建立接口定义(interface definition)。IDL是程序员用来设计远程运行的过程的工具。IDL编译器把IDL接口定义转换成与客户机和服务器相连的占位程序(stub)。客户机上的占位程序可加入到服务器的过程,而服务器上的占位程序也可加入到客户机过程。位于客户机服务器的RPC运行时设施与占位程序合作,来提供RPC操作。

异构环境中使用RPC的一个问题在于,不同的机器有不同的数据表示,OSFRPC通过具有调用机器的基本数据表示的特征调用来<nobr oncontextmenu="return false;" id="key8" onmousemove="kwM(8);" onmouseover="kwE(event,8, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">解决</nobr>这个问题。当收到调用时,若根据特征知道两台机器数据表示不同的话,接收器就进行数据转换。

RPC运行时设施提供把客户机请求传送给服务器和在网上发送和接收响应的功能。DCERPC运行时设施也和网络上其它DCE服务相互作用,这些DCE服务有命名、安全和定时服务。运行时设施有下列特征:

1 可在多种网络上运行。开发者无需为每个网络编写特定的应用程序。

2 提供客户机或服务器或网络上的故障恢复。它支持文件系统、数据库和其它传输可变长数据的服务。

3 提供独立于任何一个目录服务的基于名字定位服务器的方法。

4 提供<nobr oncontextmenu="return false;" id="key5" onmousemove="kwM(5);" onmouseover="kwE(event,5, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">安全</nobr>工具的接口,以防RPC通信遭受破坏。安全服务保证机密信息的保密性和提供鉴别来保护通信完备性。

5 支持网上并发或并行处理的多线程调度,于是一个应用程序就能同时执行多个操作

6 提供多<nobr oncontextmenu="return false;" id="key6" onmousemove="kwM(6);" onmouseover="kwE(event,6, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">供应商</nobr>提供的系统环境的可移植性和相互操作性。

相关条目:Application Program Interface应用程序编程接口;Connectionless and Connection-Oriented Transaction无连接和面向连接事务;Distributed Computing Environment,OSF OSF的分布式计算环境(DCE);Enterprise Networks企业网;Interprocess Communication进程间通信;Middleware中间件。 
分享到:
评论

相关推荐

    软件中间件技术基本的简介

    【中间件技术基本简介】 中间件,作为软件技术的一个重要组成部分,它的主要作用是为分布式应用程序提供一个标准化的平台,使应用能够在不同的硬件和操作系统之间实现数据共享和互操作。这种技术有效地解决了跨平台...

    中间件技术及应用考试复习重点

    3. **远程过程调用中间件(RPC)**:此类中间件使得一个程序可以像调用本地函数那样调用另一个远程计算机上的函数。 4. **面向消息中间件(MOM)**:这类中间件通过消息队列等方式实现异步通信,适用于分布式系统中。 ...

    中间件技术_COM技术简介

    ### 中间件技术_COM技术简介 #### 一、从DNA说起 **Windows Distributed Internet Application Architecture (Windows DNA)** 是微软提出的一个全面的框架,旨在帮助企业构建高效、可扩展的分布式应用程序。这一...

    消息中间件原理及JMS简介

    按照IDC的分类,中间件可以分为终端仿真/屏幕转换、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件和对象中间件等六类。在实际应用中,通常将中间件划分为底层中间件和高层中间件,分别对应单个应用...

    ICE中间件简介PDF

    - **远程过程调用中间件**:支持远程过程调用机制。 - **消息中间件**:屏蔽平台和协议差异,实现应用程序间的通信。 - **交易中间件**:确保交易完整性和数据一致性。 - **对象中间件**:在异构环境中实现分布对象...

    消息中间件与JMS.pdf

    - **远程过程调用中间件(RPC)**:使开发人员能够调用位于远程服务器上的过程,隐藏了通信细节。 - **消息中间件(MOM)**:利用高效可靠的消息传递机制实现跨平台的数据交换,支持同步和异步两种方式。其中异步...

    分布对象中间件StarBus.pdf

    分布对象中间件如StarBus,则更进一步,它支持分布式计算环境中的对象交互,允许不同网络和计算机上的对象相互调用方法,共享数据,从而打破传统的系统边界,促进跨系统的协同工作。 StarBus 3.0主要包含以下几个...

    tuxedo中间件开发与配置

    通过ATMI,服务器和客户端可以进行数据交换,实现远程过程调用(RPC)。 5. **配置与部署** 配置Tuxedo涉及到创建服务定义、设置环境变量、编写配置文件(如.tpd文件)等步骤。部署时,需要考虑服务的分布、负载...

    消息中间件的原理与实现

    3. **远程过程调用中间件(RPC)** 4. **消息中间件(MOM)** 5. **交易中间件(TPM)** 6. **对象中间件** #### 二、面向消息的中间件 面向消息的中间件(Messaging Oriented Middleware, MOM)是一种利用高效...

    Ice简介(附代码).rar_ICE_c# ice_中间件

    在提供的`Ice简介(附代码).ppt`文件中,可能包含一个简单的C#示例,演示如何使用ICE创建和访问远程对象。通常,这会包括以下步骤: 1. **定义接口**:使用ICE IDL编写服务接口。 2. **编译接口**:使用`icecsharp`...

    中间件内存马注入&冰蝎连接(附更改部分代码)1

    中间件内存马注入是一种利用软件漏洞在服务器内存中植入恶意代码的技术,常见于攻击者对Web应用程序的安全渗透。本文主要探讨了如何在冰蝎(Icesword)源码基础上增加对JSP的内存马注入支持,并分析了相关原理,同时...

    建筑设备自动化系统-OPC技术.pptx

    #### 三、OPC技术简介 OPC技术是一种软件类别,而非单一软件。它支持分布式计算,提供跨网络、硬件和操作系统平台的透明性应用或服务交互功能,支持标准协议和支持标准接口。OPC技术最显著的特点是网络通信功能...

    J2EE的13种核心技术简介

    在 J2EE 中,RMI 通常用于实现组件间的远程调用,特别是当涉及到不同 JVM 中的对象交互时。 ### 5. JSP (JavaServer Pages) JSP 技术允许在 HTML 页面中嵌入 Java 代码,从而创建动态网页。JSP 页面可以在服务器端...

    corba 技术介绍

    具体而言,CORBA通过ORB(Object Request Broker)这一核心组件,实现了对象之间的请求转发和响应处理,从而确保了对象的透明访问和远程调用能力。 ### CORBA的体系架构 CORBA的体系架构主要包括ORB、对象引用和...

    金典的WINDOWS 7A ,想要的就下啊

    这是一种常见的中间件类型,用于实现分布式系统的远程调用。 #### 对象请求代理(ORB) ORB是面向对象编程中的一种中间件,它负责处理对象之间的请求,支持对象之间的透明通信。 #### 消息传递中间件(MOM) MOM是一种...

    tuxedo中间件学习资料

    - 客户端程序通过ATMI调用远程服务。 - **编写服务端程序**: - 服务端程序处理来自客户端的请求,并返回结果。 - 每个服务都有其特定的功能。 - **Tuxedo Buffer类型简介**: - STRING:用于存储简单的字符串...

    ICE中间件教程

    - **3.1.2.4 客户端**:创建代理对象,并调用远程对象的方法。 - **3.1.2.5 运行**:启动服务器端程序,然后启动客户端程序,观察结果。 - **3.1.3 Java实现**:类似于C++实现,但使用Java语言编写。 #### 四、...

    java struts jsp spring面试题

    例如,**RMI**(Remote Method Invocation,远程方法调用)是一种Java提供的远程调用中间件,允许一个虚拟机上的Java对象调用另一个虚拟机上的Java对象的方法。而**负载均衡**则是一种用于将客户端请求分散到多个...

    simple-rpc-go:一个非常简单,快速的二进制RPC中间件

    4. **客户端调用**:客户端使用生成的代码,通过gRPC库发起远程调用,传入请求参数,等待服务器响应。 四、性能优化 “simple-rpc-go”着重优化了以下几点以提升性能: - **二进制编码**:使用ProtoBuf进行二进制...

Global site tag (gtag.js) - Google Analytics