【问题标题】:What is the best Delphi n-tier low bandwidth technology?最好的 Delphi n 层低带宽技术是什么?
【发布时间】:2008-12-12 01:41:57
【问题描述】:

我需要在需要集中数据和文件存储系统(用于文档成像)的环境中部署 Delphi 应用程序,但有多个分支机构之间的连接性相对较差。我相信 3 层数据库应用程序是最好的选择,这样我可以提供丰富的桌面体验和相对轻量级的数据传输需求。到目前为止,我已经简要介绍了 Delphi Datasnap、kbmMW 和 Remobjects SDK。似乎 kbmmW 和 Remobjects SDK 使用的带宽最少。有没有人有在具有大量用户(我需要支持 700 多个用户)的具有挑战性的环境中部署任何这些技术的经验?谢谢!

【问题讨论】:

    标签: delphi n-tier-architecture datasnap remobjects


    【解决方案1】:

    取决于您是否绑定到远程数据集。如果您不受数据集约束,那么 SOAP 可能是一个不错的选择。或者,我所做的是编写自己的协议,本质上类似于 SOAP。这是在 SOAP 成为标准之前完成的,我很高兴我这样做了——这使您能够控制更多的数据流。假设您的连接性较差,那么您将花时间支持它。如果您支持的是您自己的代码而不是等待供应商,那就太好了。 (尽管众所周知,KBM 和 REM 是相当不错的供应商。)

    个人说明:文档成像应用程序中有 700 个用户因连接性差而听上去一团糟。把钱花在升级连接上,因为从长远来看它会更便宜。

    【讨论】:

      【解决方案2】:

      kbmMW 和 RO SDK 都提供二进制格式,比 SOAP 格式更紧凑,特别是在处理文档时。

      RO sdk 似乎提供了更多的 GUI 工具来帮助您提供服务。

      也给RealThinClient SDK 看看,它是一个轻量级的远程处理框架。

      但是无论您使用哪种框架,您的工作设计都会使其变快或变慢,我有一些应用程序在慢速 128kb 线路上运行,它运行完美,没有任何用户抱怨,但我不会进行大量传输用于文件。

      【讨论】:

        【解决方案3】:

        要记住的一件事...问题不是用户数量,而是同时使用资源的用户数量。如果可能,尝试开发您的应用程序“无状态服务器”,如果您发现必须向池中添加更多服务器以支持您的客户群,这将在长期内提供更大的灵活性。关于 n 层最困难的事情是超出第一台服务器的扩展……从一开始就计划好。每个请求都不应该知道任何关于先前请求的信息......或者至少该请求应该有一种传递上下文的方式,以便服务器可以在会话表或其他东西中查找它。

        就个人而言,我会推荐 RemObjects。我已经使用它并取得了很好的效果。

        【讨论】:

          【解决方案4】:

          我不知道它是否是最好的/最有效的(很高兴你问了这个问题!),但我在使用 RemObjects SDK + DataAbstract 时取得了很好的结果。后者减少了很多管道细节,这很有帮助。仍在实施,但到目前为止一切顺利。

          【讨论】:

            【解决方案5】:

            如果您真的想使用“低带宽”,请使用 BSD 套接字 API - 这将使您可以完全控制发送的内容,并且您可以发送尽可能少的信息。当然,您必须自己实现所有层,但是嘿 - 这仍然是一个选项:D

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-02-24
              • 2010-11-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多