CN101957758A - 面向服务的架构应用***中实现Web Service快速发布的方法 - Google Patents
面向服务的架构应用***中实现Web Service快速发布的方法 Download PDFInfo
- Publication number
- CN101957758A CN101957758A CN2010105073674A CN201010507367A CN101957758A CN 101957758 A CN101957758 A CN 101957758A CN 2010105073674 A CN2010105073674 A CN 2010105073674A CN 201010507367 A CN201010507367 A CN 201010507367A CN 101957758 A CN101957758 A CN 101957758A
- Authority
- CN
- China
- Prior art keywords
- service
- operation platform
- application system
- service operation
- web service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向服务的架构应用***中实现Web Service快速发布的方法,其中包括图形化服务装配平台和服务运行平台,该方法包括图形化服务装配处理操作和服务运行处理操作,图形化服务装配处理操作完成图形化装配、编译、编译检查和快速创建一个新的构件实现;服务运行处理操作完成服务装配文件的加载、服务的动态注册、WSDL文件的自动生成以及监听用户的请求。采用该种面向服务的架构应用***中实现Web Service快速发布的方法,极大的提高了SOA应用***之间的集成效率,同时运用本发明的方法可以快速、直观的将现有的业务功能发布为Web服务,大大提高了应用***间的集成效率,而且工作性能稳定可靠、适用范围较为广泛。
Description
技术领域
本发明涉及计算机软件领域,特别涉及面向服务的架构(SOA)应用***技术领域,具体是指一种面向服务的架构应用***中实现Web Service快速发布的方法。
背景技术
随着现代社会科学技术的发展,计算机***已经成为各行各业所不可缺少的工具,而在其中起着核心作用的,则是计算机软件***。随着企业的不断发展和IT***的不断建设,企业的IT应用***越来越多,应用日益复杂,企业对应用***间的互联互通也提出了更高的要求。应用***如何快速响应企业的业务变化、如何最大限度的重用现有IT资产是企业IT建设面临的一大难题。
SOA(Serivce-Oriented Architecture,面向服务的架构),是一种新的构造分布式应用程序的方法,它将企业应用中分散的功能组织成可以共享的基于标准的服务,这些服务能够迅速地被组合和重用,从而达到了快速响应业务需求的目的;同时,在企业级应用开发领域,随着应用规模的不断扩大,各个***之间的集成和交互变得越来越重要。Web Service由于其特有的平台无关、编程语言无关等特性,成为***集成中使用非常广泛的技术,并且Web Service作为一项工业标准,已经得到越来越多厂商的支持。同时,Web Service对外仅以WSDL(Web服务描述语言,Web Services Description Language)作为交流的中介,它是一门基于XML的语言,描述了Web Service的服务定义以及服务的通信,是跨平台的。
在开发基于SOA应用的***中,如何方便、快速的将现有业务功能发布成Web Service供外部***调用,在***的集成阶段变得日益重要。现有技术中,要将一个已有的业务功能发布成Web Service,需要手工编写一些配置文件,如:在Axis2中发布一个Web Service需要编写services.xml文件,在Xfire中也需要编写service.xml文件,但与Axis2的格式却截然不同;这些文件晦涩难懂,手工编写极易出错,降低了生产效率。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种直观形象、操作快捷方便、能够实现动态、快速发布Web Service、有效提高SOA应用***之间的集成效率、工作性能稳定可靠、适用范围较为广泛的面向服务的架构应用***中实现Web Service快速发布的方法。
为了实现上述的目的,本发明的面向服务的架构应用***中实现Web Service快速发布的方法如下:
该面向服务的架构应用***中实现Web Service快速发布的方法,所述的面向服务的架构应用***包括图形化服务装配平台和服务运行平台,其主要特点是,所述的方法包括图形化服务装配处理操作和服务运行处理操作,所述的图形化服务装配处理操作,包括以下步骤:
(11)所述的图形化服务装配平台新建构件包;
(12)所述的图形化服务装配平台在该新建的构件包中创建装配图文件;
(13)所述的图形化服务装配平台根据用户的操作,将现有业务功能的实现拖曳到装配图中,并在装配图中生成相应的构件;
(14)所述的图形化服务装配平台为所生成的该构件添加一个或多个服务,并指定服务的接口描述;
(15)所述的图形化服务装配平台根据需要为所述的添加的服务添加相应的Web Service绑定;
(16)所述的图形化服务装配平台保存装配图文件,且所述的面向服务的架构应用***对该装配图文件进行编译和编译检查;
所述的服务运行处理操作,包括以下步骤:
(21)所述的服务运行平台遍历构件包;
(22)所述的服务运行平台查找所述的构件包下所有的服务装配文件;
(23)所述的服务运行平台解析所述的服务装配文件;
(24)所述的服务运行平台查找该构件包下所有的Web Service类型扩展文件;
(25)所述的服务运行平台解析Web Service类型扩展文件aegis;
(26)所述的服务运行平台根据构件的实现类,生成对应的Web Service描述文件WSDL;
(27)所述的服务运行平台将所述的WSDL发布为Web Service,并动态生成相应的Servlet,同时将该Servlet注册到所述的面向服务的架构应用***中,监听用户请求;
(28)所述的服务运行平台将用户请求数据转换为业务数据类型;
(29)所述的服务运行平台将业务逻辑返回数据转换为SOAP信息。
该面向服务的架构应用***中实现Web Service快速发布的方法中的构件包是指包含一定功能逻辑的物理单元,且每个构件包作为一个最小的部署单元部署到面向服务的架构运行***环境中,构件包下包含实现业务功能的所有依赖资源。
该面向服务的架构应用***中实现Web Service快速发布的方法中的图形化服务装配平台将现有业务功能的实现拖曳到装配图中并在装配图中生成相应的构件,包括以下步骤:
(131)所述的图形化服务装配平台从资源管理器中拖拽现有业务功能的实现到可视化编辑器中;
(132)所述的图形化服务装配平台对业务功能实现中的方法进行逐一检查,判断该方法的参数和返回值中是否包含有复杂数据类型;
(133)如果是,则所述的图形化服务装配平台弹出服务装配向导,在向导中输入构件的名称、服务的名称,配置复杂数据类型中存放的元素的具体类型;
(134)所述的图形化服务装配平台在服务装配图中生成相应的构件,该构件中包含了一个服务。
该面向服务的架构应用***中实现Web Service快速发布的方法中的判断该方法的参数和返回值中是否包含有复杂数据类型,具体为:
判断该方法的参数和返回值的类型是否是List、Map或者Java Bean类型中的一种或者多种。
该面向服务的架构应用***中实现Web Service快速发布的方法中的对该装配图文件进行编译,具体为:
所述的面向服务的架构应用***根据装配图的定义,自动生成相应的符合SCA规范的服务装配文件。
该面向服务的架构应用***中实现Web Service快速发布的方法中的对该装配图文件进行编译检查,包括以下步骤:
(161)所述的面向服务的架构应用***判断构件的实现是否存在;
(162)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(163)如果是,则所述的面向服务的架构应用***判断构件的服务接口描述是否存在;
(164)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(165)如果是,则所述的面向服务的架构应用***判断构件是否实现了服务接口描述中定义的方法;
(166)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;如果是,则直接结束。
该面向服务的架构应用***中实现Web Service快速发布的方法中的构件为SCA规范中定义的、能够复用的最小功能单位。
该面向服务的架构应用***中实现Web Service快速发布的方法中的构件的实现是指构件的具体功能实现。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务接口描述为描述服务中所包含的业务方法的文件,所述的业务方法为发布为Web Service后该面向服务的架构应用***对外所提供的业务方法。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台遍历构件包,包括以下步骤:
(211)所述的服务运行平台查找构件包所在的根路径,遍历所存在的所有构件包;
(212)所述的服务运行平台解析构件包的元数据,元数据信息位于构件包META-INF目录下的文件MANIFEST.MF;
(213)所述的服务运行平台按构件包的依赖关系,对构件包的进行排序,以便于构件包的加载。
该面向服务的架构应用***中实现Web Service快速发布的方法中的MANIFEST.MF文件的内容按Java中MANIFEST的定义规则进行定义。
该面向服务的架构应用***中实现Web Service快速发布的方法中的构件包的排序规则为:
如果第一构件包依赖于第二构件包,第二构件包依赖于第三构件包,第四构件包不依赖其它构件包,则相应的排序列表为:构件包D、构件包C、构件包B、构件包A。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台查找所述的构件包下所有的服务装配文件,包括以下步骤:
(221)所述的服务运行平台对已经排序的构件包列表进行遍历;
(222)所述的服务运行平台遍历构件包所在路径以及子路径下的所有文件,查找其中的服务装配文件。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台解析所述的服务装配文件,包括以下步骤:
(231)所述的服务运行平台利用XML解析器解析服务装配文件;
(232)在服务装配文件中对于结点Component生成构件的内存模型;
(233)所述的服务运行平台解析构件的服务,并生成服务的内存模型;
(234)所述的服务运行平台解析构件的实现,并生成实现的内存模型;
(235)所述的服务运行平台在服务中解析所添加的Web Service绑定,并生成绑定的内存模型。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台查找该构件包下所有的Web Service类型扩展文件,包括以下步骤:
(241)所述的服务运行平台对已经排序的构件包列表遍历;
(242)所述的服务运行平台遍历构件包所在路径下的所有文件,查找Web Service类型扩展文件aegis。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台解析Web Service类型扩展文件aegis,包括以下步骤:
(251)所述的服务运行平台利用XML解析器解析Web Service类型扩展文件aegis;
(252)所述的服务运行平台遍历该Web Service类型扩展文件aegis中所有Method结点,解析出方法的输入、输出参数的元数据信息。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台根据构件的实现类生成对应的Web Service描述文件WSDL,包括以下步骤:
(261)所述的服务运行平台根据添加Web Service绑定的服务查找对应的构件;
(262)所述的服务运行平台根据构件的元数据查找构件的实现类;
(263)所述的服务运行平台根据服务的名称,查找服务对应的类型扩展aegis定义;
(264)所述的服务运行平台根据类的定义以及类中方法元数据的定义,生成针对此类的WSDL描述;
(265)所述的服务运行平台建立服务名称与服务生成WSDL的映射关系。
该面向服务的架构应用***中实现Web Service快速发布的方法中的步骤(27)包括以下步骤:
(271)所述的服务运行平台建立Servlet的缓存ServletHost;
(272)所述的服务运行平台新建HttpServlet,以Web Service的名称作为key放入缓存ServletHost中;
(273)所述的服务运行平台新建Servlet Filter,负责服务分发,并配置到应用中;
(274)所述的服务运行平台接收到Http请求时,根据URL从缓存ServletHost中判断是否已经注册,如果注册则把请求交由其Servlet进行处理,否则继续原有操作。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台将用户请求数据转换为业务数据类型,包括以下步骤:
(281)所述的服务运行平台从Servlet中读取输入流,构造为SOAP Envelope;
(282)所述的服务运行平台从SOAP Envelope中分离出SOAP Header和SOAP Body数据;
(283)所述的服务运行平台查找服务对应构件的业务实现类以及调用的方法;
(284)所述的服务运行平台把SOAP Body数据转换为业务实现类要求的数据类型;
(285)所述的服务运行平台调用业务实现类。
该面向服务的架构应用***中实现Web Service快速发布的方法中的服务运行平台将业务逻辑返回数据转换为SOAP信息,包括以下步骤:
(291)所述的服务运行平台将业务返回数据按WSDL的要求进行序列化;
(292)所述的服务运行平台生成构件SOAP Envelope;
(293)所述的服务运行平台将业务数据序列化的结果添加到SOAP Envelope的Body当中;
(294)所述的服务运行平台生成Servlet中的输出流;
(295)所述的服务运行平台将SOAP Envelope按byte数组的方式写到Servlet中输出流当中。
采用了该发明的面向服务的架构应用***中实现Web Service快速发布的方法,由于其中在开发期提供一个可视化的Web Service装配工具,直观形象、快捷方便的生成Web Service装配文件;同时,在运行期能够根据Web Service装配文件的定义,自动对外发布一个新的Web Service,从而达到动态、快速发布Web Service的能力,极大的提高了SOA应用***之间的集成效率,从而不再需要手工为各种不同的Web Service发布***编写晦涩难懂、极易出错的服务配置文件;同时运用本发明的方法可以快速、直观的将现有的业务功能发布为Web服务,大大提高了应用***间的集成效率,而且工作性能稳定可靠、适用范围较为广泛。
附图说明
图1为本发明的面向服务的架构应用***中实现Web Service快速发布的方法中的服务装配示意图。
图2为本发明的面向服务的架构应用***中实现Web Service快速发布的方法中的复杂类型配置页面示意图。
图3为本发明的面向服务的架构应用***中实现Web Service快速发布的方法中的构件包依赖关系示意图。
图4为本发明的面向服务的架构应用***中实现Web Service快速发布的方法的***整体功能模块示意图。
图5为本发明的面向服务的架构应用***中实现Web Service快速发布的方法中的WebService业务调用的流程示意图。
图6为本发明的面向服务的架构应用***中实现Web Service快速发布的方法中的服务装配的内部模型结构类图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1至图6所示,该面向服务的架构应用***中实现Web Service快速发布的方法,所述的面向服务的架构应用***包括图形化服务装配平台和服务运行平台,其中,所述的方法包括图形化服务装配处理操作和服务运行处理操作,所述的图形化服务装配处理操作,包括以下步骤:
(11)所述的图形化服务装配平台新建构件包;所述的构件包是指包含一定功能逻辑的物理单元,且每个构件包作为一个最小的部署单元部署到面向服务的架构运行***环境中,构件包下包含实现业务功能的所有依赖资源;
(12)所述的图形化服务装配平台在该新建的构件包中创建装配图文件;
(13)所述的图形化服务装配平台根据用户的操作,将现有业务功能的实现拖曳到装配图中,并在装配图中生成相应的构件,包括以下步骤:
(a)所述的图形化服务装配平台从资源管理器中拖拽现有业务功能的实现到可视化编辑器中;
(b)所述的图形化服务装配平台对业务功能实现中的方法进行逐一检查,判断该方法的参数和返回值中是否包含有复杂数据类型,具体为:
判断该方法的参数和返回值的类型是否是List、Map或者Java Bean类型中的一种或者多种;
(c)如果是,则所述的图形化服务装配平台弹出服务装配向导,在向导中输入构件的名称、服务的名称,配置复杂数据类型中存放的元素的具体类型;
(d)所述的图形化服务装配平台在服务装配图中生成相应的构件,该构件中包含了一个服务;
(14)所述的图形化服务装配平台为所生成的该构件添加一个或多个服务,并指定服务的接口描述;
(15)所述的图形化服务装配平台根据需要为所述的添加的服务添加相应的Web Service绑定;
(16)所述的图形化服务装配平台保存装配图文件,且所述的面向服务的架构应用***对该装配图文件进行编译和编译检查;对该装配图文件进行编译,具体为:
所述的面向服务的架构应用***根据装配图的定义,自动生成相应的符合SCA规范的服务装配文件;
对该装配图文件进行编译检查,包括以下步骤:
(a)所述的面向服务的架构应用***判断构件的实现是否存在;所述的构件为SCA规范中定义的、能够复用的最小功能单位;所述的构件的实现是指构件的具体功能实现;
(b)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(c)如果是,则所述的面向服务的架构应用***判断构件的服务接口描述是否存在;
(d)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(e)如果是,则所述的面向服务的架构应用***判断构件是否实现了服务接口描述中定义的方法;所述的服务接口描述为描述服务中所包含的业务方法的文件,所述的业务方法为发布为Web Service后该面向服务的架构应用***对外所提供的业务方法;
(f)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;如果是,则直接结束;
所述的服务运行处理操作,包括以下步骤:
(21)所述的服务运行平台遍历构件包,包括以下步骤:
(a)所述的服务运行平台查找构件包所在的根路径,遍历所存在的所有构件包;
(b)所述的服务运行平台解析构件包的元数据,元数据信息位于构件包META-INF目录下的文件MANIFEST.MF;所述的MANIFEST.MF文件的内容按Java中MANIFEST的定义规则进行定义;
(c)所述的服务运行平台按构件包的依赖关系,对构件包的进行排序,以便于构件包的加载;所述的构件包的排序规则为:
如果第一构件包依赖于第二构件包,第二构件包依赖于第三构件包,第四构件包不依赖其它构件包,则相应的排序列表为:构件包D、构件包C、构件包B、构件包A;
(22)所述的服务运行平台查找所述的构件包下所有的服务装配文件,包括以下步骤:
(a)所述的服务运行平台对已经排序的构件包列表进行遍历;
(b)所述的服务运行平台遍历构件包所在路径以及子路径下的所有文件,查找其中的服务装配文件;
(23)所述的服务运行平台解析所述的服务装配文件,包括以下步骤:
(a)所述的服务运行平台利用XML解析器解析服务装配文件;
(b)在服务装配文件中对于结点Component生成构件的内存模型;
(c)所述的服务运行平台解析构件的服务,并生成服务的内存模型;
(d)所述的服务运行平台解析构件的实现,并生成实现的内存模型;
(e)所述的服务运行平台在服务中解析所添加的Web Service绑定,并生成绑定的内存模型;
(24)所述的服务运行平台查找该构件包下所有的Web Service类型扩展文件,包括以下步骤:
(a)所述的服务运行平台对已经排序的构件包列表遍历;
(b)所述的服务运行平台遍历构件包所在路径下的所有文件,查找Web Service类型扩展文件aegis;
(25)所述的服务运行平台解析Web Service类型扩展文件aegis,包括以下步骤:
(a)所述的服务运行平台利用XML解析器解析Web Service类型扩展文件aegis;
(b)所述的服务运行平台遍历该Web Service类型扩展文件aegis中所有Method结点,解析出方法的输入、输出参数的元数据信息;
(26)所述的服务运行平台根据构件的实现类,生成对应的Web Service描述文件WSDL,包括以下步骤:
(a)所述的服务运行平台根据添加Web Service绑定的服务查找对应的构件;
(b)所述的服务运行平台根据构件的元数据查找构件的实现类;
(c)所述的服务运行平台根据服务的名称,查找服务对应的类型扩展aegis定义;
(d)所述的服务运行平台根据类的定义以及类中方法元数据的定义,生成针对此类的WSDL描述;
(e)所述的服务运行平台建立服务名称与服务生成WSDL的映射关系;
(27)所述的服务运行平台将所述的WSDL发布为Web Service,并动态生成相应的Servlet,同时将该Servlet注册到所述的面向服务的架构应用***中,监听用户请求,包括以下步骤:
(a)所述的服务运行平台建立Servlet的缓存ServletHost;
(b)所述的服务运行平台新建HttpServlet,以Web Service的名称作为key放入缓存ServletHost中;
(c)所述的服务运行平台新建Servlet Filter,负责服务分发,并配置到应用中;
(d)所述的服务运行平台接收到Http请求时,根据URL从缓存ServletHost中判断是否已经注册,如果注册则把请求交由其Servlet进行处理,否则继续原有操作;
(28)所述的服务运行平台将用户请求数据转换为业务数据类型,包括以下步骤:
(a)所述的服务运行平台从Servlet中读取输入流,构造为SOAP Envelope;
(b)所述的服务运行平台从SOAP Envelope中分离出SOAP Header和SOAP Body数据;
(c)所述的服务运行平台查找服务对应构件的业务实现类以及调用的方法;
(d)所述的服务运行平台把SOAP Body数据转换为业务实现类要求的数据类型;
(e)所述的服务运行平台调用业务实现类;
(29)所述的服务运行平台将业务逻辑返回数据转换为SOAP信息,包括以下步骤:
(a)所述的服务运行平台将业务返回数据按WSDL的要求进行序列化;
(b)所述的服务运行平台生成构件SOAP Envelope;
(c)所述的服务运行平台将业务数据序列化的结果添加到SOAP Envelope的Body当中;
(d)所述的服务运行平台生成Servlet中的输出流;
(e)所述的服务运行平台将SOAP Envelope按byte数组的方式写到Servlet中输出流当中。
在实际使用当中,请参阅图1至图5所示,该SOA应用***中实现Web Service的快速发布的方法,包括图形化的服务装配平台和服务的运行平台。其中图形化的服务装配平台包括图形化装配、编译、编译检查和快速创建一个新的构件实现;服务的运行平台包括服务装配文件的加载、服务的动态注册、WSDL文件的自动生成以及监听用户的请求。
所述的图形化装配包括以下步骤:
(1)新建构件包;
(2)在新建的构件包中,新建装配图文件;
(3)拖拽现有业务功能的实现到装配图中,将在装配图中生成一个构件。
(4)为生成的构件添加一个或多个服务,并指定服务的接口描述;
(5)根据需要为上述新建的服务添加Web Service绑定;
(6)保存装配图文件,***会对装配图文件进行编译和编译检查。
完成服务装配后的装配图如图1所示。
所述的服务的运行平台包括以下步骤:
(1)遍历构件包;
(2)查找构件包下所有的服务装配文件;
(3)解析服务装配文件;
(4)查找构件包下所有的Web Service类型扩展文件;
(5)解析Web Service类型扩展文件aegis
(6)根据构件的实现类,生成对应的WSDL;
(7)发布为Web Service,动态生成Servlet,并注册到***,监听用户请求
(8)用户请求数据转换为业务数据类型;
(9)业务逻辑返回数据转换为SOAP信息。
所述的构件包是指包含一定功能逻辑的物理单元,每个构件包作为一个最小的部署单元部署到SOA运行***环境中,构件包下包含实现业务功能的所有依赖资源,如:实现业务功能的Java文件、WSDL文件、服务装配图文件等,构件包在物理上同一个文件夹对应。
在拖拽现有业务功能的实现到装配图的过程中,***将检查所拖拽的业务功能实现中的每个方法的参数和返回值,在以下两种情况下,***将弹出参数类型配置向导:
(1)参数和返回值是List、Map等复杂数据类型;
(2)参数和返回值是Java Bean,且Java Bean中含有List、Map等复杂类型数据类型的属性;
在弹出的向导中,可以对这些复杂类型进行配置,如图2所示;向导完成后,会将这些配置保存到特定的配置文件中。通过向导,可以很容易完成对复杂数据类型的配置,从而做到将含有复杂数据类型的现有业务功能快速发布成Web Service的能力。
复杂数据类型的配置文件保存规则如下:
(1)如果业务功能实现类的方法中含有List、Map,则这些参数的配置信息将保存在构件包的META-INF目录下,文件名格式为:<服务的名称>.aegis;
(2)如果业务功能实现类的方法参数是JavaBean,且JavaBean中含有List、Map类型的属性,则会在Java Bean的同名包目录下创建一个与Java Bean同名,后缀名为aegis的JavaBean配置文件;
这些配置文件将在运行期生成WSDL的过程中被使用,以便正确的为这些复杂类型生成XML Schema表示。
所述的编译是指在保存装配图的过程中***根据装配图的定义,自动生成一个符合SCA规范的服务装配文件(composite文件);
所述的编译检查是指在保存装配图的过程中对装配图文件进行正确性检查,以便在开发期发现装配文件中存在的错误并及时通知用户进行修正,所做的编译检查包括:
(1)构件的实现存不存在;
(2)构件的服务接口描述存不存在;
(3)构件的实现是否实现了服务接口描述中定义的方法;
所述的构件是指SCA规范中定义的构件(Component),构件是可以复用的最小功能单位,通常一个构件包含了服务定义、引用定义和构件的实现定义;
所述的构件实现是指构件的具体功能实现,如Java实现类可以作为一个构件的具体实现;根据不同的构件实现,可以将构件划分为不同的类型,如:Java构件(具体实现是Java类)、Spring构件(具体实现是Spring配置文件)等;
所述的服务接口描述是指一种文件,这种文件是语言中立的,可以是Java文件、WSDL文件或其它文件,它描述了服务中包含的业务方法,这些业务方法就是发布为Web Service后,SOA应用***对外提供的业务方法;
所述的快速创建一个新的构件实现是指图形化装配平台提供了根据装配图中构件的定义,自动创建一个新的构件实现,该构件实现将根据构件的服务定义自动生成实现的代码框架,通过以下两种方式可以快速创建一个新的构件实现:
(1)装配图中选择一个构件,通过快捷键F4可以快速创建一个新的构件实现;
(2)装配图中选择一个构件,通过右键菜单“新建构件实现”可以快速创建一个新的构件实现;
所述的服务运行平台,主要负责加载服务装配文件,并根据服务装配文件的定义对外发布Web Service,主要步骤如下:
(1)解析并加载服务装配文件(composite文件);
(2)根据服务装配文件的定义,自动向Web Service引擎中注册新的Web Service;
(3)通过特定的URL可以获取所注册的Web Service的描述文件(WSDL);
Composite文件是一种符合SCA规范的服务装配文件,在本发明中,使用该文件来描述应用中的构件和服务,它是一种XM格式的文件。
所述的遍历构件包包括以下步骤:
(1)查找构件包所在的根路径,遍历所存在的所有构件包;
(2)解析构件包的元数据,元数据信息位于构件包META-INF目录下的文件MANIFEST.MF,MANIFEST.MF文件的内容按Java中MANIFEST的定义规则进行定义,格式如下:
Manifest-Version:1.0
Bundle-Description:
Bundle-Name:com.esb #构件包名称
eos-webCtxPath:esb #构件包资源对应web路径
Bundle-Vendor:companyName
Bundle-SymbolicName:com.esb #构件包唯一标识
Require-Bundle:com.eos.foundation #依赖构件包标识
Bundle-Version:1.0.0 #构件包版本号
(3)按构件包的依赖关系,对构件包的进行排序,以便于构件包的加载;
如图3所示,构件包A依赖构件包B,构件包B依赖构件包C,构件包D不依赖其它构件包,则形成的排序列表为:构件包D,构件包C,构件包B,构件包A。
所述的查找构件包下所有的服务装配文件包括以下步骤:
(1)对***中排序的构件包列表进行遍历;
(2)遍历构件包所在路径以及子路径下的所有文件,查找其中的服务装配文件。
所述的解析服务装配文件包括以下步骤:
(1)利用XML解析器解析服务装配文件;
(2)服务装配文件中对于结点Component生成构件的内存模型;
(3)解析构件的服务,生成服务的内存模型;
(4)解析构件的实现,生成实现的内存模型;
(5)服务中解析添加的Web Service绑定,生成绑定的内存模型。
所述的查找构件包下所有的Web Service类型扩展文件包括以下步骤:
(1)对***中排序的构件包列表遍历;
(2)遍历构件包所在路径下的所有文件,查找Web Service类型扩展文件aegis。
所述的解析Web Service类型扩展文件aegis包括以下步骤:
(1)利用XML解析器解析Web Service类型扩展文件aegis;
(2)遍历其中所有Method结点,解析出方法的输入、输出参数的元数据信息;
所述的根据构件的实现类,生成对应的WSDL包括以下步骤:
(1)根据添加Web Service绑定的服务查找对应的构件;
(2)根据构件的元数据查找构件的实现类;
(3)根据服务的名称,查找服务对应的类型扩展aegis定义;
(4)根据类的定义以及类中方法元数据的定义,生成针对此类的WSDL描述;
(5)建立服务名称与服务生成WSDL的映射关系。
所述的发布为Web Service,动态生成Servlet,并注册到***,监听用户请求包括以下步骤:
(1)建立Servlet的缓存ServletHost;
(2)新建HttpServlet,以Web Service的名称作为key放入缓存ServletHost中;
(3)新建Servlet Filter,负责服务分发,并配置到应用中;
(4)接收到Http请求时,根据URL从缓存ServletHost中判断是否已经注册,如果注册则把请求交由其Servlet进行处理,否则继续原有操作。
所述的用户请求数据转换为业务数据类型,调用业务逻辑包括以下步骤:
(1)从Servlet中读取输入流,构造为SOAP Envelope;
(2)从SOAPEnvelope中分离出SOAPHeader和SOAPBody数据;
(3)查找服务对应构件的业务实现类以及调用的方法;
(4)把SOAP Body数据转换为业务实现类要求的数据类型;
(5)调用业务实现类。
所述的业务逻辑返回数据转换为SOAP信息,返回给用户包括以下步骤:
(1)业务返回数据按WSDL的要求进行序列化;
(2)构件SOAPEnvelope;
(3)业务数据序列化的结果添加到SOAP Envelope的Body当中;
(4)生成Servlet中输出流;
(5)SOAP Envelope按byte[]方式写到Servlet中输出流当中。
Web Service业务调用的流程参阅图4所示。
采用了上述的SOA应用***中Web Service的快速发布方法,使得开发以及发布WebService变得异常简单,开发效率大大提高,同时通过图形化的开发以及发布方式,使得用户对Web Service的细节不需要太多的了解,降低了学习和维护的成本。
其中,在开发期:
(1)新建构件包;
(2)在构件中新建服务装配图文件,***将自动打开该文件的可视化编辑器;
(3)将现有业务功能实现装配为服务,包括以下步骤:
a)从资源管理器中,拖拽现有业务功能的实现到可视化编辑器中;
b)***对业务功能实现中的方法进行逐一检查,检查方法的参数和返回值的类型是否是List、Map和Java Bean;
c)***弹出服务装配向导,在向导中输入构件的名称、服务的名称,配置复杂数据类型(List、Map)中存放的元素的具体类型;
d)***在服务装配图中生成一个构件,该构件包含了一个服务;
(4)为要发布成Web Service的服务添加Web Service绑定;
(5)保存服务装配图;***将对服务装配图进行编译检查,以及时的发现装配图中存在的错误;
(6)编译检查通过后,***将对服务装配图进行编译,在输出目录下生成符合SCA规范的服务装配文件(composite文件);
(7)部署服务装配文件到服务器上。
所述的服务的运行平台包括以下步骤:
(1)遍历构件包,包括以下步骤:
a)查找构件包所在的根路径,遍历所存在的所有构件包;
b)解析构件包的元数据,元数据信息位于构件包META-INF目录下的文件MANIFEST.MF,MANIFEST.MF文件的内容按Java中MANIFEST的定义规则进行定义,格式如下:
Manifest-Version:1.0
Bundle-Description:
Bundle-Name:com.esb #构件包名称
eos-webCtxPath:esb #构件包资源对应web路径
Bundle-Vendor:companyName
Bundle-SymbolicName:com.esb #构件包唯一标识
Require-Bundle:com.eos.foundation #依赖构件包标识
Bundle-Version:1.0.0 #构件包版本号
c)按构件包的依赖关系,对构件包的进行排序,以便于构件包的加载;
再请参阅图3所示,构件包A依赖构件包B,构件包B依赖构件包C,构件包D不依赖其它构件包,则形成的排序列表为:构件包D,构件包C,构件包B,构件包A。
(2)查找构件包下所有的服务装配文件,包括以下步骤:
a)对***中排序的构件包列表进行遍历;
b)遍历构件包所在路径以及子路径下的所有文件,查找其中的服务装配文件,文件对应扩展名为compoiste。
(3)解析服务装配文件,包括以下步骤:
a)利用XM解析器解析服务装配文件;
b)服务装配文件中对于结点Component生成构件的内存模型Component;
c)解析构件的服务,生成服务的内存模型Service;
d)解析构件的实现,生成实现的内存模型Implementation;
e)服务中解析添加的Web Service绑定,生成绑定的内存模型Binding,其类图如图5所示。
(4)查找构件包下所有的Web Service类型扩展文件,包括以下步骤:
a)对***中排序的构件包列表遍历;
b)遍历构件包所在路径下的所有文件,查找Web Service类型扩展文件aegis。
(5)解析Web Service类型扩展文件aegis,包括以下步骤:
a)利用XML解析器解析Web Service类型扩展文件aegis;
b)遍历其中所有Method结点,解析出方法的输入、输出参数的元数据信息;
(6)根据构件的实现类,生成对应的WSDL,包括以下步骤:
a)根据添加Web Service绑定的服务查找对应的构件;
b)根据构件的元数据查找构件的实现类;
c)根据服务的名称,查找服务对应的类型扩展aegis定义;
d)根据类的定义以及类中方法元数据的定义,生成针对此类的WSDL描述,默认生成WSDL的样式为document,literal wrapper;
e)建立服务名称与服务生成WSDL的映射关系。
(7)发布为Web Service,动态生成Servlet,并注册到***,监听用户请求,包括以下步骤:
a)建立Servlet的缓存ServletHost;
b)新建HttpServlet,以Web Service的名称作为key放入缓存ServletHost中;
c)新建Servlet Filter,负责服务分发,并配置到应用中;
d)接收到Http请求时,根据URL从缓存ServletHost中判断是否已经注册,如果注册则把请求交由其Servlet进行处理,否则继续原有操作。
(8)用户请求数据转换为业务数据类型,包括以下步骤:
a)从Servlet中读取输入流,构造为SOAP Envelope;
b)从SOAP Envelope中分离出SOAP Header和SOAP Body数据;
c)查找服务对应构件的业务实现类以及调用的方法;
d)把SOAP Body数据转换为业务实现类要求的数据类型;
e)调用业务实现类。
(9)业务逻辑返回数据转换为SOAP信息,包括以下步骤:
a)业务返回数据按WSDL的要求进行序列化;
b)构件SOAP Envelope;
c)业务数据序列化的结果添加到SOAP Envelope的Body当中;
d)生成Servlet中输出流;
e)SOAP Envelope按byte数组(byte[])方式写到Servlet中输出流当中。
经过以上步骤,开发和发布Web Service功能全部完成,从中可以得出采用了该发明的SOA应用***中实现服务的快速发布方法,使得开发以及发布Web Service变得异常简单,开发效率大大提高,同时通过图形化的开发以及发布方式,使得用户对Web Service的细节不需要太多的了解,降低了学习和维护的成本,不再需要手工为各种不同的Web Service发布***编写晦涩难懂、极易出错的服务配置文件;运用该***可以快速、直观的将现有的业务功能发布为Web服务,大大提高了应用***间的集成效率。
采用了上述的面向服务的架构应用***中实现Web Service快速发布的方法,由于其中在开发期提供一个可视化的Web Service装配工具,直观形象、快捷方便的生成Web Service装配文件;同时,在运行期能够根据Web Service装配文件的定义,自动对外发布一个新的WebService,从而达到动态、快速发布Web Service的能力,极大的提高了SOA应用***之间的集成效率,从而不再需要手工为各种不同的Web Service发布***编写晦涩难懂、极易出错的服务配置文件;同时运用本发明的方法可以快速、直观的将现有的业务功能发布为Web服务,大大提高了应用***间的集成效率,而且工作性能稳定可靠、适用范围较为广泛。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (20)
1.一种面向服务的架构应用***中实现Web Service快速发布的方法,所述的面向服务的架构应用***包括图形化服务装配平台和服务运行平台,其特征在于,所述的方法包括图形化服务装配处理操作和服务运行处理操作,所述的图形化服务装配处理操作,包括以下步骤:
(11)所述的图形化服务装配平台新建构件包;
(12)所述的图形化服务装配平台在该新建的构件包中创建装配图文件;
(13)所述的图形化服务装配平台根据用户的操作,将现有业务功能的实现拖曳到装配图中,并在装配图中生成相应的构件;
(14)所述的图形化服务装配平台为所生成的该构件添加一个或多个服务,并指定服务的接口描述;
(15)所述的图形化服务装配平台根据需要为所述的添加的服务添加相应的Web Service绑定;
(16)所述的图形化服务装配平台保存装配图文件,且所述的面向服务的架构应用***对该装配图文件进行编译和编译检查;
所述的服务运行处理操作,包括以下步骤:
(21)所述的服务运行平台遍历构件包;
(22)所述的服务运行平台查找所述的构件包下所有的服务装配文件;
(23)所述的服务运行平台解析所述的服务装配文件;
(24)所述的服务运行平台查找该构件包下所有的Web Service类型扩展文件;
(25)所述的服务运行平台解析Web Service类型扩展文件aegis;
(26)所述的服务运行平台根据构件的实现类,生成对应的Web Service描述文件WSDL;
(27)所述的服务运行平台将所述的WSDL发布为Web Service,并动态生成相应的Servlet,同时将该Servlet注册到所述的面向服务的架构应用***中,监听用户请求;
(28)所述的服务运行平台将用户请求数据转换为业务数据类型;
(29)所述的服务运行平台将业务逻辑返回数据转换为SOAP信息。
2.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的构件包是指包含一定功能逻辑的物理单元,且每个构件包作为一个最小的部署单元部署到面向服务的架构运行***环境中,构件包下包含实现业务功能的所有依赖资源。
3.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的图形化服务装配平台将现有业务功能的实现拖曳到装配图中并在装配图中生成相应的构件,包括以下步骤:
(131)所述的图形化服务装配平台从资源管理器中拖拽现有业务功能的实现到可视化编辑器中;
(132)所述的图形化服务装配平台对业务功能实现中的方法进行逐一检查,判断该方法的参数和返回值中是否包含有复杂数据类型;
(133)如果是,则所述的图形化服务装配平台弹出服务装配向导,在向导中输入构件的名称、服务的名称,配置复杂数据类型中存放的元素的具体类型;
(134)所述的图形化服务装配平台在服务装配图中生成相应的构件,该构件中包含了一个服务。
4.根据权利要求3所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的判断该方法的参数和返回值中是否包含有复杂数据类型,具体为:
判断该方法的参数和返回值的类型是否是List、Map或者Java Bean类型中的一种或者多种。
5.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的对该装配图文件进行编译,具体为:
所述的面向服务的架构应用***根据装配图的定义,自动生成相应的符合SCA规范的服务装配文件。
6.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的对该装配图文件进行编译检查,包括以下步骤:
(161)所述的面向服务的架构应用***判断构件的实现是否存在;
(162)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(163)如果是,则所述的面向服务的架构应用***判断构件的服务接口描述是否存在;
(164)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;
(165)如果是,则所述的面向服务的架构应用***判断构件是否实现了服务接口描述中定义的方法;
(166)如果否,则该装配图文件中存在错误,提示用户进行修正,并结束;如果是,则直接结束。
7.根据权利要求6所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的构件为SCA规范中定义的、能够复用的最小功能单位。
8.根据权利要求6所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的构件的实现是指构件的具体功能实现。
9.根据权利要求6所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务接口描述为描述服务中所包含的业务方法的文件,所述的业务方法为发布为Web Service后该面向服务的架构应用***对外所提供的业务方法。
10.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台遍历构件包,包括以下步骤:
(211)所述的服务运行平台查找构件包所在的根路径,遍历所存在的所有构件包;
(212)所述的服务运行平台解析构件包的元数据,元数据信息位于构件包META-INF目录下的文件MANIFEST.MF;
(213)所述的服务运行平台按构件包的依赖关系,对构件包的进行排序,以便于构件包的加载。
11.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的MANIFEST.MF文件的内容按Java中MANIFEST的定义规则进行定义。
12.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的构件包的排序规则为:
如果第一构件包依赖于第二构件包,第二构件包依赖于第三构件包,第四构件包不依赖其它构件包,则相应的排序列表为:构件包D、构件包C、构件包B、构件包A。
13.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台查找所述的构件包下所有的服务装配文件,包括以下步骤:
(221)所述的服务运行平台对已经排序的构件包列表进行遍历;
(222)所述的服务运行平台遍历构件包所在路径以及子路径下的所有文件,查找其中的服务装配文件。
14.根据权利要求1所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台解析所述的服务装配文件,包括以下步骤:
(231)所述的服务运行平台利用XML解析器解析服务装配文件;
(232)在服务装配文件中对于结点Component生成构件的内存模型;
(233)所述的服务运行平台解析构件的服务,并生成服务的内存模型;
(234)所述的服务运行平台解析构件的实现,并生成实现的内存模型;
(235)所述的服务运行平台在服务中解析所添加的Web Service绑定,并生成绑定的内存模型。
15.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台查找该构件包下所有的Web Service类型扩展文件,包括以下步骤:
(241)所述的服务运行平台对已经排序的构件包列表遍历;
(242)所述的服务运行平台遍历构件包所在路径下的所有文件,查找Web Service类型扩展文件aegis。
16.根据权利要求15所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台解析Web Service类型扩展文件aegis,包括以下步骤:
(251)所述的服务运行平台利用XML解析器解析Web Service类型扩展文件aegis;
(252)所述的服务运行平台遍历该Web Service类型扩展文件aegis中所有Method结点,解析出方法的输入、输出参数的元数据信息。
17.根据权利要求15所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台根据构件的实现类生成对应的Web Service描述文件WSDL,包括以下步骤:
(261)所述的服务运行平台根据添加Web Service绑定的服务查找对应的构件;
(262)所述的服务运行平台根据构件的元数据查找构件的实现类;
(263)所述的服务运行平台根据服务的名称,查找服务对应的类型扩展aegis定义;
(264)所述的服务运行平台根据类的定义以及类中方法元数据的定义,生成针对此类的WSDL描述;
(265)所述的服务运行平台建立服务名称与服务生成WSDL的映射关系。
18.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的步骤(27)包括以下步骤:
(271)所述的服务运行平台建立Servlet的缓存ServletHost;
(272)所述的服务运行平台新建HttpServlet,以Web Service的名称作为key放入缓存ServletHost中;
(273)所述的服务运行平台新建Servlet Filter,负责服务分发,并配置到应用中;
(274)所述的服务运行平台接收到Http请求时,根据URL从缓存ServletHost中判断是否已经注册,如果注册则把请求交由其Servlet进行处理,否则继续原有操作。
19.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台将用户请求数据转换为业务数据类型,包括以下步骤:
(281)所述的服务运行平台从Servlet中读取输入流,构造为SOAP Envelope;
(282)所述的服务运行平台从SOAP Envelope中分离出SOAP Header和SOAP Body数据;
(283)所述的服务运行平台查找服务对应构件的业务实现类以及调用的方法;
(284)所述的服务运行平台把SOAP Body数据转换为业务实现类要求的数据类型;
(285)所述的服务运行平台调用业务实现类。
20.根据权利要求10所述的面向服务的架构应用***中实现Web Service快速发布的方法,其特征在于,所述的服务运行平台将业务逻辑返回数据转换为SOAP信息,包括以下步骤:
(291)所述的服务运行平台将业务返回数据按WSDL的要求进行序列化;
(292)所述的服务运行平台生成构件SOAP Envelope;
(293)所述的服务运行平台将业务数据序列化的结果添加到SOAP Envelope的Body当中;
(294)所述的服务运行平台生成Servlet中的输出流;
(295)所述的服务运行平台将SOAP Envelope按byte数组的方式写到Servlet中输出流当中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010507367 CN101957758B (zh) | 2010-10-14 | 2010-10-14 | 面向服务的架构应用***中实现Web Service快速发布的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010507367 CN101957758B (zh) | 2010-10-14 | 2010-10-14 | 面向服务的架构应用***中实现Web Service快速发布的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101957758A true CN101957758A (zh) | 2011-01-26 |
CN101957758B CN101957758B (zh) | 2013-01-23 |
Family
ID=43485102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010507367 Active CN101957758B (zh) | 2010-10-14 | 2010-10-14 | 面向服务的架构应用***中实现Web Service快速发布的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101957758B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279754A (zh) * | 2011-09-19 | 2011-12-14 | 山东中创软件工程股份有限公司 | 一种业务处理执行语言流程部署方法 |
CN102291464A (zh) * | 2011-08-29 | 2011-12-21 | 上海普元信息技术股份有限公司 | BPM中业务流程动态生成Web Service的***及方法 |
CN102323884A (zh) * | 2011-09-07 | 2012-01-18 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务容器 |
CN102541565A (zh) * | 2011-12-31 | 2012-07-04 | 深圳中兴网信科技有限公司 | 一种数据对象与xml等效互转的方法与装置 |
CN102624766A (zh) * | 2011-01-31 | 2012-08-01 | 无锡华润上华半导体有限公司 | ***集成方法及其装置 |
CN102811257A (zh) * | 2012-07-27 | 2012-12-05 | 南京邮电大学 | 一种网络服务自动发布和组合方法 |
CN102982494A (zh) * | 2012-10-31 | 2013-03-20 | 长江航道局 | 一种基于电子航道图及水位数据的航道水深信息生成方法 |
CN104572096A (zh) * | 2014-12-29 | 2015-04-29 | 中国科学院计算机网络信息中心 | 一种基于web的多模型数据可视化开发方法及平台 |
CN105224296A (zh) * | 2014-06-19 | 2016-01-06 | 上海快测网络信息技术有限公司 | 基于独立第三方的Web服务Qos属性评价***及其评价方法 |
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN106487912A (zh) * | 2016-10-26 | 2017-03-08 | 北京荣之联科技股份有限公司 | 多服务应用的管理与发布方法及装置 |
CN107368317A (zh) * | 2017-07-24 | 2017-11-21 | 无锡江南计算技术研究所 | 一种Web应用模块的复用和重载***及方法 |
CN108121578A (zh) * | 2017-12-29 | 2018-06-05 | 东软集团股份有限公司 | 生成应用程序的方法、装置和存储介质以及电子设备 |
CN109165351A (zh) * | 2018-08-27 | 2019-01-08 | 成都信息工程大学 | 一种基于语义的服务构件搜索推荐方法 |
CN109766086A (zh) * | 2019-01-11 | 2019-05-17 | 成都淞幸科技有限责任公司 | 一种基于soa架构的软件构件服务***及方法、计算机 |
CN109783140A (zh) * | 2018-12-27 | 2019-05-21 | 远光软件股份有限公司 | 一种统推集成接口差异化的共存处理方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188158B1 (en) * | 2000-07-15 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | System and method for component-based software development |
CN101763428A (zh) * | 2010-01-04 | 2010-06-30 | 山东浪潮齐鲁软件产业股份有限公司 | 一种SOA对web服务的注册存储管理应用*** |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和*** |
CN101853156A (zh) * | 2010-05-12 | 2010-10-06 | 上海普元信息技术股份有限公司 | 构件化软件***中实现Web Service调用的方法 |
-
2010
- 2010-10-14 CN CN 201010507367 patent/CN101957758B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188158B1 (en) * | 2000-07-15 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | System and method for component-based software development |
CN101763428A (zh) * | 2010-01-04 | 2010-06-30 | 山东浪潮齐鲁软件产业股份有限公司 | 一种SOA对web服务的注册存储管理应用*** |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和*** |
CN101853156A (zh) * | 2010-05-12 | 2010-10-06 | 上海普元信息技术股份有限公司 | 构件化软件***中实现Web Service调用的方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624766A (zh) * | 2011-01-31 | 2012-08-01 | 无锡华润上华半导体有限公司 | ***集成方法及其装置 |
CN102624766B (zh) * | 2011-01-31 | 2014-11-05 | 无锡华润上华半导体有限公司 | ***集成方法及其装置 |
CN102291464A (zh) * | 2011-08-29 | 2011-12-21 | 上海普元信息技术股份有限公司 | BPM中业务流程动态生成Web Service的***及方法 |
CN102291464B (zh) * | 2011-08-29 | 2013-11-27 | 普元信息技术股份有限公司 | BPM中业务流程动态生成Web Service的***及方法 |
CN102323884A (zh) * | 2011-09-07 | 2012-01-18 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务容器 |
CN102323884B (zh) * | 2011-09-07 | 2014-07-09 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务装置 |
CN102279754A (zh) * | 2011-09-19 | 2011-12-14 | 山东中创软件工程股份有限公司 | 一种业务处理执行语言流程部署方法 |
CN102541565A (zh) * | 2011-12-31 | 2012-07-04 | 深圳中兴网信科技有限公司 | 一种数据对象与xml等效互转的方法与装置 |
CN102811257B (zh) * | 2012-07-27 | 2015-06-17 | 南京邮电大学 | 一种网络服务自动发布和组合方法 |
CN102811257A (zh) * | 2012-07-27 | 2012-12-05 | 南京邮电大学 | 一种网络服务自动发布和组合方法 |
CN102982494B (zh) * | 2012-10-31 | 2015-08-19 | 长江航道局 | 一种基于电子航道图及水位数据的航道水深信息生成方法 |
CN102982494A (zh) * | 2012-10-31 | 2013-03-20 | 长江航道局 | 一种基于电子航道图及水位数据的航道水深信息生成方法 |
CN105224296A (zh) * | 2014-06-19 | 2016-01-06 | 上海快测网络信息技术有限公司 | 基于独立第三方的Web服务Qos属性评价***及其评价方法 |
CN105224296B (zh) * | 2014-06-19 | 2019-01-04 | 苏州市龙测智能科技有限公司 | 基于独立第三方的Web服务Qos属性评价***及其评价方法 |
CN104572096B (zh) * | 2014-12-29 | 2017-12-29 | 中国科学院计算机网络信息中心 | 一种基于web的多模型数据可视化开发方法及平台 |
CN104572096A (zh) * | 2014-12-29 | 2015-04-29 | 中国科学院计算机网络信息中心 | 一种基于web的多模型数据可视化开发方法及平台 |
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN106254423B (zh) * | 2016-07-20 | 2019-06-28 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN106487912A (zh) * | 2016-10-26 | 2017-03-08 | 北京荣之联科技股份有限公司 | 多服务应用的管理与发布方法及装置 |
CN106487912B (zh) * | 2016-10-26 | 2019-10-11 | 北京荣之联科技股份有限公司 | 多服务应用的管理与发布方法及装置 |
CN107368317A (zh) * | 2017-07-24 | 2017-11-21 | 无锡江南计算技术研究所 | 一种Web应用模块的复用和重载***及方法 |
CN108121578A (zh) * | 2017-12-29 | 2018-06-05 | 东软集团股份有限公司 | 生成应用程序的方法、装置和存储介质以及电子设备 |
CN109165351A (zh) * | 2018-08-27 | 2019-01-08 | 成都信息工程大学 | 一种基于语义的服务构件搜索推荐方法 |
CN109783140A (zh) * | 2018-12-27 | 2019-05-21 | 远光软件股份有限公司 | 一种统推集成接口差异化的共存处理方法及*** |
CN109766086A (zh) * | 2019-01-11 | 2019-05-17 | 成都淞幸科技有限责任公司 | 一种基于soa架构的软件构件服务***及方法、计算机 |
Also Published As
Publication number | Publication date |
---|---|
CN101957758B (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101957758B (zh) | 面向服务的架构应用***中实现Web Service快速发布的方法 | |
CN100527127C (zh) | 查询中间语言的方法和*** | |
US7526490B2 (en) | Method of and system for providing positional based object to XML mapping | |
US7676786B2 (en) | System and method and apparatus for using UML tools for defining web service bound component applications | |
CN101339500B (zh) | 基于xml模式的数据绑定应用程序接口生成方法 | |
US7743391B2 (en) | Flexible architecture component (FAC) for efficient data integration and information interchange using web services | |
CN100498768C (zh) | 公共查询运行期***以及应用编程接口 | |
CN101763255B (zh) | 一种专用界面工具的格式转换方法及装置 | |
CN101609415B (zh) | 基于中间件的通用服务调用***及方法 | |
CN104156313A (zh) | 一种Web服务测试用例自动生成方法 | |
CN112287013B (zh) | 数据转换方法及适配器 | |
WO2003009517A2 (en) | Generate customized xml mapping conversion code | |
CN102270137B (zh) | 一种获取体系结构描述语言的方法和一种建模工具 | |
CN102968307A (zh) | 一种基于java的web开发中间件 | |
CN100561476C (zh) | 一种基于asn类型对象的代码生成方法 | |
Marcos et al. | Representing web services with uml: A case study | |
CN100596139C (zh) | 使用元数据定义映射来构建组件应用程序的***和方法 | |
CN103064876A (zh) | 面向地理信息应用的空间数据服务化获取方法 | |
CN101149746A (zh) | 在多个web服务中发现至少一个web服务的方法 | |
US20080127056A1 (en) | Generation of managed assemblies for networks | |
CN102043622A (zh) | 一种电子控制器基础软件通用配置器 | |
CN101520770A (zh) | 分析、转换和拆分结构化数据的方法和装置 | |
CN107797823A (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN100511140C (zh) | 构件化软件***实现脚本语言调用多输出参数接口的方法 | |
CN104598619A (zh) | 一种基于约束求解器的服务组合验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: PRIMETON INFORMATION TECHNOLOGY CO., LTD. Free format text: FORMER NAME: PRIMETON TECHNOLOGIES LTD. |
|
CP01 | Change in the name or title of a patent holder |
Address after: 201203, Shanghai Zhangjiang hi tech park, Pudong New Area, No. 456 blue wave road, 4F Patentee after: PRIMETON INFORMATION TECHNOLOGY CO., LTD. Address before: 201203, Shanghai Zhangjiang hi tech park, Pudong New Area, No. 456 blue wave road, 4F Patentee before: Primeton Technologies Ltd. |