分布式对象系统的应用范围已经扩展到Internet之上,企业之间现有的软件构件需要实现相互通信。DCOM和CORBA是两种最常用的分布式对象系统,它们在局域网内工作良好,当扩展到Internet时,会出现防火墙不友好、过分依赖环境等缺陷。同时由于两种不同系统的接口标记,网络数据表示格式等都不相同,所以这两种系统相互之间很难实现互操作,而互操作的核心问题就是如何传递远程过程调用消息。
XML和SOAP技术的产生和发展使Internet上分布式对象之间的互操作成为可能。XML是一种标记语言,可以通过定义标记达到数据的标准化、结构化表示。SOAP以XML语言的形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型化信息的机制。SOAP消息与HTTP协议绑定后,可以成为Internet上分布式对象之间的远程过程调用协议,从而达到不同系统之间互操作的目标。
本文首先详细描述了如何用XML语言描述分布式对象的接口以及如何将对象发出的远程过程调用请求和请求应答消息转换为SOAP消息格式,并给出了SOAP消息与HTTP协议绑定后HTTP包的具体格式。接着,本文设计了一个基于SOAP的分布式对象互操作模型,互操作模型采用SOAP作为传输协议,XML作为数据表示格式,有效解决了现存的两种分布是对象系统之间的不兼容。互操作模型的功能主要是传递对象发出的远程过程调用消息。本文从传统分布式对象系统间远程过程调用流程入手,分析了当请求调用消息以SOAP消
息格式在Internet上传输时,互操作模型应该考虑的问题。本文详细描述了互操作模型的体系结构、工作原理和工作流程。最后,运用该新型的互操作设计模型,构件了一个基于Internet的银行帐户管理系统应用实例,将设计模型与实际应用进行了有机的结合。