基于Eclipse的JMS插件的设计与实现

来源 :中国校外教育·理论 | 被引量 : 0次 | 上传用户:yoyoyu2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文结合Web Service,在Eclipse平台上实现了基于Eclipse的JMS插件。只需在JMS插件上配置一些用户基本信息,就可以自动生成Web Service提供端和客户端的代码。
  【关键词】Eclipse Web Service Xfire 插件
  
  1 引言
  
  在现在的网络环境中,跨平台的可互操作性是近年来争相讨论的话题。Web Service正是这一时期的产物,它实现了跨防火墙的通信、异构平台的应用、企业应用集成、行业内部B2B的应用和强安全特性的应用。它的实现将会大大改变商业运做的模式和信息交流的风格。而Xfire是新一代的Web Service框架,它通过提供简单的API和支持标准协议,便可以开发面向服务的程序。
  基于Eclipse的插件,近几年成为研究的热点和重点,因为Eclipse是一个开放的、通用的、可扩展的集成开发环境,而且它提供了一个用于开发插件的框架,通过开发相应的Eclipse插件,提高了项目的开发效率和质量。当前,已经出现了不少Eclipse插件,比如,Hibernate插件、HTML图形化插件等。但针对Web Service的插件目前还没有。我们开发了基于Eclipse的Web Service插件,它不但能简化开发过程,而且具有扩展能力强、使用方便、可靠性高等优点。
  
  2 Web Service
  


  Web Service是建立可互操作的分布式应用程序的新平台,它透过Web通讯协议及资料格式的开放标准来为应用程序提供服务,其中它的最基本协议包括:SOAP(简单对象访问协议,它规定了Web Service之间是怎样传递信息的。)、WSDL(Web Service描述语言)和UDDI(通用服务发布与发现规范,用于集中存放和查找WSDL描述文件,起着目录服务器的作用。)一个Web Service的生命周期,如图1所示:(1)提供端发布一个Web Service,使其能够接受和响应SOAP消息;(2)撰写一个WSDL文件用于描述此Web Service;(3)将此WSDL发布到UDDI上;(4)客户端从UDDI上搜索到发布的WSDL;(5)根据发布的WSDL,客户端可以编写程序。Web Service的安全性和保密性是非常重要的问题。WS-Security通过利用现有标准和规范来实现安全性,它提供了三种可选的Web Service安全模式:Username Token模式,Encrypt模式,Sign模式。
  实现Web Service的框架有很多,但Xfire框架支持一系列Web Service的新标准,它通过提供简单的API和支持标准协议,便可以开发面向服务的程序,它消除了使用不同组件模型、操作系统与编程语言系统之间存在的差异, 使异类系统能够作为计算网络的一部分协同运行。
  
  3 Web Service插件
  
  3.1 Web Service插件的设计方案
  Web Service包括两个部分:提供端和客户端。提供端基础代码包括服务xml、一个接口和它的实现类;客户端基础代码包括一个与提供端接口相同的接口,如果提供端发布了值对象,则有与提供端相同的值对象,如果提供端发布了复杂类型的绑定,则有与提供端相同的绑定文件。在最原始的配置文件及java类编写方式——手工编写时,从业务逻辑出发,我们不但需要考虑配置文件的配置方法,还要遵循Web Service的相关规范,一行一行的编写,难免顾此失彼,既耗时也容易出错。
  Web Service插件改变了这种情况,它使得Web Service的实现极其简单,大部分基础代码都可以由它帮你完成。它在提供端使程序员轻松的配置一些基本信息,就可以生成提供端代码。而在客户端,通过给插件一个WSDL文件便可以生成客户端代码。这种操作极大地减少了编码的工作量并且在最大程度上保证了java类和配置文件的一致性、同步性,提高了编码的质量,目前是国外非常流行的开发方式之一。Web Service插件对Web Service的Xfire框架有很好的支持,极大地提高了开发效率。
  根据Web Service插件所提供的功能,我们将其分为两部分:Web Service提供端插件和Web Service客户端插件。Web Service提供端插件的功能为把一个普通的java文件转换为一个web服务,并自动生成它的配置文件。具体功能为:读取一个普通的java文件,用户根据插件UI信息配置相应数据项并可以根据发布信息接口修改模板,从而生成web服务的java类和配置文件。Web Service客户端插件的功能为解析WSDL文件,生成客户端代码,从而客户端可以对提供端进行访问。具体功能为:解析WSDL文件,用户根据WSDL文件信息接口修改模板,从而生成客户端代码。Web Service提供端插件和Web Service客户端插件分别针对WS-Security的三种安全模式给出相应的配置项,根据用户所选的模式和配置信息生成相应的代码和密钥。
  Web Service提供端插件包括的模块有:解析java类及其方法的模块,根据java类及方法配置生成web服务的接口及配置文件的模块,根据用户选择的Web Service提供端的安全模式自动生成安全类、配置文件和密钥的模块。Web Service客户端插件包括的模块有:解析WSDL文件的模块,根据解析后WSDL文件的信息生成客户端代码的模块,根据用户选择的Web Service客户端的安全模式自动生成安全类、配置文件和密钥的模块。
  3.2 Web Service插件的算法设计
  (1)代码自动生成是由FreeMarker模板机制和我们编辑的代码生成算法完成的,由于FreeMarker是一个强大的模板引擎,所以我们采用它的模板机制,运用我们的算法就可以完成Web Service插件的代码生成。从而根据插件页面传入的信息就可以生成提供端和客户端的java类、xml文件、属性文件等。
  具体算法如下:
  s0:获取Web Service插件用户填入的Web Service配置信息,将其转换为值对象。
  s1:初始化欲生成的文件的输出路径和各个模板路径。
  s2:将Web Service配置信息值对象放入到Map中。
  s3:循环每一个模板。
  s31:将Map中的value和key放入到哈希表中。
  s32:根据模板名将每个模板转换为FreeMarker的模板类。
  s33:FreeMarker模板类将模板中的key与hash表中的key对应上,从而将与key对应的value值放入模板中相应位置。
  s34:通过java.io.BufferedWriter将文本写入字符输出流并缓冲字符。
  s35:将缓冲字符输出流转换为字符串,并根据文件名将文件写入。
  s36:根据欲生成的文件的输出路径,生成该文件。
  s37:根据文件全名作截取,如webservice.xml截取完为xml,从而判断文件类型。如果文件类型为java文件,则跳s38,如果文件类型为xml文件,则跳s39。
  s38:java文件格式化。
  s39:xml文件格式化。
  (2)获取java类中的类名、方法名、方法参数和返回值等信息是我们利用了类反射机制和类装载机制。通过它实现了读取java类中的包名、类名、属性、各个方法的方法名、方法参数、方法返回值等,从而完成了解析java类及其方法的模块。
  具体算法如下:
  s0:传入Web Service提供端工程路径,创建类装载器。
  s1:类装载器把Web Service提供端工程的java类型读入Java虚拟机中产生一个代表该类型的二进制数据流。解析这个二进制数据流为方法区的内部数据结构。?在堆上创建一个表示该类型的java.lang.Class类的实例。
  s2:根据类反射机制,传入需要获取信息的类名,便可以获取java类中的任何信息。
  


  
  4 Web Service插件的实现
  
  根据Web Service插件的设计,我们实现了基于Eclipse的Web Service插件。如图2所示,为Web Service提供端插件的界面,通过在界面中输入Web Service提供端的基本信息和配置Web Service安全信息,便可以生成提供端接口、实现类、绑定文件、服务配置文件及安全文件等文件。如图3所示,为Web Service客户端插件的界面,通过在界面中输入WSDL文件路径及配置Web Service客户端安全信息,客户端插件便可以根据WSD文件的内容生成相应的接口、实现类等文件,根据配置的安全信息生成客户端安全文件等。
  
  5 结束语
  
  Web Service插件界面友好,风格统一,而且在Web Service提供端和客户端都提供了相应的插件。它可以方便的使应用程序跨平台和跨网络进行通信。这样不仅可以缩短开发周期,大大方便了用户的使用,还可以减少代码的复杂度,并增强整个应用程序的可维护性。应用必须在Eclipse平台中运行, 这是它的局限性。
  
  参考文献:
   [1]Vinoski,S..Web service references[J].IEEE internet computing,2005,9 (2):94-96.
   [2]Dwight Deugo.Extending Eclipse[J].Application Development Trends,2003,10(6):63-64.
   [3]Mike Mccullough.Developing Eclipse Plugins[J].Linux Journal,2006,(143):90-95.
   [4]Eric Armstron. Java Web Service Modeling Ontology[M].Pearson Education,2003.
   [5] Dumitru Roman,Uwe Keller,Holger Lausen. Web Service Modeling Ontology[J].Applied Ontology,2005,1(1):77-106.
   [6]邵京平,智明,柳先辉.ASP平台上基于Web Service的插件技术的实现[J].计算机应用研究, 2005,12(5):90-92.
  项目编号:长工大科合字第2007129。
  (作者单位:吉林长春工业大学传媒学院)
其他文献
[摘要]本文遵循《新课程标准》的要求,旨在探究新课程理念下新目标GO FOR IT听力教学中,如何通过更新课堂教学设计理念,拓宽学生听力学习途径,并重视听力过程性训练,以提高学生听力能力。  [摘要] 新目标 听力教学 听力途径 过程性训练    《英语课程标准(修订稿)》(以下简称《新课标》)中明确指出听力教学的目的是:培养听的策略,培养语感,特别强调培养在听的过程中获取和处理信息的能力。新目标
期刊
[摘要]校外教育对于改变学校教育以传授书本知识为中心的教育模式,打破学校教育人才培养上的标准化、同步化弊端,实现学校教育从以教师为中心向以学生为主体的转变等方面具有重要作用。本文将从校外教育的作用与体现等方面论述校外教育如何点燃每个人的发展激情,以弥补学校教育的不足。  [关键词]校外教育 素质教育 作用 体现    对学生实施素质教育的途径、影响学生素质形成的因素是多方面的,学校教育、家庭教育、
期刊
[摘要]本文以家庭教育中的父母教养方式为切入点对城市流动儿童的学习成绩进行相关分析。结果显示,父母的文化程度、父亲的情感温暖、父母的过分干涉对其子女的学习成绩均无显著影响,母亲的情感温暖、父母的鼓励支持、否认拒绝、放任自流对其子女的学习成绩均有显著影响。  [关键词]教养方式 学习成绩 影响    据估算,目前全国流动人口已逾1.2亿,其中14周岁以下的适龄儿童,少年有1409万人,为全部流动人口
期刊
[摘要]概念教学可以分概念形成与概念同化,根据数学研究对象的不同有些数学概念可以用数学建模方法来进行教学,概念同化只在相关的知识经验难以建构新概念时应用。规则教学中,应注意变式的应用,应先举变式再进行一般意义的讨论。最后,对相关内容,注意让学生形成合理的认知结构。  [关键词]概念教学 规则教学 数学建模 认知结构    数学教学内容分为概念、规则及问题解决。问题解决是用概念和规则解决非常规问题。
期刊
近些年,计算机技术以及在此基础上发展的信息网络技术为高校引进和开发教务和学生管理系统提供了契机。试用一年时间里从根本上解决学生信息统计查询不灵活、信息共享不充分的问题。从而大大提高教务、学生管理的效率和水平,降低教务、学生管理工作人员的工作强度,满足高职高专教务与学生管理工作网络化管理化的需求。  教务管理教学管理学生管理系统建设  一、前言  近些年,计算机技术以及在此基础上发展的信息网络技术为
期刊
随着社会的飞速发展,高职大学生心理健康教育问题已引起社会广泛关注,为了提升高职大学生心理健康教育水平,预防心理事件发生,我院采取了多管齐下教育方法,探索了一条适合高职院校大学生心理健康教育的新思路。  多管齐下高职院校大学生心理健康教育新思路随着高职教育的快速发展,高职生在校人数和毕业人数急剧上升,因此高职生心理健康引发的心理问题,恶性事件乃至学生自杀案件时有发生。为了提升高职大学生心理健康教育水
期刊
【摘要】高校体育教育在素质教育中具有特殊的地位和作用。因此,在教学中建立一套完整的符合培养21世纪人才的课程教材体系和课堂教学模式,改进教法手段,使学生更合理、更科学地接受知识,全面达成素质教育的要求。  【关键词】高校体育 教学改革 素质教育    高校体育教学要做到体育与健康的相结合、体育与素质教育相结合。体育是素质教育的重要组成部分,体育教学的素质教育功能包括了发展身体素质、培养能力素质以及
期刊
【摘要】基于web2.0的网络服务今天已经比比皆是,他们渐渐地改变了人们的习惯,人们开始用blog在互联网上记笔记。今天,facebook、校内网等新型的网站又出现在大家面前,它融合了blog和BBS等网站的诸多优点,悄然地成为学校里最新的沟通方式,最流行的校园风尚。  【关键词】SNS 合作学习 环境    登陆一下SNS网站,例如校内网,你会看到一个注册窗口,在哪里输入你的邮箱账号,或者你的真
期刊
【摘要】美国大学计算机课程的教学归纳起来主要有这样一些特点:要求学生强调诚信,严惩抄袭行为,树立踏实作风;要求教师从细节处发现问题改进教学方法,注重提问环节引导学生思考;课程设置方面注重能力培养,强调过程的重要性。  【关键词】美国计算机教育 能力培养 课程设置    一、前言    一直思考为什么美国计算机科学能在世界保持领先地位,是什么动力让这种领先性保持下去?最近接触到了美国的CMU、Sta
期刊
【摘要】随着信息技术的快速发展,高效、快捷、低成本的物流信息产业配送体系不断发展、壮大,以至于改变着所有人的工作和生活。本文通过阐述网络技术与物流的相互影响,说明二者相互依存、相互制约和相互发展的关系。   【关键词】网络技术 物流管理 时实管理    1 引言     计算机网络和通信技术的快速发展,使物流管理系统从简单的方式迅速向自动化管理演变,其主要标志是自动物流设备,如自动导引车(Auto
期刊