vb.net进程间通信 vbnet thread( 八 )


--------------------------------------------------------------------
1.标准集成:XML、SOAP及其它
过去,微软的体系结构建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准 。虽然这个标准本身没有什么失误 , 但是它与微软以外的领域格格不入 。也就是说 , 这个标准成了实现与其它软件平台互操作的瓶颈 。
除此之外 , 数据也是一个问题 。虽然ADO简化了数据访问 , 但是把数据从一个地方传送到另外一个地方就成了问题 。ADO Recordset(记录集)对象是一个存储了数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义 。
.Net弥补了这些缺陷,因为它完全基于标准 。比如,数据用XML的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据 。
SOAP基于XML,用于与Web服务的通信 。集成SOAP以后,不管客户端运行的是不是微软的操作系统 , 都可以实现简单的可编程访问 。
2.简化应用
COM所面临的一个头痛的问题就是应用 。COM利用Windows注册表来定位机器上的组件 。这个想法是不错的:每个注册的组件只有一个实例,所有的应用程序都使用相同的版本 。COM具有向后兼容性,也就是说新版本兼容老版本 , 但是开发人员可能会破坏这种兼容性 。
.Net则采用了不同的方法:它根本就没有使用注册表 。相反,微软的建议是每个应用程序使用自己局部的组件(在.Net称为“assembly”) 。利用这种方法,用于应用程序Foo的Assembly X如果发生变化 , Assembly X的Application Bar不会受到任何影响 。这种方法听起来好象以前一台机器上同一个DLL的多个拷贝,的确是这样 。不过你不会遇到应用程序查找Windows\System32目录的问题 。
由于.Net不使用注册表 , 很多应用都可以用简单的拷贝命令来完成,通常没有必要开发安装程序 。此外 , 应用程序不会琐定assembly,所以升级DLL的时候不必关闭应用程序 。
3.Web服务支持
在流行的Web服务方面,微软发挥着重要的作用 , 而.Net为开发Web服务带来了前所未有的便利 。用Notepad就可以建立简单的Web服务,甚至不必利用编译器,只要对它们进行简单的调用即可,因为.Net会对它们进行编译 , 甚至提供一个测试页供用户检验其功能 。.Net 拥有所有必需的渠道,可以生成用户所需的所有文件,比如WSDL文件 。
.Net也是一个聪明的Web服务使用者:只要设置了指向某个Web服务的索引,你就可以把它当作本地的assembly 。你可以获得完整的Intel许可和功能实现帮助 。
Web服务对于发送数据是非常重要的 , 感谢ADO.Net,Web服务可以利用简单或者复杂的数据,并以XML格式把它们发送到任何客户端,最后设置一个链接,指回到一个描述数据模式的XSD 。
4.用于所有.Net语言的标准工具集
最终,你会拥有一个适用于所有语言的集成工具集 。你会拥有一个统一的IDE、调试工具以及其它类似的工具 。因此,其它公司可以把他们的语言嵌入IDE环境,并获得.Net工具所有的支持 。比如富士通开发了netCOBOL .Net,它已经直接集成到IDE中 , 因此可以用 COBOL编写Web服务和Windows应用并获得微软提供的调试和profiling(监管)工具 。
.Net是个开放的架构,所以其它厂商也可以提供自己的工具 。比如Borland,该公司已经宣布其下一版Delphi将具有建立.Net应用的功能,同时它也保证,Delphi会拥有自己的IDE,不会嵌入Visual Studio .Net 。
5.对移动设备的支持
Visual Studio .Net发布不久 , 微软就推出了移动Internet工具包(Microsoft Mobile Internet Toolkit ,MMIT) , 以便用.Net构建移动应用 。该工具包提供了可视化功能,你可以直观地拖动和下拉面向移动设备的窗体和控件 。该工具包有利于正确书写标记语言(比如WML、WAP等等) 。

推荐阅读