Web服务管理框架的设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
  • 英文题名:A Design and Implementation of a Web Services Management Frame
  • 作者:唐凯
  • 论文级别:硕士
  • 学科专业名称:计算机系统结构
  • 学位年度:2004
  • 导师:鞠九滨
  • 学科代码:081201
  • 学位授予单位:吉林大学
  • 论文提交日期:2004-04-01
摘要
随着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性能进
    
    
    行了对比测试。结果表明使用了缓冲技术和生命周期管理的Web服务管理框架在吞吐量、平均响应时间和标准偏差值等主要性能指标上都较Axis有明显的改进。
    进一步的工作有:
    在Web服务管理框架中增加Web服务质量管理和事务处理等功能,优化对象池的置换算法。要在各种测试环境下对各种复杂程度的Web服务的性能进行测试,研究用户数量的增加对系统性能和稳定性的影响等。
With the development of Internet, Web applications based on Internet become more and more popular. The XML-based Web Services come out in order to solve the application-to-application communications and the challenge of the actual distributed computing.
     Web services are a distributed computing architecture designed and specified to foster cross-platform program-to-program communications. Web services are essentially a messaging architecture that works by enabling loosely coupled applications to work together, simply enabling the passing of messages that contain XML data between disparate systems/operating environments/program languages (cross-platform) . The Web Services architecture is based upon the interactions between three roles: service provider, service registry and service requestor. The interactions involve the publish, find and bind operations. Web Services include three main technologies: SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) and UDDI (Universal Description, Discovery, and Integration).
    Web Services are not a real-time software system for connection, which are consistent with Web. Just like session maintenance in HTTP protocol, Web Services need a reasonable management frame. Because SOAP is the center of the current Web Service systems, a reliable management frame should be provided for the object of Web Services called by SOAP protocol. This management frame is used to implement more advanced functions.
    A Web Service management frame based on Axis is designed and implemented according to the Web Service Architecture Draft and Web Services Life Cycle published by W3C. It is a management frame, which includes a lifecycle management pattern, service state maintenance, service object buffering management and other fundamental support contents of Web Services.
    Main contributions of our work are as following:
    We add a Web Services management frame to the management of Web Services object before Axis engine calling Web Services.
    Because there exist different ways between each type of Web Service object calling, we abstract an agent object which is in charge of different kinds of calling. Agent object makes the calling transparent by object loader module.
    In order to decrease the number of constructing Web Service objects and overheads of the system introduced by frequently creating, we should apply the buffering
    
    
    technology in the management frame. The object pool of buffering container can achieve this point by saving used objects. Object pool distinguishes the stateful Web Services from stateless Web Services by attaching a key to the Web Services objects. Pool manager answers for the construction and destroy of the object pool.
    Lifecycle manager module manages the lifecycle of Web Service objects and the transitions among lifecycle states.
    Web Services management frame can manage the states of Web Services objects, transitions of lifecycle states and buffering by four modules— the service manager(agent object), the object loader, the buffering container and the lifecycle manager.
    A compared test between the Web Services management frame and Axis has been done with two PCs in the LAN in two different scenarios. The results state that Web Services using buffering technology and lifecycle management have got a better performance and reliability than Axis according to the aspects of throughput, average response time and standard deviation.
    Further research work includes adding the functions of quality management and transactions of Web Services, optimizing the replacement algorithm of the object pool, doing more tests for more complicated Web Services in any testing environment, and studying the influences to the performance and reliability of the system made by the increasing of users.
引文
[1] Tim Bray,Jean Paoli,C. M. Sperberg-McQueen,Eve Maler,Extensible Markup Language (XML) 1.0 (Second Edition),http://www.w3.org/TR/2000/REC-xml-20001006, 6 October 2000.
    [2] W3C –http://www.w3.org/2002/ws/.
    [3] 柴晓路, “Web服务架构与开放互操作技术”,清华大学出版社,2002年6月.
    [4] David C. Fallside,Priscilla Walmsley, XML Schema Part 0: Primer Second Edition W3C Proposed Edited Recommendation,http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/,18 March 2004.
    [5] Henry S. Thompson,David Beech, Murray Maloney, Noah Mendelsohn, XML Schema Part 1: Structures Second Edition W3C Proposed Edited Recommendation,http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/,18 March 2004.
    [6] Paul V. Biron,Ashok Malhotra,XML Schema Part 2: Datatypes Second Edition W3C Proposed Edited Recommendation, http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/,18 March 2004
    [7] Nilo Mitra,SOAP Version 1.2 Part 0: Primer W3C Recommendation, http://www.w3.org/TR/2003/REC-soap12-part0-20030624/,24 June 2003.
    [8] Martin Gudgin,Marc Hadley,Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen, SOAP Version 1.2 Part 1: Messaging Framework W3C Recommendation http://www.w3.org/TR/2003/REC-soap12-part1-20030624/,24 June 2003.
    [9] Roberto Chinnici,Martin Gudgin,Jean-Jacques Moreau,Jeffrey Schlimmer,Sanjiva Weerawarana, Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language W3C Working Draft,http://www.w3.org/TR/2004/WD-wsdl20-20040326/,26 March 2004.
    [10] UDDI - http://www.uddi.org/pubs/Iru_UDDI_Technical_White_Paper.pdf.
    [11] Joe Clabby Bloor NA, Web Service Gotchas, http://www-306.ibm.com/software/solutions/webservices/pdf/bloor_overview.pdf, July 2002.
    [12] David Booth,Hugo Haas,Francis McCabe,Web Services Architecture,http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/,11 February 2004.
    [13] Hao He,Mark Potts, Igor Sedukhin, Web Service Management: Service Life Cycle, http://www.w3.org/TR/2004/NOTE-wslc-20040211/, 11 February 2004.
    [14] Axis - http://ws.apache.org/axis/.
    [15] SOA - www.service-architecture.com/.
    [16] John J. Barton,SOAP Messages with Attachments,
    http://www.w3.org/TR/SOAP-attachments,11 December 2000 ,11 December 2000.
    [17] Jakarta Commons Pool – http://jakarta.apache.org/commons/pool/.
    [18] JMeter – http://jakarta.apache.org/jmeter.
    [19] Jboss – http://www.jboss.org/

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700