已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee构建web服务的方法研究与实践.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 论文题目:基于j 2 e e 构建w e b 服务的方法研究与实践 硕士生:张少应( 签名)i 丝互盘 指导教师:胡宏涛( 签名) ! 蛐戛幺丝 摘要 w e b 服务作为一种能够快速集成应用的技术,建立在开放和标准的规格之上,其主 要目标是在各种异构平台上构建一个与平台、语言无关的通用技术层,依靠这个技术层 实现不同平台上应用的连接和集成。w e b 服务是一种在网络上共享数据和功能的手段, 它的接口可以被x m l 定义、描述和发现。 本文主要研究了基于j 2 e e 平台如何构建w e b 服务和w e b 应用的方法,比较分析了 j s p m o d e l l 和j s p m o d e l 2 开发模式的优缺点。以中国石油勘探与生产分公司的科研项目 “抽油机系统节能智能控制装置一油田用电数据管理系统”为应用背景,通过分析勘探 与生产分公司的用户需求,采用j s p m o d e l 2 开发模式,设计并开发了“油田用电数据管 理系统”,目前该系统己正式投入使用并得到了用户的好评。 论文介绍了油田用电数据管理系统的概要设计、详细设计及实现。使用绘图组件 j f r e e c h a r t ,实现了用电统计分析图;通过w e b 服务实现了n e t 应用对油田用电数据的 共享:通过目录服务实现了j a v a 应用系统的统一认证,提高了应用的安全性;使用微软 活动目录,实现了油田用电数据管理系统的统一认证。 关键词:j 2 e ew e b 服务 j f r e e c h a r t 论文类型:应用研究 英文摘要 s u m e c t : s p e c i a l i t y : n a m e : i n s t r u c t o r : t h em e t h o dr e a e a r c ha n dp r a c t i c eb u i l d i n gw e bs e r v i c eb a s e do nj 2 e e c o m p u t e r a p p l i c a t i o nt e c h n o l o g y w e bs e r v i c ei se s t a b l i s h e do no p e na n ds t a n d a r ds p e c i f i c a t i o n sa st h er a p i di n t e g r a t i n g a p p l i c a t i o nt e c h n o l o g i e s i t sm a i nt a r g e ti st ob u i l dt h eg e n e r a lt e c h n i c a ll a y e ru n r e l a t e dt o p l a t f o r m sa n dl a n g u a g e si nv a r i o u sh e t e r o g e n e o u sp l a t f o r m s r e l y i n go nt h et e c h n i c a ll a y e r a c h i e v e st h ec o n n e c t i v i t ya n di n t e g r a t i o no fd i f f e r e n tp l a t f o r m sa p p l i c a t i o n w e bs e r v i c ei st h e m e a n ss h a r i n gd a t aa n df u n c t i o no nt h en e t w o r k i t si n t e r f a c ec a nb ed e f i n e d ,d e s c r i p t e da n d d i s c o v e r e db yx m l t h i sd i s s e r t a t i o nm a i n l yr e s e a r c h e s t h em e t h o d sh o wt ob u i l dw e bs e r v i c e sa n d a p p l i c a t i o n so nj 2 e ep l a t f o r m ,c o m p a r e sa n da n a l y s e st h ea d v a n t a g e sa n dd i s a d v a n t a g e so f t h ej s pm o d e l la n dj s pm o d e l 2 d e v e l o p m e n tm o d e t h ea p p l i c a t i o nb a c k g r o u n d i s ”o i l p u m p i n gu n i ts y s t e me n e r g ys a v i n ga n di n t e l l i g e n tc o n t r o l i n gd e v i c e s o i f f i e l de l e c t r i c i t y c o n s u m p t i o nd a t am a n a g e m e n ts y s t e m w h i c h i st h er e s e a r c hp r o j e co fc h i n a 。so i l e x p l o r a t i o n & p r o d u c t i o nb r a n c h a n a l y z i n gt h ec u s t o m e rd e m a n d so ft h ee x p l o r a t i o n & p r o d u c t i o nb r a n c h ,u s i n gj s pm o d e l 2 ,w eh a v ed e s i g n e da n dd e v e l o p e dt h e ”o i l f i e l d e l e c t r i c i t yc o n s u m p t i o nd a t am a n a g e m e n ts y s t e m ”c u r r e n t l yt h es y s t e mh a sb e e no f f i c i a l l y p u t i n t ou s ea n dh a sb e e nh i g h l yp r a i s e db yu s e r s t h i sd i s s e r t a t i o ni n t r o d u c e st h eo u t l i n ed e s i g n ,d e t a i l e dd e s i g na n di m p l e m e n t a t i o no ft h e o i l f i e l d e l e c t r i c i t yc o n s u m p t i o nd a t am a n a g e m e n ts y s t e m u s i n gj f r e e c h a r tm a p p i n g c o m p o n e n t s ,w eh a v ea c h i e v e ds t a t i s t i c a la n da n a l y s i sc h a r t so ft h ee l e c t r i c i t yc o n s u m p t i o n u s m gw e bs e r v i c e ,w eh a v er e a l i z e do i l f i e l de l e c t r i c i t yc o n s u m p t i o nd a t as h a r i n go ft h e n e t a p p l i c a t i o n u s i n gd i r e c t o r ys e r v i c e ,w eh a v ea c h i e v e dt h eu n i f i e da u t h e n t i c a t i o no ft h ej a v a a p p l i c a t i o ns y s t e mt o e n h a n c et h es e c u r i t yo ft h e a p p l i c a t i o n u s i n gm i c r o s o f ta c t i v e d i r e c t o r y , w eh a v er e a l i z e dt h eu n i f i e da u t h e n t i c a t i o no ft h eo i l f i e l de l e c t r i c i t yc o n s u m p t i o n d a t am a n a g e m e r i ts y s t e m k e y w o r d s :j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ,w e bs e r v i c e ,j f r e e c h a r t t h e s i st y p e - - a p p l i c a t i o n s t u d y n l 学位论文创新生声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谤 中所罗列的内容以外,论文中不包含其它 人已经发表或撰写过的研究成果;也不包含为获得西安石油大学或其它教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中做 了明确的况明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名: i 是乞盘 日期:兰堕:墨! ! 学位论文使用授权的说明 本人完全了解西安石油大学有关保留和使用学位论文的规定,即:研究生在校攻读学 位期间论文工作的知识产权单位属西安石油大学。学校享有以任何方法发表、复制、公 开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接相 关的学术论文或成果时,署名单位仍然为西安石油大学。 论文作者签名:i 整乞盘 导师签名:蛳 第一章绪论 第一章绪论 1 1 题目来源和研究背景 本论文来源于中国石油天然气股份有限公司勘探与生产分公司( 以下简称勘探与生 产分公司1 “抽油机系统节能智能控制装置”项目的子课题“油田用电数据管理系统”。 随着网络技术的发展,软件编程模型由两层结构向多层结构发展,传统的 c s ( c l i e n t s e r v e r ) 结构在开发、维护和升级过程中越来越暴露出费用高、应用数据实时性 差、用户访问范围受限( 仅企业局域网内) 以及数据安全性差等诸多缺点,而具有良好的 扩展性、伸缩性、维护方便和网络负载轻的b s ( b r o w s e r s e r v e r ) 结构成为越来越多企业 在开发应用系统中的首选,这就使得分布式w e b 应用得到空前发展。w e b 应用程序已成 为当前i n t e m e t 上使用应用最广泛的开发技术,它支持实时的信息发布、动态的用户交 互以及后台系统灵活的安全连接。因此如何构建功能强大、应用灵活、开发更为简单的 w e b 应用程序成为当前企业应用开发中的热点问题之一。 网络技术的发展,也使得企业注意到i n t e m e t 和电子商务在市场竞争中会带来很大 影响,收集有用的信息资源变得越来越重要,如何使企业的各种潜在用户有效地利用各 种信息资源,成为企业在市场竞争中处于有列位置的关键因素;另一方面,如何将企业 现有的各种同构或者异构数据管理信息系统集成起来,使系统间能够共享数据,成为企 业在信息化建设中急需解决的一个问题。 w e b 服务作为一种新兴的w e b 应用模式,是一个崭新的分布式模型,是w e b 上数 据和信息集成的有效机制。其主要目标是在现有的各种异构平台基础上构建一个与平台、 语言无关的通用技术层,各种不同平台之上的应用依靠这个技术层实施彼此的连接和集 成。w e b 服务使用标准的互联网协议,在w e b 服务的体系结构中,企业的业务逻辑被分 越成高内聚、弱耦合的单个服务,这些服务分别实现了特定的企业应用功能,可以通过 w e b 的形式被访问和调用。从本质上讲,w e b 服务统一封装了企业的各种信息、数据表 现以及业务流程,把应用程序变成了放置于w e b 上的可重用的和柔性的组件。w e b 服务 简化了应用系统之间的集成,可以快捷、容易地将各种服务进行组合和集成以协同完成 相应的企业管理工作。这为企业充分使用现有的各种管理信息系统提供了便利。 1 2 研究与发展现状 随着计算机及网络技术的不断发展和i n t e r a c t 的广泛应用,开发基于i n t e r n e t 的w e b 应用模式越来越多。w e b 应用需求的日益增多,涉及领域的扩大,使得w e b 应用系统的 复杂性也越来越高,为适应开发形势的发展,产生了多层体系结构的w e b 应用程序。 基于多层体系结构的应用开发以其安全可靠的稳定性、易维护性以及系统扩展灵活 性,越来越成为软件开发中的首选模型。目前,基于组件的多层体系结构技术架构有三 种:s u n 公司的j 2 e e ( j a v a 2p l a t f o r i l le n t e r p r i s ee d i t i o n ) 架构,微软公司的n e t 架构以及 西安年i 油大学硕十学位论文 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 t b r o k e r a r c h i t e c t u r e ,即公共对象请求代理架构1 标准。j 2 e e 架构以其规范的开放性、平台无关 性、可移植性和可扩展性以及业界的强有力支持得到了快速发展。s u n 公司的j 2 e e 在跨 平台间具有互操作性,通过i n t e m e t 网可以实现不同应用系统之间的远程过程调用,这 有利于企业沿用当前已有的应用系统,为用户提供了访问不同数据格式管理信息的统一 平台。 作为w e b 应用中的一种模式,w e b 服务是基于开放的互联网标准,如h r r p ,x m l 。 利用这些开放的标准,w e b 服务就能跨网络将应用程序功能交付给任何类型的客户,交 付到任何平台上。由于w e b 服务是自描述的,所以客户端计算机不再需要c o m 样式的 类型库信息,也不再需要对分布式应用程序进行配置。w e b 服务对不同的操作系统、对 象模型和编程语言来说都是一样的。w e b 服务的应用,使企业应用集成和b 2 b ( b u s i n e s s t o b u s i n e s s ) 更加容易实现。因而在国内外大多网络开发中,成为应用集成解决方案的一 个理想的侯选者。 过去企业之间电子化的信息交换大多采用传统的电子数据交换e d i ( e l e c t r o n i cd a t a i n t e r c h a n g e ) 技术,而随着最新的w e b 服务技术的出现,以其组件化、开放性和自描述等 特性使得企业之间可以依赖w e b 服务进行商业信息交互,已成为替换e d i 技术的最好选 择之一。 1 3 主要研究内容 本论文的主要任务是以勘探与生产分公司油田用电数据管理的需求为背景,研究基 于j 2 e e 构建w e b 服务的方法,并应用w e b 服务设计和实现基于b s 的三层结构的油田 用电数据管理系统,为不同权限的用户提供不同的应用功能,论文针对以下三个方面的 内容进行研究: 1 基于j 2 e e 构建w e b 服务的方法研究 本论文首先对w e b 服务的体系结构以及关键技术进行研究,分析了微软公司的n e t 平台和s u n 公司的j 2 e e 平台构建w e b 服务的方法,比较了两种方法在构建w e b 服务方 面的主要异同,重点研究了基于j 2 e e 构建w 曲服务的方法。 2 应用w e b 服务实现油田用电数据管理系统 针对勘探与生产分公司对油田用电数据管理系统的需求,采用基于j 2 e ew e b 应用 的开发模式j s p m o d e l 2 ,分析设计了基于b s 的三层结构的油田用电数据管理系统,实 现了油田用电数据的上报、数据分析、数据查询以及管理员维护等功能,将油田用电数 据报表以e x c e l 格式输出、打印,用电统计分析图显示、异构平台应用间互操作等功能, 形成基于“北京总部一全国各大油气单位各大油田下属二级单位”三级模式的油田用电 数据管理系统,该系统给总部领导以及各大油气田单位的业务管理人员提供了详实、准 确、可靠的数据,为管理者在决策方面提供重要依据,增强了管理的科学性。 2 第一章绪论 3 基于目录服务实现j a v a 应用的统一认证 本论文提出了通过j a v a 的命名和目录服务j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) 对轻量级目录访问协议l d a p ( l i g h t w e i g h t d i r e c t o r y a c c e s s p r o t o c 0 1 ) 的访问实现j a v a 应 用的用户统一认证方法,实现了基于j a v a 平台开发的应用通过目录服务实现用户认证的 统一管理。 3 西安石油大学硕士学位论文 第二章w e b 服务技术研究 作为w e b 应用中的一种模式,w e b 服务的主要目标是在现有的各种异构平台基础上 构建一个与平台、语言无关的通用技术层,各种不同平台之上的应用依靠这个技术层实 施彼此的连接和集成。w e b 服务的目的是实现应用程序之问的交互,而不是应用程序与 用户之间的交互。 2 1w e b 服务的体系结构 对于w e b 服务,不同的公司有不同的定义。i b m 的定义是:w e b 服务是新一代的 w e b 应用,它们是自包含的、描述的模块化应用,能够通过w e b 被发布、定位和调用。 一旦一个w e b 服务被发布,其它应用或者w e b 服务就可以发现和调用这个服务。微软 的定义是:一个w e b 服务是为其它应用提供数据和服务的逻辑应用单元,应用程序通过 统的w e b 协议和数据格式( 例如:m 1 甲,x m l ) 访问w e b 服务,不用关心任何实现细 节。 虽然定义有所不同,但从表面上看,w e b 服务就是一个应用程序,它向外部开放出 一个能够通过w e b 进行调用的应用程序接口a p l ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) 。在w e b 服务模式下,开发人员只需考虑如何以最佳方式实现应用的各种功能,然后以w e b 服务 方式将应用发布出去供其它应用程序调用。从根本上讲,w e b 服务就是包装了一些操作 ( 服务过程方法) 的接口,通过标准化x m l 消息传递机制s o a p ( s i m p l eo h e c ta c c e s s p r o t o c 0 1 ) 来访问这些操作。 w e b 服务定义中包含了: ( 1 ) w e b 服务通过标准的w e b 协议向w e b 用户提供有用功能,多数情况下使用s o a p 协议; ( 2 ) w e b 服务可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们 进行通信,这种说明通常包含在w s d l ( w e b 服务描述语言) 编写的x m l 文档中; ( 3 ) w e b 服务可以进行注册,以便用户能够轻易地找到这些服务,这由u d d i ( 统一 描述、发现和集成协议1 来完成。 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 g i s t r y ) 、服务请求者( s e r v i c er e q u e s t o r ) ,三者之间进行交互【”。交互涉及到发 布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d i n g ) 操作。服务提供者定义w e bs e r v i c e s 的服务描述, 并把它发布到服务请求者或服务注册中心;服务请求者使用查找操作从本地或服务注册 中心搜索服务描述,然后使用服务描述与服务提供者进行绑定,并调用相应的w e b s e r v i c e s 实现同它交互。这三种角色是根据逻辑关系划分的,在实际应用中,角色可能 会出现交叉或互换,如某个w e b 服务既可以是某类w e b 服务提供者,也可以是其它w e b 服务的请求者。 4 第二章w e b 服务技术研究 图2 1 w e b l l 务体系结构 图2 1 展示了三者之间的逻辑关系,在w e b 服务体系结构中,不仅包括服务提供者、 服务请求者以及服务注册中心三种角色,而且也包括角色间单次或者多次发生的发布、 查找以及绑定三种操作。 a 角色 ( 1 ) 服务提供者:从企业角度看,这是服务的所有者,负责提供具体的服务。从体 系结构角度,这是托管访问服务的平台,主要任务是:负责使用w s d l 来描述和定义那 些实现特定功能、可编程访问的应用模块;并在商业注册中心( 即服务代理) 中发布这些 服务信息,使其可以被其它应用访问,同时接收及处理w e b 服务请求者的调用。 ( 2 ) 服务请求者:从企业角度看,这是要求满足特定功能的企业。从体系结构角度 看,这是寻找并调用服务,或启动与服务交互的应用程序。服务请求者负责通过一个或 者多个服务代理寻找他们所需要的w e b 服务,并根据服务定义来绑定和调用服务提供者 提供的w e b 服务。w e b 服务消费者可以扮演服务请求者的角色。服务请求者可以由浏览 器担当,由人或无用户界面程序来控制它。 ( 3 ) 服务注册中心:即服务代理,这是可搜索的服务描述注册中心,服务提供者在 此发布它们的服务描述。服务代理担当一个服务提供者和服务请求者媒介的角色,其作 用与电话薄的黄页相同。在静态绑定开发或者动态绑定执行期间,服务请求者查找服务 并获得服务的绑定信息( 在服务描述中) 。对静态绑定的服务请求者,服务注册中心是体 系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务 请求者可以从服务注册中心以外的其它来源得到服务描述。 b 操作 利用w e b 服务的应用程序,必须单次或者多次发生如下三个操作:发布服务描述、 查询或者查找描述以及根据服务描述绑定或调用服务。w e b 服务的具体操作如下: ( 1 ) 发布:提供w e b 服务的注册或宣传功能,是服务提供者与服务代理之间的交互 操作。为了使服务可以访问,需要发布服务描述以便服务请求者查找它。发布服务描述 的位置可以根据应用程序要求而变化。 ( 2 ) 查找:是服务请求者与服务代理之间的交互操作。在查找操作中,服务请求者 直接检索服务描述或在服务注册中心中查询所要求的服务类型,服务代理从已发布w e b 5 西安石油人学硕士学位论文 服务中寻找与搜索规范相匹配的服务。对于服务请求者,可能会在设计、运行时的两个 不同生命周期阶段中涉及到查找操作:在设计时,为了程序开发而检索服务的接口描述; 在运行时,为了调用而检索服务的绑定和位置描述。 ( 3 ) 绑定:决定服务请求者与服务提供者运行时的关系,是两者之间的交互操作。 在绑定操作中,服务请求者使用服务描述的联系和调用服务,从而在运行时调用或启动 与服务的交互。 2 2w e b 服务的关键技术 2 2 1 简单对象访问协议( s o a p ) s o a p 。1 ( s i m p l e o b j e c t a c c e s s p r o t o c 0 1 ) 是一种轻量的、简单的、基于x m l 、在分散或 分布式环境中交换信息的简单协议。s o a p 可以和现存许多因特网协议和格式结合使 用,包括:超文本传输协议( h r r r p ) 、简单邮件传输协议( s m t p ) 、多用途网际邮件扩充 协议( m i m e l 等,它还支持从消息系统到远程过程调用( r p c ) 等应用程序。 s o a p 是以x m l 为基础的通讯协议,它本身包括三个部分: ( 1 ) s o a p 封装:定义了一个框架,该框架描述消息中的内容是什么,谁应当处理 它以及它是可选的还是必需的。 ( 2 ) s o a p 编码规则:定义了一种序列化的机制,用于交换应用程序所定义数据类 型的实例。 ( 3 ) s o a pr p c 表示:定义了用于表示远程过程调用和应答的协议。 s o a p 消息是一个包括s o a p e n v e l o p e 、一个可选s o a p h e a d e r 、以及s o a p b o d y 的 x m l 文件。s o a p 消息头包含了使消息在到达最终目的地之前,能够被路由到一个或多 个中间节点的信息。s o a p 消息的组成部分如图2 - 2 所示“”。 s o a p 消息( s a o pm e s s a g e ) 百蔽鬲万百而鬲五r s o a p 信封( s a o p e n v e l o p ) 图2 - 2s o a p 消息的结构 其中s o a p m e s s a g e 对象包括:一个s o a p p a r t 对象和可能容纳普通文本或者图像文 件的a t t a c h m e n t p a r t 对象。s o a p p a r t 对象是由一个s o a p e n v e l o p e 对象组成,为了方便, 6 第二章w e b 服务技术研究 s o a p p a r t 对象中了可选对象s o a p h e a d e r ,因为大多数消息都要用到它;而s o a p b o d y 对象不仅可以容纳消息的内容,而且还能容纳包含了状态消息或者消息故障明细的错误 消息。 s o a p e n v e l o p e 是代表消息的x m l 文件的根元素。它为消息如何处理、由谁处理定 义了框架。x m l 内容从s o a p e n v e l o p e 开始。 s o a p h e a d e r 是在s o a p 封装的头元素中将要传送的头进行定义。它可以容纳任意 数目的扩展了基础协议的子元素。例如:h e a d e r 子元素可能会头定义认证信息、事务信 息、本地信息等。处理消息的软件可以在没有事先约定的情况下,使用这个机制定义谁 应该处理某个特性,以及该特性是强制的还是可选的。 b o d y 是发给消息最终接收者的强制信息的容器。s o a p 消息还可以容纳一个附件, 它不一定非得是x m l 文件。 2 2 2 统一描述、发现和集成( u d d i ) u d d i 3 0 i ( u n i v e r s a l ,d e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) 是一套基于w e b 的、分 布式的、为w e b 服务提供信息注册中心的实现标准规范,同时也包含一组使企业能将自 身提供的w e b 服务注册以使得其它企业应用能够发现的访问协议的实现标准。u d d i 注 册中心的创建目的在于促进企业w e b 服务的发展,为企业发现适当的w e b 服务。 u d d i 的核心部件是u d d i 商务注册,u d d i 的主要标准包括s a o p 消息的x m l s c h e m a 和u d d i 规范a p i 的描述,这两者一起建立了基础的信息模型和交互框架,实现 了发布和查找w e b 服务描述信息的能力”。 u d d i 为w e b 服务在技术层次上提供了三个重要支持: ( 1 ) 标准化的、透明的、专门描述w e b 服务的机制; ( 2 ) 调用w e b 服务的简单机制; ( 3 ) 可访问的w e b 服务注册中心。 u d d i 条目包含四个基本的数据类型:b u s i n e s s e n t i t y 、b u s i n e s s s e r v i c e 、 b i n d i n g t e m p l a t e 和t m o d e l ,分别对应于四种类型的信息:商业实体信息、服务信息、绑 定信息和服务规范信息。u d d i 的数据结构组织如图2 3 所示”。 7 西安石油大学硕十学位论文 b u s l n e s s e n t i t y :发布服务信息的商 业丈体的详细信息 b u s i n e s s e n t i t y 数据中 包含了b u s i n e s s s e r v i c e b u s i n e s s s e r v | c e :- - 组特定服务的 描述信息 b u s i n e s s , s e r v i c e 数据中包 含t b i n d i n g t e m p l a t e b i n d i n g t e m p l a t e :服务入口点和构 造规范的技术信息 t m o d e l :服务或分类法的详细描 述,技术指纹的表现基础。 b i n d i n g t e m p l a t e 数据中包含 了对t m o d e l 的引用这曲引用 描述了服务的技术规范。 图2 _ 3u d d i 的数据结构组织 2 2 3w e b 服务描述语言( w s d l ) w s d l 。1 ( w e b s e r v i c e d e s c r i p t i o n l a n g u a g e ) 是用于描述w e b 服务的一种x m l 语言, 它以结构化的方式将w e b 服务描述为一组对消息进行操作的网络端点。一个w s d l 服 务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议, 和这个绑定的一个网络端点规范。 w s d l 文档将服务定义为网络终端或端口的集合。在w s d l 中,抽象的终端和消息 定义是与具体的网络部署或数据绑定格式分开的。这样就可以重用这些抽象定义:消息 ( 正在交换的数据的抽象描述) 和端口类型( 操作的抽象集合) 。用于特定端口类型的具体 网络协议和数据格式规范组成了可重用的绑定。将网络地址与一个可重用的绑定结合起 来便定义了一个端口,而一组端口的集合便是一种服务。因此,在网络服务的定义中 w s d l 文档使用如下元素: 类型( t y p e ) :定义了w e b 服务使用的使所有数据类型集合,可被元素的各消息部 件所引用。用某种类型系统( 如x s d ( x m l s c h e m a d o c u m e n t ) ) 定义数据类型; 消息( m e s s a g e ) :对正在通讯的数据的抽象定义; 操作( o p e r a t i o n ) :对服务所支持的行为的抽象描述; 端e l 类型( p o r tt y p e ) :是一组抽象操作。每个操作指向一个输入消息和多个输出 消息; 绑定( b i n d i n g ) :为由特定端口类型定义的操作和消息指定具体的协议和数据格式 规范: 端口( p o r t ) :绑定网络地址,定义一个服务的访问点,即提供服务的目标地址; 服务( s e r v i c e ) :相关服务访问点的集合。 2 3w e b 服务的适用范围 w 曲服务作为目前比较流行的网络应用概念,主要目标是跨平台、可互操作性。为 第二章w e b 服务技术研究 达到这一目标,w e b 服务完全基于x m l 、x s d 等独立于平台、独立于软件供应商的标准, 是创建可操作的、分布式应用程序的新平台。其适用范围主要体现在: ( 1 ) 应用程序集成p i 将用不同语言编写、在不同平台运行的应用程序集成起来,是企业在信息化建设中 面临的主要问题之一。在企业多年的发展过程中遗留下各种基于c s ( c l i e n t s e r v e r ) 模式的 应用系统,这就需要一种结构可以实现新旧系统的平稳整合,而w 曲服务主要目标是在 现有各种异构平台上构筑一个与平台无关、语言无关的通用技术层,各种不同平台之上 的应用依靠该技术层来实施彼此的连接和应用集成。通过w 曲服务,应用程序可以用标 准方法对外开放其功能和数据,供其它应用程序调用。 ( 2 ) b 2 b ( b u s i n e s st ob u s i n e s s ) 集成 w 曲服务可以看作是一种部署在w e b 上的组件或对象,它提供了基于x m l 和s o a p 协议、可跨越i n t e r n e t 进行远程调用的服务机制。w e b 服务采用互联网上广泛使用的通用 协议( 如h t r p ) 和数据格式( 女 i x m l ) ,解决互操作问题,不论在何种平台、采用何种语 言开发的客户端,只需了解w 曲服务的输入、输出和位置,就可以通过h t y p 调用它。 w c b 服务本身也可以采用任何语言开发,运行在任何平台上。w 曲服务是基于互联网的, 采用简明易懂的x m l 描述信息以及开放通用的i n t e m e t 标准,所以与传统的技术相比,其 运营成本更低、易于开发,成为b 2 b 集成的关键。 用w 曲服务实现b 2 b 集成的最大好处在于可以轻易实现互操作性。只要对外开放商 务逻辑使其成为w 曲服务,就可以让任何定制的合作伙伴轻松调用该商务逻辑,而无需 注意系统的运行平台、开发语言等细节问题。这就大大减少了花在b 2 b 集成上的时间和 成本。这样的低成本让许多原本无法承受e d i ( i p 电子数据交换1 投资成本的中小企业也能 实现b 2 b 集成。 ( 3 ) 跨防火墙通信 在w e b 服务标准中,存在像w 曲服务动态发现、w e b 服务协调、w 曲服务地址 ( w s - a d d r e s s i n g ) 等许多规范,其中w 曲服务地址规范提供了与各种传输无关的机制,以 寻址w e b 服务和消息。具体地说,该规范定义了x m l 元素,以便在消息中确认w 曲服务 端点并且确保端到端的端点标识。这个规范能使消息系统支持通过网络( 包括处理节点, 诸如端点管理器、防火墙和网关) 以一种传输无关的方式发送消息。 在一个用户界面和中间层交互很多的应用程序中,使用w e b 服务用户界面编程可以 节省很多开发时问;另一方面开发人员得到一个由w c b 服务组成的中间层,这一层是完 全可以在应用程序集成或其它场合下被重用的,通过w e b , i 酲务对外开放应用程序的逻辑 和数据,可以让其它平台的客户重用。 ( 4 ) 软件重用 软件重用【2 5 l ( s o f t w a r er e u s e ,又称软件复用) 是指重复使用“为了重用目的而设计的 软件”过程。软件重用是在软件开发中避免重复劳动的解决方案,出发点是使应用系统 9 西安l _ 【b 大学硕士学位论文 的开发不再采用“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用程 序开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。成功的软 件重用可以减少重复劳动从而提高软件生产率,减少开发中引入的错误,提高软件的质 量。 使用w e b 服务之前,用户需要从第三方购买、安装软件组件,然后才能在应用程序 中调用这些组件。使用w 曲服务,用户只需直接调用远端的w 曲服务就可以;另一方面 在网络中有很多应用程序供应商,都在其应用中实现了某种特定功能。一旦他们通过w e b 服务对外开放这些功能,用户就可以轻易地把这些功能都集成到自己的门户站点中,为 用户提供一个统一、友好的界面。 2 4w e b 服务的构建方法 2 4 1 基于n e t 平台构建w e b 服务的方法 n e t 框架是微软推出的w e b 服务解决方案,可帮助开发人员方便地构建、配置和 运行w e b 服务。它使用代理类来引用w e b 服务,开发人员无需了解底层实现技术,只 需通过调用代理类方法,就可以调用远端w e b 服务,由代理类执行与w e b 服务之间的 通信,并返回服务发给它的响应”1 。 在n e t 平台中实现w e b 服务功能的方式和用任何其它类实现w e b 服务功能的方式 一样。为使一个方法在w e b 服务中可用,在该方法的p u b l i c 声明之前用 w e b m e t h o d 属 性标记该方法。尽管p r i v a t e 方法可在同一个类中且w e b 服务代码可调用这些方法,但 它无法充当w e b 服务的入口点。 构建一个w e b 服务时,a s e n e t 自动提供基础结构并控制w e b 服务请求和响应的 处理,包括s o a p 消息的分析和创建,开发者无需定义非常复杂的数据类型,只需创建 一个类,a s e n e t 会自动定义相应的x s ds c h e m a ,并将相应的对象对应到x m l 数据 中。编译后输出一个d 1 1 文件,它位于项目的b i n 文件夹中”1 。 ( 1 ) 将一个现有的类公开为一个w e b 服务 主要用于将一个现有的n e tf r a m e w o r k 类的功能公开为一个w e b 服务以便其它应 用程序( 如j a v a 应用程序) 可以访问它。通常作法是:创建一个新的w e b 服务,该服务 充当现有类的服务接口。新的w e b 服务应实现与现有类接口相同的接口,这样该服务的 每个方法只是调用现有类的方法即可。该方案称为服务接口模式。 ( 2 ) 创建w e b 服务客户端 创建w e b 服务之后,需要有客户端应用程序来访问它。w e b 服务支持的协议不同, 采用的方法也有所不同。如果w e b 服务支持h ,丌甲一g e t 协议,则可以通过w e b 浏览器 访问它。默认情况下,用a s e n e tw e b 服务项目模板在v i s u a ls t u d i o 中创建的w e b 服 务都支持h t r p g e t 、h t i p p o s t 和h t i p s o a p 命令。 ( 3 ) 实现n e tf r a m e w o r kw e b 服务客户端 1 0 第二章w e b 服务技术研究 w e b 服务客户端是使用和引用w e b 服务的组件或应用程序。w e b 服务客户端不必是 一个基于客户端的应用程序,在许多情况下,w e b 服务客户端可能是其它的w e b 应用程 序,如w e b 窗体、甚至是其它的w e b 服务。当用托管代码访问w e b 服务时,一个代理 类和n e tf r a m e w o r k 处理所有的基础结构编码。代理类实现w e b 服务的接口并且处理 所有w e b 服务客户端和w e b 服务间的通讯。 2 4 2 基于j 2 e e 平台构建w e b 服务的方法 j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标准,是为推动基于j a v a 的服务器端的应用而开发。s u n 公司发起的一项称为j a v a 2p l a t f o r me n t e r p r i s e e d i t i o n ( j 2 e e ) 的技术创新,其主要目标是:提供平台无关、可移植、支持并发访问和安 全的,完全基于j a v a 的开发服务器端中间件的标准。 随着j 2 e e 标准的更新和扩展,它也支持x m l w e b 服务的标准,例如j 2 e e l 4 版本 提供了w e b 服务的总框架,包含了以下技术和标准:w e bs e r v i c e sf o rj 2 e e 、j a x r p c 、 s a a j ( s o a pw i t ha t t a c h m e n t sa p if o rj a v a ) 、j a x r ( j a v aa p if o rx m lr e g i s t r i e s ) 、 j a x p ( j a v aa p if o rx m lp r o c e s s i n g ) 、j a x m ( j a v aa p if o rx m lm e s s a g i n g ) 、e j b 2 1 ( e n t e r p r i s ej a v a b e a n ) 以及c o n n e c t o r a r c h i t e c t u r e l 5 等。其中j a x p 是一套用来处理x m l 的j a v a 本地接口。它支持d o m ( d o c u m e n t0 b j e c tm o d e l ) 、s a x ( s i m p l ea p if o rx m l ) 等 标准,这些标准是解析和处理x m l 文档的基础。j a x r p c 提供的一般化机制使开发人 员可以用x m l 远程过程调用来生成和访问w e b 服务。它一般使用s o a p 作应用程序协 议,用m i 甲作传输协议,它可以发送完整的文档或文档片断,也可以发送各种消息, 除了通常的请求响应形式之外,还扩展了异步消息调用方式。j a x m 提供了从j a v a 平 台上发送x m l 文档的标准方法,更重要的是,它提供了一套非常具有针对性的a p i 来 处理基于x m l 的消息传送。而j a x r 为j a v a 软件开发人员提供了一套能够访问x m l 注册表( u d d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动物性食品卫生检验教案
- 《电工电子技术应用》-学习情境七
- 项目5 仪表与报警系统的构造与维修
- 大学生劳动教育测试题 (2)电子模板
- 水电工程就业前景分析报告
- 预防近视指南
- 节地施工安全交底
- 2026年水泥锅炉考试题库及答案
- 智慧水泵能效管理项目可行性研究报告
- (完整版)循环水处理工试题库及答案(技师高级技师)
- 2026年秋季小学道德与法治五年级上册(新教材)教学计划
- 2026年中级会计职称·中级会计实务 历年真题解析
- 2026年党纪学习教育知识测试模拟试题及答案
- 甘肃省文物局直属事业单位笔试真题2025
- 《八仙》主题开学第一课课件:八仙过海显神通、共筑新学期成长梦
- 江西赣州文化传媒集团有限责任公司招聘笔试题库2026
- 外协加工控制程序
- 《方帽子店》教案(2课时)-2026-2027学年统编版(新教材)小学语文四年级上册
- 新版2025~2026学年(部编版)五年级上学期语文教案(全册)
- 2025年西藏自治区昌都市事业单位人员招聘考试试题及答案详解
- 拓展培训项目-:85个常规拓展项目介绍
评论
0/150
提交评论