Java遗留系统的服务封装方法及系统技术方案

技术编号:4247960 阅读:295 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种Java遗留系统的服务封装方法及系统,方法包括:获取Java遗留系统的位置信息、服务封装所需被封装成Web服务的类和方法的信息、以及与类相关联的类的信息;根据位置信息、类、相关联的类和方法的信息创建服务描述文件,将服务描述文件和类以Web服务容器支持的格式打包生成Web服务包;根据类、相关联的类和方法的信息创建访问Web服务包的客户端代理类,用客户端代理类替换Java遗留系统中对应的同名文件。本发明专利技术只需要获取Java遗留系统的位置信息和服务封装的相关信息,就可以完成Web服务的封装以及相应的客户端的生成工作,采用了新式的封装和创建Web服务的方法,缩短了将Java遗留系统封装成Web服务并正常运行所需要的时间。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,特别是一种Java遗留系统的服务封装方法及系统。
技术介绍
现在基于Java技术开发的系统数量十分巨大,随着应用环境的改变,许多以非网 络服务(Web Services,简称Web服务)形态存在的系统需要进行Web服务封装,以修改成 以Web服务形态存在的系统,即把系统中部分本地调用的关系修改成使用Web服务调用,利 用Web服务来实现程序间通信。 现有技术中的Java2WSDL工具可以根据Java类来生成该Java类的Web服务描述 语言(Web Service Description Language,简称WSDL)文件。但是,该Java2WSDL工具只 能生成Java类的WSDL文件,不提供Java类的服务封装,以及访问服务的客户端生成,需要 手动调用另一个WSDL2Java工具来实现。该WSDL2Java工具也无法自动的把原有的Java 遗留系统中相应的部分修改成利用客户端访问封装好的服务。 在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题为了达到将 Java遗留系统封装成服务的目的,使用者仅依靠Java2WSDL工具无法实现,还需要利用 WSDL2JAVA工具,以及大量的手工的程序编写,操作复杂,而且将Java遗留系统封装成服务 并正常运行所需要的时间比较长。
技术实现思路
本专利技术实施例提供一种Java遗留系统的服务封装方法及系统,能够自动地完成 Java遗留系统的服务封装,操作简单,縮短将Java遗留系统封装成Web服务并正常运行所 需要的时间。 本专利技术实施例提供了一种Java遗留系统的服务封装方法,包括 获取Java遗留系统的位置信息、服务封装所需被封装成网络服务的类和方法的信息、以及与所述类相关联的类的信息; 根据所述位置信息、以及所述类、与所述类相关联的类和方法的信息创建服务描 述文件,并将所述服务描述文件和所述类以网络服务容器支持的格式打包生成网络服务 包; 根据所述类、与所述类相关联的类和方法的信息创建访问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述Java遗留系统中对应的同名文件。 本专利技术实施例还提供了一种Java遗留系统的服务封装系统,包括 封装管理模块,用于获取Java遗留系统的位置信息、服务封装所需被封装成网络服务的类和方法的信息、以及与所述类相关联的类的信息; 服务封装模块,用于根据所述位置信息、以及所述类、与所述类相关联的类和方法 的信息创建服务描述文件,并将所述服务描述文件和所述类以网络服务容器支持的格式打 包生成网络服务包;4 服务代理生成模块,用于根据所述类、与所述类相关联的类和方法的信息创建访 问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述Java遗留系统中对 应的同名文件。 由上述技术方案可知,本专利技术实施例只需要获取Java遗留系统的位置信息和服 务封装的相关信息,就可以自动完成Web服务的封装以及相应的访问Web服务的客户端的 生成工作。本专利技术实施例的输出结果是被封装好的Web服务包和以原Java系统形式存在 的用于访问Web服务包的客户端部分,通过部署封装好的web服务包,并利用所生成的客户 端部分替代原来的Java遗留系统,即可完成Java遗留系统的服务封装工作。本专利技术实施 例所采用的上述新式的封装和创建Web服务的方法,操作简单,极大地方便了用户,縮短了 将Java遗留系统封装成Web服务并正常运行所需要的时间。 下面结合附图对本专利技术的具体实施例作进一步详细的说明。附图说明 图1为本专利技术Java遗留系统的服务封装方法的第一实施例的流程示意图 图2为本专利技术Java遗留系统的服务封装方法的第二实施例的流程示意图 图3为本专利技术Java遗留系统的服务封装方法的第三实施例的流程示意图 图4为本专利技术Java遗留系统的服务封装系统的第一实施例的结构示意图 图5为本专利技术Java遗留系统的服务封装系统的第二实施例的结构示意图。具体实施例方式图1为本专利技术Java遗留系统的服务封装方法的第一实施例的流程示意图,如图1 所示,本实施例可以包括以下步骤 步骤101、获取Java遗留系统的位置信息、服务封装所需被封装成Web服务的类和 方法的信息、以及与上述类相关联的类的信息; 步骤102、根据上述位置信息、以及上述类和方法的信息创建服务描述文件,并将 上述服务描述文件和上述类以Web服务容器支持的格式打包生成Web服务包; 步骤103、根据上述类和方法的信息创建访问上述Web服务包的客户端代理类,并 用上述客户端代理类替换上述Java遗留系统中对应的同名文件。 本实施例中,只需要获取Java遗留系统的位置信息和服务封装的相关信息,就可 以自动完成Web服务的封装以及相应的访问Web服务的客户端的生成工作。本专利技术实施例 的输出结果是被封装好的Web服务包和以原Java系统形式存在的用于访问Web服务包的 客户端部分,通过部署封装好的恥b服务包,并利用所生成的客户端部分替代原来的Java 遗留系统,即可完成Java遗留系统的服务封装工作。本实施例所采用的上述新式的封装和 创建Web服务的方法,操作简单,极大地方便了用户,同时縮短了将Java遗留系统封装成 Web服务并正常运行所需要的时间。 图2为本专利技术Java遗留系统的服务封装方法的第二实施例的流程示意图,如图2 所示,本实施例可以包括以下步骤 步骤201、封装管理模块获取用户输入的Java遗留系统的位置信息、服务封装所 需被封装成Web服务的类和方法的信息、以及与上述类相关联的类的信息; 步骤202、服务封装模块根据封装管理模块所获取的上述位置信息、以及需要被封装成Web服务的类、与上述类相关联的类和方法的信息创建服务描述文件,并且把服务描述文件和要打包的类一起以Web服务容器支持的格式打包生成Web服务包; 步骤203、封装管理模块创建一份Java遗留系统的拷贝,存到临时文件夹中,以确保本系统所做改变不会影响原有系统。 其中的创建拷贝的功能不只是简单地拷贝Java遗留系统中的文件,对于Java遗 留系统中以.class后缀名命名的文件直接复制到临时文件夹的同名目录,对于Java遗 留系统中以jar包格式保存的字节码文件把jar包中的内容解压縮到临时文件夹; 步骤204、封装管理模块利用Java2WSDL工具生成Web服务包里每个类的WSDL文 件; 步骤205、桩生成模块通过服务管理模块获取服务封装模块所生成的Web服务包 的信息,并利用上述Web服务包的信息和Web服务包里的每个类的WSDL文件生成相应的桩 文件; 步骤206、桩生成模块动态编译上述桩文件,并将编译后的字节码文件对应地插入 被封装成Web服务的那些类文件在Java遗留系统中的位置; 步骤207、服务代理生成模块根据封装管理模块所获取的需要被封装成Web服务 的类、与上述类相关联的类和方法的信息利用字节码技术创建访问上述Web服务包的客户 端代理类,并利用新创建的同名Java类文件即客户端代理类替换Java遗留系统中对应的 Java类文件; 步骤208、封装管理模块将修改后的Java遗留系统的拷贝按Java遗留系统的格式 重新格式化。 上述格式化是指将修改后的存有Jav本文档来自技高网...

【技术保护点】
一种Java遗留系统的服务封装方法,其特征在于包括:    获取Java遗留系统的位置信息、服务封装所需被封装成网络服务的类和方法的信息、以及与所述类相关联的类的信息;    根据所述位置信息、以及所述类、与所述类相关联的类和方法的信息创建服务描述文件,并将所述服务描述文件和所述类以网络服务容器支持的格式打包生成网络服务包;    根据所述类、与所述类相关联的类和方法的信息创建访问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述Java遗留系统中对应的同名文件。

【技术特征摘要】
一种Java遗留系统的服务封装方法,其特征在于包括获取Java遗留系统的位置信息、服务封装所需被封装成网络服务的类和方法的信息、以及与所述类相关联的类的信息;根据所述位置信息、以及所述类、与所述类相关联的类和方法的信息创建服务描述文件,并将所述服务描述文件和所述类以网络服务容器支持的格式打包生成网络服务包;根据所述类、与所述类相关联的类和方法的信息创建访问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述Java遗留系统中对应的同名文件。2. 根据权利要求1所述的方法,其特征在于所述根据所述类、与所述类相关联的类和 方法的信息创建访问所述网络服务包的客户端代理类之前还包括根据所述网络服务包生成所述类的网络服务描述语言文件;根据所述网络服务包的信息和所述网络服务描述语言文件生成所述类的桩文件; 将所述桩文件插入到所述Java遗留系统中的对应位置。3. 根据权利要求2所述的方法,其特征在于所述根据所述类、与所述类相关联的类和 方法的信息创建访问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述 Java遗留系统中对应的同名文件具体包括根据所述类的信息创建与所述类同名的类的字节码文件;根据所述方法的信息在所述字节码文件中创建与所述方法同名并接受相同参数的方法;将包含所述方法的字节码文件修改成利用所述桩文件访问所述网络服务包的客户端 代理类;利用修改后的字节码文件替换所述中对应的字节码文件。4. 根据权利要求1所述的方法,其特征在于所述根据所述类、与所述类相关联的类和 方法的信息创建访问所述网络服务包的客户端代理类,并用所述客户端代理类替换所述 Java遗留...

【专利技术属性】
技术研发人员:孙海龙怀进鹏李翔高鹏刘旭东杜宗霞
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1