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