如何简化实际应用程序中的 CORBA 设置和连接管理

How to ease CORBA setup and connection management in real applications

据我所知,bootstrap CORBA 应用程序的常用方法是 运行 某些专用机器上的外部命名服务,并让所有实例找到并连接到它以进行设置connection/reference 管理。但是,如果我计划 运行ning 寿命较短的小型即时网络(可能最多 10 个实例)怎么办?想象一下远程控制的硬件设备,每个网络有一个主机来管理数据采集和处理。理想情况下,这些 host/servant 网络中的每一个都应该能够在不依赖外部服务(或至少使其对用户透明)和大量配置工作的情况下启动,不干扰范围内的其他网络并且能够离线不影响他人。

我还没有想出如何用 CORBA 很好地解决这个问题。如果只有依赖于框架的解决方案,我最常用的框架是 ACE/TAO。特别是在将应用程序部署到客户端时,我不想对它们强加复杂的设置例程,并尽可能少地进行人工干预。 有没有办法干净地做到这一点,或者其他技术更适用于这种情况?

很多 CORBA 教程确实使用了命名服务,但在实际系统中我看到很多人不使用它。这是单点故障,也会导致您提到的外部依赖性。特别是在更多嵌入式系统中,人们使用具有固定端口号的 IORTable 支持。现在您知道 CORBA 服务器所在主机的 IP 地址,您可以构造一个 corbaloc 来调用 CORBA 服务器。有关示例,请参阅 ACE_wrappers/TAO/tests/Forwarding,它是 TAO 发行版的一部分。