论文部分内容阅读
随着Intranet/Internet的迅猛发展,计算机技术在企业的生产、管理和商务等方面已经得到越来越广泛和深入的应用。面向服务的体系结构SOA、动态电子商务DEB和企业应用系统集成EAI的需求也随之迅速兴起。Web Services作为SOA、DEB和EAI的新一代基础平台技术得到了广泛的关注和支持,并已在实际中得到较多的应用。但由于Web Services本身作为一个分布式计算平台,在其现有所实现的服务调用模型上还并不完善,所以始终未得到大规模的工业应用。虽然Web Services底层可以支持多种通信协议,但由于HTTP的广泛性和具有穿越防火墙等优点,使得基于HTTP底层通信协议的Web Services成为实际使用中最普遍的Web Services实施方案。而该方式下的服务调用模型仅实现了单向和同步请求/应答模型,对于异步调用模型AIM和消息/事件服务MES都仍未有统一的标准。本文就如何完善Web Services/HTTP的AIM进行了研究,并设计和实现了其中的回调、带ACK的回调、轮询以及带ACK的轮询模型。参考现有Web Services的AIM研究成果,设计、实现了基于客户端多线程同步调用MTSI模式(包括:网络连接每请求和网络连接池方式)的AIM;由于该实现模式存在客户端操作系统的线程负载大、系统延迟时间长、占用网络连接资源多以及资源利率低等缺点,本文提出并设计实现了基于Asyn SOAP模式(包括:服务线程每请求和服务线程池方式)的AIM,克服MTSI模式的不足。同时,使用形式化工具Petri网对基于MTSI和Asyn SOAP两种不同模式的系统进行描述,进而利用Petri网已有的成熟理论来分析、验证系统设计的相关性质(主要包括:系统是否存在死锁、活锁;系统能否达到最终期望的结果状态以及是否存在有不希望的状态)。通过分析和验证,该两种不同模式的系统均能够正确地实现AIM中的四个异步服务调用子模型。然后,参考CORBA中异步方法调用AMI的用户接口描述,定义了Web Services/HTTP的AIM用户使用界面。并在现有WSDL到Java语言的Web Services客户端Stub源码自动生成工具基础上,实现了对AIM客户端Java语言的Stub源码的自动生成功能。最后,分别在CERNET校园网和Internet电信网环境下,对两种不同模式的AIM原型系统进行功能和性能(包括:平均系统延迟时间、系统吞吐率和服务器可接受的平均并发客户数)测试,并对各测试结果进行了分析、比较。功能测试结果表明,两个不同的模式均能正确地实现AIM的四个异步服务调用子模型;性能测试结果验证了基于Asyn SOAP模式的系统延迟时间和资源利用率等方面相对于MTSI模式的较大优势。