.Net 上的Web Services加了一个耐人寻味的XML,什么原因大家体会一下。.Net的Web Services实现要靠IIS的ASP.Net,把组件以asmx的后缀放到IIS的Web目录下,当通过浏览器第一次访问的时候,Web Services自动编译和发布,同时生成WSDL。编程起来倒是好方便,但是我隐隐约约的感觉到MS的Web Services方案另有用意。什么用意呢?联想到第(2)点,我觉得MS的XML Web Services是DCOM的替代品。也就是说MS没有想到一个更好的解决分布式组件的方法,既可以容易的使用C#编程,同时又很容易部署,很容易进行分布式组件调用。万般无奈之下,在上面的Channel方案之外,又搞出这个XML Web Services,其实就是MS的分布式组件而已。但是HTTP SOAP调用的效率和安全性目前还比较差,还不能和EJB调用相比。况且XML Web Services仍然没有解决可管理性的问题,Web Services的性能调节看来只能靠IIS了。看看吧,EJB确实够笨拙,但是可编程能力,可管理能力,至今仍然是MS望尘莫及的。
我对.Net的认识还很不够,J2EE vs .Net是一个热门话题,众说纷纭。在我粗浅的研究了C#和.Net之后初步的认为,从技术角度来看,如果你对J2EE已经非常精通了,那么目前也确实没有必要转到.Net上,除非出于市场的需要,或者其它的什么商业因素。况且在企业应用领域,.Net还做得不够好,仍然有很长的路要走。未来将是.Net和J2EE共存的局面,就像Windows vs Unix一样,低端应用更多的采用.Net,高端应用更多的采用J2EE。