发明名称 一种动态可扩展的web界面的方法
摘要 本发明提供了一种动态可扩展的web界面的方法,所述方法依据模块化思想,将软件架构划分为模块和核心平台;将需动态加载的web元素,javascript文件、css文件、多语化文件定义为扩展点,定义系统内部的扩展点机制,当模块安装扩展点规范进行设计编码,核心平台即可将模块中的扩展点元素进行统一的管理,并集中加载到web页面。本发明实现了web界面的模块化开发架构,在线动态可扩展的软件架构以及软件层面对web界面的即插即用热插拔机制。
申请公布号 CN102495730B 申请公布日期 2014.07.02
申请号 CN201110397363.X 申请日期 2011.12.02
申请人 曙光信息产业(北京)有限公司 发明人 郭庆;温鑫;赵欢;孙国忠;邵宗有
分类号 G06F9/44(2006.01)I;G06F9/445(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 北京安博达知识产权代理有限公司 11271 代理人 徐国文
主权项 一种动态可扩展的web界面的开发方法,其特征在于:所述方法依据模块化思想,将软件架构划分为模块和核心平台;将需动态加载的web元素,javascript文件、css文件、多语化文件定义为扩展点,定义系统内部的扩展点机制,当模块按照扩展点规范进行设计编码,核心平台即可将模块中的扩展点元素进行统一的管理,并集中加载到web页面;所述扩展点的数据结构如下:扩展点的扩展单元信息,Map:扩展单元信息是一个扩展点扩展信息的最小存储单元,用于表示模块对某扩展点的一个具体设定;Map结构,Key表示扩展属性名,Value表示扩展属性值,一个Map结构存储一个properties文件中的信息;单一扩展点信息,List<Map>:扩展单元信息的集合,列表中的每一个元素都是一个扩展单元信息;多扩展点信息,Map<String,List<Map>>:多扩展点信息结构由Map类型组成,其中Map的Key使用扩展点的ID表示,Map的Value就是单一扩展点信息结构;所述扩展点的后台工作流程为:(1)页面集成子系统通过扩展点查询接口从模块管理子系统获取所需要的所有独立子系统扩展点信息;(2)遍历获取的扩展点信息,通过parentID信息确定菜单的层次结构,并依据此层次结构重新组织扩展点信息;(3)在依据层次结构组织扩展点信息的过程中,依据menuId组织菜单的顺序,之后前台将不会对菜单顺序进行排序;(4)按层次结构组织好的扩展点信息,最终形成以扩展点名称为KEY的MAP结构;所述扩展点的前台工作流程为:(1)主页面在加载完毕后,向后台发送请求获取所有扩展点的信息,并用全局变量加以存储;(2)主页面从全局变量的扩展点信息数据结构中读取所需扩展点的信息,并以此组织生产页面元素;(3)当其他页面在动态生成页面时,均从全局变量的扩展点信息数据结构中获取所需信息;所述扩展点的鉴权流程为:(1)扩展点描述文件中增加userRole配置,取值范围为:Admin,User;(2)在读取扩展点信息时,首先从session中获取用户登录选择是独立子系统还是默认方式,如是默认方式,则读取所有系统的扩展点信息;如是独立子系统,则获取给定独立子系统的扩展点信息;(3)页面集成子系统从License管理模块获取当前License信息,根据配置项的ID和有效时间是否在License范围内确定配置项是否禁用;(4)页面集成子系统读取扩展点信息后,从session中获取当前用户的角色,根据登录用户的角色确定配置项是否禁用;(5)将扩展点信息组织成前台需要的数据返回给前台,前台根据disable属性决定菜单是否被禁用;(6)同时将用户信息和扩展点信息一起传到前台,通过javascript全局变量存储以供各子系统使用。
地址 100084 北京市海淀区水磨西街64号