(计算机软件与理论专业论文)基于xml+web服务技术的webocr系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于xml+web服务技术的webocr系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于xml+web服务技术的webocr系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于xml+web服务技术的webocr系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于xml+web服务技术的webocr系统的设计与实现.pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要: o c r 技术可以将文档图像信息转变为计算机可以理解和编辑的信息,以便保存和使用。 随着办公自动化程度的目益发展,人们对o c r 服务的需求也越来越多。而且互联网宽带 的推广,使得越来越多的计算在互联网上进行,如果能够将o c r 服务转移到i n t e m e t 环境 中,为人们提供在线o c r 服务,将是非常有意义的。现在世界上还没有成熟的能够提供 在线o c r 服务的产品。 本文开展了基于w e b 服务技术的w e b o c r 系统的研究,是在这方面的一个探索。应用 最新分布式技术w 曲服务技术,并集成南开智能历的o c r 技术构建出了基于x m l w e b 服务的w e b o c r 系统。 本文设计实现的w e b o c r 系统运用了w e b 服务技术,具有以下特点:系统的设计可以 吸引潜在的软件开发商,为他们提供良好的在线o c r 服务二次开发的技术平台:w e b o c r 服务器端、客户端的松散耦合的特点,使得客户端程序可以选择多种形式,可以在不同的 平台上构件,增强了客户端的跨平台能力。w e b o c r 中o c r 核心处理模块与w e b 服务接 口相对独立,系统具有很好的可扩展性。 本文设计实现的w e b o c r 系统是到目前为止世界上第一个能够提供在线o c r 服务的 实用系统,测试结果证明了w e b o c r 系统的稳定性和有效性。 关键字: o c r ;w e b 服务;分布式系统 a b s t r a c t a b s t r a c t : t h e t e c h n i q u eo fo c r t r a n s f e r sd o c u m e n t i m a g ei n f o r m a t i o nt oa ne l e c t r o n i cf o r m a tf o rt h e c o n v e n i e n c eo ft h e s t o r a g e a n d u s a g e o ft h ei n f o r m a t i o n a so a ( o f f i c ea u t o m a t i o n ) i s d e v e l o p i n gi n c r e a s i n g l y ,p e o p l e sr e q u e s t sf o ro c r i n c r e a s e sg r e a t l y w i t ht h ed e v e l o p m e n to f b r o a d b a n di n t e m e t ,m o r ea n dm o r ec a l c u l a t i o n sw i l lp r o c e s si nt h ei n t e m e t i ti sv e r yu s e f u lt h a t w ec a nt r a n s f e rt h eo c rs e r v i c ei n t oi n t e m e tt op r o v i d eo n l i n es e r v i c e h o w e v e r , t h e r ei sn o m a t u r ep r o d u c to f f e r e dt h a tc a np r o v i d eo n l i n eo c rs e r v i c ei nt h ew o r l dn o w t h i sp a p e r p r e s e n t st h er e s e a r c ho fw e b o c rs y s t e m t h a ta i m st oo f f e rt h i sk i n do fs e r v i c e t h es y s t e mi sb u i l du pb a s e do nt h el a t e s td i s t r i b u t e dt e c h n i q u e ,x m lw e bs e r v i c e ,a n di t i n t e g r a t e st h eo c rt e c h n o l o g y o ft h ei n s t i t u t eo fm a c h i n e i n t e l l i g e n c e ,n a n k a iu n i v e r s i t y w e b o c r s y s t e m d e s c r i b e di nt h i sp a p e rh a st h ef o l l o w i n gc h a r a c t e r s : i th a sf l e x i b l ea r c h i t e c t u r ea n d p r o v i d e sm a n y u s e f u la p i sf o ro t h e rv e n d o r st od e v e l o p m o r ep o w e r f u lw e bs e r v i c e ,e x t e n d e dd e v e l o p m e n tc a nb ee a s i l yi m p l e m e n t e db a s e so n w e b o c r s y s t e m i tp r o v i d e sm u l t i p l ek i n d so fc o n n e c t i o nm o d e l v a r i o u sk i n d so fa p p l i c a t i o n sc a na c ta s c l i e n tf o rw e b o c r s y s t e m a n dt h ei n f o r m a t i o nc a nb et r a n s f e r c r o s s i n gd i f f e r e n tp l a t f o r m s , t h ec o r eo c r p r o c e s sm o d u l ei si n d e p e n d e n t t ow e bs e r v i c ei n t e r f a c e t h ew e b o c r s y s t e mh a sg o o ds c a l a b i l i t y f o rd i f f e r e n ta p p l i c a t i o ne n v i r o n m e n ta n dp u r p o s e u n t i ln o w ,t h ew e b o c rs y s t e md e s c r i b e di nt h i sp a p e ri st h ef i r s tp r a c t i c a l s y s t e mf o r o f f l i n eo c rs e r v i c ei nt h ew o r l d ,t h et e s tr e s u l tp r e s e n t e da tt h ee n do ft h i sp a p e rp r o v e st h e s t a b i l i t ya n de f f i c i e n c yo f t h ew e b o c r s y s t e m k e y w o r d s : o c r ;w e bs e r v i c e s ;d i s t r i b u t e ds y s t e m s 第一章绪论 1 1 w e b o c r 项目背景 第一章绪论 o c r 英文名称o p t i c a l c h a r a c t e rr e c o g n i t i o n ,即光学字符识别。o c r 技术是随着模式识 别和人工智能研究的发展而产生的文字识别技术。 现有的商用o c r 系统几乎都是卖给o c r 处理量比较大的企业级用户,比如大型银行, 医院和大公司。这些o c r 系统都设计为在p c 机上运行的单机运行模式。 通过调查,我们发现o c r 类的产品虽然比较多,但将o c r 技术集成到服务器上通过 i n t e r a c t 向用户提供分布式o c r 服务的还尚未出现。随着互联网宽带建设的发展,越来越 多的计算会利用互联网来进行,w e b o c r 的出现就是顺应了这一发展趋势。在分布式o c r 服务上有所突破。产品的潜在客户群非常广泛。对于那些有使用o c r 软件愿望,但使用 频率不是很高的个人用户,可以通过w e b o c r 系统向他们提供廉价的、专业的o c r 服务。 本项目是南开机器智能所与美国e x p e r e x c h a n g e 公司联合开展的“全球办公服务系统 项目”的子项目。项目基于南开智能所的核心o c r 技术,提供基于w e b 服务方式的英文 文档图像识别。 1 2w e b o c r 提出的技术背景 1 2 1 分布式计算概述 分布式计算是将应用程序逻辑分布到网络上的两台或者多台计算机上,在物理上分离 的单元中。分布式计算的思想由来已久,已经发明出许多计算技术来支持分布和可重用应 用程序逻辑。 分布式应用程序逻辑的原因有多种: ( 1 ) 分布式计算使得链接不同的机构和团体成为可能。 ( 2 ) 应用程序访问的数据通常位于不同的计算机上,应用程序逻辑应当靠近数据所在的计 算机。 ( 3 ) 分布式应用程序逻辑可以在多个应用程序间重用。升级分布式应用程序块时不必要升 级整个应用程序。 ( 4 ) 通过分布应用程序逻辑,使得负载分摊到不同的计算机上,从而提供了潜在的性能优 第1 页 第一章绪论 化。 ( 5 ) 当新的需要产生时,应用程序可以重新分布或者重新连接。 ( 6 ) 扩展一层比扩展整个应用程序要容易。例如,如果数据层不够快,可以向该层增添更 多的资源,而不必影响整个应用程序。 i n t e r n e t 增强了分布式计算的重要性和适用性。i n t e m e t 的方便接入和无处不在使得分布 式计算作为分布式应用程序的骨干成为了必然的选择“1 。 1 2 2 传统的分布式计算缺陷与w e b 服务 传统的分布式计算技术主要有来自o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 的 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,通用对象请求代理机构) ,以及 m i c r o s o f t 的d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 。c o r b a 和d c o m 在许多细节上存在差异,使得协议间的互操作很难进行,而w e b 服务( w e bs e r v i c e ) 是一种优秀的分布式计算技术。c o r b a 、d c o m 与w e b 服务的特征对比如表l l 所示2 1 1 3 】。 表1 1c o r b a ,d c o m 与w e bs e r v i c e s 的对比 特征 c o r b ad c o m w e b 服务 r p c 机制 i i o pd c e r p ch 册p 编码 c d rn d rx m 吐 接口描述 ) l儿w s d l 发现命名服务与交易服务注册库 u d d i 防火墙的友好性否否是 协议的复杂性高高低 跨平台性部分否是 由上表可知,对于r p c ( r e m o t ep r o c e d u r ec a l l ,远程过程调用) ,c o r b a 使用 i i o p ( i n t e r n e t i n t e r - o r b p r o t o c 0 1 ) 协议,d c o m 使用d c e - r p c ( d i s t t i b u t e dc o m p u t i n g e n v i r o n m e n tr e m o t ep r o c e d u r ec a l l ,分布式计算环境远程过程调用) 的协议。这些协议要求 客户端和服务器端紧密耦合,即要求一个同类的基本结构,而w e b 服务基于h t t p 协议,适 合电子商务系统的i n t e m e t 交互需求。 对于数据编码格式,c o r b a 使用c d r ( c o m m o n d a t ar e p r e s e n t a t i o n ,通用数据表示) , d c o m 使用n d r ( n e t w o r k d a t ar e p r e s e n t a t i o n ,网络数据表示) ,c d r 格式与n d r 格式互 第2 页 第一章绪论 不兼容,两者对其他系统而言也不具有通用性。而w e b 服务使用x m l ( e x t e n s i b l em a r k u p l a n g u a g e ,可扩展标记语言) ,x m l 具有内容和形式相分离,良好的可扩展性,良好的跨 平台移植性和良好的自描述性等特点,适合电子商务环境平台的数据共享与数据交换。 对于接口描述,c o r b a 与d c o m 均使用i d l ( i n t e r f a c e d e f i n i t i o nl a n g u a g e ,接口定义 语言) ,而w e b 服务使用w s d l ( w e b s e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言) 。 w s d l 的功能异常强大,不但描述了w e b 服务之间的消息处理机制、而且描述了w e b 服 务的位置以及w e b 服务之间通信的协议【4 l 。 对于防火墙,c o r b a 与d c o m 之类的分布式协议基于动态分配端口的远程方法调用, 而大部分企业都在他们的公共w e b 服务器和远程客户之间放置防火墙,关闭了除了8 0 端 口之外的其他端口。基于c o r b a 与d c o m 的远程调用服务难以穿越防火墙。若要通过防 火墙只能手动干预防火墙的配置,而且,处于另一个防火墙的后的分布式应用客户端也面 临同样的问题。要求商务客户配置他们的防火墙来访问远程服务是不现实的。而w e b 服务 使用 r r t p 协议,商务企业间的远程服务调用和数据交换可以透明地穿越防火墙。 另外,c o r b a 使用命名服务与交易服务发现机制,只能实现部分地跨平台性;d c o m 使用注册库的发现机制,没有跨平台性;而w e b 服务使用u d d i ( u n i v e r s a ld i s c o v e r y d e s c r i p t i o na n di n t e g r a t i o n ,通过发现、描述与集成机制) ,使跨平台的服务发现变得易于实 现 5 1 。 目前,分布式对象技术还有s u n 的r m i ( r e m o t em e t h o di n v o c a t i o n ,远程方法调用) 技 术。r m i 技术也存在以上所提的一些缺陷,而且r m i 技术依赖于j a v a 语言和j a v a 虚拟机, 难以满足新形势下多样化的电子商务需求。 w e b 服务的优点给电子商务系统的构件、系统部署以及数据集成等带来了许多新的思 路和挑战,构建基于w e b 服务的新型电子商务应用系统和数据集成服务具有巨大的现实意 义 6 】。 1 3w e b o c r 系统的综述 w e b o c r 系统就是应用w e b 服务技术,将传统的o c r 服务放到网络上,在i n t e r a c t 上通过多种方式为用户提供在线o c r 识别服务。w e b o c r 服务的目标是为用户提供便捷、 高质量的、快速的英文文档识别服务。 本系统开发过程中主要的工作是应用南开机器智能所的成熟o c r 技术,特别将r t k 技术和w e b 服务技术集成在一个系统中,从而开发出能够在i n t e m e t 上提供在线o c r 服 第3 页 第一章绪论 务的w e b o c r 系统。w e b 服务技术是近年来分布式技术发展的新方向,这种技术有很多 优点,具有广阔的发展前景。它不光提供了集成网络上现在已经存在的多种多样的系统、 服务的技术平台。而且按照w e b 服务技术标准集成开发出来的系统有良好的可扩展性, 可以支持广泛的二次开发。w e b o c r 系统就是应用这种技术,将南开机器智能所原有的一 些o c r 技术集成起来,以网络作为媒介,给i n t e m e t 上的用户提供o c r 服务。 1 4 论文的组织和结构 论文第一章是w e b o c r 系统的研究综述。主要介绍了w e b 服务技术的技术背景。传统 的分布式技术的缺陷。并且在此基础上,概要介绍了基于w e b 服务技术的w e b o c r 系统 的意义。 第二章主要介绍了w e b 服务技术,为后面w e b o c r 系统设计、实现打好基础。本章首 先介绍了w e b 服务的架构,现有的各种各样功能的w e b 服务的分类。其次详细介绍了w e b 服务技术的三大核心技术s o a p 、w s d l 、u d d i 。作为一种网络服务,服务的质量是不容 忽视的,服务的质量就是服务的生命,所以本文研究了一下如何提高w e b 服务的质量的问 题。在本章最后,比较了一下现有的两大w e b 服务开发框架的特点。 第三章是在应用w e b 服务技术,4 - 1 对w e b o c r 系统的特定功能需求,详细设计w e b o c r 系统。首先从系统的设计目标上明确系统的设计需求,然后详细设计系统的结构包括 s e r v e r 端和c l i e n t 端的各个模块。其次以动态的角度,定义了s e r v e r 端和c l i e n t 端各个模 块的互动关系。 第四章是对第三章w e b o c r 系统设计的具体实现,这一部分论文的重点是系统实现过 程中一些技术难点、重点、如何实现系统的功能设定。其次介绍了基于w e b 服务的w e b o c r 的一大特色系统的w e b 服务接口可以支持其他厂商的二次开发,系统支持多种类型的 c l i e n t 端。这个特点使得其他的软件开发商可以将w e b o c r 的功能集成到他们的软件系统 中,从而使他们的软件支持在线o c r 功能。这一章的最后是怎么将基于w e b 服务的 w e b o c r 系统部署在i n t e r n e t 上。 第五章首先对基于w e b 服务的w e b o c r 系统的性能迸行测试、分祈。然后针对现有 w e b o c r 系统,提出了后续的研究过程中可以着手研究的方面。总结了基于w e b 服务臼勺 o c r 系统的意义。 第4 页 第二章w e b 服务与w e b 服务系统的开发框架 第二章w e b 服务与w e b 服务系统的开发框架 2 1 分布式系统的发展 到目前为止,分布式系统已经经历了四代的发展,第一代为c s ( c l i e n t s e r v e r ) 模式, 第二代称为三层c s 模式,采用了中间件技术,第三代叫做分布式对象模式,这种模式需 要采用专门的通信协议。第四代是w e b 服务模式,这是以组件和w e b 服务为中心的分布 式系统模式。 c s 结构的计算服务模式,多个客户端可以共享数据库服务器和打印服务器,这种模 式的主要特征是以消息交换作为一种通信方式,而且服务集中于特定的服务器上。随着分 布式计算应用范围的扩大,客户枫和服务器之间的界限越来越模糊,在分布式系统各个节 点之间的关系中,更多的是互相操作关系,即互相提供服务,协作完成任务要求,客户机 和服务器只是特定服务请求中的角色。 随着网络的进一步发展,c s 模式的局限性薄露了出来,于是中间件应运而生;形成 了3 层c s 结构,中问件是位于操作系统和应用软件之间的通用服务,它的主要作用是用 来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑 的运行于不同的平台上。 随着面向对象的技术的进一步发展,出现了分布式对象技术。在分布式对象计算中, 通常参与计算的计算体( 分布式对象) 是对称的。分布式对象往往又被称为组件,它是一 些独立的代码的封装体,在分布计算的环境下可以是一个简单的对象,但是在大多数的情 况下是一组相关的对象复合体,提供一定的服务。在分布式环境中的各对象之间只能通过 预先定义好的接口访问,这些接口构成连接客户机和服务器的协议。任何对象都可以向其 他对象提供服务,也可以向他们请求服务,客户机只需知道服务器对象所提供的接口。在 分布式环境下,组件是一些灵敏的软件模块,它们可以位置透明、语言独立和平台独立地 互相发送消息并且实现请求服务。目前国际上分布式对象技术有三大流派c o r b a 、 d c o m 和j a v a r m i 。 i n t e m e t 技术地飞速发展使企业对数据共享和深层次地要求( 例如基于数据仓库地 o l a p 和数据挖掘等决策支持应用) 越来越迫切。不但需要集成分布在网络中多个数据库 服务器上的数据,而且需要访问分布在网络上的电子出g 件、h t m l 文档、电予表格以及其 他非数据数据源。要集成的不仅包括企业局域网的数据,而且包括处于i n t e r n e t 环境下的 第5 页 第二章w e b 服务与w e b 服务系统的开发框架 企业外部的相关数据。 然而,c o r b a 、d c o m 和j a v a r m l 不能扩展到i n t e m e t 。因为该体系的基础是服务器 上的客户端和服务器的紧密连接,他们都需要在服务器和客户机上使用明确的、同类型基 本架构的具体对象模型协议,这就意味着两者必须是同质的基础体系,这种系统通常是非 常脆弱的。如果有任何一端接口发生变化,另一端程序必然就会中断。尽管与具体技术紧 密结合的实现在一个同构的环境中可以很好的被接受,但当它们在i n t e m e t 环境中时就变 得不切实际,同时要在异构系统之间实现互连也极为困难。 另一方面,绝大多数公司组织在自己的局域网和i n t e r n e t 之间设置了防火墙,而 c o r b a 、d c o m 和j a v a r m i 都没有采用现有的标准协议来通信,而是使用各自专用的一 种面向对象的r p c 通信机制,它们使用动态分配端口的方法,使得基于这些协议的通信很 难穿越防火墙和n a t ( n e t w o r k a d d r e s s t r a n s l a t i o n s ,网络地址转换) 。 为了解决这些问题,一种采用x m l 封装数据和对象、用s o a p 作为方法调用协议的 w e b 服务模式应用而生。w e b 服务正在开创一个分布式应用程序开发的新时代,开发者不 用再面对不同的对象模型、编程语言而不知道如何选择了。以前,当开发者选取了一种 专用的基础结构来使得分布式的系统紧密耦合在一起时,不得不牺牲应用程序的互操作 性。w e b 服务的出现,使得这种状况得到改变。它提供了全新的互操作性,成为把所有计 算设备链接到一起的基本结构【7 】。 w e b 服务可以集成、使用一组似乎完全不同的应用程序。现在软件界的状况是:由于 大多数公司几乎广泛采用了自定义软件,因而产生大量实用但孤立的数据和业务逻辑块。 开发这些应用程序所用的环境是多种多样的,集成这些应用程序来创建一个功能集合,把 它们很好的整合起来便成为一项让人望而生畏的任务。 使用w e b 服务,可以将这些现有应用程序的功能和数据以w e b 服务形式公开。然后, 便可以创建使用此w e b 服务集合的复合应用程序以实现各个构成应用程序之问的互操作 性。 2 2w e b 服务 2 2 1w e b 服务概述 从网络技术协议的角度讲,w e b 服务要实现在松散耦合的环境下的对象访问,以及在 基本对象访问之上的诸如事务、工作流、安全机制等川。实现一个完整的w e b 服务体系需 第6 页 第二章w e b 服务与w e b 服务系统的开发框架 要有一系列的协议规范来支撑。w e b 服务的体系结构可以用下图来描述8 1 : 图2 。lw e b 服务的体系结构强 图2 i 中最下两层是以前已经定义好的并且广泛使用的传输层和网络层的标准:i p 、 h r r p 、s m t p 等。而中间四层是目前开发的w e b 服务的相关标准协议,包括服务调用协 议s o a p 、服务描述协议w s d l 和服务发现,集成协议u d d i ,以及服务工作流描述语言 w s f l 。而最上面描述的是更高层的待开发的关于路由、可靠性以及事务等方面的协议。 右侧部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成口3 i 。当前w e b 服务开发平台比较著名的有s u n o n e ,m i c r o s o f t n e t 等。x i v i l w e b 服务是m i c r o s o f t n e t 中w e b 服务的开发技术。它有很多优点,可以参看本章2 3 中的内容。 w e b 服务并不追求一般的代码可移植性功能,而是为实现数据和系统的互操作性提供 了一种可行的解决方案。w e b 服务使用基于x m l 格式的消息处理作为基本的数据通信方 式。以帮助消除使用不同组件模型、操作系统和编程语言的系统所带来的不同系统之间存 在的差异 9 1 。开发人员过去在创建分布式应用程序时通常使用组件,他们现在可以使用与 此大致相同的方式,来创建将使用不同组件模型、操作系统和编程语言的系统有机的组合 在一起的w e b 服务应用程序。 w e b 服务的核心特征之一是存在于服务的实现与使用之间的高度抽象化【l 。通过将基 于x m l 的消息处理来创建和访问服务,w e b 服务客户端和w e b 服务服务器端之问无须互 相了解处理输入、输出和位置之外的其他信息。 第7 页 第二章w e b 服务与w e b 服务系统的开发框架 2 2 1 。1w e b 服务的基本概念 w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 目前对于w e b 服务( w e bs e r v i c e ) 的定义为:一个 w e b 服务是一个可以用u r l 来标识的软件系统,而且它的公共接口和绑定可以用x m l 格 式的信息来描述和定义,这些定义可以被其它的软件系统发现,并且其他软件系统可以通 过基于x m l 的消息借助i n t e m e t 协议、通过w e b 服务所定义描述的方式与其交互 1 “。 w e b 服务就是一种部署在w e b 上的对象( w e bo b j e c t ) ,因此具有对象技术的所有优点, 同时,w e b 服务的基石是以x m l 1 2 】【1 3 】f 1 4 1 为基础的、开放的w e b 规范技术,因此具有比任 何现有的对象技术更好的开放性。w e b 服务给人们带来许多令人吃惊的好处,比如在完全 不同平台之间的互操作性,在无所不在的i n t e m e t 上调用w e b 服务的能力等。 w e b 服务本质是一种可编写的应用程序逻辑,可以通过标准的i n t e m e t 协议进行访问 h s 。w e b 服务和组件一样,也支持黑盒功能,即使不知道该服务是如何工作的也可以便用 该服务。但是,它又不全是现在的组件技术,对w e b 服务的访问不再经过 o b j e c t m o d e l s p e c i f i c 协议,如组件对象模型( c o m p o n e n t o b j e c t m o d e l ,d c o m ) 、远程方法 引用( r e m o t em e t h o di n v o c a t i o n ,r m i ) 或i n t e m e ti n t e r - o r b 协议( i n t e m e ti n t e r - o r b p r o t o c o l ,h o p ) 等。相反,可通过常用的w e b 协议和数据格式对w e b 服务进行访问,如超 文本传输协议( h y p e r t e x tt r a n s f e rp r o t o c o l ,h t t p ) 和可扩展标记语言( e x t e n s i b l em a r k u p l a n g u a g e ,x m l ) 等。 通过限制w e b 服务可接受和生成的信息,w e b 服务的接口也得以严格的设置。用户可 以在任何平台,任何程序设计语言中执行w e b 服务,只要他可以发送和接收w e b 服务接 口所约定格式的信息。 2 2 1 2 w e b 服务架构 图2 1 描述了w e b 服务的概念体系架构“】【1 6 】i ”】。从图中可以看出,这个架构突出强调 了两个重要的方面,即角色和操作。角色指的是不同类型的实体,操作指的是为了使w e b 服务工作,这些实体所完成的功能。从图中可以看出典型的w e b 服务环境中三种角色,并 可以看到为了使w e b 服务起作用,这些角色所执行的三种操作。 图2 1 中的三种角色如下: l 服务提供者( s e r v i c ep r o v i d e r ) 服务提供者是创建该w 曲服务的实体。典型情况下,服务提供者把他们机构的某种业 第8 页 第二章w e b 服务与w e b 服务系统的开发框架 务功能展示成一种w e b 服务,供其他机构调用。以w e b o c r 系统为例,系统把o c r 服务 作为w e b 服务,需要做两件事来完成w e b 服务的功能。首先,需要用标准的格式来描述 w e b o c r 服务,这个格式是所有使用w e b o c r 服务的机构都能理解的。第二,为了使更 广泛的使用者知道这项w e b 服务,w e b 服务提供者需要把w e b 服务的详细资料发布到一 个任何人都可以使用的注册中心去。 图2 2w e b 服务的概念体系架构 2 服务请求者( s e r v i c er e q u e s t o r ) 任何使用服务提供者建立的w e b 服务的实体都叫服务请求者,也可以称为服务消费者。 服务消费者可以从服务提供者所作的描述了解某项w e b 服务的功能。为了检索w e b 服务 的细节,服务消费者要在注册表查找( f i n d ) ,而服务提供者已经把他的服务描述发布到注 册表。更重要的是,服务消费者能够从服务提供者的描述中获得一种机制,这种机制可以 绑定( b i n d ) 服务提供者的w e b 服务,反过来又调用该服务。 3 服务注册表( s e r v i c er e g i s t r y ) 服务注册表是一个中心位置,服务提供者可以在那列出他们的w e b 服务清单。服务消 费者可以在那搜索w e b 服务。服务提供者通常在服务注册发布他们的w e b 服务功能,供 服务消费者查找,然后再绑定到他们的w e b 服务。典型情况下,公司的详细资料、它提供 的w e b 服务以及每种w e b 服务的详细情况包括技术细节等都可以保存在服务注册表中。 图2 3 是m i c r o s o f t n e t 中x m l w e bs e r v i c e s 基础结构的示意图盯1 ,具体的展示了图2 2 中的三个角色。 第9 页 第二章w e b 服务与w e b 服务系统的开发框架 图2 3x m lw e bs e r v i c e s 基本结构 2 2 1 3 w e b 服务的分类 综合w e b 应用以及w e b 服务的特点,w e b 服务实施的领域可以分为以下四类1 9 1 ”: 夺b u s i n e s s o r i e n t e dw e bs e r v i c e : 该类服务针对的是那些面向企业应用的服务,包括企业内部的e r p ( e n t e r p r i s er e s o u r c e p l a n n i n g ) 系统,企业间的s c m ( s u p p l y c h a i nm a n a g e m e n t ) 系统和c r m ( c u s t o m e r r e l a t i o n s h i pm a n a g e m e n t ) 等系统。当这些系统以w e b 服务的形式在网络上出现时,企业的 应用集成将更加容易,而在企业间的众多合作伙伴的系统对接也将不再是无法完成的任 务。目前现有的解决方案和产品的提供商有b o w s t r e e t 和e r l i c e n t f i c 等 夺c o n s u m e r - o d e n t e dw e bs e r v i c e : 该类服务针对的是那些原先的b 2 c 网站的改造,为这些b r o w s e r - o r i e n t e d 的w e b 应用 增加了w e b 服务的应用界面,使得第三方的桌面工具或者自身提供的增值的桌面工具能够 利用更优秀的用户界面提供跨越多个b 2 c 服务的桌面服务。比如可在个人理财桌面系统中 集成i n t e r n e t 上的股票价格查询w e b 服务、机票预订w e b 服务,使个人理财应用的自动化 程度更高。 第1 0 页 第二章w e b 服务与w e b 服务系统的开发框架 夺d e v i c e o r i e n t e dw e bs e r v i c e : 该类服务的使用终端一般是手持设备和e t 用家电,对于前者而言,可以在不用修改网 络服务的体系结构的前提下,令先前的网络服务支持除p c 以外的各种终端,比如p a l m 、 p o c k e t p c 和手机等。如此,那些天气服务、e m a i l 服务和主动信息服务将更为有效和便捷。 而对于日用家电,则可能是一个市场的启动期,有了w e b 服务作为基础框架,智能型的日 用家电将真正获得标准的支持,从而有广泛使用的可能。 夺s y s t e m o r i e n t e dw e b s e r v i c e : 传统意义上的系统服务,比如用户权限认证、系统监控等,如果迁移到全球范围的 i n t e r n e t 上,或者被迁移到企业内部的i n t r a n e t 上,其作用范围将从单个系统或者局域网络 拓展到整个企业网络或整个i n t e m e t 上。如此,基于某一系统服务的应用程序将得以在整 个i n t e r n e t 环境中部署。 w e b 服务基本上覆盖了传统分布计算技术的应用领域。作为目前最典型的异构分布技 术,w e b 服务在应用程序跨平台和跨网络进行通信的时候是非常有用的。w e b 服务适用于 应用程序集成、b 2 b 集成、代码和数据重用,以及通过w e b 进行客户端和服务器的通信的 场合。 2 2 2w e b 服务技术的基石m l “可扩展标记语言”( x m l ) 提供一种描述结构化数据的方法口4 】。与主要用于控制数据的 显示和外观的h t m l 标记不同,x m l 标记用于定义数据本身的结构和数据类型。x m l 使 用一组标记来描绘数据元素。每个元素封装可能十分简单也可能十分复杂的数据。可以定 义一组无限制的x m l 标记。例如,可以定义一些x m l 标记来声明订单中的数据,如价格、 税收、发货地址、帐单地址等等【2 “。由于x m l 标记在整个单位中以及跨单位采用,因此 来自各种不同数据存储区的数据将更容易交换和操作。 x m l 的用途主要有两个【13 1 ,一是作为元置标语言,定义各种实例置标语言标准:二是 作为标准交换语言,担负起描述交换数据的作用。x m l 作为元置标语言的应用可以用来定 义复杂的对象。x m l 作为标准交换语言可以起到在不同的系统和平台的应用程序之间交换 数据的作用,w e b 服务采用了x m l 作为数据传送的格式。 第1 1 页 第二章w e b 服务与w e b 服务系统的开发框架 2 2 3w e b 服务的三大核心技术s o a p 、w s d l 、u d d i 2 2 3 1w e b 服务的调用s o a p 使用x m l 来描述信息使得各种应用在数据层上获得了开发集成的能力,然而从技术的 角度看,这仅仅完成了应用领域中最低层次的集成:数据层集成。集成的双方必须就数据 之外的系统细节达成一致,必须了解对方的接受方式,网络协议,访问入口,安全性等。 正是为了解决这些问题,提供一种开放的,自说明的,统一的方式集成和交互,i b m 、 m i c r o s o f t 、d e v e l o p m e n t o r 等公司协作制定了s o a p ( 简单对象访问协议,s i m p l eo b j e c t a c c e s sp r o t o c o ls o a p ) 规范。s o a p 是在x m l 基础上定义的,完全继承了x m l 的开放性 和描述可扩展性2 2 】。它使用现有的基于t c p i p 的应用层协议h r t p 、s m t p 、p o p 3 等, 可以获得与现有的通信技术最大程度的兼容【2 引。 s o a p 是一个基于x m l 的简单协议,用于在w e b 上交换结构化的类型信息。该协议 不包含应用程序或者传输语义,这使得它高度模块化并具有强可扩展性】。s o a p 本身只 是一个协议,它定义了如何格式化请求和响应,从而使两个支持s o a p 的应用程序互相通 信。之所以被称为“简单”协议,是因为它和用以此目的的其他协议如d c o m 、i i o p 、o r b 、 c o r b a 等相比,是简单的。s o a p 提供了简单和轻型的机制用于在离散的、分布式环境 中的个体之间交换结构化的和类型化的信息。它本身没有定义任何像编程模型这样的应用 程序语意或者实现特定的语意,相反,它通过提供模块化的包装模型和对模块中的数据进 行编码的编码机制定义了表达应用程序语意的简单机制。这使s o a p 可以用于多种不同的 系统和软件应用程序环境中。 2 2 3 2 w e b 服务的描述一w s d l w s d l ( w 曲s e r v i c e d e s c f i p t i o nl a n g u a g e ,w e b 服务描述语言) 是基于x m l 的协定 语言,用于描述服务器提供的网络服务。尽管有了s o a p ,我们有能力发出各种s o a p 消 息来请求x m lw e b 服务,但我们怎么知道s o a p 消息具有什么内容,才能使x m lw e b 服务能够正确地执行从而得到需要的结果呢? 答案就在于w s d l 。w s d l 规定了用户调用 w e b 服务所应了解的一切,包括位置、参数信息和支持的协议。客户端的w e b 服务代理能 依据w s d l 准确地产生格式适当的消息,并能无误地理解响应。可以把w s d l 简单地理 解为w e b 服务的接口定义,它是用户调用w e b 服务所需了解的全部。 第1 2 页 第二章w e b 服务与w e b 服务系统的开发框架 w s d l 同s o a p 一样,也是一种x m l a p p l i c a t i o n 。它定义了一套基于x m l 的语法, 将w e b 服务描述为能够进行消息交换的服务访问点的集合,满足了对w 曲服务的调用、 通信的详细描述需求。w s d l 服务定义为分布式系统提供了可机器识别的s d k 文档,并 且可用于描述自动执行应用程序通信中所涉及的细节3 6 】。 w s d l 由两部分组成,第一部分是抽象定义,第二部分是具体表述。首先抽象定义描 述访问的操作和访问时使用的请求、响应消息,具体表述将其绑定到具体的传输协议和消 息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成 为抽象的w e b 服务。w s d l 文档在w e b 服务的定义中使用了下列元素隅1 : 夺t y p e s :数据类型定义的容器,它使用某种类型系统( 一般使用x m l s c h e m a 中的类型 系统) 。 令m e s s a g e :通信消息的数据结构的抽象类型化定义。是使用t y p e s 所定义的类型来定义 整个消息的数据结构。 夺o p e r a t i o n :对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描述了一个访问入 口的请求、相应消息对。 夺p o r tt y p e :对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个 或者多个服务访问点来支持。 夺b i n g d i n g :特定端口类型的具体协议和数据格式规范的绑定。 夺s e r v i c e :相关服务访问点的集合。 w s d l 容许通过扩展使用其他的类型定义语言,容许使用多种网络传输协议和消息格 式( 可以有s o a p h t t p ,i - i t r p g e t p o s t ,m i m e 等) 。同时w s d l 也应用了当代软件 工程中复用的理念,分离了抽象层和具体部署层,使得抽象定义层复用的可能性大大增加。 2 2 3 3w e b 服务的注册发布u d d i lu d d i 概述【2 5 】1 2 6 1 【 】: 在开发出了w e b 服务后,自然希望更多的用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论