构件化软件系统中实现Web Service调用的方法技术方案

技术编号:3994007 阅读:414 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种构件化软件系统中实现Web?Service调用的方法,所述的构件化软件系统中包括图形化构件开发平台和与该图形化构件开发平台相连接的构件运行平台,其中该方法包括Web?Service调用构件开发处理操作和Web?Service调用构件运行处理操作。采用该种构件化软件系统中实现Web?Service调用的方法,使Web?Service的开发、调用过程更加直观、简单和高效,快捷方便,系统运行效率较高,性能稳定可靠,降低了开发维护的成本;同时增强了系统可移植性和可扩展性;还能够快速回应业务需求的变化和技术变化,能够支撑建立高度模块化而且又高度整合的软件系统,适用范围较为广泛,为计算机构件化软件技术的进一步发展奠定了坚实的基础。

【技术实现步骤摘要】

本专利技术涉及计算机软件领域,特别涉及构件化软件系统
,具体是指一种 。
技术介绍
随着现代社会科学技术的发展,计算机系统已经成为各行各业所不可缺少的工 具,而在其中起着核心作用的,则是计算机软件系统。随着软件系统在各行各业的日益渗 透,商业系统的日益庞大,其自身的问题也是越来越严重。现在的一个企业应用,常常会涉 及企业的每一个部分,会由几十人编写几十万到几百万行代码来完成。另一方面,现代企业 是在一个不断变化的动态环境中生存和发展的,因此,企业应用就需要不断地维护——即 部分地改写一些现有软件。由几十万上百万的代码变化因子,组成的不断变化的系统,其复 杂度是人类历史上没有见过的。软件的安全性和质量可靠性,常常成为现代无所不在、无所 不能的信息化系统的一个严重问题。构件技术整合了传统的构件技术、模型驱动技术和面向服务技术,是解决现有软 件系统结构弊端的一种有效手段。所谓构件,是指某种自成一体、并有一个(或一组)清晰 接口的软件。同时,构件还应具有清晰的运行时和上线内涵。也就是说,该构件具备可供运 行时访问的接口 ;并且,在软件开发生命周期的某个时间点,该构件可独立交付和安装。另 外,一个构件还能方便地跟其他构件合并或组合,从而提供有用的功能——通常情况下,单 个构件只有跟别的构件协同工作才能达到其功效。在企业级应用开发领域,随着应用规模的不断扩大,各个系统之间的集成和交互 变得越来越重要。Web Service由于其特有的平台无关、编程语言无关等特性,成为系统集 成中使用非常广泛的技术,并且Web Service作为一项工业标准,已经得到越来越多厂商的 支持,从数据的封装到数据的传递都有一系列的标准(ws-*)作为支撑。同时,Web Service 对外仅以WSDL(网络服务描述语言,Web Services Description Language)作为交流的中 介,它是一门基于XML的语言,描述了 Web Service的服务定义以及服务的通信,是跨平台 的。如何方便的调用外部系统提供的Web Services,在系统的集成阶段变得日益重 要。通常调用外部Web Service的作法为根据外部提供的URL,取到其Web Services的描述 文件WSDL,然后根据工具如Apache axis2、Apache cxf等生成调用Web Service的stub。此 方式会生成针对外部Web Service调用的静态代码,在静态代码中包含了对数据的处理,这 些代码由固定模板生成,要么文件超大动辄上万行,要么文件超多,难于维护和问题定位。 如果外部的WSDL有了稍许的变化,即使只有结点名称的变化如由parameter变更为in,那 么原来生成的静态stub将不再正确,需要根据新的WSDL重新生成stub,并再次进行编译打 包。同时,针对每个Web Service调用,都要生成一系列的程序代码,大量代码的堆积在系 统集成时常常会带来额外的维护成本,甚至会造成大量的垃圾代码,降低了生产效率。
技术实现思路
本专利技术的目的是克服了上述现有技术中的缺点,提供一种能够通过构件对外部 WebService进行调用、开发期直观形象、快捷方便、运行期效率较高、系统性能稳定可靠、适 用范围较为广泛的。为了实现上述的目的,本专利技术的 如下该,所述的构件化软件系统中包 括图形化构件开发平台和与该图形化构件开发平台相连接的构件运行平台,其主要特点 是,所述的方法包括Web Service调用构件开发处理操作和Web Service调用构件运行处 理操作,所述的Web Service调用构件开发处理操作,包括以下步骤(A1)系统的图形化构件开发平台新建构件包;(A2)所述的图形化构件开发平台导入外部的WSDL文件;(A3)所述的图形化构件开发平台导入该外部的WSDL文件所依赖的XSD文件;(A4)所述的图形化构件开发平台进行XSD模式类型与服务数据对象之间的相互 转换;(A5)所述的图形化构件开发平台在资源树中概览显示所导入的WSDL文件中的 WebService相关兀素;(A6)所述的图形化构件开发平台在资源树中概览显示所导入的XSD文件中定义 的类型以及属性信息;(A7)所述的图形化构件开发平台在构件编辑器中生成Web Service调用图元;(A8)所述的图形化构件开发平台对Web Service调用图元设置调用参数;(A9)所述的图形化构件开发平台添加SOAP头信息;(A10)所述的图形化构件开发平台添加SOAP附件信息;所述的Web Service调用构件运行处理操作,包括以下步骤(B1)系统将构件包下的资源部署到所述的构件运行平台的构件运行环境中;(B2)所述的构件运行平台加载WSDL文件到构件运行环境,并将其中的模式定义 形成服务数据对象;(B3)所述的构件运行平台加载XSD文件到构件运行环境;(B4)所述的构件运行平台将所述的服务数据对象序列化为文档对象;(B5)所述的构件运行平台将文档对象反序列化为服务数据对象;(B6)所述的构件运行平台发送Web Service请求;(B7)所述的构件运行平台处理Web Service返回值;(B8)所述的构件运行平台解析并返回SOAP头信息;(B9)所述的构件运行平台解析并返回SOAP附件信息。该中的构件包为包含一定功能逻 辑的物理单元,且该构件包作为一个最小的部署单元部署到所述的构件运行平台的构件运 行环境中,该构件包中包含实现构件功能的所有依赖资源。该中的依赖资源包括WSDL文件、 XSD文件、Java运行需要的类文件。该中的导入外部的WSDL文件,包 括以下步骤(11)所述的图形化构件开发平台根据外部Web Service所在的URL,把该URL所 指定的WSDL文件下载到本地;(12)所述的图形化构件开发平台分析所下载的WSDL文件,如果所下载的WSDL文 件中包含引用的其它WSDL文件,则将该其它WSDL文件一并下载到本地;(13)所述的图形化构件开发平台将所下载的WSDL文件默认保存到构件包资源树 下的“接口”结点下。该中的WSDL文件中所包含引用 的其它WSDL文件,为以下两种情形中的一种(1)通过{http://schemas. xmlsoap. org/wsdl/} import 所引用的 WSDL 文件;(2)通过{http://schemas. xmlsoap. org/wsdl/} include 所引用的 WSDL 文件。该中的导入外部的WSDL文件所 依赖的XSD文件,包括以下步骤(21)所述的图形化构件开发平台分析所下载的所有WSDL文件,如果WSDL文件中 包含引用的其它XSD文件,则把所引用的XSD文件下载到本地;(22)所述的图形化构件开发平台分析所下载的所有XSD文件,如果XSD文件中包 含引用的其它XSD文件,则把所引用的XSD文件下载到本地;(23)所述的图形化构件开发平台将所下载的XSD文件默认保存到构件包资源树 下的“XML模式”结点下。该中的WSDL文件中所包含引用 的其它XSD文件,为以下两种情形中的一种(1)在WSDL文件中的类型定义部分所包含的通过{http://www.w3.org/2001/ XMLSche本文档来自技高网
...

【技术保护点】
一种构件化软件系统中实现WebService调用的方法,所述的构件化软件系统中包括图形化构件开发平台和与该图形化构件开发平台相连接的构件运行平台,其特征在于,所述的方法包括WebService调用构件开发处理操作和WebService调用构件运行处理操作,所述的WebService调用构件开发处理操作,包括以下步骤:(A1)系统的图形化构件开发平台新建构件包;(A2)所述的图形化构件开发平台导入外部的WSDL文件;(A3)所述的图形化构件开发平台导入该外部的WSDL文件所依赖的XSD文件;(A4)所述的图形化构件开发平台进行XSD模式类型与服务数据对象之间的相互转换;(A5)所述的图形化构件开发平台在资源树中概览显示所导入的WSDL文件中的WebService相关元素;(A6)所述的图形化构件开发平台在资源树中概览显示所导入的XSD文件中定义的类型以及属性信息;(A7)所述的图形化构件开发平台在构件编辑器中生成WebService调用图元;(A8)所述的图形化构件开发平台对WebService调用图元设置调用参数;(A9)所述的图形化构件开发平台添加SOAP头信息;(A10)所述的图形化构件开发平台添加SOAP附件信息;所述的WebService调用构件运行处理操作,包括以下步骤:(B1)系统将构件包下的资源部署到所述的构件运行平台的构件运行环境中;(B2)所述的构件运行平台加载WSDL文件到构件运行环境,并将其中的模式定义形成服务数据对象;(B3)所述的构件运行平台加载XSD文件到构件运行环境;(B4)所述的构件运行平台将所述的服务数据对象序列化为文档对象;(B5)所述的构件运行平台将文档对象反序列化为服务数据对象;(B6)所述的构件运行平台发送WebService请求;(B7)所述的构件运行平台处理WebService返回值;(B8)所述的构件运行平台解析并返回SOAP头信息;(B9)所述的构件运行平台解析并返回SOAP附件信息。...

【技术特征摘要】

【专利技术属性】
技术研发人员:王锋游青华王文斌
申请(专利权)人:上海普元信息技术股份有限公司
类型:发明
国别省市:31[中国|上海]

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

1