Remoting是通讯部分的东西,COM+是后端服务支撑方面的东西,尽管COM+也可以通过DCOM支持远程访问,但代价很高,并且只能在局域网内,因此更多的用于商业逻辑支持。对应用系统来说,COM+的便利在于一是系统提供调度和负载处理,二是对商业事务(不是数据库事务)的支持。类比Java想对应的部分而言大致上可以这样看:Remoting VS. COBRA, COM+ VS EJB、JTA。Remoting因此在有其他办法的时候通常避免采用远程调用COM对象的方式。对于带宽的限制,通常使用缩减传输量来完成。最彻底的办法就是B/S结构,除了基本输入输出什么数据都放在后端转。如果做不到,则需要仔细的规划传输的数据量,也不是很麻烦,就是需要细心一点而已。
线程堵塞的情况在你举例的连接数下出现的可能性很小,除非你的业务模块设计极其糟糕。即便出现这种情况,由于Remoting可以使用IIS作中转,因此同样可以蒙混过关(这比较混账)。
现在的问题是网络带宽不足,只能削减网络数据流量,其他的方式都是南辕北辙。
用webservice的方法可能會更好
用webservice的方法可能會更好
-----------------------------------------------
webservice的问题出在他不能提供一个由状态的对象,因此作为数据交换或简单的处理时很方便,但你需要一个有状态持久对象时webservice无能为力。Remoting还是CORBA,这是一个问题(挠头中……)。
我很认同你的说法。
实际上业务模块传输的数据除了数据模板外,别的几乎不多。因为系统设计之初就考虑了B/S模式,虽然现在没有进行,但考虑了相关细节。代码的时候很很小心。
只是由于本人太年轻,没有多少这种项目的实际经验(几乎是没有),心里没有底啊。用户也比较狠,到时会用工具进行硬性指标测试。钱多,以前上的项目也很多,有经验了,呵呵估计吃过亏了。另外,我对你的“Remoting可以使用IIS作中转,因此同样可以蒙混过关”不是很理解,能详细说明一下么?期待中……
的确如shadowarmyChen同志所言,在数据层有某些对象需要做常连接。且某些功能模块更是需要如此。
补充一下,有些模块的确很占带宽,也占CPU,比如一个通用的数据备份、合并、恢复模块,不过这些模块应该在服务器局域网内完成,不会提供给普通客户端。
但客户还是在总部的局域网内使用。但远程的客户端由于速度没有采用。
由于这也是我们当时做的第一个.net项目,所以我们也有很多地方做的不好。
shadowarmyChen能否留下联系方式?想某个时候再接收您的“教诲”,呵呵