⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lc_bcb_49.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:
          一组对象发生作用的次序不影响结果的一致性。 
          
          挂靠于英国剑桥的APM公司在开放分布式研究方面独执牛耳。他们的"高级网络系统结构"(Advanced Networked Systems 
          Architecture,简称ANSA 研究项目),受到世界上许多重要公司与研究机构的重视和资助,奠定了开放分布式处理的基础。这项研究独立于各种具体的网络、硬件、操作系统和数据库,着力于设计与构造灵活的分布式应用。其产品Aware是ANSA 体系结构的一个具体实现。 
          
          为了使开放分布式处理能达到处理异质构件的能力和上述八个方面的透明性, 
          国际标准化组织(ISO)制订了开放分布式处理的参考模型RM-ODP 
          (Reference Model Of Open Distributed Processing),该模型的原型是挂靠在英国剑桥的APM公司的"高级网络系统结构"(Advanced 
          Networked Systems Architecture, 简称ANSA。) 
          模型分成企业模型、信息处理模型、计算模型、工程模型和技术模型五类。这五类模型都与分布式系统的设计相关, 
          而其中的计算模型和工程模型与分布式系统体系结构的关系更为直接。计算模型主要研究客户/服务器结构及其对象所提供和享用的服务(Service)。 工程模型主要研究系统资源的分配以及如何用工程模型对象来支持计算模型对象。技术模型被用来实现工程模型对象到计算模型对象的映射, 
          它描述了如何利用各个本地操作系统中的进程映射和进程管理来具体实现上述映射。 
          
          1. 计算模型 
          
          计算模型的核心内容是服务。提供服务和接受服务的双方分别为服务器和客户端, 
          而对象(或构件)则是服务器和客户端的组成部分。一个对象可能是一个以上服务的提供者或使用者; 
          对象是经过封装、独立存在的, 一个对象可以被安装、升级、替换或重定位, 
          而与其它对象无关。 
          服务的提供与使用通过接口来体现, 
          即接口是提供服务的基本单元。 
          服务可分为两类, 
          即应用服务和体系结构服务。前者是系统所要完成的特定的任务; 
          后者是指各种任务都要涉及到的服务, 例如, 在一个分布式系统中登记或查询一种应用服务, 
          对使用权限进行控制以及其它的接口管理服务等。"交易(Trading)"是最典型的体系结构服务, 
          它通过系统拥有的目录结构来记录服务器对象所提供的服务; 
          另一方面,客户对象也通过"交易"来寻找所需的服务。提供这种"交易"服务的对象被称为"交易器(Trader)"。 
          对象的通信是通过传递接口引用(Interface 
          Reference)进行的。接口引用对应用程序来说, 是一个网络指针, 指向提供服务的对象; 
          从面向对象的角度看, 接口引用就是接口实例的索引。接口引用可由一个程序自由地传给另一个程序,这也就把使用某种服务的能力传递给了对方。 
          一个对象可以在"交易器"中登记它所提供的服务, 
          也可以从"交易器"中查找所需要的服务, 所有的工程模型对象都清楚"交易器"对象的位置,并可以与之连结,这使得客户端与服务器的对象之间可以实现动态联编(Binding)。 
          除了登记和查询服务之外, 
          "交易器"还提供了许多设施使管理员可以进行"交易器"内部的组织。例如,"交易器"提供了撤除接口引用、释放资源和关闭"交易器"的接口, 它可以给接口引用附加不同的空间位置属性和引用限定, 
          与接口引用名称一起提供给应用程序, 以便于接口的使用。"交易器"还可以优化服务, 即在某个服务对象繁忙的时侯,启动包含相同服务的其它对象来满足客户端的要求。另外,"交易器"还可以做为其它"交易器"上服务的代理,或与其它"交易器"通过桥接联合成"交易器"群,沟通各个应用领域。 
          一个计算模型对象可以有多个接口, 
          每个接口可称为一种接口类型。不同的接口类型提供的操作(或服务)可以相同,也可以不同。它们之间的兼容性可形成父子关系,利用这种关系可以优化服务。是否公布某个接口, 供外界使用完全由应用程序设计者来决定。 
          2. 工程模型 
          
          工程模型中的主要概念是"节点(Node)"、"核(Nucleus)"和"封壳(Capsule)"。 
          一个"节点"可以指一台计算机、一个操作系统进程或一台模拟机, 
          也可以是由分布式操作系统管理的计算机网络, 在不同的场合"节点"有不同的粒度。一个"节点"的资源由一个称为"核"的工程模型对象来管理, "核"把资源赋于工程模型对象, 使工程模型对象成为一个自治的操作单元(或单独的地址空间), 我们称之为"封壳"。因而,一个支持多进程的"节点",如Unix, 可以支持多个"封壳", 而MS-DOS只有一个"封壳"。 
          "核"带给"封壳"的能力包括: 
          (1)"封壳"是一个受保护的地址空间,其操作即使失败也不会影响到其它的"封壳"。 
          (2)允许在"封壳"内对并发活动进行控制。 
          
          (3)可与其它"封壳"进行通信。 
          (4)保留交互中的状态。 
          
          (5)构筑其它"封壳"的能力。 
          "核"所提供的资源包括任务(Task)、线程(Thread)、事件同步机制、套接字(Socket)、接头(Plug)、通道(Channel)、历程(Session)和接口引用等。 
          任务是"封壳"中由一串操作形成的独立的执行路程; 
          线程是虚拟的处理器, 它与任务编联并为任务提供所需的资源。支持多任务的"封壳"必定支持多线程。事件同步机制包括事件计数器(Event 
          Counter)与顺序器(Sequencer), 用于对多个线程进行同步。套接字、通道、历程等用于进行"封壳"之间的通信。 
          一个工程模型对象是可以分布、激活、湮灭、转移的最小单元, 
          是编译了的计算模型对象。 由于可以把一个程序编译成一个单元, 
          也可以就单独的对象分别编译, 因此, 
          一个工程模型对象就是一个或多个运行时的计算模型对象。工程模型对象并不具备前面提到的透明性。透明性是在编译计算模型对象, 
          把透明服务加到附加操作与交互状态中而达到的。根据不同的需要可选择不同的透明性。 
          
            
        
        构件对象模型系统的典型结构 
          
          一构件对象模型系统的结构常可分为上、中、下三层,或可称之为基本程序结构、远程结构和线路协议(wire 
          protocol)结构。如图所示: 
            
           
          客户代理(Client Proxy)和 对象代理(Object Proxy)是由接口语言定义的代码,它们分别居留在客户进程空间和服务器的进程空间,两着都是用来为接口参数的传递作准备工作。客户代理被用来按线路协议的要求将对一接口的调用参数打包(称为marshaling过程)或对调用结果解包(称为unmarshaling过程);对象代理则对接口的调用参数和调用结果分别实施unmarshaling过程和marshaling过程。运行库被用来支持客户与对象间的通信,并为这种通信提供空间透明性,包括本地进程间的透明和远程透明。线路协议层被用来运载接口调用参数和调用结果。 
          
          当客户发出对一对象的接口调用后,客户所在机器的运行库1负责寻找该对象所在的位置并将具体实施该调用。当该对象为远程对象时,运行库1通过线路协议层将调用参数传输到该对象所在机器的构件运行库2,通知运行库2实施本调用,运行库2将调用结果返回到运行库1,由运行库1将调用结果送给客户。在此过程中,如果远程对象处于非活动状态,则运行库2将之激活。 
        
        构件对象模型结构中的客户/服务器模型 
        
      
      在接口的调用过程中,调用者(应用程序或对象)充当客户的角色,而被调用的接口所属的对象则相当于服务器。 
      客户应用对接口的调用必须经与运行库的参与,运行库的作用即是三层客户服务器结构中的中间层所起的作用,因此如下图所示,客户应用──运行库──服务器组成了三层结构的客户/服务器模型。 
        
       
    
    构件对象模型的技术规范 
      
    
  
目前构件与开放分布式系统模型理论已经在实际中得到了越来越广泛的应用。当前应用较多的有以下三种技术规范或体系结构:一曰CORBA(Common 
Object Request Broker Architect)、二为COM/DCOM(Component Object Model / Distributed Component Object Model)、三称Java Beans。 除这三者之外,以下规范也可被用来构造分布式构件系统: 
  OSF的DCE(Distributed Computing Enviroment) 
  远程过程调用-RPC 
    (remote procedure calls) 
  命名管道(Named Pipe)通讯 
    
  基于共享内存的系统 
    
  套接字(Socket)编程 
    
  消息排队(Message 
    Queuing) 
  其他进程间通讯机制 
    
  数据库表、触发器和轮询(polling) 
    
CORBA是由OMG(Object 
Management Group)在1989年提出,得到了从IBM、Microsoft、Sun、HP、Oracle、 DEC到Iona、Visigenic、VPM等公司的广泛支持。COM/DCOM规范是Microsoft在独家发布的构件对象模式技术规范, 
而Java Beans则是SUN公司在1994年12月提出的基于Java的构件模型。
返回

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -