我需要在需要集中数据和文件存储系统(用于文档成像)的环境中部署Delphi应用程序,但是有多个分支机构,互连性相对较差。我相信3层数据库应用程序是最好的方法,因此我可以提供丰富的桌面体验,并且需要相对轻量级的数据传输。到目前为止,我简要介绍了Delphi Datasnap,kbmMW和Remobjects SDK。似乎kbmMW和Remobjects SDK使用最少的带宽。有没有人在具有大量用户的挑战性环境中部署任何这些技术的任何经验(我需要支持700+)?谢谢!
答案 0 :(得分:5)
取决于您是否与远程数据集绑定。如果您不是数据集绑定,那么SOAP可能是一个不错的选择。或者,我所做的是编写我自己的协议,本质上类似于SOAP。这是在SOAP标准之前完成的,我很高兴我做到了 - 这使您能够控制更多的数据流。如果您连接不良,那么您将花时间支持它。如果您支持自己的代码而不必等待供应商,那将是非常好的。 (虽然知道KBM和REM是非常好的供应商。)
个人注意事项:文档成像应用程序中700个用户因连接不良而听起来像一团糟。将资金用于升级连接,因为从长远来看它会更便宜。
答案 1 :(得分:5)
kbmMW和RO SDK都提供二进制格式,比SOAP格式更紧凑,特别是你正在使用文档。
RO sdk似乎提供了更多GUI工具来帮助您提供服务。
同样给出RealThinClient SDK外观,它是一个轻量级的远程处理框架。
但是你使用的框架,你的工作设计会使它快速或慢速,我有一些应用程序在慢速128kb线上工作,并且它的工作完美而没有任何用户抱怨,但我不做大转移对于文件。
答案 2 :(得分:5)
要记住一件事......它不是用户数量,而是同时使用资源的数量,这将是问题。如果可能的话,尝试开发应用程序“服务器无状态”,如果您发现必须向池中添加更多服务器以支持您的客户群,则可以在长期内实现更大的灵活性。关于n层的最难的事情是超越第一台服务器...从一开始就计划。每个请求都不应该知道有关先前请求的任何信息......或者至少请求应该有一种传递上下文的方法,以便服务器可以在会话表或其他内容中查找它。
就个人而言,我会推荐RemObjects。我用它效果很好。
答案 3 :(得分:2)
我不知道它是否是最好的/最有效的(很高兴你问这个问题!),但是我有很好的结果w / RemObjects SDK + DataAbstract。后者使得很多管道细节不太复杂,这很有帮助。仍在实施,但到目前为止还很好。
答案 4 :(得分:1)
如果你真的想去“低带宽”使用BSD套接字API - 这将让你完全控制发送的内容,你可以发送尽可能少的信息。当然,你必须自己实现所有层级,但是嘿 - 那仍然是一个选项:D