Delphi7与wcf,该如何处理

Delphi7与wcf
本帖最后由 5207 于 2009-08-31 10:20:29 编辑
综合考虑一下后,觉得还是用wcf写服务端,客户端还是选择Delphi7。这其中原由多多。

wcf是微软的通讯标准,功能强大。Delphi7写桌面应用不用多提啦,而且多年的积累写起来了快。但是如果服务端采用了wcf的话,客户端就必须考虑以什么方式进行通讯?目前我知道的是web services。 暂时不能升级到新的Delphi版本,有些郁闷。

服务端主要用到的技术:
   Sql server用于数据存储
   文件系统(可能会有)
   Linq to Sql(也可能是Linq to Entities)
   Wcf
   (以上都用vs开发)

客户端:
   可能使用Delphi7
   可能需要使用COM


就以上的情况,我没有想到一个比较好,或者说是比较成熟的解决方案。暂时考虑是wcf以webservices方式提供服务,但是Delphi7好像对Web services支持的并不让人满意

问题1:不知道是否有朋友可以提供一个设计或者方法,或者是成功的方法共享一下?
问题2:在其中我有一个疑惑是:wcf返回数据是否能使用Linq的实体类呢?Delphi能否很好的支持并访问?

在安全方面我测试时并不是很成功!另外如果使用了安全机制,如:SSL?会不会出现Delphi配置麻烦等问题?反正以前用Indy时没怎么弄好,很多朋友都提过升级到Indy10,其实我用新版本的Delphi2009试过也不是很好用。就这个问题还希望大家多多指教。

问题3:安全方面有什么好的解决方案?


以上问题可能本身就是问题,呵呵,别太计较。如果有什么好的文章介绍一下也非常感谢。
------解决方案--------------------
专业路过,不懂
------解决方案--------------------
帮顶一下,不太懂wcf
------解决方案--------------------
应该全部使用delphi,使用udp通讯,效率极高
------解决方案--------------------
不太懂,帮顶
------解决方案--------------------
楼主自己都说了问题的本身可能都是问题,你让大家怎么给你建议。服务端不想用Delphi,客户端也不全用Delphi,呵呵……你把自己给绕进去了,想把大家也绕进去?

如果想那么多,我干脆建议你用Java开发得了,不推荐.NET平台.局域网的话,更不建议采用Webservice.

其实Delphi 2010的Midas(Datasnap)已经有了很大的改进,脱离COM的依赖,可以通过JSON封装数据进行传递,所以于Java的通信应该问题也是不大。
------解决方案--------------------
不需要 
这么来建立模型
服务器端 webservice 加上 com+  com+非常强悍 和webservice结合 无敌

客户端就delphi可以了
------解决方案--------------------
COM+ 虽然好用但是还要注册,也不好用

------解决方案--------------------
    楼主,和你相见很晚,我当时在考虑架构时,也费了不少功夫,走了不少弯路。最后,终于得到了一个我们团队认为合适的方法。

   以下是我个人的观点,也代表我们团队的观点:

   用WCF开发webservice作为服务器端,客户端用delphi,是一个好的办法。这种架构支持分布式的开发、部署。支持面向服务的架构。

    我们团队对WCF不熟悉,而且有一个有意思而没有找到办法的问题:
    开发WCF需要安装delphi for .net,而我们的程序中用到了JEDI类库,只要一安装delphi for .net,就安装不上JEDI类库。

    我们团队对java熟悉,他们有J2EE开发经验,最后我们选择java开发web service,作为服务器端。
然后,用delphi作为客户端。而且,我们的团队都喜欢java,大家都认为java的开发效率高,有很多成熟、免费的框架。而且java是跨平台的。

    经过这么一段时间的开发、运行和实践,这个架构已经被证明是可行的。

    至于安全等问题,是有办法解决的,具体和你的Web service开发框架有关系。可以查阅有关资料。

   最后,我还要谈一下自己使用com/com+的体会:这个东西,开发方便,但是安装、部署、配置是相当地麻烦,而且不容易发布到外网,不容易穿透防火墙。众多原因,我是不会采用com/com+的。

    如有什么问题,还可以在网上和我交流,我邮箱是qujianfeng@gmail.com。这里透漏QQ。