9

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

4

5 回答 5

5

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

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

于 2008-12-15T14:30:10.820 回答
5

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

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

于 2008-12-12T03:46:17.123 回答
5

Both kbmMW and RO SDK offer binary format, which is more compact than SOAP format,specially you are working with documents.

RO sdk seems to offer more GUI tools to help you doing your services.

Also give a RealThinClient SDK a look, it's a lightweight remoting framework.

But what ever framework you go with, your design of work will make it fast or slow, I have some applications working on slow 128kb lines, and it's working perfect without any user complain, but I don't do a large transfer for files.

于 2008-12-12T08:19:10.287 回答
2

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

于 2008-12-13T21:34:21.340 回答
1

If you really wanna go "low-bandwidth" use BSD Sockets API - that'll give you full control over what's being sent and there you can send as little information as you want. Of course then you'll have to implement all the tiers yourself, but hey - that's still an option :D

于 2008-12-30T20:54:50.420 回答