论文部分内容阅读
组件开发模型(COM)所开发的组件具有很好的复用性,可以使软件系统更为结构化以及复用度高等优点,所以组件化开发成为软件开发的最为普遍的方法。因此,许多商业化的软件系统虽然使用各种编程语言构成,但普遍选用COM技术作为软件构件的基础。但是随着企业业务以及需求的不断增加扩展,企业间协同合作的不断加强,要求对原来的系统进行改进或者应用于Internet以加强合作。COM技术的缺陷就在于不能在Internet环境下进行部署和应用,并且难于和其他编程语言所开发的系统进行集成。在网络四通八达的今天,面向服务的体系架构(SOA,Service Oriented Architecture)这个概念已经十分普及,而作为SOA的代表——Web服务(Web Service),引起了广泛的关注,并且发展十分的迅速。Remoting作为Microsoft Visual Studio.NET的另外一种技术,是一种分布式处理方式,从.NET的技术架构来看,Remoting就是DCOM的一种升级,提供了一种允许对象通过应用程序域与另一对象进行交互的框架。在这些大前提下,本论文以研究.NET组件和COM组件之间的互操作为研究目的,引入Web服务和Remoting,提出了通过对SOAP扩展提高Web服务和Remoting的效率从而提高.NET组件和COM组件之间互操作效率,最终将现有的COM组件应用于Internet的解决方案。本文首先在介绍组件技术、.NET环境、Web服务以及Remoting的基础上,深入研究了在.NET环境下COM组件与.NET组件之间的互操作方法,即托管代码与非托管代码之间的互操作,并给出了相应的示例代码实现。SOAP是一项新的软件通信技术,它不仅是Web服务的基础,同时Remoting也可以将它作为底层通信。本文重点研究了SOAP协议的扩展机制的关键技术,利用Web服务和Remoting都可以以SOAP作为基础的共同点,通过SOAP扩展机制,对SOAP进行扩展,自定义SOAP消息并且对SOAP消息进行压缩,实现SOAP消息的高效传输和高效解析,以提高互操作效率。在论文的最后给出了利用Web服务和Remoting对基于COM开发出来的CAXA Vault进行封装的实现模型,并给出了具体的实现步骤以及一些关键性技术的实现方法。因此,整个方案具有一定的可扩展性和实际应用价值。