(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf_第1页
(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf_第2页
(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf_第3页
(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf_第4页
(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)基于web服务的b2bi解决方案研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着信息技术的发展和电子商务的兴起,企业的生产经营方式发生了很大的 变化。目前一个企业生存和发展的关键在于如何在激烈的竞争中作出快速而准确 的反应,企业间竞争的方式也由单个企业之间的竞争转变为供应链之间的竞争, 因此与上下游企业的密切合作对于一个企业来说非常关键。企业间的业务集成 ( b 2 b i n t e g r a t i o n ,b 2 b i ) 就是为了实现这一目标而提出的。 b 2 b i 是指企业与合作伙伴或客户之间整合彼此的业务流程、应用软件、数 据及w e b 功能,使参与的伙伴之间能即时获得相关信息并给予响应,使企业之 间充分协同工作并达到企业延伸,目的是使企业社群整体获利。 然而合作伙伴各自的系统之间平台的异构性,开发语言的不尽相同给b 2 b i 的实现带来了困难。基于l 和s o a p 的w 曲服务技术具有平台无关、松散耦合、 面向服务、接口公开、采用开放i n t e r n e t 标准通信等优点,有效地解决了合作伙 伴之间的平台异构、松散耦合等问题,为合作伙伴之间的业务集成提供了理想的 解决方案。 本文以一个i t 产品分销商的业务为例,阐述了通过w e b 服务技术实现b 2 b 业务 整合的解决方案。本文首先就系统采用的w e b j j i 务架构进行了研究,介绍并分析 了w e b 服务的概念和关键技术。髓后介绍了j 2 e e 平台对w e b 服务的支持,分析了基 于j 2 e e 平台的各种w e b 服务实现方案的优劣,并最终选择x f i r e 作为w e b 服务实现 方案。接着以天雄公司的销售业务为例,基于x f i r e 实现了天雄和其合作伙伴 c h a n n e lc u s t o m e r 的业务整合。本文最后对系统的安全性进行了分析和实现。 本文提出的b 2 b i 解决方案为供应链中上下游企业之间进行业务整合、充分 协同共享提供了参考和借鉴。 关键词b 2 b i ;w e b 服务;x f i r c ;w s s e c u r i t y a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n de - b u s i n e s s ,t h ep r o d u c t i o n a n dm a n a g e m e n tm o d eo f e n t e r p r i s eh a sc h a n g e dal o t a tp r e s e n t ,t h ek e yf a c t o rf o ra c o m p a n yt os u r v i v ea n dd e v e l o pi nt h ef i e r c ec o m p e t i t i o ni sh o wt oq u i c k l ya n d a c c u r a t e l ya n s w e rc h a n g e si nt h em a r k e t i na d d i t i o n , t h ec o m p e t i t i o nm o d ec h a n g e s i n t oc o m p e t i t i o nb e t w e e ns u p p l yc h a i n sf r o mc o m p e t i t i o nb e t w e e ns i n 【g l ec o m p a n i e s , s oi ti sp i v o t a lf o rac o m p a n yt oc o o p e r a t ew i t ho t h e rc o m p a n i e si nt h es 眦es u p p l y c h a i n b 2 b ii sj u s tf o rt h i st a r g e t b 2 b i ,k n o w na sb 2 bi n t e g r a t i o n , i st h ei n t e g r a t i o nb e t w e e nac o m p a n ya n di t s p a r t n e ro rc u s t o m e r t h e yi n t e g r a t et h e i rb u s i n e s sl o g i c ,a p p l i c a t i o ns o r w a r e ,d a t aa n d w e bf u n c t i o n s ,s oa st og e tm e s s a g ei nt i m ea n dq u i c k l yg i v er e s p o n s e i nt h i sw a y , t h e yc a l lc o o p e r a t es u f f i c i e n t l ya n ds t r e t c h e d - o u t , t h eu l t i m a t eg o a li st om a k et h e e n t e r p r i s ea s s o c i a t i o ne n t i r e t ye a r np r o f i t b u ts y s t e mo fe a c hc o m p a n yi sb u i l t0 1 3 d i f f e r e n tp l a t f o r ma n dd i f f e r e n t p r o g r a m m i n gl a n g u a g e 8 0i ti sh a r df o rt h e mt oi n t e g r a t ew i t he a c ho t h e r w 曲 s e r v i c ei sb a s e do n 订la n ds o a pp r o t o c 0 1 i th a sm a n ya d v a n t a g e s w 曲s e r v i c e i sp l a t f o r m i n d e p e n d e n t , l o o s e l y - c o u p l e d , s e r v i c eo r i e n t e d , o p e n e di n t e r f a c e ,t h e a d o p t i o no fc o m m u n i c a t i s t a n d a r do fi n t e m e t e t c w 曲s e r v i c ec a np r o p e r l yd e a l w i t ht h ep r o b l e mo fs y s t e mi n t e g r a t i o n ( e g p l a t f o r m i s o m e r i c ,l o o s e n i n ge t e ) ,i sa n i d e a ls o l u t i o nf o rb 2 bi n t e g r a t i o n 删sp a p 盯f o c u so nh o wt oi m p l e m e n tb 2 bi n t e g r a t i o nw i t hw e bs a w i c e , t h e r e f o r et h ea u t h o ru s et h eb u s i n e s si o g i co fac o m p a n yw h os e l l si tp r o d u c t sa s e x a m p l e f i r s t ,t h i sp a p e rh a sa ni n t r o d u c t i o no f w e b s e r v i c ea r c h i t e c t , i n t r o d u c e sa n d a n a l y z e st h ec o n c e p ta n dk e yt e c h n o l o g yo fw e b g v i c e s e c o n d l y , t h i sp a p e r d i s c u s s e st h ew e bs e r v i c es o l u t i o n so nj 2 e ep l a t f o r m , a n a l y z et h ea d v a n t a g e sa n d d i s a d v a n t a g e so fe a c ho t h e ra n df i n a l l yc h o o s ex f i r ea st h eb 2 b is o l u t i o ni nt h i s p a p e r t h e nt h i sp a p e rg i v e sa ni m p l e m e n t a t i o no fb 2 bi n t e g r a t i o no nt h eb a s i so f x f i r e a tl a s t , t h i sp a p e r 舀v e sa na n a l y s i sa n dr e a l i z a t i o no ft h es e c u r i t y c o n s i d e r a t i o no f t h eb 2 b is o l u t i o n t h eb 2 b is o l u t i o np u tf o r w a r d si nt h i sp a p e r 百v e sag o o dr e f e r e n c ef o rb u s i n e s s i n t e g r a t i o na n de f f e c t i v e l yc o o p e r a t i o no f e n t e r p r i s ei ns u p p l y c h a i n k e y w o r d sb 2 b i ;w e bs e r v i c e s ;x f i m ;w s - s e c u r i t y 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:翻白拿日期:塑荤塑f 1 日 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:封i 鱼垄 导师签名: 1 1 课题背景 第1 章绪论 随着经济全球化和市场竞争的加剧,合作企业之间的交互越来越频繁并且对 响应速度要求越来越高。与此同时,大多数企业在实现各自的电子商务系统时采 取的是“各自独立”的解决方案,形成了各独立的应用系统。这些系统开发平台 不同、编程语言不同、通讯协议和数据交换格式都有可能不同。由于没有统一的 标准来规范企业之间的合作行为,使得异构应用系统的交互成本过高。企业之间 不能轻易发现、定位、调用应用程序,因此电子商务的潜能未能充分发挥。早期 出现的一些电子商务技术,如:e d i ,e a i ,w e b e d i 可以实现企业之间的应用集 成,但都是通过编写代码来实现复杂的应用连接,使用起来太过复杂。c o r b a ,r m i 等技术提供了将应用系统抽象并包装成组件、服务的思想,然而这两种技术没能 很好地解决防火墙问题,主要用于企业内部。而且c o r b a 。r m i 要求对等体系结构 之间才能通信。在实际的电子商务中,要求所有参与者都采用相同的体系结构显 然是不现实的“ 由于上述原因及应用的推动,具有松散耦合、基于国际标准、与平台和语言 无关、跨越i n t r a n e t 和i n t e r n e t 、使用已有网络通信协议等特性的w e b 服务 技术应运而生。w e b 服务的主要目标就是在现有的各种异构平台上构筑一个通用 的与平台和语言无关的技术层,各种不同平台之上的应用依靠这个技术层实施彼 此的连接和集成。这无疑将极大地促进各种能够商务系统、企业系统之间的集成, 降低成本,提高效益,从而为动态电子商务等w e b 服务应用的发展奠定了坚实的 基础。 1 2 课题来源 北京天雄科贸有限公司是一家从事i t 产品分销的供应商,一直致力于国际、 国内知名品牌的i t 产品的推广与销售。现在公司的经营范围已涵盖i b m 、s o n y 、 联想、理光等品牌的各种系列、型号的笔记本、数码相机、投影仪等产品,客户 范围己涉及军队、银行、电信、金融及教育等行业,销售网点也遍及全国各主要 城市。但是,现在公司和处于供应链下游的合作伙伴之间的合作在很大程度上仍 依赖于采用传统的通过电话、传真下单的方式进行。随着公司业务的不断发展壮 大。这种业务模式已经不能满足时间上快速反应的需求。在激烈的市场竞争中时 间就意味着效益,不能快速地应对市场的变化和客户的需求就会影响公司的生存 北京工业大学工学硕士学位论文 和发展。 针对上述情况,公司领导研究决定把自己公司系统的部分功能以组件的形式 发布,允许信任的合作伙伴调用这些组件实现业务集成。鉴于w e b 服务松散耦合、 平台语言无关的特性,公司在实现b 2 b i 的过程中采用了该技术。 本课题以天雄公司与其合作伙伴的应用集成为背景,选取渠道客户向天雄查 询商品信息并下单采购的业务漉程作为问题域,给出一个基于w e b 服务的b 2 b i 解决方案。 1 3 相关领域研究现状概述 w e b 服务是指由企业发布的完成特别商务需求的在线应用服务,其他公司或 应用软件能够通过i n t e r n e t 来访问并使用这项在线服务。从本质上讲w e b 服务 是通过构建w e b 站点上的可重用 句件,将应用系统分割成高内聚。低耦合的多 个服务,通过w e b 动态发现,调用和访问。w e b 服务技术是一个全新的开放式解 决方案,提供了一个全新的编程模型来利用开放的i n t e r n e t 标准建立分布式应 用程序吲。 近年来w e b 服务己经受到国内外众多组织和公司的青睐,并大力支持其推 广,许多大公司参与制定和开发了w e b 服务的相关技术和标准,致力于w e b 服 务及其相关技术的研究工作,并推行基于s o a 的w e b 服务应用,目前已经取得 了丰硬的成果。 当前对w e b 服务技术的研究主要分为两个方面,一方面是对w e b 服务的相 关技术和标准本身的研究。 包括i 删、s u n 、b e a 、m i c r o s o f t 等软件巨头对这一领域表现出了浓厚的兴 趣,他们不仅参与了w e b 服务及其相关标准的制定。而且在w e b 服务的开发和 相应的平台和工具支持方面也遥遥领先。目前己经有许多有竞争力的w e b 服务 基础框架和开发平台出现,包括i b m 的w e bs e r v i c e s 、s u n 的o p e nn e t e n v i r o r 强e n t ( o n e ) 和微软的n e t 。这些框架都有其自身的傀重点,但有着共同 的基本w e b 服务定义和前景,所有的框架都共用一套技术,主要是s o a p 、w s d l 和 u d d i 等。同时,他们都提供了w e b 服务应用的开发和集成环境目前,这些公 司正致力于在世界范围内推广w e b 服务应用。 另一方面是对w e b 服务技术的应用实践,目前已有许多著名的网络企业采 用了w e b 服务技术。著名网络销售商a m a z o n 发布了一套可以通过两种接口( 基 于s o a p 和m p 协议) 访问的w e b 服务。通过这套w e b 服务,用户可以使用程 序获取a m a z o n 提供的各秘商品信息,包括产品名称、价格、制造商等州。 搜索引擎g o o g l e 发布了一个开发工具包,这个工具包使得开发人员可以在 第1 章绪论 自己的应用中集成g o o g l e 搜索功能。搜索的接口是通过s o a p 、w s i ) l 实现的, 也就是说g o o g l e 已将搜索功能包装成了w e b 服务。 由此可见,s o a 及w e b 服务技术的研究与应用己经进入了高速发展的阶段, 越来越多的商务应用将w e b 服务作为基础架构,w e b 服务己成为商务应用解决 方案的首选。 1 4 课题研究的目的和意义 近些年,随着信息技术的迅速发展,几乎所有企业的生产经营活动都实现了 信息化。企业开始利用计算机和网络技术开展商务活动,提高了经营效率,给企 业和消费者带来很大的便利。然而,目前多数企业的电子商务模式还停留在在企 业和消费者之间的b 2 c 应用的阶段。这样,当两个公司之间发生业务往来时, 只能是其中一个公司以c u s t o m e r 的身份登陆到另外一个公司的网站进行相应操 作。以天雄公司的业务为例,当下游合作伙伴需要向天雄订购商品时,该公司的 相关人员就必须访问天雄公司的网站查询商品信息并下单采购。我们通过 c h i n a - p u b 订购图书采用的就是这种方式,然而对于合作关系紧密而且业务往来 频繁的两个企业来说,这种方式显然是低效率的,不能够满足企业的需求。因而, 随着技术的发展,企业之间的b 2 b 模式日益成为当前电子商务的主流,而企业 之间应用系统的集成( b 2 a i ) 也成为需要解决的重要问题。本课题就是在这样的背 景下提出的。 由于大多数企业在实现各自的电子商务系统时采取的是“各自独立”的解决 方案,开发的平台语言不尽相同,这给企业之间的信息共享和业务集成带来了困 难。前文已经提到,由于w e b 服务诸多优秀的特性是其成为b 2 b i 的理想解决方 案。本课题选用x f i r e 作为s o a p 引擎来实现w e b 服务,一个重要的原因是它 能够与s p r i n g 框架轻松结合。s p d n g 是一个轻量级的框架,它的许多优秀特性是 的企业级应用开发变得简单而且易于维护和变更,是当前业界普遍采用的业务逻 辑层的解决方案。本课题基于x f i r e 和s p r i n g 给出了一个b 2 b i 的案例。希望能 够为其他企业应用集成项目起到一定的借鉴作用。 1 5 论文的主要工作和组织结构 本课题以天雄公司的业务为例,设计和实现了基于w e b 服务b 2 b i 应用,其 研究内容主要是如何基于j 2 e e 平台来构建w e b 服务。课题采用开源的x f i r e 框 架作为s o a p 引擎来开发和调用w e b 服务以实现企业间的业务集成,主要研究 内容包括: 如何基于x f i r e 将普通的p o j o 方法包装为可供调用的w e b 服务; 北京工业丈学工学硕t 掌位论文 如何基于x f i r e 开发客户端程序调用已经存在的服务; s p r i n g 框架对x f i r e 的支持: 如何在x f i r e 下基于w s s 4 j 构建安全的w e b 服务。 本文由以下几个部分组成: 第1 章:绪论。介绍了课题来源及背景、国内外的研究现状、研究本课题的 目的和意义,阐述了论文的主要研究内容以及文章的组织结构。 第2 章:介绍w e b 服务的概念和特点、体系结构、协议栈,阐述了w e b 服务 的工作流程。 第3 章:分析基于j a v a 语言实现w e b 服务的三种方案:s u nj w s d p 、a p a c h e a x i s 、c o d e h a u sx f i r e :阐述它们各自的特点,通过比较指出x f i r e 框架的优势。介绍s p r i n g 框架的核心概念以及对x f i r e 的支持。 第4 章:以天雄科贸公司的业务为例,给出基于w e b 服务的b 2 b i 解决方案 的设计。具体包括:案例概述、总体结构设计、服务提供方的设计、 服务请求方的设计。 第5 章:基于j 2 e e 平台具体实现了天雄公司的b 2 b i 应用,阐述了在x f i r e 框架下开发和调用w e b 服务的技术细节。 第6 章:分析了系统的安全性需求,介绍了基于消息层的w e b 服务安全规范 w s - s e c u r i t y ,最后在x f i r e 框架下基于u s e r n a m et o k e n 实现了身 份验证的功能,保障了系统的安全 结论:总结本文的主要研究工作。并提出论文中有待深入研究和进一步改 进的地方。 第2 章w c b 服务概述 第2 章w e b 服务概述 2 1w e b 服务的基本概念 2 1 1w e b 服务的定义 w e b 服务是一种能够被描述并通过网络发布、发现和调用的自包含、自描述、 松散耦合的软构件。它是对象组件技术在i n t e r n e t 中的延伸,是封装成单个实 体并发布到网络上以供其它程序使用的功能集合m 。所以w e b 服务能够以独立于 平台的方式将应用程序逻辑作为可按u r i 寻址的资源暴露给任何客户。 2 1 2w e b 服务的特点 作为一种部署在w e b 上的对象组件,w e b 服务利用开放标准和共同的基础设 施来进行对象的描述、发现和访问,它具备如下的特点”1 : ( 1 ) 良好的封装性 w e b 服务是一种部署在w e b 上的对象,与其他对象技术一样,具备良好的 封装性能,对于调用w e b j 显务的开发者而言,仅能看到该f e b 服务提供的功能 列表,不能了解也无须考虑这些功能是怎样实现的。 ( 2 ) 松散耦合的应用 这一特征来源于对象组件技术,当一个w e b n 艮务的实现发生变更的时 候,调用者是不会感到这一点的。对于调用者来说,只要w e b 服务的调用界 面不变,w e b 服务的实现任何变更对他们来说都是透明的,甚至当w e b 服务的 实现平台从j 2 e e 迁移到了n e t 或者是相反的迁移流程,用户对此都是一无所 知的。 ( 3 ) 使用标准协议规范 作为w e b 服务,其所有公共的协约完全使用开放的标准协议进行描述、 传输和交换。w e b 服务的协议比其它对象技术的界面规范更加规范化,而且 基本上多数规范将由w 3 c 或o a s i s 作为最终版本的发布方和维护方。 ( 4 ) 跨平台的集成应用 由于w e b j 臣务采取简单的、易理解的标准协议作为组件界面描述和协同 描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、o c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集 成性 北京工业大学工学硕士学位论文 ( 5 ) 开放性 w e b 服务可以与其它w e b 服务进行交互。它具有语言和平台无关性支持 c o r b a 、e j b 、d c o m 等多种组件标准,支持各种通信媒体,如h t t p 、s f f f p 、m q 、 f t p 、r m i 等。 2 2w e b 服务的体系结构 w e b 服务体系结构基于三种角色,服务提供者、服务注册中心和服务请求者 之问的交互。交互具体涉及到发布、查找和绑定操作。这些角色和操作一起作用 于w e b 服务构件:w e b 服务软件模块及其描述。在典型情况下,服务提供者提供可 通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者定义w e b b 匣务的服 务描述,并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作从 本地或服务注册中心搜索服务描述,然后使用服务描述与服务提供者进行绑定, 并调用相应的w e b j 报务实现,同它交互”“。图2 - 2 展示了这些操作、提供这些操 作的组件以及它们之间的交互。 图2 - lw e b 服务的体系结构 f i g u r e2 - 1a t c h i t c c t u mo f w e bs e r v i c 4 e 2 2 1w e b 服务中的角色 w e b 服务体系结构中的角色包括如下: 服务提供者( s e r v i c ep r o v i d e r ) :从企业角度看,它是指服务的所有者; 从体系结构上看它是指提供服务的平台。 服务请求者( s e r v i c er e q u e s t e r ) :从企业角度看它是指需要请求特 定 第2 章w e b 服务概述 功能的企业,从体系结构上看它是指查找和调用服务的客户端应用程序。 服务注册中心( s e r v i c er e g i s t r y ) :它是指用来存储服务描述信息的信息 库。服务提供方在这里发布他们的服务;服务请求方在这里查找服务,获 取服务的绑定信息。当然,对于静态绑定的服务请求者,服务注册中心是 可选角色,因为服务提供者可以把描述直接发送给服务请求者。 2 2 2w e b 服务中的操作 对于利用w e b 服务的应用程序,必须进行三个操作:发布服务描述、查询或 查找服务描述以及根据服务描述绑定或调用服务。具体操作为: 发布( p u b l i s h ) :为了使服务可访问,服务提供者需要首先将服务进行 一定描述并发布到注册服务器上。 查找( f i n d ) :服务请求方根据注册服务器提供的规范接口发出查询请求, 以获取绑定服务所需的相关信息。 绑定( b i n d ) :服务请求方通过分析从注册服务器中得到的服务绑定信息, 包括服务的访问路径、服务调用的参数、返回结果、传输协议、安全要求 等,对自己的系统进行相应配置,进而远程调用服务提供者所提供的服务。 2 3w e b 服务的工作流程 w e bs e r v i c e s 使我们能够在网络上建立分布式系统,应用程序组件可以通过 任何平台、任何语言和任何方式访问。无论应用程序如何开发,使用了什么语言, 以及运行在什么操作系统平台上,只要它作为w e bs e r v i c e ,并且为协同解决问 题而设计,那么你的应用程序,以任何语言开发或在任何平台上,都可以利用它 的服务。这是w e bs e r v i c e 的主要概念。 为了实现w e bs e r v i c e s 的平台无关性和实现访问独立性,软件行业需要遵循 一些作为标准的技术。其中一些包括脚“”: x m l :在w e bs e r v i c e s 环境中各层之间进行传递的默认数据格式。 s o a p :封装和交换信息的默认协议 w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w e bs e r v i c e s 描述语言) : 描述w e bs e r v i c e s 的语言。尽管基于x m l 并且可以被人理解,w s d l 主要是 由机器处理,由客户端程序读取和理解。 下面的高级层次图表,基于唧协会发布的q v e bs e r v i c e s a r c h i t e c t u r e ”( w e bs e r v i c e s 架构) 文档,显示了这些技术在实际的工作环境中 北京工业大学工学硕士学位论文 是如何发挥作用: 夕黟1 卜谧 p r o v i d e r网黑黧恐 l3 0 兰r s o a p m e 。s s a g e 一 r e q 咖 “) l 、 一麟s p o n i 印o ”l黜叩。1 鬯叫 1 一 图2 - 2 w e b 服务工作流程 f i g u r e2 - 2w o r kf l o wo f w e bs e r v i c e 这个流程图显示了w e b 服务中的核心技术是如何工作的。 这里,p r o v i d e r 是提供服务的应用程序组件,r e q u e s t e r 是使用服务的客户 端程序。很多其他技术也会参与到交互中,但是这个图只显示了在w e b 服务环境 中必需的核心技术组件。 2 4w e b 服务协议栈 w e b 服务并不是一个新的系统构架、新的编程环境,它只是在继承原有系统 构架和实现技术的基础上,作了一个新的技术层,而要实现一个完整的w e b 服务 体系需要一系列新的协议规范来支撑。其层次结构如1 军1 2 - 2 所示,可以用一个协 议栈加以描述。 服务工作流层( w s f l ) 安 服管 全务理 性质 服务发布发现层( u d d i ) 量 服务描述层( w s d l ) 基于x m l 的消息层( s o a p ) 网络传输层( h t i p 、f r p 、s m t p 、m q ) 图2 - 3 w e b 服务协议栈 f i g u r e2 - 3p r o t o c o ls t a c ko f w e bs e r v i c e 图2 3 描述- j w e b 服务协议栈的层次结构:每一个横条表示协议栈的一个层 次,上面的层次是建立在下面各层所提供功能的基础之上。其中,最下面部分是 先前已经定义好的并且广泛使用的传输层和网络层的标准;上面四层部分是目前 第2 章w e b 服务概述 开发的w e b 服务相关标准协议,自底向上分别为服务调用协议s o a p ,服务描述协 议w s d l 和服务发现集成协议u d d i ,以及服务工作流描述语言w s f l 。右边的服务 质量,安全性,管理是各个协议层的公用机制,需要在整个协议层次中考虑到。 该图清楚地表现出了w e b 服务的各层协议及其相关功能,w e b 匣务主要由这几层协 议组成,下面将对协议栈进行分层介绍。 2 4 1 网络层 w e b 服务的基础是网络,因此网络层位于w e b 服务技术架构的底层。为了让 w e b 服务能够被来自不同系统的客户使用,应用于w e b 服务的数据传输技术必须 是应用最广泛的。h t t p 凭借其简单而广泛应用,成了w e b 服务实现中的首选的 网络协议。其他一些i n t e r n e t 协议,比如s m t p 和f t p 等,也可以用于w e b 服务。 h t t p 是一个在i n t e r n e t 上广泛使用的协议,为w e b 服务部件通过i n t e r n e t 交互奠定了协议基础,并具有穿透防火墙的良好特性。 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a p ) 为开发者提 供了一种远程调用分布式对象方法的独立于平台的机制。依赖于s o a p 消息的通 信使用x m l 来描述对象、方法和自变量以便执行。通常,通过h t t p 将s o a p 消 息传递到它们的预期目标;然而,也可将s m t p 作为通信协议。客户机和服务器 都可以实现与使用s o a p 。 2 4 3 服务描述层w s d l w s d l 是一种让应用程序阅读、而不是让人来阅读的语言,明白这一点非常 重要。虽然w s d l 文档的结构可能看起来很复杂,但是理解w s d l 的计算机能够处 理这种文档,并抽取出所需要的信息。而且,大多数w e b 服务开发工具可以自动 生成w s d l 文档。也就是说,如果程序员开发了一个w e b 服务,那么用来创建这 个b 服务的软件会为这个服务建立一个相应的孵d l 文档。因此,在建立和部 署w e b 服务的时候开发人员不需要完全理解w s d l 的语法“” 2 4 4 服务发布发现层u d d i u d d i 起初是由m i c r o s o f t 、i b m 和a r i b a 设计开发,意图建立一个全球化的、 平台无关的、开放式的架构,使得企业能够发现彼此、并使用一个全球性的商务 北京工业大学工学硕士学位论文 注册中心来共享信息,以加速全球b 2 b 电子商务的应用。u d d i 规范允许各公司 对它们自己的服务和电子过程进行描述,发现其他公司所提供的服务并将其集成 到自己的系统中。 u d d i 商业注册分为公共注册和专用注册两类“”。公共注册是可供任何人访 问的公共在线目录,目前由i b m 和微软两家公司提供注册主机服务;除公共注册 外,还有一类专用注艘,仅供授权的贸易伙伴访问使用。举铡来说,某家制造 商通过u d d i 的专用注册,可以与伙伴企业共享与零件库存w e b 服务相关的信息。 2 4 s 服务工作流层w s f l 为了分散和简化应用逻辑,提高可重用性,一般单个w e b 服务都不大可能做 得很复杂,而现实中的应用软件都非常复杂。w e b 服务之间是松散耦合的,那么 如何把各类分散的w e b 服务有效她组织成一个复杂的w e b 应用系统呢? 这就需要 用到w e b 服务流语言( w e bs e r v i c ef l o wl a n g u a g e ,w s f l ) 。 w s f l 是i b m 发布的一项新的x m l 语法,用来描述w e b 服务在工作流中如何 相互作用以及如何处理服务到服务的通信或协同。鸭f l 出现的时间很晚现 在支持它的软件还很少,只有i 阴在 l qs e r i e sw o r k f l o w 中部分实现了对w s f l 的支持。但是随着w e b 服务的发展和完善,骼f l 的作用将会越来越明显。要实 现真正可用的基于w e b 服务的大型应用,一个可用的流程建模语言必不可少而 w s f l 正是满足这一需求的技术“”。 2 4 6 垂直层面技术 在图2 - 2 的右边是几个代表其他技术的垂直层次,它们代表了在以上介绍的 几个水平层次中w e b 服务需要提供的其他技术支持。为了满足当前电子政务和电 子商务的要求,w e b 服务应用程序必须满足企业级的要求,包括安全性、管理和 服务质量等。这些垂直方向的技术层次在不同的水平层次中可能会有不同的实 现。而且随着w e b 服务的应用和推广,可能会有更多的垂直层次出现。 2 5 本章小结 本章首先介绍了w e b 服务的概念和特点,分析了w e b 服务的体系结构中的 的角色和主要操作,阐述了w e b 服务的工作流程,最后对w e b 服务的协议栈进行 了深入硬究。本章深入研究了w e b 服务的深层机创和运行原理,为后文b 2 b i 应 用的设计和实现打下了坚实的理论基础。 第3 章基于x f i r e 的w e b 服务解决方案 第3 章基于x f i r e 的w e b 服务解决方案 3 1w e b 服务解决方案分析比较 3 1 1s u n 删s d p j a v aw e b 服务开发工具包( j 骼d p ) 是s u n 公司提供的一个集成工具包,它 使得开发人员能够完全使用j a v a 编程语言来编写w e b 服务。j w s d pl - 4 是当前 最新的版本,它是一个包含关键技术、工具和a p i 的a l l i n - o n e 下载包,利 用j a v a2p l a t f o r m 实现w e b 服务的开发。 j w s d p 支持行业标准,这就能够确保其与标准组织所发布的技术和规范具有 互操作性,例如万维网协会( w 3 c ) 以及结构信息标准推动组织( o a s i s ) 等。 j w s d p 还提供多种辅助工具,例如w s d ls t u b 编译器,它能够生成一个w s d l 文 件,用于w e b 服务和独立的w e b 服务u d d i2 0 注册表。j w s d p 还能和a p a c h e t o m c a t 以及一些a n t 的任务捆绑工作,这就让你能够在t o m c a t 内注册和管理w e b 服务。 j w s d p 提供的a p i 一般被分成两个大类:一类用来处理x m l 文档,主要包括 j a x p 和j a x b ;另一类用来处理远程过程( r e m o t ep r o c e d u r e ) ,包括j a x - r p c 、 j a x r 、j a ) ( 1 i 和s a a j 。 j w s d p 为创建和部署w e b 服务以及w e b 服务的客户端提供了一个全面的工具 和a p i 。这些工具和a p i 是非常灵活和强大的,但是辅助工具的数量以及开发w e b 服务的复杂性往往使得新接触j w s d p 的开发人员束手无策。正是由于这个原因, 很多项目选择了更容易使用的a p a c h ea x i s ,而s u n 的w e bs e r v i c e 技术则是用 不多。 3 1 2 a p a c h e a x i s a x i s 最初是由i b m 公司研制开发的,当时称为i b m - s o a p ,i b m 将其作为一 种开放式的源代码实现提供给了j a v ad e v e l o p e r 团体“”。2 0 0 0 年6 月,第一版 的a p a c h es o a p 建立在i b m - s o a p 代码基础上发行,当时它所使用的分析机制是 d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) ,在对大的文档进行解析时花费的 时间比较长,性能比较低。主要是因为d o m 对x 札文件的解析过程是将整个文件 都读入到内存中。后来a p a c h e 软件基金会推出了a p a c h ea x i s ,它使用了基于 事件模型的s a x 来解析埘l 文件,速度和性能都优于a p a c h es o a p “”。 a x i s 本质上是一个s o a p 引擎,一个对客户端、服务器、网关等建立s o a p 北京工业大学工学硕士学位论文 处理机的框架。目前发布的a x i s 稳定版本是1 4 。它的主要特点体现在以下几 个方面m 1 : 速度:它采用基于事件的s a x ( s i m p l ea p if o rx m l ) 来对瑚l 进行解 析,速度优于以往的a p a c h es o a p 所采用的d o m 。 灵活性:a x i s 框架给予开发者更多的自由,便于他们对引擎进行用户报 头处理,系统管理或其他方面的扩展。 稳定性:a x i s 定义了一系列以发布的公共接口,这些接口和a x i s 的其它部 分相比具有较大的稳定性。 基于组件部署:它允许开发者定义由可重用的处理程序所构成的网络来 实现应用程序处理的普通模式,以至于分布式模式。 传送框架:a x i s 对传输的设计形成了一个简单清晰的抽象,例如s o a p 报文的发送者和监听者是架构在诸如s 盯p ,f t p ,基于消息的中 间件等不同协议之上的。引擎的核心部分彻底是独立于传送的。 支持w s d l :支持w s d l 是a x i s 的一个主要优点,也是a x i s 区别子s o a p 的 一个最重要的特征。并且它可以根据j a v a 文件生成w s d l 文件,也 可以根据w s d l 生成客户代理类。 a x i s 实现w e b 服务主要是通过一些处理程序( h a n d l e r ) 和链( c h a i n ) 来 完成对m e s s a g e 的处理的“”本质上来说,h a n d i e r 和c h a i n 都是程序,但是 c h a i n 与己展开的w e b 服务的输入,输出相关,并包含一些有序的h a n d l e r 。其 中处理程序包括传输监听程序,传输发送程序等,链包括引擎全局链等。处理流 程如下,结合图3 - 1 所示: 图3 - 1a x i s 组件之间的通信 f i g u r e3 - 1a x i s 蜘9 睨删tc o m m t m i c a t i o n ( 1 ) 应用程序通过指出目标u p , l 、服务的名称、方法的名称、输入参数和返 回值等使用c a l l 对象建立一个请求并发出调用。 ( 2 ) 传输监听程序监听到调用信息后,将上述( 1 ) 中指定的数据打包到 m e s s a g e 对象当中,然后将该m e s s a g e 放入到m e r ) , s a j g e c o n i c x t 对象 ( o r g a p a c h e a x i s m e s s a g e ) 。之后,传输监听程序还要加载各种属性值。 第3 章基于x f i r e 的w e b 服务解决方案 ( 3 ) 然后将该请求传送给引擎全局链,在这进行有关全局的w e b 服务输入等 配置后将其传送至服务处理程序。 ( 4 ) 服务处理程序通过设置m c s s a g e c o n t c x t 中的s e r v i c e h a n d l c r 字段来选择 相应的程序来处理指定的服务。 ( 5 ) 目标w 曲服务被调用执行,执行后将结果返回至服务处理程序。然后按 照原路逆行方向将最终结果返还给应用程序。 3 1 3c o d e h a u sx f i r e x f i r e 是c o d e h a u s 推出的下一代的开源j a v as o a p 框架,其核心是一个轻 量级的基于s t a x 的消息处理模型,该模型用来和s o a p 消息交互。x f i r e 框架 提供了许多w e bs e r v i c e s 规范中高级特征,它的出现使得基于j a v a 语言的w e b 服务开发变得轻松和简单。x f i r e 当前最新的版本是1 2 5 ,成熟版本是1 2 , 发布于2 0 0 6 年8 月。 w e b 服务在j

温馨提示

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

评论

0/150

提交评论