1 绪论
1.1 研究背景及意义
Web 服务是一种基于网络的、可被描述和发现的软件应用体系,作为一种主流计算模式,依照标准协议,具有对零散孤立的数据资源进行有效整合、发布整合后资源至站点、为服务提供调用等功能。用户在不了解内部逻辑的情况下,仅依据完整的功能列表就能实现服务的调用,为企业提供了松散、灵活的分布式计算环境。
随着 Web 服务技术的发展日趋成熟,尤其是面向服务的体系结构[1](ServiceOriented Architecture,SOA)和面向服务的计算技术(Service-Oriented Computing,SOC)的日益完善,越来越多的企业在 Web 服务整合传统应用的基础上推出各式各样的Web 服务。SOC 技术使用 Web 服务作为基本单元,以组合的方式构建软件,并在分布式、异构的环境中以迅速、低成本的条件实现软件应用程序。Web 服务不仅是用于在 Internet 上封装资源的事实标准,同时还是实现 SOC 技术的最佳框架。
在开放、动态、多变的环境下,单个 Web 服务描述的功能有限,不能完整描述复杂的业务逻辑,满足用户需求的多样性,为解决这类问题,用户可借助服务匹配[2]和适配手段,不断用新的、优质的 Web 服务以取代失效的或质量降低的服务。因此,将多个 Web 服务通过组合的形式实现服务的增值和复用已经成为一个应用趋势。然而 Web 服务具有异构性和动态性,Web 服务之间的协作交互因其分布式和可自行演化的性质变得异常困难,如何确保 Web 服务之间正确的交互已成为促进 SOC 技术的使用和实现的重要问题。
除此之外,为快捷高效构建新系统,Web 服务组合通常将现有的服务组合成复杂功能的系统软件,如何找到满足需求的服务是组合的基础。近年来,互联网的快速发展使得网络上存在大量的可复用服务,理想的情况是能找到完全匹配的Web 服务用来组装,但实际情况是 Web 服务由不同的开发商提供,使用预想不同,未必能找到完全匹配的服务,如果找不到完全匹配的服务,能否通过适配手段使得不完全匹配的服务可以组装,从而对提高服务的可复用性和动态多变网络环境下组装的灵活性具有重要的现实意义。
........................
1.2 国内外研究现状
1.2.1 Web 服务形式化模型研究现状
形式化建模方法受严格定义的数学模型支持,具有高度的可靠性、系统的形式化分析方法和严谨的理论验证等优点。Petri 网[3-10]、自动机理论[10-18]和进程代数[19-24]是现如今最常用的三种形式化建模方法。
Petri 网拥有全面且形式化的语义、图形化的表达方式,且可作为一种方法为后续系统分析提供有效验证,从而被广泛使用在过程分析和形式化验证的工具模型中。Van 是最早研究工作流领域的学者之一,在将 Petri 网的基础理论研究应用于实际应用方面取得了较大成果。他使用 Petri 网来构建形式化模型用以描述 Web服务组合[3],并提出相应的算法验证了工作流网络映射为 BPEL(Business ProcessExecution Language,业务流程执行语言)的可行性[4]。Bi.J[5]使用服务工作流网来描述服务编排,提出一种基于受控规约的可达性图。随后曹国荣[6]借用服务流网刻画 Web 服务的交互行为,将单个的服务流网通过相同服务接口组合成组合服务流网,通过检查组合服务流网的可达性,从而在 Web 服务规模较大情况下实现 Web服务组合的可适配性分析。HAM 等人[7]在 Van 研究的基础上进一步研究 Petri 网对服务的建模过程,将服务的输入、输出和操作与 Petri 网中的库所和变迁形成对应的映射关系,并给出服务组合过程中各种结构(如选择结构、顺序结构)的形式化定义,进而形成用 Petri 网描述服务的形式化模型。之后 B.Chen 等人[8]在对 BPEL结构进行系统分析后,实现了将组合的服务映射到 Petri 网过程的代码。胡佳等人[9]设置不同的令牌值来控制服务执行过程,并结合令牌值进一步定义了服务的输入、输出及前提条件,实现了着色 Petri 网对服务组合的建模。
(2)自动机[10,11]同样也是验证 Web 服务组合可行性的一种建模方法,其具有直观明了、易于理解的特点。BULTANT 等人[12]着眼于不同服务间消息的交互过程,服务通信将服务的组合过程视为多个服务之间通过异步消息来对全局会话协议进行交互的过程,因此设计了一个拥有先进先出输入消息队列的非确定型 Bchi 自动机,从而形式化描述 Web 服务。Elabd[13-16]则着眼于 Web 服务内部的业务流程,利用自动机建模描述已加入时间约束的业务协议,证明了两个交互的业务协议间具有兼容性和准确性。FOSTER 等人[17-18]的研究与前面的学者不同,他使用有限状态机建模描述服务流程,通过 BPEL 描述 Web 服务组合流程,间接验证服务组合流程的准确性、安全性和有界性。
...........................
2 Web 服务形式化模型构
2.1 Web 服务技术
2.1.1 Web 服务组合技术
Web 服务组合(Web Service Composition)[51],内容实质是为应对单个 Web服务功能有限、无法提供实际生活复杂功能需求的情况,将多个原子 Web 服务通过组合的方式形成具有多种功能的新服务。通常情况下,企业在完成简单业务(如账单查询、库存管理)时,使用单个 Web 服务不仅能精准实现还效率高;然而随着企业日趋现代化、机械化、流水化作业的形式,具有多功能、动态业务逻辑的组合 Web 服务成为企业青睐的首选。由于 Web 服务的平台独立性和松耦合性,如何找到功能相似的服务将其进行正确组合成为其中的关键技术,例如有 Web 服务发现技术、形式化模型、Web 服务匹配技术、Web 服务适配技术等。2.1.2 Web 服务发现技术
Web 服务发现技术[52]与传统的信息检索技术相似,都是依据工业标准,对服务大多是基于框架和关键字两个方面进行精确匹配从而发现类似服务。在学术研究中,为了解决服务发现过程中存在冗余信息过多的问题,通常采用结合语义信息和本体论技术的方式。
(1)从系统结构的角度划分,Web 服务发现技术的大致可分为以下三种:
①直接检索技术:与传统信息检索技术相似,缺点是使用效率不高;②集中式架构技术:最典型的应用就是 UDDI,主要为服务提供者提供一个可以实现服务注册和发布信息功能的中心目录平台。③分布式架构技术:最典型的应用就是 WS-Inspection,优点是为增加了服务的可扩展性和灵活性,缺点是效率的准确性不高。例如 P2P 发现机制。
(2)从技术的角度划分,Web 服务发现技术可分为三种:
①基于关键字的服务发现技术:类似于传统的搜索引擎的工作方式。②基于框架的服务发现技术:先对服务依据分类法和功能进行归类再结构化查找服务。③基于语义的服务发现技术:借助语义 Web 本体描述 Web 服务,依据服务间功能及本体的关系将过程模型中的本体概念匹配结果视为服务发现的结果。
........................
2.2 Web 服务描述语言
2.2.1 WSDL
WSDL 是一种 XML 文件格式的服务描述语言,于 2001 年 3 月被 IBM 和Microsoft 公司作为描述网络服务信息的文件上传至 W3CXML-XML 协议,其主要内容为服务的配置信息(如消息类型、参数信息)、发送的协议以及传输数据的类型结构等。Web 服务之间的基本通信协议主要由 SOAP 负责,XML 又被用作Web 服务的数据传输介质,因此 WSDL 通常采用结合 SOAP 以 XML 文件形式在Internet 上提供 Web 服务。从文档来源看,WSDL 派生于 XML,编写过程与软件开发环境无关,因此在大多数环境下都能适用,即使不是同一系统的程序或者用户都能对其进行访问获取服务信息。从功能上看,WSDL 首先将服务的操作信息和服务交互过程中发出的特定请求信息(或响应消息)以抽象的形式表达出来,然后将它们部署到特定的传输协议并设置成访问点以便用户或程序访问。表 2.1 表示为 WSDL 的具体内容。
软件工程论文怎么写
3 基于 SxSTS 模型的匹配框架.............................25
3.1 基于 SxSTS 模型的匹配框架设计....................................26
3.1.1 模型定义...................................27
3.1.2 静态匹配定义...................................27
4 Web 服务匹配的适配器构造........................... 36
4.1 失配类型分析.........................................36
4.1.1 语法层失配情形...................................36
4.1.2 语义层失配情形.................................................37
5 系统实现.......................................50
5.1 实验环境准备及主要功能.................................49
5.2 模型自动生成实现..........................50
5.3 匹配框架实现........................................52
5 系统实现
5.1 实验环境准备及主要功能
服务匹配系统是在Eclipse平台上采用Java语言进行开发的,使用DOM4J对XML进行解析,获取所需的服务信息,同时采用前端Echarts控件构建图形优化界面展示效果。本系统选择MySQL5.5数据库来完成数据的存储和提取。下面将介绍该原型系统中主要模块功能。系统架构如图5-1所示。
软件工程论文参考
服务模型主要功能是分别读取 WSDL、OWL-S 和 BPEL 的 XML 文件,解析文件提取具有映射关系的元素,然后根据构建程序图形转换规则,结合 Echarts 图像处理工具,可视化 SxSTS模型图形构成 SxSTS 服务描述模型。数据中心主要功能是将服务模型提取的元素信息分别存进数据库中,方便数据的存取与调用。
............................
6 总结与展望
6.1 总结
随着计算机技术与信息行业的快速发展,单一的 Web 服务已无法满足企业的实际需求,服务组合使得已有服务快速增值形成更大粒度的 Web 服务成为形式主流。近年来,网络 Web 服务资源库日渐庞大,越来越多的企业更倾向于选取库中现有的符合功能需求 Web 服务对其进行组合的方式来减少软件开发成本,提高软件应用效率,还能在服务失效时进行有效替换,节省维护支出。但实际情况下,往往找不到完全符合需求的服务,由于 Web 服务来源于不同开发机构,服务直接存在异构性,因此 Web 服务适配技术的提出成为顺理成章的事情。为解决上述问题提供可行性方法,增加服务匹配、替代和组合的成功率和准确率,满足 Web 服务复用和技术发展的自然需求。
本文基于上述需求为研究背景,针对 Web 服务的匹配和适配问题,展开相关技术研究。本文首先全面介绍 Web 服务匹配和适配技术现有的研究现状,指出当前研究存在的不足与问题。针对这些问题,主要对构建 Web 服务形式化模型、匹配性判断框架、Web 服务失配情形、Web 服务动作映射生成以及生成适配器等相关方面进行深入研究。本文的创新之处如下:
(1)提出基于多层次的 Web 服务形式化模型,根据以往的匹配研究了解到通常是在单个层次上利用相应的 Web 服务描述语言构建形式化模型,但是没有将语法、语义和行为协议综合考虑,因此本文将语法、语义和行为协议统一考虑形成基于语义扩展的 SxSTS 模型,从而可以更精准的进行服务匹配;
(2)提出多元的 Web 服务匹配性检查框架,其中强、弱、迹三种内部变迁处理策略满足不同服务环境下的不同需求,四种(即完全匹配、包含匹配、单路径匹配和完全不匹配)匹配类型为大多数 Web 服务进行替换时提供分类标准;
(3)提出 Web 服务适配分析方法,对于不能匹配的服务,根据分析失配的原因,例如语法层的动作名不同或参数类型不同等,语义层的动作名和参数的语义不同等和行为层的消息发送接收冗余等情况,设计相对应的适配策略,实现自动化的动作映射,生成适配器,从而能够提高匹配精度,提高组合服务的复用性和灵活性。
参考文献(略)