正如我迄今所理解的,引导CORBA应用程序的常用方法是在某个专用计算机上运行外部命名服务,并让所有实例查找并连接到它以设置连接/引用管理。但是,如果我计划运行较小的即时网络(最多可能是10个实例)并缩短生命周期,该怎么办?想象一下远程控制的硬件设备,每个网络有一个主机,可以管理数据采集和处理。理想情况下,这些主机/服务器网络中的每一个都应该能够在不依赖于外部服务的情况下启动(或至少使其对用户透明)和大量配置工作,不会干扰范围内的其他网络并且能够在不影响的情况下脱机其他
我还没弄明白如何用CORBA很好地解决这个问题。如果只有框架相关的解决方案,那么我最常使用的框架是ACE / TAO。特别是在将应用程序部署到客户端时,我不想对它们施加复杂的设置例程,并且尽可能少地进行手动干预。 有没有办法干净地做到这一点,还是其他技术更适用于这种情况?
答案 0 :(得分:1)
许多CORBA教程都使用命名服务,但在实际系统中,我发现很多人都没有使用它。这是一个单点故障,也会导致你提到的外部依赖。特别是在更多嵌入式系统中,人们使用具有固定端口号的IORTable支持。目前您知道CORBA服务器所在主机的IP地址,您可以构造一个corbaloc来调用CORBA服务器。有关示例,请参阅ACE_wrappers / TAO / tests / Forwarding,它是TAO分发的一部分。