[发明专利]一种基于CXF的OSGI框架下Web‑Service服务动态发布和管理方法在审
申请号: | 201710947124.4 | 申请日: | 2017-10-12 |
公开(公告)号: | CN107690003A | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 丁捷 | 申请(专利权)人: | 国电南瑞科技股份有限公司;南京南瑞集团公司;国电南瑞南京控制系统有限公司;南京南瑞集团公司节能环保分公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 南京纵横知识产权代理有限公司32224 | 代理人: | 董建林,俞翠华 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cxf osgi 框架 web service 服务 动态 发布 管理 方法 | ||
技术领域
本发明属于电网调度自动化技术领域,具体涉及一种基于CXF的OSGI框架下Web-Service服务动态发布和管理方法,可以用于电力系统软件平台后台服务部分的软件集成。
背景技术
Web-Service是一个平台独立的、低耦合的、自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
在大数据、云计算普及的今天,很多基于OSGI框架的信息类电力系统,经常提出对其他系统提供接口调用的需求。Apache CXF是一个开源的Services框架,对于OSGI也有较好的支持,具有高性能、可扩展、易使用等优点,非常适合用于对系统服务接口的Web-Service服务封装发布。
CXF基于OSGI的定制模块(cxf-dosgi-ri-singlebundle-distribution-x.jar),由于含有大量服务监听和类加载,非常影响系统启动速度;其调用方式是静态的,且不能使用比较直观的spring注入;服务接口发布与接口实现耦合度比较高,不利于发挥OSGI服务开发的便利性。这些问题在一定程度上影响了CXF在OSGI框架系统开发中的作用。
发明内容
针对上述问题,本发明提出一种基于CXF的OSGI框架下Web-Service服务动态发布和管理方法,通过创建一个动态发布模块服务,间接调用CXF来发布Web-Service服务,简化接口服务发布流程,并可对已发布的服务进行状态查询和启停管理。
实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于CXF的OSGI框架下Web-Service服务动态发布和管理方法,包括以下步骤:
(1)建立OSGI的基础框架,其包括Apache CXF模块和接口实现模块,其中,所述的接口实现模块用以实现需要发布成Web-Service服务的具体函数业务逻辑,所述Apache CXF模块用以将注册的接口实现类发布成Web-Service服务提供给供客户端调用;
(2)以Activator模式创建动态发布模块,并添加到所述的OSGI的基础框架中,其位于Apache CXF模块和接口实现模块之间;
(3)设定Apache CXF模块的启动规则;
(4)动态发布模块随系统在Activator模式下启动,获取CXF注册服务所必须的BundleContext对象,将CXF注册服务的代码进行二次封装后供接口实现模块调用;所述Apache CXF模块按照设定的启动规则运行;系统运行过程中,接口实现模块通过动态发布模块向Apache CXF模块注册,生成对应的Web-Service服务,动态发布模块同时缓存注册接口类的相关信息做状态查询和启停管理。
进一步地,所述步骤(2)中的Apache CXF模块的启动规则具体为:在动态发布模块获取平台启动完成的监听事件后,动态发布模块自动将Apache CXF模块拉起。
进一步地,所述步骤(4)中,接口实现模块以spring注入的方式调用动态发布模块,传入接口类对象以及服务URL后缀,即可动态地将接口类发布成Web-Service服务。
进一步地,所述步骤(4)中,动态发布模块在被接口实现模块调用时,将调用模块和服务URL后缀信息进行缓存,以实现对已发布的Web-Service服务进行状态查询和启停管理。
进一步地,所述Apache CXF模块负责将接口实现模块发布成Web-Service服务供客户端程序调用。
进一步地,所述OSGI的基础框架还包括其它服务模块;所述其他服务模块包括数据库服务模块和消息服务模块,所述其它服务模块用于调用接口实现模块。
本发明的有益效果:
本发明的一种基于CXF的OSGI框架下Web-Service服务动态发布和管理方法,以Activator模式创建一个动态发布模块,用于隔离Web-Service的接口实现与服务发布;所述的接口实现模块通过传入接口类对象以及服务URL后缀,可动态地将接口类发布成Web-Service服务。本发明将发布接口所需的步骤最简化,开发人员可以将更多的精力放在接口实现上;同时动态发布模块还可以通过缓存调用接口信息的方式,对已发布的Web-Service服务进行状态查询和启停管理。
附图说明
图1为本发明一种实施例的模块架构图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南瑞科技股份有限公司;南京南瑞集团公司;国电南瑞南京控制系统有限公司;南京南瑞集团公司节能环保分公司,未经国电南瑞科技股份有限公司;南京南瑞集团公司;国电南瑞南京控制系统有限公司;南京南瑞集团公司节能环保分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710947124.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于云计算的信息技术分析系统
- 下一篇:一种用于商场的铝方通安装结构