(计算机应用技术专业论文)java和net互操作性研究与实现.pdf_第1页
(计算机应用技术专业论文)java和net互操作性研究与实现.pdf_第2页
(计算机应用技术专业论文)java和net互操作性研究与实现.pdf_第3页
(计算机应用技术专业论文)java和net互操作性研究与实现.pdf_第4页
(计算机应用技术专业论文)java和net互操作性研究与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)java和net互操作性研究与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 在目前信息化高速发展的时期,由于企业的升级、合并或者吸收,各大 企业内部存在很多用不同计算机语言,在不同平台下运行的企业级应用系统。 由于各系统的差异,因此在统一业务的处理过程上出现了问题。互操作技术 正是针对这些问题所提出的解决方案。本文专注于互操作技术的细节,对于 各种互操作技术和解决方案进行了归类和研究,并且实现了这些解决方案。 总结了各种互操作技术的使用场合,最后构建了一个基于w e b 服务的货物管 理系统,展现w e b 服务在系统集成上的灵活性。 本文首先介绍了互操作的基本概念,针对开发人员在互操作中的难点, 从实现互操作的技术入手,详细研究探讨了各种技术的实现环境以及优缺点, 包括使用w e b 服务实现互操作,使用基于n e t 远程处理的三种工具实现互 操作和不同消息平台下如何解决消息传送的问题。其中解决消息平台下的问 题可以使用桥接、n e t 适配器、w e b 服务消息传送、因特网电子邮件、企业 服务总线这五个策略。接着,通过建立实例,总结了本文在使用w e b 服务、 桥接策略、n e t 适配器策略和w e b 服务消息传送策略中的实现步骤,分析 解决了在开发过程中可能遇到的难点,总结了各种互操作技术的使用场合, 发现使用w e b 服务在实现互操作中是简单而且灵活的。最后,用j a v a 语言 开发了一个货物管理系统,并以这个系统为基础,分析系统中的业务流程, 找出其中涉及到互操作的业务方法,用w e b 服务实现了这些业务方法并发布 成服务。在本系统的业务流程需要调用这些业务方法时,使用已经发布成 w e b 服务的方法;同时对于n e t 平台下的客户,实现n e t 平台下的调用方 案,展现了这个系统的互操作性。 本文使用到的开发工具有e c l i p s e s d k 3 3 1 1 ,m i c r o s o f tv i s u a l s t u d i o 2 0 0 5 ,j b u i l d e r 2 0 0 6 ,数据库有s q ls e r v e r2 0 0 0 ,服务器有i i s 5 1 , t o m c a t 6 0 16 。 关键词:互操作;w e b 服务;消息中间件;货物管理系统 西南交通大学硕士研究生学位论文第1 i 页 ab s t r a c t i n f o r m a t i z a t i o ni nt h ec u r r e n tp e r i o do fr a p i dd e v e l o p m e n t ,b e c a u s eo ft h e u p g r a d i n go fe n t e r p r i s e s ,t h em e r g e ro ra b s o r p t i o n ,t h el a r g ec o m p a n i e sh a v eal o t o fe n t e r p r i s e - c l a s sa p p l i c a t i o n su s i n gd i f f e r e n tc o m p u t e rl a n g u a g e sa n dr u n n i n g u n d e rd i f f e r e n tp l a t f o r m s d u et ot h e s ed i f f e r e n c e s ,t h e r ea r em a n yp r o b l e m si n t h e p r o c e s s o f t r e a t i n g au n i f i e db u s i n e s s t os o l v et h e s e p r o b l e m s , i n t e r o p e a r a b i l i t yt e c h n o l o g y i s p r o p o s e d t h i sd i s s e r t a t i o n f o c u s e so nt h e r e s e a r c ho fi n t e r o p e r a b i l i t yt e c h n o l o g y ,f o rav a r i e t yo fi n t e r o p e r a b l es o l u t i o n s , f o c u s e so ns i m p l ea n dp r a c t i c a le x a m p l ea n di m p l e m e n t a t i o ni nt h ec u r r e n t t e c h n o l o g i e s s u m m a r i z e st h eu s eo c c a s i o ni ni n t e r o p e a r a b i l i t y ,b u i l d sag o o d s m a n a g e m e n ts y s t e mi no r d e rt od e m o n s t r a t ew e bs e r v i c e s sf l e x i b i l i t yi ns y s t e m i n t e g r a t i o n i nt h ef i r s tp l a c e ,t h eb a s i cc o n c e p to fi n t e r o p e r a b i l i t yi si n t r o d u c e d f o r d e v e l o p e r s d i f f i c u l t i e s i n i n t e r o p e r a b i l i t y , f r o m t h e i m p l e m e n t a t i o no ft h e t e c h n i c a la s p e c t ,e x a m i n e si nd e t a i lo fv a r i o u st e c h n i q u e sa n dr e a l i z e st h e a d v a n t a g e sa n dd i s a d v a n t a g e s ,i n c l u d i n gt h eu s eo fw e bs e r v i c e s ,n e tr e m o t i n g , a u m a t i cc a l l b a c k ,r e s p o n dp o l l i n g ,m e s s a g ep l a t f o r mi n t e r o p e r a b i l i t y i nm e s s a g e p l a t f o r m a l s oi n c l u d e s t h eb r i d g i n g ,n e ta d a p t e r , w e bs e r v i c e sm e s s a g i n g , i n t e m e t e m a i l ,e n t e r p r i s e s e r v i c eb u s s t r a t e g i e s t h e n ,t h r o u g h t h e e s t a b l i s h m e n to fe x a m p l e s ,t h i sa r t i c l es u m m a r i z e st h eu s eo fw e bs e r v i c e s , b r i d g i n gs t r a t e g y , n e ta d a p t e r a n dw e bs e r v i c e s m e s s a g i n gs t r a t e g y s d e v e l o p m e n ts t e p s ,s u m m e du pt h ei n t e r o p e r a b i l i t yt e c h n o l o g i e s su s eo c c a s i o n s a n df o u n dt h a tt h eu s eo fw e bs e r v i c e si na c h i e v i n gi n t e r o p e r a b i l i t yi sas i m p l e a n df l e x i b l em e t h o d f i n a l l y , u s ej a v al a n g u a g et od e v e l o pag o o d sm a n a g e m e n t s y s t e ma n da n a l y s e t h es y s t e m sb u s i n e s sp r o c e s s e s ,i d e n t i f y i n t e r o p e r a b i l i t y i n v o l v i n g b u s i n e s s m e t h o d s ,u s i n gw e bs e r v i c e st o a c h i e v et h e s eb u s i n e s s m e t h o d sa n dp u b l i s hi n t os e r v i c e i nt h i ss y s t e m ,b u s i n e s sp r o c e s s e sc a l lt h e s e b u s i n e s sm e t h o d sw h i c hh a sb e e nr e l e a s e di n t ot h ew e bs e r v i c e s ,a tt h es a m et i m e , f o r n e tp l a t f o r m sc u s t o m e r s ,i m p l e m e n tt h e n e tp l a t f o r m sc a l l p r o g r e s s , s h o wt h ei n t e r o p e r a b i l i t yo ft h es y s t e m i nt h i s d i s s e r t a t i o n ,e c l i p s e s d k - 3 3 1 1 ,j b u i l d e r 2 0 0 6 ,m i c r o s o f tv i s u a l 西南交通大学硕士研究生学位论文第1 i i 页 s t u d i o 2 0 0 5 ,t h ed a t a b a s e o fs q ls e r v e r2 0 0 0 ,t h es e r v e ro f i i s 5 1 , t o m c a t 一6 0 16a r eu s e df o rt h es y s t e m k e y w o r d s :i n t e r o p e r a b i l i t y , w e bs e r v i c e s ,m e s s a g e - o r i e n t e dm i d d l e w a r e ,g o o d s m a n a g e m e n ts y s t e m 西南交通大学凹南父遗大罕 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容 编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存 和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密函,使用本授权书。 ( 请在以上方框内打“ ) 学位论文作者签名:淘4 么 、 日期:z 。o 仙f 1 指导老师签名: 日期: 彳谨姚 渺9 ,、7 、 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 本文基于w s i 组织提供的规范,对于互操作的所有技术进行了研究和 探讨,所做的创新性工作有:1 对于互操作技术进行了自己的实现,根据实 现过程总结了自己的实现步骤,并由此总结了互操作技术的使用场合。2 开 发了一个货物管理系统,并以这个系统为基础,实现了j a v a 和n e t 系统的 业务调用方案,展示了w e b 服务在实现互操作中的灵活性。 学位论文作者签名: 日期: 舷 扫呵 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 课题研究背景及意义 对于企业而言,拥有大规模而且各不相同的系统是很普遍的现象,而拥 有统一的系统却很少见。由于企业的收购和兼并,雇员的更替和政策的改变, 以及许多其他的原因,这种现象一直存在:企业所拥有的系统用不同的语言 建立,运行在不同的软件平台上,针对不同的硬件【l 】。一个最简单的例子, 某家大型超市旗下有很多加盟店,超市的系统是唯一的,但不断增加的加盟 店的系统有可能是运行在不同的平台上的,这就提出了一个问题,如何在不 改变运行平台的基础上花费最小的代价实现加盟店和超市之间业务处理的顺 利进行。可以看出,在当今信息化高速发展的今天,企业对于灵活性的需求 越来越大,产生了对于集成的互操作性系统的需求,而如何快速、高效的响 应业务需求,或者说如何低成本、低风险的实现互操作,是当前企业所面临 的一个重大挑战。 目前看来,企业所采用的平台基本可以分为两个主要的部署类型。一个 是采用微软的产品,涵盖的除硬件以外的一切产品,从操作系统、软件平台 到应用程序,包括w i n d o w s 服务器、n e t 框架和运行库。另一个是采用j a v a e e 软件架构的产品,它们能够运行在多种硬件平台上,并运行用j a v a 语言 编写的应用程序。 要设计一个同时使用j a v a 和n e t 的系统是很昂贵的,但是,仍然有以 下因素让企业想要搭建多平台的系统环境。首先,互操作是很多企业的关键 需求,它提供了内部系统统一工作的功能,使客户、投资者、赞助商之间可 以共同处理业务。拥有高效、快速响应、降低成本的互操作环境是现代i t 企业的关键需求。其次,合理有效的互操作系统是使企业能够轻松选择最适 合的技术来实现需求的途径之一,利用这些特性可以轻松的使用第三方的解 决方案。另外,互操作技术能还能实现遗留系统的重用。由于遗留系统往往 也是花费高成本开发的,所以企业想在现有的系统上添加新的功能。互操作 技术延长了软件的生命周期,增加了软件的使用价值【2 j 。 西南交通大学硕士研究生学位论文第2 页 在实际应用中,有三个普遍的需求是值得注意的【3 】: 1 表示层上的互操作需求。使用不同的技术和平台代替或者扩展现有的 表示层,或者在现有的表示层下将系统整合到其他平台下。这样做能够选取 具有用户最佳体验的表示层方法而不必拘泥于具体的技术。 2 中间层上的互操作需求。在现有系统或服务的基础上,建立或者集成 有条件进行重用的中间层组件。这样做能够充分利用现有的组件,节约开发 时间和资源,减少系统部署的时间。 3 资源层上的互操作需求。在现有系统或服务的基础上,建立或者集成 有条件获取数据的中间层组件。这样做能够共享数据,减少了数据副本的开 销以及多存储空间的使用。 从系统分析师或者架构师的角度来说,研究j a v a 和n e t 的互操作性可 以帮助我们构建一个高可靠性、高可用性和高可伸缩性的w e b 服务平台;对 于开发人员来说,也可以在系统集成项目上提供参考。因此,研究两个平台 的互操作性具有非常重要的意义。 1 2 国内外研究现状与成果 s u n 和微软于2 0 0 4 年4 月宣布双方的合作协议,从此之后对于两个平台 的互操作的探讨就逐渐增多。目前,在w e b 单点登陆( s i n g l es i g no n ) 方面, s u n 的j a v ae n t e r p r i s es y s t e m 和微软的w i n d o w ss e r v e r 方面已经取得了很大 的进展。关于单点登陆,就是使用户只需登陆一次就能够同时登陆到j a v a 服 务和n e t 服务( 在这个意义上,身份协议位于两个服务之间) ,用户不需要 再次登陆。但是,除了基本的w e b 服务集成以外,还有更多的互操作问题尚 待解决,所以s u n 和微软目前也致力于将j a v a 和n e t 开发的业务解决方案 流程化和自动化。 文献 4 6 、文献 9 介绍了实现互操作的基本技术的体系结构,但其中的 一些技术比如n e tr e m o t i n g 、c o r b a 、j n b r i d g e 由于技术的复杂性和开放 性不利于开发者实现,因此使用人数逐渐减少。 文献 7 8 介绍了利用消息平台、即消息中间件的技术实现互操作的体系 结构。中间件是介于应用系统和系统软件之间的一类软件或服务程序。它使 用系统软件提供的基本功能,衔接网络上应用系统的各个部分或不同的应用, 西南交通大学硕士研究生学位论文第3 页 能达到支持分布式应用,资源共享和协同工作的目的【8 】。但这个定义尚不完 善。之所以这么说,是因为根据实现的功能和作用的不同,中间件可分为六 大类:终端仿真屏幕转换中间件、数据访问中间件、远程进程调用中间件、 面向消息的中间件、面向对象的中间件和事务处理中间件。由此看出,中间 件不仅仅是介于应用系统和系统软件之间,也可以是介于应用系统与应用系 统之间,系统软件内部的一类软件或服务程序。 。 文献 1 0 】对于j a v a 和n e t 互操作的安全性进行了讨论,重点研究了在单 一平台下,w e b 服务的安全性。关于这方面的研究尚可以深入,但这不是本 文的重点。 国外针对互操作的研究进行的比较早,已经有一些项目涉及到互操作问 题并进行了这方面的研究,比如j n i + + 、j a c o b ( j a v ac o mb r i d g e ) 、c o m j a v a l i b r a r y 、c a f f e i n e 、i k v m n e t 。另外还有一些已经成型的商业产品,但也仅 仅是在单一条件下能够使用的工具,并不具备通用性。 由此看来,虽然存在一些商用级别的软件提供对于互操作的支持,但由 于这些软件限制了开发的灵活性,并且考虑到费用问题,所以对于如何真正 简洁有效的实现互操作就成了开发者所关心的问题。并且目前所制定的规范 或者架构并不能解决开发中所遇到的难题,这对于开发者来说是最头疼的事 情。而本文的主要工作正是对各种互操作技术进行深入研究,解决以上两个 问题。 1 3 本文的主要工作 本文首先明确了j a v a 和n e t 互操作的概念,针对开发人员在互操作中 的难点,从实现互操作的技术入手,探讨了各种技术的实现环境以及优缺点, 包括使用w e b 服务,n e t 远程处理实现互操作以及不同平台的消息中间件 中消息传送的问题。其中用来解决消息中间件中消息传送问题的又包括桥 接、n e t 适配器、w e b 服务消息传送这些策略。 然后建立实例用w e b 服务、i i o e n e t 、j - i n t e g r a 和j n b r i d g e 这些技术实 现了互操作,也用实例对解决消息中间件中消息传送问题的策略进行了探讨, 阐述了在开发中遇到的问题和自己实现的步骤,并总结了各种技术的使用场 合,使用w e b 服务实现互操作在技术上相对简单,而且具有强大的灵活性。 西南交通大学硕士研究生学位论文第4 页 最后,开发了一个j a v a 货物管理系统,并以这个系统为基础,实现了j a v a 和n e t 系统的业务调用方案,展示了w e b 服务在实现互操作中的灵活性。 这个系统展示了不同系统通过互操作技术进行集成的可能性,使开发者在以 后的开发中可以能够考虑到系统的重用性,降低软件系统集成的成本和风险。 1 4 本文的组织结构及章节设置 第一章绪论,阐述了课题的研究背景及意义,简单分析了国内外相关技 术的研究概况,并介绍了本文的主要研究内容。 第二章介绍了互操作的概念及其相关概念之间的关系,接着对j a v a 和n e t 平台互操作性的可行性进行阐述,最后介绍了w e b 服务互操作性组 织( w s i ) 定义的w e b 服务规范以及对于互操作技术的建议和修订。 第三章重点介绍了目前存在的可以用来解决互操作的各种技术和策略, 分析了这些技术和策略的基本原理。 第四章建立实例用w e b 服务、i i o e n e t 、j - i n t e g r a 和j n b r i d g e 这些技 术实现了互操作,也用实例对解决消息中间件中消息传送问题的策略进行了 探讨,阐述了在开发中遇到的问题和自己实现的步骤,并总结了各种技术的 使用场合。 第五章开发了一个j a v a 货物管理系统,并以这个系统为基础,分析系 统中的业务流程,找出其中涉及到互操作的业务方法,用w e b 服务实现了这 些业务方法并发布成服务。在本系统的业务流程需要调用这些业务方法时, 使用已经发布成w e b 服务的方法;同时对于n e t 平台下的客户,实现n e t 平台下的调用方案,展现了这个系统的互操作性。 最后是对本文工作的总结,以及今后进一步研究工作的展望。 西南交通大学硕士研究生学位论文第5 页 第2 章互操作概述及w e b 服务规范 2 1 互操作概述 作为开发者来说,虽然更加倾向于开发工具,编程语言的统一。但就目 前来看,业界已经被分成了两边,核心问题是开发时使用哪种平台,是使用 j a v a 还是n e t 进行开发。通俗一点说,最重要的问题是编程时使用e c l i p s e 还是v i s u a ls t u d i o 。 j a v a 和n e t 虽然有些方面看似相似,实际上它们是两种截然不同的平 台,存在各自的优点和缺点。两种平台都是从各自所在的社区和文化中开发 ( 或产生) 出来的,因此它们通常针对不同的问题,使用不同的方法和实现 手段。以前说n e t1 0 1 1 与j a v a 相当是可以的,而现在它们已经开始有不 同的发展方向,实现它们独有的创新和用户群的反馈。j a v a 社区目前致力于 各种语言与平台之间的合作,比如说与微软最新版本n e t3 0 ,两个截然不 同的平台间进行的标准统一。于是关于j a v a 和n e t 的问题开始有了微妙的 转变,人们不再关心单独使用哪个平台,而开始将更多的精力投入到怎样才 能把两个平台结合使用。 2 1 1 互操作的定义 p e t e rl a u d a t i 对互操作的定义是:一种可以使运行在不同平台,使用不 同技术、工业标准或广泛认可的数据描述实现的功能模块和通信协议之间通 信或者传递数据的能力【2 j 。s i m o ng u e s t 对此的定义是:互操作使应用程序能 够在不同的系统下通信、传递数据以及执行业务,而用户几乎不需要了解底 层的实现细节【3 】。另外他还提到,互操作和系统移植是在不同情况下处理多 平台应用程序协同工作的两种方法,对于不同的人群它们具有不同的含义。 对于j a v a 和n e t 互操作来说,它就是指使建立在j a v a 平台上的应用程 序能够与n e t 平台上的应用程序交互的技术,反之亦然。这里的交互包括了 表示层上的交互、业务逻辑的交互以及资源层上的交互。 图2 1 显示了在一个企业应用环境下j a v a 和n e t 的等价组件,这些组 西南交通大学硕士研究生学位论文第6 页 件都具备互操作的条件及需求。 骞鲁 - - , t 一_ 口 o o : 篁: o : _ c 3 o - - 口 图2 1j a v a 和n e t 的等价组件 j a v a 和n e t 的互操作技术按系统的不同层次分为点到点互操作及资源 层互操作。本文主要研究的是点到点互操作,它包括从n e t 表示层到j a v a 业务层、j a v a 表示层到n e t 业务层、n e t 业务层到j a v a 业务层、j a v a 业务 层到n e t 业务层。j a v a 和n e t 点到点互操作关系图如图2 2 所示。 回 p r e s e n t a t i o nt i e rb u s i n e s st i e rr e s o u r c et i e r p o i n t - t o - p o i n ti n t e r o p e r a b i l i t y 图2 - 2j a v a 和n e t 点到点互操作关系图 2 1 2 互操作与移植 互操作与移植是处理不同平台下应用系统集成的两种不同的方法。移植 主要是指将一个平台的代码转换或者改写成另一个平台的代码,从而实现移 囤圜圈 西南交通大学硕士研究生学位论文第7 页 植。但对于绝大多数客户来说,代码是不可见的,暴露在外面的或许只有业 务逻辑而已,这时,互操作的重要性就体现出来了,这个时候可能采取的办 法只有用互操作实现两个系统的交互。 2 1 3 互操作解决的问题 作为一个系统设计者、架构师、程序员或者用户,我们必须了解互操作 解决的问题。互操作至少解决了以下的问题: 1 集成和移植的需要 不同平台下需要集成的系统或者某些移植以后还需要和原来平台上的系 统互相通信的,必须具有互操作的能力。 2 遗留系统的重用 许多公司都有一些遗留系统,要想把这些系统转移到新的平台上是一个 很困难的工作,以致有些公司直接放弃。一个解决的办法就是让这些系统具 备与其他系统互操作的能力,这样它们就能够继续使用。 3 部署的需要 一 当一个组织想要部署一个新系统时,很少直接覆盖或者说完全代替原有 的系统。这个时候就必须使系统具备互操作的能力,才能和原有的系统进行 统一的部署。 4 能够充分利用各种技术的优点 一个可以互操作的系统可以根据需求,选择合适的技术实现某一模块, 而不用局限于单一的技术。比如,表示层采取n e t 的技术实现,因为用户可 能习惯于w i n d o w s 的按钮等;而业务层则可以采用j s p 的技术,因为它可以 提供更广泛的接口。 2 2j a v a 和n e t 平台互操作性的可行性分析 j a v a 和n e t 是两种不同的平台,它们虽然有很多功能是相似的,但对于 互操作,两种平台具有各自的规范,或者通俗一点说具有各自的接口来实现 互操作技术。本节中的可行性分析是介绍两种平台提供的可以用来实现互操 作的技术。 西南交通大学硕士研究生学位论文第8 页 2 2 1j a v a 平台提供的互操作技术 1 j a v a 消息传送 j m s ( j a v am e s s e g es e r v i c e ) 提供了可靠的异步消息传输机制,用于带 有连接管理和会话管理的松耦合组件间的消息传送。对于点到点的消息传送, j m s 生产者和消费者使用队列完成消息传送;对于一对多的消息传送,采用 主题发布、订阅的方式实现消息传送。微软的消息队列( m s m q ) 不使用与 j m s 相同的传输方式或物理实现,所以要想通过消息队列服务传递消息,一 个可行的办法是把j m s 客户端与a c t i v e x 控件封装在一起。用这种方法,j m s 客户端可以作为a c t i v e x 控件的对象,向n e t 应用程序发送或返回业务数据。 图2 3 显示了用j m s 通过a c t i v e x 控件实现消息传送的互操作技术,在这里, j m s 消息队列与a c t i v e x 控件交互,可以让n e t 程序与j m s 通信l l 】。 i n e ta c t i v e x 控件 消费者 i 应用程序 消费者 ( j a v a ) i j m s 消息服务 i 应朋n e 程t 序 a c t i v e x 控件 消费者 生产者 ( j a v a ) 图2 - 3a c t i v e x 与j m s 互操作 2 j a v a 本地接口 j a v a 本地接口( j n i ) 使开发者能够用一个c 的头文件生成j n is t u b ,其 中j n i 将与c + + 代码通信,c + + 代码会调用c 稃代码。这个方法使j a v a 客户端 能够启动远程c 撑应用程序。 3 w e b 服务 基于x m l 的远程过程调用的j a v aa p i ( j a x r p c ,j a v aa p i sf o r x m l b a s e dr e m o t ep r o c e d u r ec a l l ) 使j a v a 应用能够用远程过程调用机制同步 地调用远程w e b 服务。客户端的业务逻辑可以用标准服务定义( 比如用w e b 服务定义语言w s d l ) ,j a x r p c 客户端将w e b 服务定义转换为一个本 地存根,这样就可以通过服务代理激活r p c 调用。 西南交通大学硕士研究生学位论文第9 页 2 2 2 n e t 平台提供的互操作技术 1 w e b 服务 w e b 服务( 微软称为x m l w e b 服务) 同样为n e t 框架提供了实现业务 连接的互操作技术。微软重视w e b 服务的原因之一是,用v i s u a ls t u d i o n e t i d e 可以很容易地创建w e b 服务。要实现一个w e b 服务,开发人员只需要 创建一个继承s y s t e m w e b w e b s e r v i c e s 的类。另外,框架中还提供一个创建 客户端的工具w s d l e x e 。它可以获得w e b 服务的w s d l ,生成一个w e b 服务 代理类。 2 :n e tr e m o t i n g n e tr e m o t i n g 提供一个框架,允许不同应用程序域之间的对象进行交 互。它提供几种服务,例如激活与支持,以及负责与远程应用程序进行消息 传输的重要的通信通道。由于这种技术的复杂性,目前已经被业界所逐渐淘 汰,关于这种技术的探讨,在m s d n 和j n b r i e d g e 上都有非常详细的资源可 以作为参考。 3 消息传送 m s m q 提供了业务间传递消息的技术。对于j a v a 客户端,如果要实现 与m s m q 的互操作,可以用n e t 框架建立一个封装在s y s t e m m e s s a g i n g 功 能的w e b 服务,并允许通过s o a p 异步调用。另外,i b mw e b s p h e r e 消息队 列封装了i b m w m q ,允许在n e t 中使用w e b s p h e r e 消息队列,这为运行在 w e b s p h e r e 上的、需要与n e t 客户端互操作的j a v a 应用程序提供了一个易于 使用的方法。关于这个a p i 的详细说明可以参阅文献 1 2 1 。 2 2 3 关于互操作的其他技术 1 数据互操作性 应用程序的状态和数据可以存储在数据库中,根据已定义的标准,应用 程序也能够读取数据。这样,一个j a v a 应用程序可以向数据库中写信息,而 一个n e t 应用程序可以读取值并建立自己的状态。反之亦然。 2 表示层互操作 虽然a s p n e tw e b 表单和j s p 页面并没有重叠的技术可以用来实现有效 西南交通大学硕士研究生学位论文第1 0 页 的互操作,但h t m l h t t p 标准却能够使实现互操作。利用h t t pp o s t ,由 于对它的处理都是通过标准方法实现,所以两者之间可以彼此p o s t 消息并 进行管理。 3 代码级互操作性 这也是属于系统移植的一个范畴。通过一些定义好的约定实现j a v a 和n e t 间代码的简单转换。 2 3w e b 服务规范 w e b 服务互操作性组织( w s 1o r g a n i z a t i o n ) 是一个开放性的产业组织,它 致力于为企业提供w e b 服务标准,针对跨平台、跨操作系统和使用不同编程 语言的应用程序建立w e b 服务互操作的最佳实践。w s i 委员会包含了各社 区w e b 服务的组长以及标准开发组织( s d o ) 的成员。2 0 0 4 年发布了由微 软、i b m 、b e a s y s t e m 和w e b m e t h o d s 这些公司的成员共同编写的w e b 服务 规范【1 ”。 w e b 服务规范首先约定了概要文件的一致性,其中包括s o a p 消息、 w s d l 描述、u d d i 注册的规范;服务器、客户端、管理注册数据的说明; 对于在服务描述、消息和注册数据中的注释做了详细的描述。然后详细介绍 了基于x m l 的s o a p 消息和w s d l 服务描述。最后是关于服务的发布和发 现以及w e b 服务的安全性。其中的很多都参考了w 3 c 组织提供的文档。由 于w e b 服务是互操作的关键,所以对其中的几个最重要的技术做一下简单介 绍,文献 1 4 1 6 详细探讨了w e b 服务的细节。 1 x m l x m l 是包含结构信息的文本标注语言;是w 3 c 推荐的规范,已成为万 维网的核心标准。大量的w e b 研究提案、系统架构、软件工具都以x m l 为 基础。x m l 定义了结构化描述信息的标准格式。 2 s o a p s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是在分布式环境中通过x m l 编 码进行通信的一种简单的网络协议,是发送消息的一种格式。或者说: s o a p 是一个用来访问w e bs e r v i c e s 的协议。 3 w s d i , 西南交通大学硕士研究生学位论文第1 1 页 w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 定义如何使用通用的x m l 语法描述w e bs e r v i c e s 的规范。它是一个x m l 文档。使用w s d l ,一个客 户可以确定w e b 服务的地点,调用它任何公开提供的功能。 4 u d d i u d d i ( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g r a t i o n ) 即统一描述、发 现和集成协议,它是w e b 服务中的关键部分。借助于u d d i ,企业能够发 布并搜索w e b 服务。u d d i 注册中心分为公有注册中心和私有注册中心。 w s i 组织还为开发人员提供了一个框架,其中包括概要、互操作性大纲、 测试w e b 服务性能的测试断言和测试工具。下面对这几部分的内容做一个简 单的说明: 1 概要( p r o f i l e s ) 概要包括一组已命名的、有版本号的w e b 服务规范以及互操作性大纲, 对如何使用这些规范开发可互操作的w e b 服务给出了建议。 2 互操作性大纲( i n t e r o p e r a b i l i t yg u i d e l i n e s ) 除了参考规范和标准以外,还包括互操作性大纲,它解决了一些模糊的 问题,还指定了如何实现w e b 服务的。这增强了按照规范实现互操作的能力。 3 测试工具( t e s tt o o l s ) 测试工具用来监视和分析与w e b 服务的交互,以确定所交换的消息是否 遵循w s i 概要。测试工具包括监视器和分析器。监视器是用来截取并记录 与w e b 服务交互情况的工具,这个工具生成一个日志,随后由分析器处理, 以验证被监视的交互是否遵循概要;分析器是用来处理由监视器生成的日志 的工具,验证被截取的w e b 服务交互是否遵循约定的概要。 2 4 本章小结 本章介绍了互操作的定义和互操作的实现场景,具体分析了点到点互操 作和它的应用范围;说明了互操作与其他相关技术的联系以及实现互操作技 术的优点。然后探讨了j a v a 和n e t 平台下应用程序实现互操作的可行性, 介绍了已有的技术和有可能实现互操作的技术,另外还介绍了数据互操作性、 表示层互操作和代码级别的互操作技术。最后对于w e b 服务规范做了简要的 说明。 西南交通大学硕士研究生学位论文第1 2 页 第3 章互操作技术与策略 在企业级应用系统中,企业的运行环境多种多样,可能存在多种操作系 统和各种各样的技术服务方案。在复杂的大型应用中,j a v a 技术得到了广泛 的应用。而微软的n e t 技术也随着使用人数的增多,得到了越来越广泛的应 用。由于企业之间的合并和吸收:大型企业所属的加盟店的系统问题,互操 作成为了企业内部与企业之间的关键问题,而j a v a 与n e t 之间的互操作也 逐渐成为人们关心的焦点。 j a v a 与n e t 的组件功能具有很多相似的地方,表3 1 详细列举了j a v a 与n e t 之间对应的具有相似功能的组件。 表3 1j a v a 与n e t 各层组件 服务 n e tj a v a 客户端g u iw i n d o w sf o r m sa w t s w i n g 表示层w e bg u ia sp n e t j s p w e bs c r i p t i n g i s a p i ,h t t p h a n d l e r , h t t p m o d u l e s e r v l e t ,f i l t e r 业务逻辑n e t 服务组件类或 业务层e j b 组件c o m + 数据访问a d o n e tj d b c 等 数据层 消息 微软消息队列( m s m q ) j m s 目录访问a d s id i 远程调用 n e tr e m o t i n gr m i i i o p 其他事务处理c o m + d t cj t a 虚拟机c l rj r e 开发语言 c ,c + + ,v b n e t , j # 等 j a v a j a v a 和n e t 平台的三层架构中虽然有很多概念是相同的,组件之间的交 互通过传递数据来进行,但是两个平台的数据类型,传输时采取的通信协议 不一致都是互操作时需要解决的问题。因此,互操作技术主要是针对数据交 换,对如何解决以下三个问题进行的研究:基本数据类型的映射问题;对于 一方不具有的数据类型应当如何转换和传递;复杂的数据类型如何转换和传 递。 西南交通大学硕士研究生学位论文第1 3 页 本章将深入探讨各种互操作技术,总结各技术的使用条件以及优缺点, 并分析了目前常用的技术的使用。 3 1w e b 服务互操作 w 3 c 组织对w e b 服务的定义是:w e b 服务是支持网络上可互操作的机 器对机器交互的软件系统。它有一个以机器可处理的格式( w s d l ) 描述的 接v i 。其他系统与w e b 服务交互的方式,由w e b 服务的描述,用s o a p 消 息来指定,通常在与其他w e b 相关的标准的连接中,用基于x m l 的s o a p 消息通过h t t p 协议来传递消息。 通过这个定义已经可以看出,w e b 服务主要解决的问题之一就是互操作 的问题。在典型的w e b 服务场景中,可以作为w e b 服务的企业应用程序部 署并且发布以后,其他的客户端可以通过h t t p 传输协议,用s o a p 消息向 这个u r l 上的一个服务发送请求。这个服务接收并处理请求,返回响应消息。 目前,w e b 服务已经成为一种有效实现跨各种不同企业应用程序的互操 作性的实际标准,并为集成提供了支持。原因很简单:互操作性、简明性、 可读的x m l 文档和易用性有助于应用程序间的通信。w e b 服务已经被广泛 地作为b 2 b 以及企业内应用程序间集成的首选技术。 3 1 1w e b 服务模型 w e b 服务常用来实现面向服务的架构,提高互操作性是w e b 服务体系结 构的主要目的。s o a 是一种构造使用互联网服务的软件应用的架构模式,而 w e b 服务是利用一组标准实现的服务。w e b 服务模型有以下几个要素: 1 代理代理是发送和接收消息的有形的实体,客户端软件可以看作一 个代理。 2 服务服务是一些定义好的操作或抽象功能,其他系统可以用服务描 述在网络上访问它。 3 服务提供者服务提供者是服务的拥有者,可以是企业也可以是个人。 4 服务请求者请求者实体是发现或调用提供者实体w e b 服务的企业或 个人。 西南交通大学硕士研究生学位论文第1 4 页 5 服务描述服务描述是w e b 服务的接口,描述消息交换的机制。包括 消息格式、数据类型、网络地址、传输协议以及传输序列化格式。 关于w e b 服务模型可以用图3 - 1 来描述,另外,w e b 服务技术中的x m l 、 s o a p 、w s d l 、u d d i 在2 3 节中已经做了介绍。 回 :s e r v i c e s e r v i c e 连垃 s e r v i c e 请求者+ f 蚕舌i r 提供者 图3

温馨提示

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

评论

0/150

提交评论