上次有去盛大听李维讲datasnap跟移动设备的连接。datasnap致力于用delphi技术连接各种操作系统平台与设备。
我个人还是觉得这个技术是不错的,但是心中有几个疑问:
datasnap的以下几个熟悉:
1.稳定性
2.可扩展性(分布式扩展)
3.高可用性(集群部署)
4. 高性能
对于分布式的大型应用,对这些要求是很高的。这个决定了一项技术所能站到的高度。还是说只能供普通非关键应用拿来做做要求不高的开发。
我翻看了xe2的代码,虽然emb没有公开把底层通讯的代码,但从代码的蛛丝马迹可以看出,网络通讯的部分应该采用的是indy。
indy为了实现跨平台,socket采用阻塞模式,这样对于搞性能的需求显然是有悖的,
当然只是将indy作为一种缺省的考虑,是可以接受的。
我的建议和希望是未来emb可以把网络通讯的部分作为一种可拔插的引擎独立出来,并且可以让第三方厂商来提供更高效的实现。就想mysql数据库可以灵活选择不同的存储引擎一样。不然的话,我个人对datasnap是否可以支撑起关键的应用是打问号的,他只是做到了一件事,但是并没有做好,这个从以前midas反馈的各种不稳定的问题就可以知道。这样的话我们自然不放心去使用。欢迎大家来讨论

解决方案 »

  1.   

        捆绑是有局限性。独立出来更有利于摆脱束缚、集大众智慧。关于indy跨平台,因为用delphi编写的Internet Direct(Indy)涵盖了几乎所有流行的Internet协议,阻塞式Socket应用程序很容易编写,优点显而易见。随着城市光纤的普及,20M基本带宽的流行,相信阻塞模式的缺点会越来越不成为问题。
      

  2.   

    DATASNAP三层现在只在PC上,移动不知道效果怎么样
      

  3.   

    要分客户端还是服务端客户端,使用indy问题也不大
    服务端最好要保险一些,我是采用标准的webserver(如iis、apache)