我观midas
非常同意现在的系分、高手都很热衷于赶时髦,或曰“浮躁”。我也见过非常非常之多人是在为了三层而三层,把简单的问题复杂化,把没必要做成三层的应用特地改成三层,结果得不偿失,事倍功半。 【相关文章:Xray@NET,协议插件实现方式的简述】
刚看到dfw的达人王兄的«对borland 与 n-tier的牢骚»,发现今天的blog有内容可写了:p 【扩展阅读:Java 实现MVC模式的例子】
首先,李维所说的:dcom 的连接速度较socket connection 慢, 但是连接完成后, 传输数据较socket connection 要快。我觉得基本正确。要注意一点:这里的socket并非指socket通讯,而是指borland的socketconnection。 【扩展信息:DoEvents 在VB中的妙用 】
但对王兄后面的一些技术性分析,我觉得还是有值得商榷之处。
问题在于王兄把dcomconnection与dcom混为一谭了。dcom应用是一种相当于是远程的automation应用,它是通过orpc协议来传输idispatch接口实现的。所谓的dcomconnection便是基于dcom的orpc协议来传输midas的iappserver接口(它也是派生自idispatch接口),而midas(不止是midas,dna也一样)并没有限制dcom连接(即orpc)的服务端必须是dcom应用,后来的mts、com+无一不是基于此,即便是现在.net的remoting也是基于此,它是在成熟的标准rpc基础上,结合了windows的安全机制发展的起来,最关键一点,它的底层协议也是tcp/ip(orpc用了udp与tcp两个协议)。王兄所谓的淘汰之说,应该是指dcom应用,而不是指dcom连接吧。
不可否认,ms设计orpc协议是完全基于windows的域用户安全机制,这决定了它有很多的限制,特别是因为用了动态端口,所以基本上是无法穿过firewall(不表示不能,只要打开firewall的全部端口即可,但这样的话firewall就形同虚设了),但也还有其它办法可以解决,典型的就是ms提供的基于iis的cis(com internet services)技术,此外便是borland的socketconnection与webconnection。
... 下一页