2019独角兽企业重金招聘Python工程师标准>>>

CORBA
开放分类: 计算机接口规范
CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展
OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构OMA由对象请求代理ORB对象服务公共设施域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG标准的内容ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应分布的可以互操作的对象可以利用ORB构造可以互操作的应用
CORBA标准由对象管理组织(OMG)设立并进行控制,CORBA定议了一系列API,通信协议,和物件/服务信息模型用于使得异质应用程序能够互相操作,这些应用程序用不同的程序语言编写,运行在不同的平台上CORBA因此为定义明确的物件提供了平台和位置的透明性,这些物件是分布式计算平台的基础
CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准COBRA标准主要分为3个层次:对象请求代理公共对象服务和公共设施最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务名字服务事务(交易)服务安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则
CORBA(公共对象请求代理架构):这是个和微软com,com+齐名的同类软件技术规范,由OMT提出
用于在不同进程(程序)之间,甚至是不同物理机器上的进程(程序)之间通讯底层技术依靠RPC[远程过程调用]实现
面向对象的软件,以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具有继承特性
,极大地提高了类的可扩充性和可再用能力对象类较之于传统软件的功能模块而另具有的优点是:
(1)易于理解,具有完整的语义特征;
(2)易于扩充和修改,具有较高的通用性和适应性;
(3)易于构造组装,具有规范的外部接口
开发应用组件必须遵循标准,以保证软件组件的互操作性,只有遵循统一的标准,不同厂商的不同时期的不同程序设计风格的不同编程语言的不同操作系统的不同平台上的软件或软件部件才能进行交流与合作为此,OMG(ObjectManageGroup)提供了一个对象标准CORBA,它定义了一个网连对象的接口,使得对象可以同时工作基于CORBA的对象请求代理ORB为客户机/服务器开发提供了中间件的新格式
作为OMG成员的微软公司撇开CORBA而另辟了COM(ComponetObjectModel),即组件对象模型,并把COM定位成基于对象的软件开发模型,尽管COM被认为是微软鼓噪出来的技术,但支持COM的开发工具却不断增多,其中大部分来自于微软,包括VisualBasic和VisualC ++
公共对象请求代理结构:CORBA标准
全球性网络使线上的所有设备和软件成为全球共享的浩瀚的资源,计算机环境也从集中式发展到分布式环境,开放式系统的发展使用户能够透明地应用由不同厂商制造的不同机型不同平台所组成的异构型计算资源,因此,分布式处理和应用集成自然而然地成为人们的共同要求,那么什么是分布式处理和应用集成呢?它们的功能和关键技术是什么呢?简单地讲,分布式处理和应用集成就是指在异构的网络的物理性能差别很大的不同厂商的不同语言的信息资源的基础上构建信息共享的分布式系统,并且能够有效地进行应用系统和分布式处理的集成分布式处理的关键在于定义可管理的软件构件,即面向对象技术中的对象应用集成的关键在于为跨平台跨机种跨编程语言的产品提供统一的应用接口OMG组织针对当今信息产业的要求,公布了CORBA标准,即公共对象请求代理体系结构(Common Object Request Broker Architecture),这是一个具有互操作性和可移植性的分布式面向对象的应用标准
CORBA的核心是对象请求代理ORB,它提供对象定位对象激活和对象通讯的透明机制客户发出要求服务的请求,而对象则提供服务,ORB把请求发送给对象把输出值返回给客户ORB的服务对客户而言是透明的,客户不知道对象驻留在网络中何处对象是如何通讯如何实现以及如何执行的,只要他持有对某对象的对象引用,就可以向该对象发出服务请求
CORBA允许用户以两种不同的方式提出对象请求:
1)静态调用:
通过给定接口的存根,在编译了对象代码后,进入客户端的程序因此,静态调用必须在编译时就知道对象及其类型
2)动态调用:
通过ORB的动态调用接口DII,在运行时生成访问对象的代码
不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户
CORBA的重要概念是:
1.对象连接
CORBA广泛地支持对象的实现,在单服务器系统中也可以实现由接口定义语言定义的接口ORB的灵活性既可以直接集成已有的应用,又不会使新对象受某些原则的制约
对象连接提供了有不同类型对象实现时,使用ORB服务的方法,服务包括:对象引用方法调用安全控制对象实现的激活与静候等
2.接口定义语言(IDL)
CORBA用IDL来描述对象接口,IDL是一种说明性语言,它的语法类似于C++
IDL提供的数据类型有:基本数据类型构造类型模板类型和复合类型操作说明这些类型可以用来定义变元的类型和返回类型,操作说明则可以用来定义对象提供的服务
IDL还提供模块构造,其中可以包含接口,而接口是IDL各类型中最重要的,它除了描述CORBA对象以外,还可以用作对象引用类型
IDL提供了接口继承性,派生接口可以继承其基类接口所定义的操作与类型IDL的接口继承性有其特殊性,此处不赘述
总之,CORBA的IDL是一种说明性语言,描述面向对象系统开发所遵循的接口与实现相分离的基本原则
3.动态调用接口
把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作了例如,图形用户接口应支持用户浏览接口公共库,以获得每个对象所支持的操作信息,用户可根据自己的需求从浏览对象中挑选出所需的对象操作,具体的对象操作的调用实际上是用动态调用接口来完成的
4.接口公用库
接口公用库持久地存储IDL的接口说明,借助于接口公用库,可以实现对象继承性层次结构的导航,并且提供了有关对象支持的所有操作的描述接口公用库最常见的功能是为接口浏览器提供信息,帮助应用开发者找出潜在的可重用的软件部件ORB可以利用接口公用库检查运行时的操作参数类型,但接口公用库的基本功能是提供类型信息,为动态调用接口发送请求提供信息支持
----------------------------
一键转贴,快速捕捉生活精彩,赢每周好礼!查看活动首页>>

转载于:https://my.oschina.net/zhangzhe/blog/414054

CORBA_百度百科相关推荐

  1. 爬取百度百科上中国所有城市的信息

    1 # coding=utf-8 2 import xlrd 3 import xlwt 4 import requests 5 import re 6 import json 7 import os ...

  2. 使用CURL构建爬虫,抓取百度百科内容

    实现这个功能的步骤: 首先打开百度百科,在搜索框输入"php"关键词,得到搜索列表,一般都是10条: 然后使用火狐的Firebug分析百度列表的内容组成,主要是html标签,发现去 ...

  3. 姚殊清华计算机科学与技术,王道顺(清华大学计算机科学与技术系副教授)_百度百科...

    王道顺 (清华大学计算机科学与技术系副教授) 语音 编辑 锁定 讨论 上传视频 王道顺,毕业于四川大学理学博士 (应用数学),现为 清华大学计算机科学与技术系副教授. 中文名 王道顺毕业院校 职    ...

  4. python编程中文版百度百科_1.2 搭建python+pycharm编程开发环境

    工欲善其事必先利其器,很多小伙伴在学习编程的道路上,第一步就被编程环境搭建劝退.今天就让我们起来快速搭建一个python的开发环境,开启征服python的第一步. 一.Python安装 1.1pyth ...

  5. 【网络爬虫】BeautfulSoup爬百度百科(真の能看懂~!)

    文章目录 1 百度百科 2 观看规律 3 制作爬虫 4 结果 1 百度百科 百度百科中有很多名词的解释信息, 我们今天从 "网页爬虫" 的词条开始爬, 然后在页面中任意寻找下一个词 ...

  6. python爬虫百度百科-如何入门 Python 爬虫?

    目前网上有关网页爬虫的指导有很多,但是套路却是千篇一律,基本都是围绕以下内容进行展开,CSS/html等网页知识 requests或urllib BeautifulSoup或正则表达式 Seleniu ...

  7. python语言百度百科-Python 语言下数据驱动DDT的应用

    数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品 ...

  8. 用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科

    最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...

  9. python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

最新文章

  1. linux下各种Raid介绍
  2. WDS部署服务之四镜像捕获(1)
  3. The bag-of-words model
  4. 服务器策略文件,如何解决服务器对文件请求的缓存策略教程
  5. linux文件历史,Linux文件系统的历史透视
  6. 企业网站 源码 e-mail_临汾网站制作,B2B软件哪家好
  7. LeetCode 147. Insertion Sort List
  8. XBAP 承载 Silverlight 的示例
  9. 【路径规划】基于matlab无线充电车辆路径和速度预测【含Matlab源码 1473期】
  10. R语言实现PVAR(面板向量自回归模型)
  11. 数字图像处理编程入门笔记
  12. 【文献学习】DeepReceiver: A Deep Learning-Based Intelligent Receiver for Wireless Communications in the Ph
  13. android rxbus工具类,RxBus的工具类
  14. ajax请求406,Ajax请求返回(406不可接受)
  15. F28335的DSP中主频的配置
  16. texlive和texstudio安装及使用
  17. halcon循环语句,条件句结构格式
  18. 从清华-哈佛外科论坛,看未来可期的最新医疗科技动向
  19. 设计一个十进制纯机械乘法器,继续大数乘法
  20. oracle如果查询出的值为null记为0

热门文章

  1. 常用CASE工具介绍 (csnd.net)
  2. 凛冬将至,程序员到底何去何从
  3. 微软MPP2.0 Microsoft Pen Protocol V2.0 officialEEAP.pdf
  4. 搜索引擎蜘蛛抓取不到网站内容页面的原因总结
  5. java curl 使用方法_如何在Java中使用这个cURL POST请求?(Spotify API)
  6. 计算机电脑Windows系统中了faust勒索病毒,phobos勒索家族介绍,Windows用户注意
  7. 报名进行时!邀您一起海外社媒会话跨境直播,实地探访MCN机构
  8. 2022-06-18 jQuery遍历方法:$.each()方法遍历对象或数组的示例
  9. 可达性分析算法与理解误区
  10. docker命令安装rap2阿里开源接口管理工具