[发明专利]一种软件架构系统在审
申请号: | 201711309851.4 | 申请日: | 2017-12-11 |
公开(公告)号: | CN109901817A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 王雅文 | 申请(专利权)人: | 镇江共远软件开发有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务插件 数据请求 软件架构 业务逻辑 服务管理模块 监听管理模块 模块化开发 插件执行 分发模块 管理模块 规则处理 控制业务 扩展属性 数值确定 动态化 浏览器 监听 路由 分发 服务 管理 外部 配置 发布 | ||
1.一种软件架构系统,所述软件架构系统基于OSGI规范和REST原则实现,其特征在于,所述系统包括:
监听管理模块,用于监听OSGI容器内的所有业务插件和/或服务,所述业务插件用于根据外部的数据请求执行相应的业务逻辑;
依赖管理模块,用于提供和管理多个所述业务插件之间的OSGI服务依赖;
服务管理模块,用于控制所述业务插件执行业务逻辑,控制所述OSGI容器内的服务的发布和停止,以及实现对所述OSGI容器内的资源插件的静态资源管理;
路由分发模块,用于接收来自浏览器的数据请求,若所述数据请求存在扩展属性,则根据所述数据请求的扩展属性的数值确定其对应的处理方法,并将所述数据请求分发至对应于所述处理方法的业务插件,由该业务插件进行处理,若不存在扩展属性,则按照REST原则的默认规则进行分发至对应的业务插件。
2.根据权利要求1所述的系统,其特征在于,还包括中间件模块,所述中间件模块具体包括:
格式管理子模块,用于将所述数据请求统一映射到PageJSON对象中,并将返回值所述浏览器的返回数据统一封装为ResultData对象、且所述返回数据的数据格式为JSON字符串;
请求转发子模块,用于将接收到的所述数据请求转换为REST请求,以由所述路由分发模块根据所述REST请求的PageJSON扩展属性的数值确定其对应的处理方法,并将所述REST请求分发至对应于所述处理方法的业务插件,由该业务插件进行处理。
3.根据权利要求1所述的系统,其特征在于,所述系统中设置有核心插件,所述监听管理模块通过所述核心插件实现对所述业务插件和/或服务的监听。
4.根据权利要求1所述的系统,其特征在于,所述依赖管理模块还为每个所述业务插件内部的对象之间提供依赖,具体包括:所述系统启动时为指定的业务插件创建一个IocContext类,并根据所述IocContext类的配置注解对应的实例化对象,并管理所述实例化对象的生命周期,实现自定义的扩展点,然后利用所述自定义的扩展点为所述指定的业务插件内部的对象之间提供依赖。
5.根据权利要求1所述的系统,其特征在于,所述路由分发模块还用于:在当前节点上的业务插件不可用或抛出特定异常时,将所述数据请求分发至另一可用节点的业务插件。
6.根据权利要求1至5中任一项所述的系统,其特征在于,所述服务管理模块通过钩子机制统一管理发布的服务。
7.根据权利要求1至5中任一项所述的系统,其特征在于,所述服务管理模块发布的服务为REST服务,指定的业务插件利用所述服务管理模块发布REST服务的过程包括:
与所述指定的业务插件相关联的类继承基础服务资源,并由所述指定的业务插件按照默认配置项或按照通过实时注解而标注的配置项,发布对应的REST服务。
8.根据权利要求7所述的系统,其特征在于,所述配置项包括以下至少之一或其组合:服务名、端口、连接数。
9.根据权利要求7所述的系统,其特征在于,还包括:
依赖状态判断模块,用于判断所述指定的业务插件是否依赖于restful插件,若依赖,则按照所述restful插件对应的配置项进行发布REST服务,否则按照默认配置项进行发布。
10.根据权利要求1至5中任一项所述的系统,其特征在于,还包括:
资源插件扩展模块,用于在默认映射规则不符合当前业务需求时,按照所述资源插件提供的定制接口中的方法,扩展URL地址和实际资源路径之间的映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江共远软件开发有限公司,未经镇江共远软件开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711309851.4/1.html,转载请声明来源钻瓜专利网。