一种动态发布Web 服务的方法和装置制造方法及图纸

技术编号:9489767 阅读:77 留言:0更新日期:2013-12-25 23:32
本申请提供了一种动态发布Web服务的方法和装置,其中的方法具体包括:对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;将所述Web服务的架构类文件和服务类文件载入虚拟机;对载入虚拟机的Web服务进行发布。本申请能够降低发布耗费的人力成本,提高Web服务的发布效率,以及提高服务器集群的稳定性。

【技术实现步骤摘要】
一种动态发布Web服务的方法和装置
本申请涉及计算机软件
,特别是涉及一种动态发布Web服务的方法和装置。
技术介绍
由于特有的平台无关、编程语言无关等特性,针对SOAP协议的(简单对象访问协议,SimpleObjectAccessProtocol)Web服务(WebService)成为系统集成中使用非常广泛的技术,并且促进了完全不同的应用程序和平台之间的通信。支持Web服务的一个重要标准就是WSDL(Web服务描述语言,WebServicesDescriptionLanguage),WSDL是一种用来描述Web服务和说明如何与Web服务通信的XML(可扩展标记语言,ExtensibleMarkupLanguage)语言,每个Web服务都配有相关的WSDL文件。例如,在网关平台和银行通信的应用场景中,如果银行提供一个WSDL文件,则网关平台可以根据该WSDL文件的描述,生成相应的Web服务给银行来使用。现有技术一种发布Web服务的方法流程具体可以包括:步骤1、依据WSDL文件,采用WSDL2Java等转换工具生成Java代码;步骤2、把生成的Java代码导入需要发布的工程中;步骤3、在工程中通过相关的Web服务引擎框架生成定制的服务代码;步骤4、发布所述服务代码。可以看出,上述步骤1-步骤4均需要人工介入,既需要耗费大量的人力成本,又会影响发布效率。另外,对于大多数应用场景来说,上述方法流程需要停机执行,容易造成应用服务器的长时间停止,而大型互联网环境基本上要保证服务器的99.99%的可用性,应用服务器的长时间停止有可能导致流量冲击到其它的服务器上,造成服务器集群的整体死机。总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够降低发布耗费的人力成本,提高Web服务的发布效率,以及提高服务器集群的稳定性。
技术实现思路
本申请所要解决的技术问题是提供一种动态发布Web服务的方法和装置,能够降低发布耗费的人力成本,提高Web服务的发布效率,以及提高服务器集群的稳定性。为了解决上述问题,本申请公开了一种动态发布Web服务的方法,包括:对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;将所述Web服务的架构类文件和服务类文件载入虚拟机;对载入虚拟机的Web服务进行发布;其中,所述对载入虚拟机的Web服务进行发布的步骤,包括:依据动态脚本对载入虚拟机的Web服务的业务功能进行发布;所述动态脚本用于描述Web服务对应的业务信息。优选的,所述对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码的步骤,进一步包括:对所述WSDL文件进行解析,得到相应Web服务的schema和服务信息;依据所述schema生成相应Web服务的架构源代码;依据所述服务信息生成相应Web服务的服务源代码。优选的,所述对载入虚拟机的Web服务进行发布的步骤,进一步包括:通过调用发布应用程序接口,对载入虚拟机的Web服务的服务功能进行发布。优选的,所述依据动态脚本对载入虚拟机的Web服务的业务功能进行发布的步骤,进一步包括:采用所述动态脚本调用架构应用程序接口,对载入虚拟机的Web服务的业务功能进行发布。优选的,所述动态脚本为Groovy脚本或Java脚本。另一方面,本申请还公开了一种动态发布Web服务的装置,包括:分析模块,用于对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;编译模块,用于对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;加载模块,用于将所述Web服务的架构类文件和服务类文件载入虚拟机;及发布模块,用于对载入虚拟机的Web服务进行发布;其中,所述发布模块包括:第二发布子模块,用于依据动态脚本对载入虚拟机的Web服务的业务功能进行发布;所述动态脚本用于描述Web服务对应的业务信息。优选的,所述分析模块进一步包括:解析子模块,用于对所述WSDL文件进行解析,得到相应Web服务的schema和服务信息;第一生成子模块,用于依据所述schema生成相应Web服务的架构源代码;第二生成子模块,用于依据所述服务信息生成相应Web服务的服务源代码。优选的,所述发布模块进一步包括:第一发布子模块,用于通过调用发布应用程序接口,对载入虚拟机的Web服务的服务功能进行发布。优选的,所述第二发布子模块,具体用于采用所述动态脚本调用架构应用程序接口,对载入虚拟机的Web服务的业务功能进行发布。优选的,所述动态脚本为Groovy脚本或Java脚本与现有技术相比,本申请具有以下优点:本申请动态发布Web服务的流程具体可以包括:依据WSDL文件自动生成源代码—将源代码编译成为计算机程序可识别的类文件—将类文件动态加载至虚拟机—发布载入虚拟机的Web服务。一方面,所述动态发布Web服务的流程无需人工介入,故能够降低发布耗费的人力成本,提高Web服务的发布效率;另一方面,所述动态发布Web服务的流程无需停机无需重启系统即可热部署运行,因此,能够有效避免停机发布导致的服务器集群的整体死机等现象,从而能够提高服务器集群的稳定性。附图说明图1是本申请一种动态发布Web服务的方法实施例1的流程图;图2是本申请一种动态发布Web服务的方法实施例2的流程图;图3是本申请一种动态发布Web服务的应用示例;图4是本申请一种动态发布Web服务的装置实施例的结构图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。本申请提供了一种动态发布Web服务的方案。一方面,相对于现有技术中依赖人工介入的方式执行生成Java代码—Java代码导入工程—生成服务代码—部署发布的操作流程,本申请的方案自动执行整个发布的操作流程,故能够降低发布耗费的人力成本,提高Web服务的发布效率;另一方面,现有技术中发布的操作流程需要停机执行,容易造成应用服务器的长时间停止,而本申请的方案可以依据WSDL文件进行相应Web服务的动态发布,由于动态发布无需停机无需重启系统即可热部署运行,因此,能够有效避免停机发布导致的服务器集群的整体死机等现象,从而能够提高服务器集群的稳定性。参照图1,示出了本申请一种动态发布Web服务的方法实施例1的流程图,具体可以包括:步骤101、对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;步骤102、对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;步骤103、将所述Web服务的架构类文件和服务类文件载入虚拟机;步骤104、对载入虚拟机的Web服务进行发布;其中,所述对载入虚拟机的Web服务进行发布的步骤,具体可以包括:依据动态脚本对载入虚拟机的Web服务的业务功能进行发布;所述动态脚本用于描述Web服务对应的业务信息。WSDL文件是一种用来描述Web服务和说明如何与Web服务通信的XML,WSDL文件中通常记录有两大块内容:Web服务的schema(架构)和服务信息,其中,Web服务的schema通常定义有Web服务能够发送和接收的消息本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201210185412.html" title="一种动态发布Web 服务的方法和装置原文来自X技术">动态发布Web 服务的方法和装置</a>

【技术保护点】
一种动态发布Web服务的方法,其特征在于,包括:对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;将所述Web服务的架构类文件和服务类文件载入虚拟机;对载入虚拟机的Web服务进行发布。

【技术特征摘要】
1.一种动态发布Web服务的方法,其特征在于,包括:对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码;对所述Web服务的架构源代码和服务源代码进行编译,得到计算机程序可识别的架构类文件和服务类文件;将所述Web服务的架构类文件和服务类文件载入虚拟机;对载入虚拟机的Web服务进行发布;其中,所述对载入虚拟机的Web服务进行发布的步骤,包括:依据动态脚本对载入虚拟机的Web服务的业务功能进行发布;所述动态脚本用于描述Web服务对应的业务信息。2.如权利要求1所述的方法,其特征在于,所述对WSDL文件进行分析,得到相应Web服务的架构源代码和服务源代码的步骤,进一步包括:对所述WSDL文件进行解析,得到相应Web服务的schema和服务信息;依据所述schema生成相应Web服务的架构源代码;依据所述服务信息生成相应Web服务的服务源代码。3.如权利要求1所述的方法,其特征在于,所述对载入虚拟机的Web服务进行发布的步骤,进一步包括:通过调用发布应用程序接口,对载入虚拟机的Web服务的服务功能进行发布。4.如权利要求1所述的方法,其特征在于,所述依据动态脚本对载入虚拟机的Web服务的业务功能进行发布的步骤,进一步包括:采用所述动态脚本调用架构应用程序接口,对载入虚拟机的Web服务的业务功能进行发布。5.如权利要求1或4所述的方法,其特征在于,所述动态脚本为Groovy脚本或J...

【专利技术属性】
技术研发人员:熊照
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1