CN101964797A - 一种服务交互方法及系统 - Google Patents
一种服务交互方法及系统 Download PDFInfo
- Publication number
- CN101964797A CN101964797A CN2010105051459A CN201010505145A CN101964797A CN 101964797 A CN101964797 A CN 101964797A CN 2010105051459 A CN2010105051459 A CN 2010105051459A CN 201010505145 A CN201010505145 A CN 201010505145A CN 101964797 A CN101964797 A CN 101964797A
- Authority
- CN
- China
- Prior art keywords
- service
- osgi
- web
- web service
- issue
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种服务交互方法,包括:服务端将服务端OSGi框架中注册的OSGi服务发布为Web Service;客户端获取服务端发布的Web Service,调用Web Service接口,生成Web Service的代理对象,并将代理对象注册为客户端OSGi框架中的OSGi服务。本发明提供的服务交互方法及系统,将服务端OSGi框架中注册的OSGi服务发布为Web Service,客户端调用WebService接口,获取发布的Web Service,并生成Web Service的代理对象,将生成的代理对象注册为客户端OSGi框架中的OSGi服务,实现不同OSGi框架中bundles之间的交互。
Description
技术领域
本申请涉及网络及计算机领域,特别是涉及一种不同OSGi框架中服务交互的方法及系统。
背景技术
OSGi框架提供了一个本地服务注册中心使得框架中安装的bundles可以通过服务进行交互,这些服务由一个bundle注册,被另一个bundle获取。在这种情况下只有部署在同一个OSGi框架中的bundles之间可以通过服务进行交互,部署在不同OSGi框架中的bundles之间没有办法进行交互,因此需要一种方法或产品来实现不同OSGi框架中的bundles之间的交互。
发明内容
为解决上述技术问题,本申请实施例提供一种服务交互方法及系统,有效的实现了不同OSGi框架中的bundles之间的交互。
技术方案如下:
一种服务交互方法、包括:
服务端将服务端OSGi框架中注册的OSGi服务发布为Web Service;
客户端获取所述服务端发布的Web Service,调用Web Service接口,生成所述Web Service的代理对象,并将所述代理对象注册为所述客户端OSGi框架中的OSGi服务。
上述的方法,优选的,所述服务端将OSGi服务
发布为Web Service的过程具体为:
定义服务接口,实现服务实例;
配置服务注册信息,将所述服务实例注册为OSGi服务;
配置服务发布信息,将所述OSGi服务发布为Web Service。
上述的方法,优选的,所述服务发布信息包括:服务发布的Web Service接口、服务发布的方式、服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式。
一种服务交互系统,包括:服务端和客户端;
所述服务端用于将服务端OSGi框架中注册的OSGi服务发布为WebService;
所述客户端用于获取所述服务端发布的Web Service,调用Web Service接口,生成所述Web Service的代理对象,并将所述代理对象注册为所述客户端OSGi框架中的OSGi服务。
上述的系统,优选的,客户端包括:服务获取单元、代理对象生成单元和第一注册单元;
所述服务获取单元用于获取服务端发布的Web Service;
所述代理对象生成单元用于调用Web Service接口,生成所述服务获取单元获取的Web Service的代理对象;
所述第一注册单元用于将所述代理对象生成单元生成的代理对象注册为客户端OSGi框架中的OSGi服务。
上述的系统,优选的,服务端包括:接口定义单元、第二注册单元和服务发布单元;
所述接口定义单元用于定义服务接口,实现服务实例;
所述第二注册单元用于配置服务注册信息,将所述接口定义单元实现的服务实例注册为OSGi服务;
所述服务发布单元用于配置服务发布信息,将所述第二注册单元注册的OSGi服务发布为Web Service。
上述的系统,优选的,所述服务发布单元发布的服务发布信息包括:服务发布的Web Service接口、服务发布的方式、服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式。
由以上本申请实施例提供的技术方案可见,本发明提供的一种服务交互方法及系统,将服务端OSGi框架中注册的OSGi服务发布为Web Service,客户端调用Web Service接口,获取服务端发布的Web Service,并生成WebService的代理对象,将生成的代理对象注册为客户端OSGi框架中的OSGi服务,这样一个OSGi框架中的bundles可以通过将注册的服务先转换为WebService,然后将Web Service注册为另一个OSGi框架中的服务,通过上述转换过程,实现不同OSGi框架中bundles之间的交互。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的服务交互方法的流程图;
图2为本申请实施例公开的将OSGi服务发布为Web Service的流程图;
图3为本申请实施例公开的服务交互方法的架构图;
图4为本申请实施例公开的服务交互系统的结构图;
图5为本申请实施例公开的服务交互系统的一详细结构图;
图6为本申请实施例公开的服务交互系统的又一详细结构图。
具体实施方式
本申请实施例提供一种服务交互方法及系统,基于Apache CXF(CXF是一个开源的Web Service框架,为应用程序提供发布Web Service和调用WebService的功能),结合Loong Dservice(OSGI Declarative Services规范的开源实现,OSGi Declarative Services是一个面向服务的组件模型,它制订的目的是更方便地在OSGi服务平台上发布、查找、绑定服务,对服务进行动态管理,如监控服务状态以及解决服务之间的复杂的依赖关系等问题。OSGiDeclarative Services采用服务组件的延迟加载以及组件生命周期管理的方式来控制对于内存的占用以及启动的快速,很好的解决了传统的OSGi服务模型在开发和部署比较复杂应用时内存占用大、启动慢等问题,并且对服务组件的描述采用元数据来实现,十分便于用户理解和使用。在OSGi DeclarativeServices中,Component可以是Service的提供者和引用者,一个Component可以提供0至多个Service,也可以引用0至多个Service,并且采用component方式封装Service,方便了对Service的复用,从开发者的角度来看,该服务组件模型简化了在OSGi服务平台中的编程模型。),提供了使部署在不同的OSGi框架中的bundles能够通过服务进行交互的方法。
以上是本申请的核心思想,为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例公开的服务交互方法的流程图如图1所示,包括:
步骤S101:服务端将服务端OSGi框架中注册的OSGi服务发布为WebService;
步骤S102:客户端获取服务端发布的Web Service,调用Web Service接口,生成上述Web Service的代理对象,并将上述代理对象注册为客户端OSGi框架中的OSGi服务。
需要对以上步骤进行说明的是:
以上步骤S102中调用Web Service接口,这里的Web Service接口指的是java应用编程接口for xml web service。
本申请实施例公开的将OSGi服务发布为Web Service的流程图如图2所示,包括:
步骤S201:定义服务接口,实现服务实例;
步骤S202:配置服务注册信息,将服务实例注册为OSGi服务;
步骤S203:配置服务发布信息,将OSGi服务发布为Web Service。
将服务端注册的OSGi发布为Web Service:
开发程序提供系统或应用所需要的逻辑功能,例如,气象服务作为服务端向用户提供天气查询的功能,首先定义天气查询的服务接口,然后实现该服务接口,即实现一个服务实例;
配置Loong Dservice的元数据信息,Loong Dservice将实现的服务实例注册为OSGi服务;继续配置元数据文件信息,包括:发布的Web Service的接口,如WeatherService;Web Service的发布方式,服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式等;元数据文件信息配置完毕后,将所述配置信息添加至XML文档中,将注册的OSGi服务转化为WebService。
将客户端依赖的Web Service转化为本地OSGi服务:
开发程序应用服务端发布的Web Service,配置元数据文件信息,依赖实现Web Service接口的OSGi服务;
继续配置服务信息,描述服务要依赖一个Web Service以及如何导入WebService,配置Web Service的接口,导入服务的方式,Web Service的WSDL文档的地址,服务的命名空间,服务的名称,服务的端点名称等。通过服务的命名空间、服务的名称和服务的端点名称可以帮助服务构建定位WebService的WSDL文档的地址。
通过配置服务信息,CXF创建需要的Web Service代理对象(具有WebService同样的接口),CXF根据配置创建代理对象,分布式提供者通过OSGI的API将该代理对象注册为OSGi服务。
然后Loong Dservice将该服务绑定到服务构件,服务构件就可以像使用本地OSGi服务一样使用外部的Web Service。
本申请实施例公开的服务交互方法的架构图如图3所示,图中3中,服务提供者相当于服务端,通过配置元数据的方式声明要发布一个Web Service(假设,接口为A,实现为Aimpl),分布式提供者根据服务提供者的声明将Aimpl实例对象发布为Web Service,即为Aimpl实例对象创建了一个代理,如图3中的服务端点。
服务消费者相当于客户端,通过配置元数据的方式声明要依赖一个WebService(接口为A),分布式提供者根据声明为服务消费者指定的Web Service创建一个代理,即图3中服务端点引用,代理具有和Web Service同样的接口A,分布式提供者将为服务消费者所依赖服务的Web Service创建的代理注册为OSGi服务,服务消费者就可以通过Loong Dservice绑定到实现了接口A的OSGi服务。
本申请实施例公开的架构图中,服务提供者(必须是Loong Dservice的服务构件)发布的Web Service必须是其注册的OSGi服务的子集;
服务消费者(必须是Loong Dservice的服务构件)依赖的Web Service必须是其依赖的OSGi服务的子集。
本申请实施例公开的服务交互系统的结构图如图4所示,包括:服务端302和客户端301;
服务端302用于将服务端OSGi框架中注册的OSGi服务发布为WebService;
客户端301用于获取服务端302发布的Web Service,调用Web Service接口,生成Web Service的代理对象,并将代理对象注册为所述客户端OSGi框架中的OSGi服务。
本申请实施例公开的服务交互系统的一详细结构图如图5所示,客户端301包括:服务获取单元303、代理对象生成单元304和第一注册单元305;
服务获取单元303用于获取服务端发布的Web Service;
代理对象生成单元304用于调用Web Service接口,生成服务获取单元303获取的Web Service的代理对象;
第一注册单元305用于将代理对象生成单元304生成的代理对象注册为客户端OSGi框架中的OSGi服务。
本申请实施例公开的服务交互系统的又一详细结构图如图6所示服务端302包括:接口定义单元306、第二注册单元307和服务发布单元308;
接口定义单元306用于定义服务接口,实现服务实例;
第二注册单元307用于配置服务注册信息,将接口定义单元306实现的服务实例注册为OSGi服务;
服务发布单元308用于配置服务发布信息,将第二注册单元307注册的OSGi服务发布为Web Service。
服务发布单元308发布的服务发布信息包括:服务发布的Web Service接口、服务发布的方式、服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (7)
1.一种服务交互方法,其特征在于,包括:
服务端将服务端OSGi框架中注册的OSGi服务发布为Web Service;
客户端获取所述服务端发布的Web Service,调用Web Service接口,生成所述Web Service的代理对象,并将所述代理对象注册为所述客户端OSGi框架中的OSGi服务。
2.根据权利要求1所述的方法,其特征在于,所述服务端将OSGi服务发布为Web Service的过程具体为:
定义服务接口,实现服务实例;
配置服务注册信息,将所述服务实例注册为OSGi服务;
配置服务发布信息,将所述OSGi服务发布为Web Service。
3.根据权利要求2所述的方法,其特征在于,所述服务发布信息包括:服务发布的Web Service接口、服务发布的方式、服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式。
4.一种服务交互系统,其特征在于,包括:服务端和客户端;
所述服务端用于将服务端OSGi框架中注册的OSGi服务发布为WebService;
所述客户端用于获取所述服务端发布的Web Service,调用Web Service接口,生成所述Web Service的代理对象,并将所述代理对象注册为所述客户端OSGi框架中的OSGi服务。
5.根据权利要求4所述的系统,其特征在于,客户端包括:服务获取单元、代理对象生成单元和第一注册单元;
所述服务获取单元用于获取服务端发布的Web Service;
所述代理对象生成单元用于调用Web Service接口,生成所述服务获取单元获取的Web Service的代理对象;
所述第一注册单元用于将所述代理对象生成单元生成的代理对象注册为客户端OSGi框架中的OSGi服务。
6.根据权利要求4所述的系统,其特征在于,服务端包括:接口定义单元、第二注册单元和服务发布单元;
所述接口定义单元用于定义服务接口,实现服务实例;
所述第二注册单元用于配置服务注册信息,将所述接口定义单元实现的服务实例注册为OSGi服务;
所述服务发布单元用于配置服务发布信息,将所述第二注册单元注册的OSGi服务发布为Web Service。
7.根据权利要求6所述的系统,其特征在于,所述服务发布单元发布的服务发布信息包括:服务发布的Web Service接口、服务发布的方式、服务发布为Web Service的根地址、相对地址及服务发布的数据绑定方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105051459A CN101964797A (zh) | 2010-09-29 | 2010-09-29 | 一种服务交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105051459A CN101964797A (zh) | 2010-09-29 | 2010-09-29 | 一种服务交互方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101964797A true CN101964797A (zh) | 2011-02-02 |
Family
ID=43517529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105051459A Pending CN101964797A (zh) | 2010-09-29 | 2010-09-29 | 一种服务交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101964797A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158490A (zh) * | 2011-04-07 | 2011-08-17 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
CN102323884A (zh) * | 2011-09-07 | 2012-01-18 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务容器 |
CN102521661A (zh) * | 2011-11-29 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种云计算环境中可扩展用户申请类型的方法 |
CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
CN105335174A (zh) * | 2014-07-15 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种非OSGi的Java应用程序调用OSGi服务的方法及装置 |
CN105681463A (zh) * | 2016-03-14 | 2016-06-15 | 浪潮软件股份有限公司 | 一种分布式服务框架以及分布式服务调用系统 |
CN105827567A (zh) * | 2015-01-06 | 2016-08-03 | 中国移动通信集团贵州有限公司 | 服务管控方法及能力开放平台 |
CN107171959A (zh) * | 2017-04-20 | 2017-09-15 | 深圳中兴网信科技有限公司 | 基于soa的动态路由方法及动态路由系统 |
CN111164945A (zh) * | 2017-10-13 | 2020-05-15 | 瑞典爱立信有限公司 | 用于不同架构之间的代理的方法和装置 |
CN115277659A (zh) * | 2022-07-04 | 2022-11-01 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1638376A (zh) * | 2004-01-08 | 2005-07-13 | 三星电子株式会社 | 用于共享网络上的服务的设备和方法 |
US20050154783A1 (en) * | 2001-02-27 | 2005-07-14 | Microsoft Corporation | Intent based processing |
CN1949731A (zh) * | 2005-10-12 | 2007-04-18 | 三星电子株式会社 | 向外部装置提供家庭网络装置服务的方法和设备 |
CN101218797A (zh) * | 2005-07-04 | 2008-07-09 | Sk电信股份有限公司 | 用于家庭网络服务的住宅网关系统 |
-
2010
- 2010-09-29 CN CN2010105051459A patent/CN101964797A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050154783A1 (en) * | 2001-02-27 | 2005-07-14 | Microsoft Corporation | Intent based processing |
CN1638376A (zh) * | 2004-01-08 | 2005-07-13 | 三星电子株式会社 | 用于共享网络上的服务的设备和方法 |
CN101218797A (zh) * | 2005-07-04 | 2008-07-09 | Sk电信股份有限公司 | 用于家庭网络服务的住宅网关系统 |
CN1949731A (zh) * | 2005-10-12 | 2007-04-18 | 三星电子株式会社 | 向外部装置提供家庭网络装置服务的方法和设备 |
Non-Patent Citations (5)
Title |
---|
《中国优秀硕士学位论文全文数据库 信息科技辑2008年》 20080915 悦怡 基于OSGI的面向服务插件框架研究与应用 3、7 , 第09期 * |
周恒俊等: "基于OSGI和Web Service的智能用户能量管理平台设计", 《低压电器》 * |
悦怡: "基于OSGI的面向服务插件框架研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑2008年》 * |
林川: "基于UDDI和WSDL的Web服务发布方案", 《计算机工程与设计》 * |
王文娟: "基于UDDI的Web服务信息发布系统", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑 2004年》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158490A (zh) * | 2011-04-07 | 2011-08-17 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
CN102158490B (zh) * | 2011-04-07 | 2013-10-23 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
CN102323884A (zh) * | 2011-09-07 | 2012-01-18 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务容器 |
CN102323884B (zh) * | 2011-09-07 | 2014-07-09 | 山东中创软件工程股份有限公司 | 一种多Web服务发布的方法及Web服务装置 |
CN102521661A (zh) * | 2011-11-29 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种云计算环境中可扩展用户申请类型的方法 |
CN105335174B (zh) * | 2014-07-15 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 一种非OSGi的Java应用程序调用OSGi服务的方法及装置 |
CN105335174A (zh) * | 2014-07-15 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种非OSGi的Java应用程序调用OSGi服务的方法及装置 |
CN105827567A (zh) * | 2015-01-06 | 2016-08-03 | 中国移动通信集团贵州有限公司 | 服务管控方法及能力开放平台 |
CN105827567B (zh) * | 2015-01-06 | 2020-01-17 | 中国移动通信集团贵州有限公司 | 服务管控方法及能力开放平台 |
CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
CN105681463A (zh) * | 2016-03-14 | 2016-06-15 | 浪潮软件股份有限公司 | 一种分布式服务框架以及分布式服务调用系统 |
CN107171959A (zh) * | 2017-04-20 | 2017-09-15 | 深圳中兴网信科技有限公司 | 基于soa的动态路由方法及动态路由系统 |
CN111164945A (zh) * | 2017-10-13 | 2020-05-15 | 瑞典爱立信有限公司 | 用于不同架构之间的代理的方法和装置 |
US11750708B2 (en) | 2017-10-13 | 2023-09-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for proxy between different architectures |
CN115277659A (zh) * | 2022-07-04 | 2022-11-01 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及系统 |
CN115277659B (zh) * | 2022-07-04 | 2024-04-12 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101964797A (zh) | 一种服务交互方法及系统 | |
US10243875B2 (en) | Cloud service management system | |
KR20120045586A (ko) | 다중 테넌트용 SaaS 애플리케이션 설정 장치 및 방법 | |
CN109714332B (zh) | 基于Thrift和语法树解析的协议转换方法及装置 | |
CN102591724B (zh) | 消息交互方法及装置 | |
CN106850788A (zh) | 面向多源异构地理信息资源的集成框架及集成方法 | |
CN104967650A (zh) | 第三方电商平台统一发布方法 | |
CN103118137B (zh) | 跨域访问页面装置和跨域访问页面方法 | |
CN106301885A (zh) | 统一业务管理的方法和系统 | |
CN109634751A (zh) | 一种利用electron框架实现应用层和底层通信的方法 | |
CN102375894B (zh) | 一种管理不同类型文件系统的方法 | |
CN101533361A (zh) | 远程过程调用及生成服务接口信息的方法、系统和设备 | |
CN104660547B (zh) | 一种实现远距离通信的服务平台 | |
CN104572099A (zh) | 基于组件和中间件的低耦合框架数据处理方法及系统 | |
CN105847319A (zh) | 一种移动终端网络请求方法及系统 | |
CN105549964A (zh) | 页面的显示方法和系统 | |
WO2013082898A1 (zh) | 一种业务数据的呈现方法、终端、服务器及系统 | |
CN105245553A (zh) | 一种soa系统及业务处理方法 | |
CN109218402A (zh) | 端云一体化解决方案 | |
CN103561113A (zh) | Web Service接口的生成方法及装置 | |
CN101887640A (zh) | 交通信息发布的方法及系统 | |
CN102137079B (zh) | 一种远程过程调用的业务开发方法及装置 | |
CN109669720A (zh) | 基于Promise的链式异步请求处理方法、装置及电子设备 | |
CN103269327A (zh) | 一种基于代理机制的通用文件数据服务的实现方法 | |
Jin et al. | Mobile Mashup architecture solution, direction and proposal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110202 |