论文部分内容阅读
随着Internet的发展,基于Internet的Web应用日益广泛。为了解决Internet上应用到应用的通信,以及解决当前分布式计算的挑战,基于XML的Web服务技术应运而生。Web 服务是一种分布式计算体系结构,被设计和指定用来促进跨平台的程序对程序通信。Web 服务本质上是一种消息传递体系结构,它通过让松散耦合的应用程序能共同协作来发挥作用,能够在完全不同的系统/操作环境/程序语言(跨平台)间传送包含 XML 数据的消息。Web 服务体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互,涉及发布、查找和绑定操作。Web服务包括三个核心技术:SOAP(简单对象访问协议)、 WSDL(Web服务描述语言) 和UDDI (统一描述,发现与集成)。由于Web服务是非实时连接的软件系统,在这一点上Web服务与目前的Web系统是一致的.如同在HTTP协议中出现的状态维护需求一样,Web服务同样需要一个合理的管理框架。对于目前SOAP为主的Web服务系统来说,需要为SOAP协议所调用的Web服务对象建立一个可靠的管理架构来实现高级的管理功能。本文根据W3C的Web服务架构组发布的Web服务体系结构草案以及Web服务生命周期标准并借助Axis 设计和实现了一个Web服务管理的框架,它是一个包含服务生命周期管理模式、服务状态维护和服务对象缓冲管理等Web服务基础支撑内容的管理框架。本文的主要工作:在Axis引擎对Web服务进行调用之前,增加一个Web服务的管理框架,负责Web服务对象的管理。考虑到不同类型的Web服务的对象的调用方式不同,抽象出一个代理对象负责不同类型Web服务对象的调用。代理对象通过对象加载模块使对Web服务对象的调用变得透明。为减少Web服务对象的创建次数,从而降低因为Web服务对象频繁创建所带来的系统开销,需要在管理框架中使用缓冲技术。缓冲容器中的对象池保存使用过的Web服务对象,以便将来重复使用。对象池将Web服务对象附上键值,将有状态Web服务与无状态Web服务区分开。而缓冲容器中的池管理器负责对象池的创建和销毁。使用生命周期管理模块管理Web服务对象的生命周期状态以及各个状态之间的相互转换。Web服务管理框架通过服务管理者(代理对象)、对象加载、缓冲容器和生命周期管理四个模块实现对Web服务对象的状态、生命周期状态的转换以及缓冲的管理。在局域网内的两台PC上使用两种不同方案对Web服务管理框架和Axis性能进<WP=39>行了对比测试。结果表明使用了缓冲技术和生命周期管理的Web服务管理框架在吞吐量、平均响应时间和标准偏差值等主要性能指标上都较Axis有明显的改进。进一步的工作有:在Web服务管理框架中增加Web服务质量管理和事务处理等功能,优化对象池的置换算法。要在各种测试环境下对各种复杂程度的Web服务的性能进行测试,研究用户数量的增加对系统性能和稳定性的影响等。