<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CORBA</id>
	<title>CORBA - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CORBA"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CORBA&amp;action=history"/>
	<updated>2026-07-13T11:28:01Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=CORBA&amp;diff=21564&amp;oldid=prev</id>
		<title>2022年10月15日 (六) 08:35 imported&gt;Sw777</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CORBA&amp;diff=21564&amp;oldid=prev"/>
		<updated>2022-10-15T08:35:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{expand|time=2018-07-22T05:09:15+00:00}}&lt;br /&gt;
{{unreferenced|time=2018-07-22T05:09:15+00:00}}&lt;br /&gt;
{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CORBA&amp;#039;&amp;#039;&amp;#039;（Common Object Request Broker Architecture）又叫&amp;#039;&amp;#039;&amp;#039;通用物件請求代理架構&amp;#039;&amp;#039;&amp;#039;，是軟體構建的一个標準。&lt;br /&gt;
&lt;br /&gt;
CORBA標準由[[Object Management Group|物件管理組織]]（OMG）設立並進行控制，CORBA定義了一系列[[API]]，通信協議，和物件／服務[[信息模型]]用於使得異質[[應用程序]]能夠互相操作，這些應用程序用不同的程式語言編寫，運行在不同的平台上。CORBA因此為定義明確的物件提供了平臺和位置的透明性，這些物件是[[分布式計算]]平臺的基礎。&lt;br /&gt;
&lt;br /&gt;
通常來說，CORBA把用其他語言開發的程序代码和關於該程序代码能力和如何調用該程序代码的信息包到一個开发包（package）中，开发包中的物件則可以在網络上被其他[[電腦程序|程序]]（或CORBA[[物件]]）調用。在這個意義上來講，CORBA可以被看作是一個[[機器可讀]]的文件檔格式，類似於头文件（header），但是具有相當多的信息。&lt;br /&gt;
&lt;br /&gt;
CORBA使用一種[[接口描述语言]]（[[IDL|Interface description language]]）用於刻畫物件將呈現出來的介面。CORBA又規定了從[[接口描述语言|IDL]]到特定程式語言，如[[C++]]或[[Java]]，實現的映射。這個映射精確的描述了CORBA[[資料類型]]是如何被用戶端和伺服器端實現的。標準映射的有[[Ada]]、[[C語言|C]]、[[C++]]、[[Smalltalk]]、[[Java]]、以及[[Python]]。還有一些非標準的映射，為[[Perl]]和[[Tcl]]的映射由這些語言寫的[[ORB]]實現。&lt;br /&gt;
&lt;br /&gt;
CORBA的IDL只是IDL的一個例子。&lt;br /&gt;
&lt;br /&gt;
在提供用戶語言和平臺中性的[[遠端程序呼叫]]規範的同時，CORBA也定義了通常需要的服務，例如事務和安全。&lt;br /&gt;
&lt;br /&gt;
== CORBA的主题 ==&lt;br /&gt;
=== 对象按引用传递 ===&lt;br /&gt;
对象的引用可以通过以下几种方式获得：通过URI直接指定对象位置、通过类似于DNS的名称服务查找、调用时通过参数传递。&lt;br /&gt;
&lt;br /&gt;
对象引用是指向真实对象（本地或远程）的轻量级方式。调用对象引用（通常就是指针）的方法，实际上是通过ORB调用了实际对象的方法，调用会阻塞当前线程直到远端返回结果。参数和返回结果以及抛出的异常都会被ORB集中传递。&lt;br /&gt;
&lt;br /&gt;
=== 数据按值传递 ===&lt;br /&gt;
CORBA的数据（整数、浮点数、结构、枚举等）是通过值传递。&lt;br /&gt;
&lt;br /&gt;
=== 通用ORB间协议（GIOP） ===&lt;br /&gt;
GIOP是用于ORB间数据传输的抽象协议，通用ORB间协议（GIOP）用来为这个由不同计算机及其各种体系结构组成的世界中传送消息定义结构和格式。如果使用GIOP的结构和格式，并将它们应用于TCP/IP，那么就得到IIOP。GIOP有两个版本：1.0和1.1。相关协议标准由[[Object Management Group]]（OMG）管理.&lt;br /&gt;
GIOP架构提供了如下具体协议：&lt;br /&gt;
&lt;br /&gt;
#因特网ORB间协议（IIOP）—定义了基于因特网的GIOP实现，提供了TCP/IP到GIOP的映射。&lt;br /&gt;
#加密ORB间协议（SSLIOP）—SSLIOP是基于SSL加密层的IIOP，提供了[[加密]]和[[认证]]。&lt;br /&gt;
#超文本ORB间协议（HTIOP）—HTIOP是基于[[HTTP]]的IIOP，提供了透明代理穿越。&lt;br /&gt;
#还有很多……&lt;br /&gt;
&lt;br /&gt;
=== Corba对象位置（CorbaLoc） ===&lt;br /&gt;
Corba对象位置（CorbaLoc）是指一个由字符串构成的对象引用，看起来就像一个[[URL]]。&lt;br /&gt;
&lt;br /&gt;
CORBA产品需要支持两种OMG定义的URL：&amp;quot;&amp;lt;tt&amp;gt;corbaloc:&amp;lt;/tt&amp;gt;&amp;quot;和&amp;quot;&amp;lt;tt&amp;gt;corbaname:&amp;lt;/tt&amp;gt;&amp;quot;。Corba对象位置的目的是提供一个便于人阅读和修改的方式指定何处可以获得某个可互操作对象（IOR）。&lt;br /&gt;
&lt;br /&gt;
corbaloc的例子：&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 使用Corba的好处 ==&lt;br /&gt;
;与具体编程语言无关&lt;br /&gt;
:Java and C++, C-only, SmallTalk, Perl, Ada, Ruby, and Python等语言都有CORBA的实现，并且可以跨语言互操作。&lt;br /&gt;
&lt;br /&gt;
;操作系统无关&lt;br /&gt;
:Linux/Unix, Windows, Sun, Mac等系统都有CORBA的实现，并且可以互操作。&lt;br /&gt;
&lt;br /&gt;
;从技术细节中解脱&lt;br /&gt;
&lt;br /&gt;
;强数据类型&lt;br /&gt;
&lt;br /&gt;
;从繁琐的数据传递中解脱&lt;br /&gt;
&lt;br /&gt;
;压缩&lt;br /&gt;
:CORBA的底层数据通讯机制灵活，ZIOP扩展可以将数据压缩后进行传送，而应用程序开发人员可以不懂具体压缩技术，并且不用改动绝大部分代码。&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* [[远程过程调用]]&lt;br /&gt;
* [[Request for Comments|RFC]]&lt;br /&gt;
* [[RMI]]&lt;br /&gt;
* [[DCOM]]&lt;br /&gt;
* [[SOAP]]&lt;br /&gt;
* [[.NET|微软.NET]]&lt;br /&gt;
* [[Web服务]]&lt;br /&gt;
* [[分布式计算]]&lt;br /&gt;
*[https://github.com/haskell-servant/servant servant]{{Wayback|url=https://github.com/haskell-servant/servant |date=20180611031827 }} &lt;br /&gt;
* [[接口描述语言|IDL]]&lt;br /&gt;
* [[NDDS]]&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* [http://www.omg.org/ Object Management Group]{{Wayback|url=http://www.omg.org/ |date=20191031203501 }}&lt;br /&gt;
* [http://www.corba.org/ Information Board]{{Wayback|url=http://www.corba.org/ |date=20040904091242 }}&lt;br /&gt;
* [http://www.omg.org/technology/documents/spec_catalog.htm Catalog of OMG Specifications]{{Wayback|url=http://www.omg.org/technology/documents/spec_catalog.htm |date=20041111025304 }}&lt;br /&gt;
** [https://web.archive.org/web/20041011115310/http://www.omg.org/technology/documents/idl2x_spec_catalog.htm IDL / Language Mapping]&lt;br /&gt;
** [https://web.archive.org/web/20041009181008/http://www.omg.org/technology/documents/corba_spec_catalog.htm#ccm CORBA Component Model (CCM)]&lt;br /&gt;
** [https://web.archive.org/web/20041009181008/http://www.omg.org/technology/documents/corba_spec_catalog.htm IIOP]&lt;br /&gt;
** [https://web.archive.org/web/20041009212628/http://www.omg.org/technology/documents/corbaservices_spec_catalog.htm Services]&lt;br /&gt;
** [https://web.archive.org/web/20041102092037/http://www.omg.org/technology/documents/corbafacilities_spec_catalog.htm Facilities]&lt;br /&gt;
** [https://web.archive.org/web/20041102092516/http://www.omg.org/technology/documents/domain_spec_catalog.htm Domain]&lt;br /&gt;
** [https://web.archive.org/web/20041009213444/http://www.omg.org/technology/documents/embed_intel_spec_catalog.htm Embedded Intelligence]&lt;br /&gt;
** [https://web.archive.org/web/20041015083452/http://www.omg.org/technology/documents/formal/omg_security.htm Security]&lt;br /&gt;
** [https://web.archive.org/web/20110807045309/http://www.omg.org/technology/documents/modeling_spec_catalog.htm UML, MOF, XMI, CWM]&lt;br /&gt;
* [https://web.archive.org/web/20080509060156/http://www.puder.org/corba/matrix/ An overview of available CORBA implementations]&lt;br /&gt;
* [http://www.fpx.de/Combat/ Combat: a Tcl ORB, and a Tcl layer for C++ ORBs]{{Wayback|url=http://www.fpx.de/Combat/ |date=20041010155751 }}&lt;br /&gt;
* [http://www.fnorb.org/ Python ORB]{{Wayback|url=http://www.fnorb.org/ |date=20041128170840 }}&lt;br /&gt;
* [http://sf.net/projects/perlorb/ Perl ORB]{{Wayback|url=http://sf.net/projects/perlorb/ |date=20080704182653 }}&lt;br /&gt;
* [https://web.archive.org/web/20041212070949/http://jacorb.inf.fu-berlin.de/ JacORB]&lt;br /&gt;
* [https://web.archive.org/web/20070611101431/http://www.cs.wustl.edu/~schmidt/TAO.html TAO The ACE ORB]&lt;br /&gt;
* [https://web.archive.org/web/20040825200943/http://www.prismtechnologies.com/section-item.asp?sid4=&amp;amp;sid3=&amp;amp;sid2=9&amp;amp;sid=18&amp;amp;id=174 e*ORB]&lt;br /&gt;
* [http://omniorb.sourceforge.net/ omniORB]{{Wayback|url=http://omniorb.sourceforge.net/ |date=20190403045237 }}&lt;br /&gt;
* [http://www.mico.org/ MICO]{{Wayback|url=http://www.mico.org/ |date=20041107092710 }}&lt;br /&gt;
* [https://web.archive.org/web/20071119030841/http://www.pocomatic.com/docs/whitepapers/corba/ PocoCapsule for CORBA组件容器]支持CORBA服务器应用，OMG事件／通知服务应用，OMG-DDS应用，OMG-RTC应用，以及JTRS-SCA基于组件的[[软件无线电]]（SDR）应用。&lt;br /&gt;
&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
[[Category:共用物件請求仲介架構]]&lt;br /&gt;
[[Category:面向对象的程序设计]]&lt;br /&gt;
[[Category:进程间通信]]&lt;br /&gt;
[[Category:基于组件的软件工程]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Sw777</name></author>
	</entry>
</feed>