论文部分内容阅读
Web服务(Web Service)以其特有的松散耦合的分布式结构,完整的封装性,协议的规范性,以及高度可集成性和互操作性等特点,正逐步受到业界的广泛接受和支持;各种基于Web服务的应用架构和设计,相关的协议标准,以及安全问题的解决方案大量涌现,并且由于Web服务建立在现有成熟的、并被广泛使用的技术基础上,不是提出一个全新的体系,从而使得原有信息系统投资得到最大程度的保留,这为Web服务的迅速发展和应用奠定了坚实的基础。 Web服务的主要应用将是各种各样的电子商务体系,由于经济的全球化进展,各企业的电子商务系统必须适应新的交易模式和特点。基于Web服务的动态电子商务流程解决方案很好地满足了商务流程的经常性更改和动态变化的特点,其统一的服务描述语言WSDL更是极大地提高了系统之间的交互性,从而能够满足新的交易模式对系统间必须能够广泛地交互的要求。 基于Web服务的电子商务流程经常需要动态地查找并访问新的Web服务。目前通常处理过程是这样的,通过UDDI注册中心进行运行时服务查找,获取相应的组织描述和具体的服务描述,然后由技术人员根据服务描述的WSDL文档来编写访问该服务的客户端程序,最后系统调用这些客户端访问Web服务,这是访问Web服务的完整过程。其中只有编写客户端程序部分是需要人工干预的,如果这部分过程能够实现自动化,即由代码生成工具来完成的话,整个过程就基本上实现了完全的自动化,从而达到实时企业(RTE)目标和Web服务交易市场的要求。目前IBM公司研究人员提出的基于Web服务的工作流定义语言WSFL和Web服务调用框架WSIF正是在向这个方向努力,在WSFL中,研究人员为Web服务的查找定义了四种模式,其中的UDDI模式和动态定位模式都需要能够快速地完成从Web服务的描述文档WSDL文件到访问该Web服务的客户端的映射工作,自动的代码生成工具是这一问题的最合适解决方案,如果用人工实现,这部分工作将成为整个系统的瓶颈。 本文试图在基于XML技术的基础上,对WSDL进行自动化的分析,并通过设定一定的转换规则完成WSDL文档到相应的JAVA客户端的映射工作,并根据目前的SOAP绑定封装协议实现了一个简单的理论模型,并且在模型中提供了一个高层抽象调用接口,以方便类似SOAP调用绑定的扩展,该模型用类似于CORBA技术的从IDL文件到服务端程序框架(skelecton)和客户端程序桩(stub)的语言映射过程来生成客户端调用桩的方式来生成相对抽象的高层调用接口,同时利用WSDL是基于XML的结构性文档的特点,和JavaBeans技术的封装性来完成复杂数据类型映射工作,实现完整的调用相应Web服务的客户端代码,并对生成的代码提供一定的验证方法,包括完整性检验,语义验证,并提供一种调试手段——利用Java语言的Reflection机制和反向映射规则来生成WSDL部分片段,用来和原WSDL递归扩展后的相应片段比较。 本文的贡献在于: 1.提出并实现了从WSDL文档到相应的Web服务客户端程序的自动生成器模型,从实践上探索了基于Web服务的动态电子商务架构的一个重要技术; 2.实现了从WSDL定义的复杂数据类型到相应的JavaBeans数据的完全自动化的映射,并对一些新的数据类型能够自适应地提供支持; 3.在自动化的代码生成工具中利用定义规则,完成了完全不需人工干预的代码生成和正确性检验工作; 4.利用较高层次的抽象调用来封装SOAP绑定,有利于将来的扩展;