在现代的编程技术中,客户端以对象的方式调用服务器上的数据及处理方法,可以大幅的简化分布式系统的开发难度,在.net世界中,人们在此广泛使用了Remoting技术,目前微软也在大力的推广其WCF技术,但这两种技术也存在着一定的先天缺陷。虽然WCF号称速度快过Remoting,但是底下的众多程序员却不太认同,其底层采用XML的通信机制决定其难以超越Binary方式传输的方式, 网上有一些专家自测的测试结果,如http://geekswithblogs.net/marcel/archive/2007/04/12/111542.aspx。
而Remoting也有他的一些问题,其断线重连似乎总是不太稳定,而如果想利用Remoting进行跨越多服务器的远程对象处理,Remoting就显得无能为力了。
其实,再往底层的通信机制研究一下,可以发现,其实自己开发一套远程对象通信机制的难度,并没有想象那么大,只要处理如下几点即可:
1. 服务器与客户端使用统一的对象接口。
2. 服务器建立异步对象接收通信、异步对象处理、异步对象处理结果发送机制。
3. 客户端也建立相应的异步对象处理请求,异步对象处理结果接收机制。
4. 处理好通信期间的断线接续。
如果企业实现了自有的远程对象处理能力,可以在分布式软件的处理能力上有显著的提升,并且可以实现更加灵活的跨服务器对象处理机制。