【问题标题】:What's the best way to communicate data between java services and .net clients?在 java 服务和 .net 客户端之间进行数据通信的最佳方式是什么?
【发布时间】:2010-12-29 12:05:58
【问题描述】:

我认为我们有一个相当典型的客户端/服务器架构,前端用 .NET 编写,显示从 Java 编写的后端发送的数据。

目前,我们使用基于消息的自定义框架将数据快照和更新传输到客户端。这可能会升级;尽管基本的 java 服务/.net 客户端设置是一成不变的,但我们想看看消息框架的替代品,例如 WPF MVVM(着眼于 Sliverlight),与 java web 服务的数据绑定,或者可能是 Coherence。

我想知道其他人在使用这种方法和其他方法时有什么经验(显然没有适用于所有情况的金子弹......)。

我们的要求是客户端可以显示大型、频繁更新和可编辑的数据集,主要是在网格中。

更新 我已经接受 REST/SOAP 是执行此操作的标准方法,但我仍然有兴趣了解任何其他方法,尤其是从性能的角度来看。

【问题讨论】:

    标签: java .net wpf data-binding client-server


    【解决方案1】:

    Web 服务是最常见的选择:

    • RESTful 服务 - 更灵活,没有严格定义的架构
    • SOAP 服务 - 架构僵化,灵活性较差

    【讨论】:

    • 我建议您使用 REST。它更简单,功能也很强大。我们正处于 21 世纪... :)
    • 您好,我赞成这个,但是 REST/SOAP 最适合大型数据集吗?使用基于消息或缓存的方法的好处是可以将更新从客户端推送到服务器,而我认为您必须做一些工作才能为 REST/SOAP 服务(轮询/长轮询)做同样的事情。消息/缓存方法也可以很聪明地处理数据,以最小化大小并最大化性能?我从来没有在这类事情上使用过 REST,所以我愿意接受建议......
    • 不太好!我们的一个中型数据集的 XML 快照为 23Mb,但更新非常小。另一个快照的重量仅为 6Mb,但几乎整个数据集每 5 秒更新一次。
    • 这听起来不算太大,但你必须如此频繁地传输它听起来也很奇怪。
    • 底层实时数据更改会触发数据集每一行的更新。我们必须传输整个内容,因为视图可以通过在所有行上执行的聚合进行分组......使用我们的自定义消息框架,我们可以将数据压缩到 ~10% (IIRC),不确定与 REST 一起工作的效果如何?跨度>
    【解决方案2】:

    Checkout protobuf,这是一个很好的平台无关协议。

    【讨论】:

    • +1... 自从我第一次读到它们我就被迷住了 :) Go Google go,另一个由 Google 创建(并大量使用)的闪亮项目 :)
    猜你喜欢
    • 2013-01-02
    • 2013-09-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多