什么是最好的Delphi n层低带宽技术?

什么是最好的Delphi n层低带宽技术?,delphi,n-tier-architecture,datasnap,remobjects,Delphi,N Tier Architecture,Datasnap,Remobjects,我需要在一个环境中部署一个Delphi应用程序,该环境需要集中的数据和文件存储系统(用于文档成像),但有多个分支办公室,且互连性相对较差。我相信三层数据库应用程序是最好的选择,这样我就可以提供丰富的桌面体验,同时满足相对较轻的数据传输需求。到目前为止,我已经简要介绍了Delphi Datasnap、kbmMW和Remobjects SDK。kbmMW和Remobjects SDK似乎使用的带宽最少。是否有人有在具有大量用户(我需要支持700+)的具有挑战性的环境中部署这些技术的经验?谢谢 取决于

我需要在一个环境中部署一个Delphi应用程序,该环境需要集中的数据和文件存储系统(用于文档成像),但有多个分支办公室,且互连性相对较差。我相信三层数据库应用程序是最好的选择,这样我就可以提供丰富的桌面体验,同时满足相对较轻的数据传输需求。到目前为止,我已经简要介绍了Delphi Datasnap、kbmMW和Remobjects SDK。kbmMW和Remobjects SDK似乎使用的带宽最少。是否有人有在具有大量用户(我需要支持700+)的具有挑战性的环境中部署这些技术的经验?谢谢

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


个人提示:在一个文档图像处理应用程序中,700个用户由于连接性差而导致的问题听起来像是一团糟。把钱花在升级连接上,因为从长远来看,这会更便宜。

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

RoSDK似乎提供了更多的GUI工具来帮助您完成服务

还请看一看,它是一个轻量级远程处理框架


但是无论你使用什么样的框架,你的工作设计都会使它变快或变慢,我有一些应用程序工作在128kb的慢行上,它工作得非常完美,没有任何用户抱怨,但我不会对文件进行大量传输。

我不知道它是否是最好/最有效的(很高兴你问这个问题!),但是我已经有了很好的结果,包括RemobjectsSDK+DataAbstract。后者减少了对管道细节的关注,这很有帮助。仍在实施,但到目前为止还不错。

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

就我个人而言,我建议重新设置对象。我用过它,效果很好

如果你真的想使用“低带宽”,请使用BSD Sockets API,这样你就可以完全控制所发送的内容,在那里你可以发送你想要的尽可能少的信息。当然,您必须自己实现所有的层,但是嘿,这仍然是一个选项:D