Adapters for Service Version Compatibility

Adapters for Service Version Compatibility

论文摘要

面向服务的计算能够实现将应用程序组件聚集成为松耦合的网络服务这种思想,并且能够创造灵活的跨系统的商业过程。这种结构的主要优点是重新利用服务、抽象、可发现以及互操作性。基于服务的应用程序结构主要包含三个部分:服务提供者,用户和注册模块。服务提供者将服务发布或告知注册模块,用户寻找然后调用这些服务。一个服务就是一个具有特定功能的软件组件,并且能被压缩成一个具有代表性的高级商业概念。它由一个合同,一个接口,一个实现说明和一个业务逻辑与数据。合同提供关于服务的目的,功能,约束和使用方法的信息说明。接口负责将服务的功能揭露给使用网络连接到服务的用户。实现说明提供所需的业务逻辑和适当的数据。这是一个履行服务合同的技术实现。服务实施由一个或多个程序、配置、数据和数据库组成。被服务压缩成的业务逻辑是实施的一部分。它被配置成通过服务接口时可用。如果服务是一个中央数据服务,那么它也包含数据。Web服务作为分布式计算中的下一代软件系统正逐步发展起来。它们在企业内或企业间被用来实现和整合软件组件时得到了广泛的应用。Web服务有三个基本的平台元素:SOAP,WSDL和UDDI。SOAP是一个用于分布式环境中交换信息的基于XML的轻量级协议。WSDL是一个基于XML的文件,用于描述和定位web服务。UDDI是一个独立的平台框架,通过Internet来描述服务,寻找业务和整合商业服务。在本文中,我们研究不同web服务技术和web服务版本之间的互操作问题。适配器是一种允许两种不兼容的接口一起工作的设计模式。转换服务主要是指调节两种不同协议和接口而使得彼此间能相互操作。适配器在web服务中主要有两个应用:一种是应用于在网络中比较高层中的异质性操作(例如在业务层的协议和接口),另一种是大量和多样化的用户,由于每一个用户都可能支持不同的接口和协议,从而需要提供面向多种接口和协议的适配器。Windows Communication Foundation (WCF)是由微软发展的一组面向服务的应用程序开发模式。WCF是按照面向服务架构设计原则来支持分布式计算服务以供用户使用。客户可以使用多种服务,服务也可以被多个客户端使用。服务间往往是松耦合的,服务通常有一个WSDL接口,因此,无论哪一个平台上托管的服务,WCF客户端都可以通过该接口来使用。WCF对传输协议http的支持包括基本HTTP支持(BasicHttpBinding)以及WS-HTTP支持(WsHttpBinding),它们是两种最具互动性操作的协议绑定。基本HTTP支持使得WCF和其他框架的具有很好互操作性。在标准方面,它是参照WS-I基本概要1.1规范实现。它支持SOAP1.1消息传递协议。WS-HTTP支持,顾名思义,就是允许你使用各种WS-*规范,比如:WS-Security, WS-Reliable Messaging, WS-Atomic Transaction,WS-Trust等等(或翻译为WS-安全性,WS-可靠消息传递,WS-服务原子事务,WS-Trust等等)。Metro是由Sun Microsystems公司开发的开源web服务栈。它捆绑了大量的应用服务器,如GlassFish和Oracle WebLogic Server。Sun Microsystems和微软曾一起合作开发确保Metro和WCF之间的互操作性,并且提出了WSIT。Web服务互操作技术(WSIT)是Sun Microsystems为了开发下一代web服务技术启动的一个开源项目。它由Java编程语言APIs组成,这些API作为.NET框架的一部分,通过启用高级的WS-*功能,从而保证与微软的Windows Communication Foundation(WCF)兼容。为了跟上技术前进的步伐,软件卖主经常发布具有新特性和更安全的新版本应用程序。然而,这些应用程序的使用者并不愿意更新到最新的版本。理由是使用新版本软件成本过高或者培训员工的负担过重。当软件成为面向服务的应用程序时,由于软件卖主将服务都部署在他们自己的服务器上,使得这个问题变得越来越复杂。为了解决这个问题,服务提供者经常将同一个服务部署多个版本。这样能避免越来越多的服务被主机控制。在我们的研究中,我们提出一种方法学来解决这个问题。Web服务之间的互操作要求服务使用相同的协议,数据格式和语义。为了交互,服务必须有兼容的接口(服务支持的一系列操作方法)和业务协议(被允许的信息交换次序)。本文研究的主要目的是让通过老版本设计的客户端能够在不做任何改变的情况下与具有相同服务的新版本设计的客户端成功通信。为了实现这个目标,本文提出设计一个网络适配器-一个web服务,用来协调两个不同服务接口之间的交互,使之能相互操作,协同工作。采用这种适配方法的关键因素之一是使用不匹配模式。同时,我们已经开发出WCF服务适配器和相应的WCF,以及作为我们实验一部分的Java客户端。我们系统的结构由四部分组成:客户端,适配器,web服务和数据库。客户端指使用服务的用户,用C#或Java编写。他们都有个用户界面来调用这些服务。然而,在他们的设计中没有包含任何类型的实现。适配器在新旧web服务版本之间扮演一个仲裁者角色。在系统内部,它既是客户端也是web服务。然而,适配器并不要实现任何暴露的方法。相反,它只调用新版本web服务暴露的方法。Web服务是一个用来实现和暴露web方法的服务提供者。这些web方法,通过数据库的帮助,用来完成请求计算并返回结果。另外,在是否同意访问web方法之前,web服务还负责核查客户端提交反对数据库的信任状。数据库存在于数据库管理系统中并被用来存储所有数据,同时也通过使用存储程序来执行某些计算。在本文实验的第二部分中,我们通过采用被广泛使用的两项web服务技术(WCF和Metro)来处理互操作。我们对BasicHttpBinding和WSHttpBinding进行了实验,这是两种在WCF上使用最广泛的协议。我们分析和确定了哪一种配置与我们之前实验中开发的Java客户端更能实现互操作。最后,为了验证是否我们提出的适配器能够在真实环境下应用,我们利用一个以前开发的应用程序。这个应用程序是航空管理软件的一部分,但是它没有设计成面向服务的应用程序。所以,为了满足我们的要求,我们必须以暴露系统主要功能的形式将这个应用程序的一部分转化为web服务,就像暴露web方法一样。

论文目录

  • Abstract
  • 摘要
  • Table of Contents
  • List of Figures
  • List of Tables
  • 1 INTRODUCTION
  • 1.1 Background
  • 1.1.1 Service-Oriented Architecture(SOA)
  • 1.1.2 Web Services
  • 1.1.3 Adapters
  • 1.1.4 Web Services Specifications
  • 1.2 Related Research
  • 1.3 Objectives of the Thesis
  • 1.4 Thesis Organization
  • 1.5 Summary
  • 2 ADAPTERS FOR SERVICE VERSION COMPATIBILITY
  • 2.1 WCF Metro Interoperability
  • 2.1.1 Windows Communication Foundation
  • 2.1.2 Metro
  • 2.1.3 Interoperability
  • 2.2 Adapters for Service Version Compatibility
  • 2.2.1 Mismatch Types and Solutions
  • 2.3 Summary
  • 3 SYSTEM DESIGN
  • 3.1 Architecture
  • 3.2 Database Design
  • 3.3 Service Design
  • 3.3.1 Service Version 1(S1)
  • 3.3.2 Service Version 2(S2)
  • 3.3.3 Service Version 3(S3)
  • 3.4 Client Design
  • 3.4.1 WCF Client
  • 3.4.2 Java Client
  • 3.5 Adapter Design
  • 3.5.1 Details of Implementation
  • 3.6 Summary
  • 4 EXPERIMENT
  • 4.1 Implementation
  • 4.1.1 Description of the Environment
  • 4.1.2 System Setup
  • 4.2 Results
  • 4.2.1 Interoperability Results
  • 4.2.2 Adapter Results
  • 4.2.3 Adapter on a Real World Application
  • 4.3 Summary
  • CONCLUSION
  • References
  • Acknowledgements
  • APPENDIX A.Source Codes
  • A.1. Service Adapter
  • 相关论文文献

    • [1].从多款中国应用程序被禁看科技之争[J]. 中国信息安全 2020(08)
    • [2].一种动态监测安卓应用程序的方法[J]. 西北工业大学学报 2016(06)
    • [3].儿童应用程序4岁也能做设计[J]. 设计 2017(12)
    • [4].应该首先保护哪些应用程序[J]. 计算机与网络 2015(06)
    • [5].QQ2009无法使用[J]. 电脑爱好者 2010(01)
    • [6].资讯播报[J]. 女子世界 2016(06)
    • [7].锐词[J]. 新作文(高中版) 2017(06)
    • [8].Web安全看得见[J]. 中国教育网络 2009(04)
    • [9].企业第三方应用程序安全问题及应对措施浅析[J]. 中国商论 2017(06)
    • [10].无形威胁 走向生命终点的高风险应用程序[J]. 计算机与网络 2015(23)
    • [11].借助豌豆荚实现应用程序的“洗白”[J]. 电脑迷 2013(04)
    • [12].搞定“应用程序停止运行”问题[J]. 电脑爱好者 2014(21)
    • [13].美食应用程序中感官吸引性的界定与描述:基于德尔菲法的研究[J]. 商业经济研究 2020(21)
    • [14].5G会有多快[J]. 计算机与网络 2020(21)
    • [15].竞逐应用程序商店,康佳“锐族馆”上线[J]. 电器 2011(05)
    • [16].主编观察[J]. 程序员 2009(10)
    • [17].应用程序出错的解决方法[J]. 计算机与网络 2009(13)
    • [18].应用程序出错的解决方法[J]. 计算机与网络 2008(22)
    • [19].Exchange Server 2007常见问题[J]. 网络安全和信息化 2017(09)
    • [20].Windows 7对程序的禁运与解禁[J]. 网络安全和信息化 2017(05)
    • [21].移动健康应用程序的安全性和隐私分析:令人担忧的现状[J]. 家电科技 2018(07)
    • [22].“微信运动”应用程序运营优化策略研究[J]. 计算机产品与流通 2018(03)
    • [23].谨慎识别宣称改善健康的应用程序[J]. 心血管病防治知识(科普版) 2016(19)
    • [24].自动更新应用程序[J]. 电脑爱好者 2013(05)
    • [25].应用程序商店“动起来”[J]. 软件和信息服务 2012(04)
    • [26].移动设备上最出色的10款应用程序[J]. 微电脑世界 2014(02)
    • [27].让应用程序管理服务更多用户[J]. 数字通信世界 2013(07)
    • [28].ASP.NET应用程序安全性研究[J]. 西安邮电学院学报 2010(01)
    • [29].诺顿智能扫描 详解应用程序信任分级[J]. 网络与信息 2010(08)
    • [30].2011年最热应用程序[J]. 世界电信 2010(11)

    标签:;  ;  

    Adapters for Service Version Compatibility
    下载Doc文档

    猜你喜欢