对于跨语言程序通信,还有比 CORBA 更好的吗?

发布于 2024-08-14 07:15:07 字数 150 浏览 5 评论 0原文

我正在进行一个使用 CORBA 读取对象数据的项目,这些对象可以用 C++ 或 Java 实现,但符合相同的 IDL。优点是 idlj 编译器,所有必要的代码都随 Java 一起免费提供。缺点似乎是我经常听说 CORBA 很旧,而且不是最新、最好的。但我还没有听说过更好的名字。有没有?

I'm on a project using CORBA to read the data of objects that could be implemented in C++ or Java but conform to the same IDL. The pros are the idlj compiler and all the necessary code came free with Java. The con seems to be that I hear quite a bit that CORBA is old and not the latest and greatest. But I haven't heard names for anything that is better. Is there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

睫毛溺水了 2024-08-21 07:15:07

有很多方法可以进行进程间通信。我的脑海中浮现出一些。

但是,之前当您进行切换时,您需要问自己

  • 新协议的好处是什么?
  • 您在使用 CORBA 时遇到了什么痛苦?当然,这是一项成熟的技术,但如果它满足您的要求,那么它本身并不是放弃它的理由。
  • 切换到您选择的任何新协议需要多长时间。

因为听说有更好、更闪亮、更酷的东西而删除 CORBA(或任何协议/堆栈/库)并不是一个好主意。

删除它们是因为它们给你带来了特定的问题,或者因为新事物允许你做一些现有技术无法完成的特定事情,这是转换的一个很好的理由。

There's loads of ways to do inter-process communication. Off the top of my head here's a few.

However, before you switch you need to ask yourself

  • What are the benefits of the new protocol
  • What pain are you experiencing with CORBA? Sure it's a mature technology, but that in itself isn't a reason to ditch it, if it's meeting your requirements.
  • How long will it take to switch to whatever new protocol you choose.

Removing CORBA (or any protocol/stack/library) because you heard that there was something better, shinier, cooler out there isn't a good idea.

Removing them because they're causing you specific problems, or because the new thing allows you to do something specific that can't be done with the existing tech is a good reason to switch.

夜还是长夜 2024-08-21 07:15:07

好吧,总有 SOAP,它是当今这组事物中更常见的技术。它虽然没有那么紧,但很有效。

Well, there's always SOAP, which is the more common technology for this set of things these days. It's not as tight a binding but it works.

甜嗑 2024-08-21 07:15:07

我真的无法想象如果我开始一个新项目会选择 CORBA,而且我过去已经经常使用它。编程确实很可怕。有很多更好的选择,尽管其中许多是专有的(当然,大多数 CORBA ORB 也是如此),例如 TIBCO。无论如何,您都不应该仅仅因为某项技术恰好安装在您的 PC 上而选择它。

I really can't imagine choosing CORBA if I were starting a new project, and I've used it quite a bit in the past. It is truly horrible to program for. There are a lot better alternatives out there, thogh many of them are proprietory (as are most CORBA ORBs, of course), such as TIBCO. In any event, you should never choose a technology simply because it happens to be installed on your PC.

机场等船 2024-08-21 07:15:07

查看 Google 协议缓冲区

什么是协议缓冲区?

协议缓冲区是 Google 的
语言中立、平台中立、
可扩展的序列化机制
结构化数据——想想 XML,但是
更小、更快、更简单。你
定义您希望数据的样子
构造一次,然后您可以使用
特殊生成的源代码
轻松编写和阅读您的结构化内容
各种数据之间的数据传输
流并使用各种
语言 – Java、C++ 或 Python。

摘自常见问题解答:

协议缓冲区与 ASN.1、COM、CORBA、Thrift 等有何不同?

我们认为所有这些系统都有
优点和缺点。谷歌
内部依赖协议缓冲区
它们是我们的重要组成部分
成功,但这并不意味着他们
是每个人的理想解决方案
问题。你应该评估每一个
根据您自己的情况选择
项目。

不过值得注意的是,
其中一些技术定义了
交换格式和 RPC
(远程过程调用)协议。
协议缓冲区只是一个
交换格式。他们可以轻松地
用于 RPC – 事实上,它们确实如此
对定义RPC 服务 – 但它们不依赖于
任何一种 RPC 实现或
协议。


Take a look at Googles Protocol Buffers.

What Are Protocol Buffers?

Protocol buffers are Google's
language-neutral, platform-neutral,
extensible mechanism for serializing
structured data – think XML, but
smaller, faster, and simpler. You
define how you want your data to be
structured once, then you can use
special generated source code to
easily write and read your structured
data to and from a variety of data
streams and using a variety of
languages – Java, C++, or Python.

Taken from the FAQ:

How do protocol buffers differ from ASN.1, COM, CORBA, Thrift, etc?

We think all of these systems have
strengths and weaknesses. Google
relies on protocol buffers internally
and they are a vital component of our
success, but that doesn't mean they
are the ideal solution for every
problem. You should evaluate each
alternative in the context of your own
project.

It is worth noting, though, that
several of these technologies define
both an interchange format and an RPC
(remote procedure call) protocol.
Protocol buffers are just an
interchange format. They could easily
be used for RPC – and, indeed, they do
have limited support for defining RPC services – but they are not tied to
any one RPC implementation or
protocol.

你是我的挚爱i 2024-08-21 07:15:07

查看互联网通信引擎 (ICE)

阅读CORBA 和 ICE 之间的比较

ICE 更干净、更强大,而且学习曲线更短。文档广泛而全面(我见过的最好的),并且有大约 50 个所有受支持语言的示例程序。恕我直言,确实没有可比性。

Check out the Internet Communication Engine (ICE).

Read the comparison between CORBA and ICE.

ICE is much, much cleaner, and more powerful, with a shorter learning curve. Documentation extensive and comprehensive (the best I've seen), and there is about 50 example programs in all of the supported languages. IMHO, there's really no comparison.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文