CN112416345A - 一种通用客户端软件集成*** - Google Patents

一种通用客户端软件集成*** Download PDF

Info

Publication number
CN112416345A
CN112416345A CN202011276055.7A CN202011276055A CN112416345A CN 112416345 A CN112416345 A CN 112416345A CN 202011276055 A CN202011276055 A CN 202011276055A CN 112416345 A CN112416345 A CN 112416345A
Authority
CN
China
Prior art keywords
plug
interface
ins
style
user
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
Application number
CN202011276055.7A
Other languages
English (en)
Other versions
CN112416345B (zh
Inventor
杨新民
鱼江海
房广江
胡道亮
颜如祥
梁波
付建苏
刘海天
董莹莹
李奇志
陈晓婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202011276055.7A priority Critical patent/CN112416345B/zh
Publication of CN112416345A publication Critical patent/CN112416345A/zh
Application granted granted Critical
Publication of CN112416345B publication Critical patent/CN112416345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种通用客户端软件集成***,***是基于OSGI标准的客户端软件集成***,采用bundle机制进行集成,可集成Web页面、可执行程序、动态库等多种类型插件;提供单点登录及用户登录管理、界面显示风格管理及风格一键切换、信号灯等多个共用功能;能够以插件方式集成二三维地球、时统以及各类业务应用等,用户可以根据使用需求编配和集成客户端应用,形成定制化的客户端应用***。该发明采用跨平台语言开发,能够跨不同操作***平台进行编译,做到一次编写、随处运行,能够运行在Windows、中标麒麟、银河麒麟等各类操作***上,具备较好的扩展性和兼容性。

Description

一种通用客户端软件集成***
技术领域
本发明属于信息***领域,尤其涉及一种通用客户端软件集成***。
背景技术
目前,大部分信息***客户端软件集成***多以Web页面方式进行功能集成,这种方式也限制了被集成的功能应用插件开发人员只能采用Web语言开发,对于已有的非Web语言开发的功能无法集成使用;部分采用C++开发的信息***客户端软件集成***能够集成Web页面、可执行程序以及动态库等多种类型插件,但在显示效果、界面显示风格和信息提示等方面存在不足,存在一些机制和功能上的缺陷。
发明内容
发明目的:本发明目的是以QT语言为主、辅以JAVA语言开发的客户端软件集成***,能够集成各类插件,并提供用户登录管理、界面风格管理及一键切换、信号灯等多个共用功能;用户可以根据使用需求灵活编配客户端应用,形成定制化的客户端应用***。适用于开发语言种类多、C/S和B/S架构混用的信息***客户端,尤其是指挥信息***客户端。
本发明具体提供了一种通用客户端软件集成***,包括基础功能层、框架扩展功能层和应用支撑功能层;
所述基础功能层用于,为通用客户端软件集成***提供基于Poco模块的各类插件的集成,包括可执行程序插件、动态库插件以及Web页面插件的集成及相关功能;同时,具备可执行程序插件、动态库插件的全生命周期管理和进程保活等功能;
所述框架扩展功能层用于,为通用客户端软件集成***提供功能的扩展,包括插件消息管理、插件状态监控、显示布局定制、快捷按钮及菜单编排、显示分辨率适配、界面风格管理及一键切换等功能,以及提供网络传输接口和数据访问接口,支持二次开发;
所述应用支撑功能层用于,为应用插件和应用***提供支撑能力,包括信号灯、用户登录管理,并能够根据应用需求进行扩展。
所述可执行程序插件、动态库插件、Web页面插件是基于Poco组件对客户端各类型插件进行封装,并基于OSGI标准采用bundle机制进行插件集成,提供插件从启动、运行、更新到关闭退出全生命周期管理,提供进程保活功能,提供同类插件以及不同类插件之间的消息交互管理;
所述动态库插件之间的消息交互是基于进程内广播机制实现;
所述其他类型插件之间的信息交互均是基于TCP协议的信息传输方式实现。
所述动态库插件集成及相关功能包括动态库插件集成、动态库插件全生命周期管理、动态库插件消息管理、动态库插件状态监控;
所述Web页面插件集成及相关功能包括Web页面插件集成、浏览器控制、Web页面插件消息管理、Web页面插件状态监控。
所述应用支撑功能层的用户登录管理包括单用户登录、单点登录、心跳检测、登录状态管理功能;
所述单用户登录是指:同一用户同一时刻只能在一台客户端上通用客户端软件集成***上登录,当使用同一用户名在另一台客户端上通用客户端软件集成***上再次登录时,会给出已登录的提示信息,如果选择继续登录,会强制前一台客户端的用户下线、通用客户端软件集成***关闭退出,并继续本客户端用户登录操作;如果选择取消登录,则返回登录界面;
所述单点登录是指:用户在客户端使用通用客户端软件集成***进行首次登录和身份认证时,用户名和密码在服务端验证通过后,服务端向客户端的通用客户端软件集成***返回用户信息、身份认证令牌,通用客户端软件集成***将令牌缓存在本地;如果通用客户端软件集成***启动的插件是可执行程序或动态库插件,则通用客户端软件集成***根据约定格式向可执行程序或动态库插件传递用户名、密码等信息;如果启动的是Web页面插件,Web页面插件通过接口从通用客户端软件集成***获取用户名、密码、身份令牌,并将身份令牌提交到服务端进行验证,验证成功后即启动插件;后续各插件使用过程中无需二次身份认证,从而实现单点登录能力;
所述心跳检测是指:用户登录成功后,服务端与客户端通用客户端软件集成***之间建立心跳检测机制,服务端定时向客户端通用客户端软件集成***发送心跳消息,如果客户端通用客户端软件集成***返回心跳消息,则客户端通用客户端软件集成***运行正常;如果服务端连续三次获取不到客户端通用客户端软件集成***的心跳消息,则认为客户端通用客户端软件集成***已异常退出,更新用户在客户端登录状态;
所述登录状态管理是指:通过可视化界面提供登录用户名、登录角色、登录IP地址、登录时间的管理和查询等功能。
所述框架扩展功能层还提供如下功能:
可执行程序插件消息管理:支撑可执行程序插件之间、可执行程序插件与动态库插件、可执行程序插件与Web页面插件之间进行消息交互,并能够对消息进行管理;
动态库插件消息管理:支撑动态库插件之间、动态库插件与可执行程序插件、动态库插件与Web页面插件之间进行消息交互,并能够对消息进行管理;
Web页面插件消息管理:支撑Web页面插件之间、Web页面插件与动态库插件、Web页面插件与可执行程序插件之间进行消息交互,并可能够对消息进行管理;
显示布局定制:支撑对***主界面菜单、快捷按钮栏、信号灯等常显界面的布局定制;
插件状态监控:支撑对可执行程序、动态库类型插件进行状态监控;
快捷按钮及菜单编排:支持框架主界面上的快捷按钮和菜单按角色编排,快捷按钮和菜单可关联被集成的各种类型的插件;
显示分辨率适配:提供***主界面自动适配显示器的多种分辨率的能力,具体提供1920×1080、1280×1024、1024×768三种常用分辨率适配能力;
界面风格管理及一键切换;
网络传输接口:提供支撑***及集成插件进行信息交互的统一接口;
数据访问接口:提供支撑***及集成插件进行数据库访问的统一接口。
所述框架扩展功能层提供界面风格管理及一键切换,界面风格管理及一键切换由界面资源文件读取、主界面底板构建、统一界面显示风格展现和界面显示风格切换组成,包括:
界面资源文件读取:读取预先设计的界面样式表文件、主界面图标、字体文件,形成界面显示风格方案;
主界面底板构建:读取界面显示风格方案信息,构建主界面底板控件;
统一界面显示风格展现:对主界面及相关功能部件进行显示控制;
界面显示风格切换:在不重新启动正在运行的插件及通用客户端软件集成***情况下,响应风格切换命令,所有已经显示的插件界面能够按需切换成指定的显示风格,包括QT开发的插件和JAVA开发的插件。
所述应用支撑功能层提供信号灯功能,信号灯功能由信号灯编配、信号灯客户端插件、信号灯二次开发包组成,其中客户端插件包括信号灯显示插件、信号灯消息插件:
信号灯编配:维护应用插件与信号灯的映射关系;***开设部署后,根据使用需要,编配应用插件与信号灯的映射关系;
信号灯客户端插件:信号灯客户端插件启动时根据用户或角色信息从编配表中读取相应的编配结果,结合客户端应用编配信息中的功能菜单,按序显示信号灯,并实时接收信号点亮信号灯,用户点击信号灯后启动或激活对应插件;
信号灯二次开发包:提供C++、JAVA两种开发语言的二次开发接口供需要集成的应用软件开发者进行开发;集成的应用插件运行时将需要通知的信号按指定的格式传递给二次开发包,二次开发包查找当前在线角色或用户,向角色或用户所在的一个或两个以上信号灯客户端插件发送信号。
所述应用支撑功能层的信号灯编配功能提供人机交互界面,录入信号灯与应用软件的映射关系;
信号灯客户端插件启动时读取编配结果,并从预设的配置文件中识别具有信号灯的功能菜单,按序显示;如果编配的信号灯不在配置文件中,则该信号灯不显示;
应用插件调用信号灯二次开发包的接口或向二次开发包发送应用对应的信号;
信号灯二次开发包根据用户角色、用户登录状态,获取接收角色对应的当前登录用户的IP地址信息;
信号灯二次开发包将应用插件对应的信号根据IP地址发送到指定客户端的信号灯客户插件;
信号灯客户端插件接收信号,变化信号灯状态并给出提示信息;
点击信号灯,通用客户端软件集成***通过信号灯配置的启动脚本,启动相应插件,如果是Web页面插件则打开相应网页,如果是可执行程序或动态库插件则启动对应可执行程序或动态库。
所述基础功能层还提供如下功能:
(1)可执行程序插件集成:负责基于进程的可执行程序插件的管理、集成与调度;
(2)可执行程序插件全生命周期管理:具备可执行程序插件全生命周期管理能力,包括启动、停止和卸载;
(3)可执行程序插件属性管理:提供可执行程序插件属性的显示和编辑功能,管理可执行程序插件的启动参数,显示控制参数,可执行程序插件需要的***配置参数属性;
(4)动态库插件集成:负责提供动态库插件的管理、集成与调度功能;
(5)动态库插件进生命周期管理:具备动态库插件全生命周期管理能力,包括加载、解析、启动、更新、停止和卸载;
(6)进程保活:对于需要保持运行状态的进程,实时掌握进程的状态,若发现进程不存在,则会重新启动这些进程,包括两种方式,一是启动进程,恢复初始状态,二是启动进程,并恢复到上次状态;
(7)Web页面集成及浏览器控制:负责将Web页面集成到框架中,可控制操作***的浏览器打开指定的Web页面,并能够控制浏览器的大小和显示在指定的显示器上。
***执行如下步骤完成可执行文件、动态库插件界面显示风格切换流程:
步骤a1,界面显示风格资源文件准备,预先设计好两套以上界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制QSS文件;
步骤a2,界面显示风格加载阶段,通用客户端软件集成***加载界面资源文件和QSS文件,生成界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案;
步骤a3,界面显示风格展现阶段,通用客户端软件集成***根据选择的界面显示风格方案生成统一的***显示界面,并且在***启动后显示;当用户需要一键切换***风格时,调用通用客户端软件集成***的c++风格切换接口,发送风格切换消息,通用客户端软件集成***接收风格切换消息后,根据用户选择的界面显示风格方案名选择对应当前分辨率的界面显示风格方案,完成新风格的界面生成并显示,同时通用客户端软件集成***将风格切换消息转发给被集成的各类插件,插件接收消息后,插件完成各自显示界面的风格切换。
***执行如下步骤完成Web页面插件界面显示风格切换流程:
步骤b1,界面显示风格设计阶段,预先设计好两套以上界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制CSS文件;
步骤b2,界面显示风格加载阶段,Web服务框架加载界面显示风格资源文件,生成Web界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案;
步骤b3,Web页面展现阶段,Web服务框架根据界面显示风格方案生成Web页面,并在浏览器中展现;当用户需要一键切换***风格时,Web页面插件会接收来自通用客户端软件集成***的风格切换消息,并调用风格切换接口;Web服务框架根据参数选择要切换的界面显示风格方案,然后完成Web页面生成和在浏览器中展现,完成Web页面显示风格切换。
本通用客户端软件集成***是采用QT、JAVA混合编程的客户端软件集成方法。该方法提供基于OSGI标准的插件集成***,采用bundle机制进行集成,可集成可执行程序、动态库、Web页面等多种类型插件;提供多个共用功能,实现较好的人机交互效果。
有益效果:1)支持多种类型插件集成,包括可执行程序、动态库以及Web页面等插件,实现界面集成动态效果展示;
2)实现单用户登录和单点登录,避免同一个用户在同一时刻在多台客户端上重复登录,并在一定时间期限内避免二次身份认证;
3)界面显示风格一键切换,采用统一的机制,快速实现全***所有显示界面的风格切换,包括通用客户端软件集成***的显示界面以及集成的QT和JAVA开发的应用插件的显示界面;
4)提供插件信息提示功能,提醒用户及时查看信息和处理应用。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明整体架构图。
图2是登录管理功能组成示意图。
图3是单用户登录实现原理示意图。
图4是单点登录实现原理示意图。
图5是登录心跳检测原理示意图。
图6是界面风格管理及一键切换功能组成示意图。
图7是C++开发界面显示风格一键切换使用流程示意图。
图8是JAVA开发的界面显示风格一键切换使用流程示意图。
图9是信号灯功能组成示意图。
图10是信号灯工作原理图。
图11是信号灯使用流程示意图。
具体实施方式
本发明提供了一种通用客户端软件集成***,采用QT语言,辅以JAVA语言,开发通用的客户端软件集成框架,支持可执行程序、动态库、Web页面三类插件的集成,界面显示风格、界面布局及各要素位置能够按需定制,集成的插件能够灵活编配;
实现用户登录管理,通过***保存用户登录信息,在一定时间期限内,在插件启动时及时向插件推送用户登录信息,避免用户二次身份认证;同时,记录用户登录和退出动作,对用户重复登录进行检测、提示或强制退出,保证用户在同一时刻只能在一台客户端上登录;另外,采用心跳机制检测用户在线情况,避免用户异常退出时登录信息与实际登录情况不一致;
实现界面风格管理及一键切换,通用客户端软件集成***提供风格切换按钮,根据用户选择的风格信息,基于预置的QSS文件和CSS文件切换风格,并通过接口或消息方式实现已启动插件切换到指定风格,实现全***所有插件的界面显示风格统一;
实现信号灯功能,为集成插件提供统一的消息接收与提醒机制,保障客户端插件未启动或插件处于非激活状态时,通用客户端软件集成***上能显示插件的相应提示,提醒用户打开或激活插件,进行消息查看和相应操作。
本发明总体架构如图1所示,依托QT、Poco和JAVA的功能模块,实现了基础功能层、框架扩展功能层和应用支撑功能层等功能模块,基于相应接口支撑各类客户端插件的二次开发,提供信号灯、用户登录管理等应用功能,用户可直接使用。
QT层包含本发明需要使用的QT主要功能模块,包括QtCore(QT基础模块,包括信号与槽通信、输入输出、事件、对象处理、多线程等)、QtGui(图形用户界面模块)、QStyle(界面显示风格模块)、QtNetwork(跨平台网络模块)。
Poco是一系列C++类库,使用高效的、现代的标准ANSI/ISO C++。基于STL,Poco是模块化和可扩展的,且具备高可移植性,可支撑创建跨平台的应用程序。Poco主要应用于创建自动化的中间件和设备、包装应用程序等场景。
Poco中的Foundation和Util模块主要用于本软件对各类插件的集成。Foundation模块是Poco的基础,主要功能是对所集成插件的底层封装。Util模块主要功能是对集成插件的命令行参数处理支持(校验,绑定到配置属性)以及管理配置文件(支持不同的配置文件格式,包括INI文件、XML文件、JAVA类属性文件以及Windows注册表)。
JAVA是面向对象语言的代表,在本发明里主要用于Web页面服务端开发。本发明中使用的JAVA基础类主要包括net(用于执行与网络相关的类,如URL、Socket、ServerSocket等)、io(提供多种输入/输出功能的类)、util(包含一些实用工具类,如定义***特性、使用与日期日历相关的方法等)。
基础功能层是为通用客户端软件集成***提供基于Poco模块的各类插件的集成,包括可执行程序插件、动态库插件以及Web页面插件的集成;同时,具备可执行程序插件、动态库插件的全生命周期管理和进程保活等功能。详细功能描述如下。
(1)可执行程序插件集成:负责基于进程的可执行程序插件的管理、集成与调度;
(2)可执行程序插件全生命周期管理:具备可执行程序插件全生命周期管理能力,包括启动、停止和卸载等;
(3)可执行程序插件属性管理:提供可执行程序插件属性的显示和编辑功能,管理可执行程序插件的启动参数,显示控制参数,可执行程序插件需要的***配置参数等属性;
(4)动态库插件集成:负责提供动态库插件的管理、集成与调度功能;
(5)动态库插件进生命周期管理:具备动态库插件全生命周期管理能力,包括加载、解析、启动、更新、停止和卸载等;
(6)进程保活:对于需要保持运行状态的进程,实时掌握进程的状态,若发现进程不存在,则会重新启动这些进程,包括两种方式,一是启动进程,恢复初始状态,二是启动进程,并恢复到上次状态;
(7)Web页面集成及浏览器控制:负责将Web页面集成到框架中,可控制操作***的浏览器打开指定的Web页面,并可以控制浏览器的大小和显示在指定的显示器上。
框架扩展功能层是为通用客户端软件集成***提供功能的扩展,包括插件消息管理、插件状态监控、显示布局定制、快捷按钮及菜单编排、显示分辨率适配、界面风格管理及一键切换等功能,以及提供网络传输接口和数据访问接口,支持二次开发。详细功能描述如下:
可执行程序插件消息管理:支撑可执行程序插件之间、可执行程序插件与动态库插件、可执行程序插件与Web页面插件之间进行消息交互,并可对消息进行管理;
动态库插件消息管理:支撑动态库插件之间、动态库插件与可执行程序插件、动态库插件与Web页面插件之间进行消息交互,并可对消息进行管理;
Web页面插件消息管理:支撑Web页面插件之间、Web页面插件与动态库插件、Web页面插件与可执行程序插件之间进行消息交互,并可对消息进行管理;
显示布局定制:支撑对***主界面菜单、快捷按钮栏、信号灯等常显界面的布局定制;
插件状态监控:支撑对可执行程序、动态库等类型插件进行状态监控;
快捷按钮及菜单编排:支持框架主界面上的快捷按钮和菜单按角色编排,快捷按钮和菜单可关联被集成的各种类型的插件;
显示分辨率适配:提供***主界面自动适配显示器的多种分辨率的能力,目前提供1920×1080、1280×1024、1024×768三种常用分辨率适配能力;
界面风格管理及一键切换:该功能后面详细描述;
网络传输接口:提供支撑***及集成插件进行信息交互的统一接口;
数据访问接口:提供支撑***及集成插件进行数据库访问的统一接口;
应用支撑功能层是为应用插件和应用***提供支撑能力,包括信号灯、用户登录管理,后续可以根据应用需求进行扩展。该层功能后面详细描述。
1、插件集成方法
本***支持三类插件集成,具体如下。
a)可执行程序插件集成方法
当用户点击通用客户端软件集成***上的可执行程序菜单时,***执行“./startup.sh user passwd”命令启动可执行程序。其中,“startup.sh”代表启动脚本,“user”代表用户名,“passwd”代表密码。
启动脚本startup.sh文件的格式如下:
export EXEDIR=/home/exeDir /*设置***执行路径的环境变量*/
export LD_LIBRARY_PATH=/usr/lib /*设置依赖动态库的环境变量*/
cd EXEDIR /*入可执行程序或脚本的路径*/
./xxx.sh或./xx /*启动软件*/
export EXEDIR=/home/exeDir表示设置***执行路径的环境变量;
export LD_LIBRARY_PATH=/usr/lib表示设置依赖动态库的环境变量;
cd EXEDIR表示进入可执行程序或脚本的路径;
./xxx.sh或./xx表示启动软件”。
b)动态库插件集成方法
动态库插件继承OSGI中bundle模块的BundleActivtor类,实现对应的publicvoid start(BundleContext context)和public void stop(BundleContext context)方法,并确定插件的唯一启动命令字符串(如综合信息查询插件的启动命令为“InfoSearchPlugin”),利用Bundle生成工具,在指定路径下生成动态库插件。
当用户点击通用客户端软件集成***上的动态库插件菜单时,插件菜单生成启动命令字符串,***响应并启动动态库插件(如针对上述的综合信息查询插件,菜单直接向框架发送“InfoSearchPlugin”启动命令字符串,框架启动综合信息查询插件)。
c)Web页面插件集成方法
当用户点击通用客户端软件集成***上的Web页面插件菜单时,***打开浏览器,传入访问地址,启动Web页面,访问地址格式:protocol://ip:port/path,其中protocol表示协议,ip表示ip地址,port表示端口号,path表示相对路径,页面通过接口获取身份信息,到登录服务验证。
如:通过打开浏览器访问http://1.1.1.1:8080/zzxx/tj,打开综合信息统计页面,页面通过外部接口从通用客户端软件集成***获取身份信息,完成身份认证。
2、用户登录管理
用户登录管理包括单用户登录、单点登录、心跳检测、登录状态管理等功能,软件由服务端功能和客户端功能两部分组成,服务端功能包括单用户登录服务、单点登录服务、心跳检测服务、登录状态管理服务等;客户端功能包括登录客户端和心跳检测客户端,功能组成如图2所示。
单用户登录:同一用户同一时刻只能在一台客户端登录,当使用同一用户名在另一客户端再次登录时,会给出已登录的提示信息,若选择继续登录,会强制前一台客户端用户下线,并继续本客户端登录操作;若选择取消登录,则返回登录界面。
单点登录:使用通用客户端软件集成***进行用户登录和身份认证后,插件启动无需用户进行二次身份认证,即可启动和使用;
心跳检测:通过在通用客户端软件集成***中的心跳监测客户端与服务端的心跳监测服务之间建立心跳检测机制,检测客户端的异常退出;
登录状态管理:通过可视化界面提供登录的用户名、登录角色、登录IP地址、登录时间等信息的管理和查询。
a)单用户登录
首次登录时,用户通过用户名、密码验证后,即可登录;再次登录时,通过用户名、密码验证通过后,登录服务会查询当前的用户登录状态,提示用户当前登录信息,由用户选择是否继续登录,若继续登录,则强制前一台机器下线,当前机器登录成功;若取消登录,则返回登录界面。使用流程如图3所示。
b)单点登录
用户在客户端使用通用客户端软件集成***进行首次登录和身份认证时,用户名和密码在服务端验证通过后,服务端向客户端的通用客户端软件集成***返回用户信息、身份认证令牌,通用客户端软件集成***将令牌缓存在本地;如果通用客户端软件集成***启动的插件是可执行程序或动态库插件,则通用客户端软件集成***根据约定格式向可执行程序或动态库插件传递用户名、密码等信息;如果启动的是Web页面插件,Web页面插件通过接口从通用客户端软件集成***获取用户名、密码、身份令牌,并将身份令牌提交到服务端进行验证,验证成功后即启动插件;各插件无需二次身份认证,从而实现单点登录。具体实现原理如图4所示。
c)心跳检测
用户登录成功后,服务端与客户端通用客户端软件集成***之间建立心跳检测机制,服务端定时向客户端通用客户端软件集成***发送心跳消息,如果客户端通用客户端软件集成***返回心跳消息,则客户端通用客户端软件集成***运行正常;如果服务端连续三次获取不到客户端通用客户端软件集成***的心跳消息,则认为客户端通用客户端软件集成***已异常退出,更新用户在客户端登录状态,具体流程如图5所示。
d)登录状态管理
登录状态管理由登录状态记录和登录状态展现组成。
登录状态记录用于记录登录的用户名、登录角色、登录时间、登录IP、退出时间等。
登录状态展现通过可视化的界面展示登录的用户名、登录角色、登录时间、登录IP、退出时间等信息。
通用客户端软件集成***提供给各类插件获取身份信息的实现方法如下:
a)C++接口:QString getUserInfo()
名称:获取身份信息接口
功能:获取用户名、密码、身份令牌信息等
输入:无。
输出:以JSON格式的字符串返回用户名、密码、身份令牌。
格式为“{user:userVal,passwd:passwdVal,token:tokenVal}”,包含三个键值对,键值对间用“,”隔开,键值对内用“:”隔开;其中,“user”、“passwd”、“token”为固定字符串,是键值对的“键”,“userVal”、“passwdVal”、“tokenVal”表示键值对的“值”,分别表示用户名、密码、身份令牌。
b)JAVA接口:getUserInfo()
名称:获取身份信息接口
功能:获取用户名、密码、身份令牌信息等
输入:无。
输出:以JSON格式的字符串返回用户名、密码、身份令牌。
格式为“{user:userVal,passwd:passwdVal,token:tokenVal}”,包含三个键值对,键值对间用“,”隔开,键值对内用“:”隔开;其中,“user”、“passwd”、“token”为固定字符串,是键值对的“键”,“userVal”、“passwdVal”、“tokenVal”表示键值对的“值”,分别表示用户名、密码、身份令牌。
3、界面风格管理及一键切换
1)功能组成
界面风格管理及一键切换由界面资源文件读取、主界面底板构建、统一界面显示风格展现和界面显示风格切换组成,功能组成如图6所示。
界面资源文件读取:读取预先设计的界面样式表文件、主界面图标、字体文件等,形成典型界面显示风格方案;
主界面底板构建:读取界面显示风格方案信息,构建主界面底板控件;
统一界面显示风格展现:对主界面及相关功能部件(菜单栏、工具栏、状态栏等)进行显示控制;
界面显示风格切换:在不重新启动正在运行的插件及通用客户端软件集成***情况下,响应风格切换命令,按需切换成指定的界面显示风格。
2)实现原理
a)可执行文件和动态库插件界面风格管理原理
选择派生自QStyle的类QPlastiqueStyle作为本软件的风格基类,自QPlastiqueStyle派生的SM_BlackTechStyle类和SM_BlueTechStyle类作为风格实现类。构建SM_GenericStyleManage类作为风格管理类,实现对***风格实例的管理;
在客户端主进程初始化函数RF_UIFrameWork_Activator::start()中调用风格管理单例函数SM_GenericStyleManage::Instance(m_pMainWidget,SM_GenericStyleManage::Resolution,m_style_str),将主界面指针,默认分辨率和默认风格名参数传入风格管理类实例中,然后调用GenericStyleManage(QWidget*baseparent,ENUM_RESOLUTION_RATIO curRatio,QString curStyleName)函数初始化风格管理类SM_GenericStyleManage,SM_GenericStyleManage实例读取QSS、图标等风格资源文件,生成显示风格方案,并选择与传入参数匹配的方案,生成对应显示风格的客户端主界面。然后调用SenderScript(StyleStr)函数向集成的各类动态库、进程和Web页面发送显示风格参数;
被集成的动态库和可执行文件插件的slotReceiveScript(tmpSrcipt)响应函数中接收风格信息,被执行响应的显示风格切换;
SM_GenericStyleManage实例调用polish()函数刷新客户端主进程界面,使所有界面显示风格统一。
b)Web页面插件界面风格管理原理
Web页面引入统一的CSS层级样式表文件,生成显示风格方案,并选择与传入参数匹配的方案,保持与客户端主进程界面风格一致。通过switchTheme(themeName)接口,向集成的Web页面插件发送显示风格参数,统一切换风格;
Web页面插件通过SlotToSwitchTheme(themeName)函数接收框架切换风格界面的消息,切换显示风格,与框架保持一致。
c)界面显示风格一键切换实现原理
界面显示风格一键切换从通用客户端软件集成***上的风格切换按钮发起。用户点击风格切换按钮后,通用客户端软件集成***执行ToShiftStyle(QStringnewStyleName)函数,切换至对应风格的主界面,同时调用SenderScript(StyleStr)函数向集成的各类动态库、可执行文件和Web页面插件发送界面显示风格参数。
被集成的可执行文件、动态库插件通过slotReceiveScript(tmpSrcipt)函数响应并执行界面显示风格切换,Web页面插件则通过SlotToSwitchTheme(String themeName)函数响应并执行界面显示风格切换。
3)风格切换相关接口函数
提供C++语言接口和JAVAScript语言接口。
(1)C++语言接口
a)接口名称:风格管理类构造函数
GenericStyleManage(QWidget*baseparent,ENUM_RESOLUTION_RATIO curRatio,QString curStyleName)
参数说明:
QWidget*baseparent:父窗口指针
ENUM_RESOLUTION_RATIO curRatio:分辨率参数,可选1920×1080、1280×1024、1024×768
QString curStyleName:初始化风格名字
b)接口名称:切换界面显示分辨率(可切换某一风格在不同分辨率显示)
void SlottoShiftRatio(ENUM_RESOLUTION_RATIO newRatio)
参数说明:
ENUM_RESOLUTION_RATIO newRatio:新分辨率参数,可选1920×1080、1280×1024、1024×768
c)接口名称:显示部件初始化
void SlottoSetInitShowGeometry()
d)接口名称:界面显示风格切换发起接口
void ToShiftStyle(QString newStyleName)
参数说明:
QString newStyleName:新切换的风格名字
e)接口名称:界面显示风格切换响应接口
void SlottoShiftStyle(QString newStyleName=QString("DefaultStyle"))
参数说明:
QString newStyleName:新切换的风格名字
f)接口名称:界面显示风格切换消息发送接口
void SendScript(QString StyleStr)
参数说明:
QString StyleStr:风格信息内容;
g)接口名称:界面显示风格切换消息接收响应接口
void slotReceiveScript(QString tmpSrcipt)
参数说明:
QString tmpSrcipt:风格信息内容;
(2)JavaScript语言接口
a)接口名称:发起风格切换函数
switchTheme(String themeName)
参数说明:
String themeName:新切换风格的名称
b)接口名称:界面显示风格切换响应接口
SlotToSwitchTheme(String themeName)
参数说明:
String themeName:新切换的风格名称
4)使用流程
a)可执行文件、动态库插件界面显示风格切换流程
步骤一
界面显示风格资源文件准备,预先设计好多套界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制QSS文件。
步骤二
界面显示风格加载阶段,通用客户端软件集成***加载界面资源文件和QSS文件,生成界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案。
步骤三
界面显示风格展现阶段,通用客户端软件集成***根据选择的界面显示风格方案生成统一的***显示界面,并且在***启动后显示。当用户需要一键切换***风格时,可以调用通用客户端软件集成***的c++风格切换接口,发送风格切换消息,通用客户端软件集成***接收风格切换消息后,根据用户选择的界面显示风格方案名选择对应当前分辨率的界面显示风格方案,完成新风格的界面生成并显示,同时通用客户端软件集成***将风格切换消息转发给被集成的各类插件,插件接收消息后,插件完成各自显示界面的风格切换。
b)Web页面插件界面显示风格切换流程
步骤一
界面显示风格设计阶段,预先设计好多套界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制CSS文件。
步骤二
界面显示风格加载阶段,Web服务框架加载界面显示风格资源文件,生成Web界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案。
步骤三
Web页面展现阶段,Web服务框架根据界面显示风格方案生成Web页面,并在浏览器中展现。当用户需要一键切换***风格时,Web页面插件会接收来自通用客户端软件集成***的风格切换消息,并调用风格切换接口。Web服务框架根据参数选择要切换的界面显示风格方案,然后完成Web页面生成和在浏览器中展现,完成Web页面显示风格切换。
4、信号灯
1)功能组成
信号灯由信号灯编配、信号灯客户端插件、信号灯二次开发包等功能组成,其中客户端插件包括信号灯显示插件、信号灯消息插件,功能组成如图9所示。
信号灯编配:维护应用插件与信号灯的映射关系;***开设部署后,根据使用需要,编配应用插件与信号灯的映射关系;
信号灯客户端插件:信号灯客户端插件启动时根据用户或角色信息从编配表中读取相应的编配结果,结合客户端应用编配信息中的功能菜单,按序显示信号灯,并实时接收信号点亮信号灯,响应信号灯点击操作;
信号灯二次开发包:提供C++、JAVA两种开发语言的二次开发接口供需要集成的应用软件开发者进行开发;集成的应用插件运行时将需要通知的信号按指定的格式传递给二次开发包,二次开发包查找当前在线角色或用户,向角色或用户所在的一个或多个信号灯客户端插件发送信号。
2)实现原理
信号灯工作原理如图10所示。
服务端上的信号灯编配功能提供人机交互界面,录入信号灯与应用插件的映射关系;
客户端上的信号灯客户端插件启动时读取编配结果,并从预设的配置文件中识别具有信号灯的功能菜单,按序显示;若编配的信号灯不在配置文件中,则该信号灯不显示;
应用插件(区分C++和JAVA两种开发语言)调用信号灯二次开发包的接口或向信号灯二次开发包发送应用对应的信号;
信号灯二次开发包根据用户角色、用户登录状态,获取接收角色对应的当前登录用户的IP地址等信息;
信号灯二次开发包将信号根据IP地址发送到指定客户端的信号灯客户端插件;
信号灯客户端插件接收信号,变化信号灯状态并给出提示信息;
点击相应信号灯,通用客户端软件集成***通过信号灯配置的启动脚本,启动相应插件(若软件已启动,则置顶),如是Web页面插件则打开相应网页,如是可执行程序插件或动态库插件则启动相应可执行程序或动态库。
3)信号灯相关接口函数
接口名称:信号发送接口,向指定角色和应用发送消息。
具体函数:sendSignal(Array<String>roleIDs,String appID,String message)
参数说明:
roleIDs:角色ID的集合,如果为空,则给所有装有该应用的客户端发送。
appID:应用信号灯标识
message:具体消息内容
4)使用流程如图11所示。
编配阶段:通过信号灯编配功能建立应用插件与信号灯的映射关系;
加载阶段:信号灯客户端插件根据信号灯编配结果结合预设的功能菜单,加载信号灯并显示;
发送阶段:应用插件调用信号灯提供的消息接口发送消息;所有接收方对应的登录用户信号灯软件点亮信号灯。
如本次***集成了10个应用插件,其中只有4个应用插件需要集成和使用信号灯功能,在编配阶段只建立这4个应用插件与信号灯的一对一映射关系,在加载阶段信号灯位置也只显示4个信号灯;信号灯接收信号状态变化后,点击信号灯,启动或激活对应应用插件。
本发明提供了一种通用客户端软件集成***,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (10)

1.一种通用客户端软件集成***,其特征在于,包括基础功能层、框架扩展功能层和应用支撑功能层;
所述基础功能层用于,为通用客户端软件集成***提供基于Poco模块的各类插件的集成,包括可执行程序插件、动态库插件以及Web页面插件的集成及相关功能;
所述框架扩展功能层用于,为通用客户端软件集成***提供功能的扩展,包括插件消息管理、插件状态监控、显示布局定制、快捷按钮及菜单编排、显示分辨率适配、界面风格管理及一键切换功能,以及提供网络传输接口和数据访问接口,支持二次开发;
所述应用支撑功能层用于,为应用插件和应用***提供支撑能力,包括信号灯、用户登录管理,并能够根据应用需求进行扩展。
2.根据权利要求1所述的***,其特征在于,所述可执行程序插件、动态库插件、Web页面插件是基于Poco组件对客户端各类型插件进行封装,并基于OSGI标准采用bundle机制进行插件集成,提供插件从启动、运行、更新到关闭退出全生命周期管理,提供进程保活功能,提供同类插件以及不同类插件之间的消息交互管理;
所述动态库插件之间的消息交互是基于进程内广播机制实现;
所述其他类型插件之间的信息交互均是基于TCP协议的信息传输方式实现。
3.根据权利要求2所述的***,其特征在于,所述应用支撑功能层的用户登录管理包括单用户登录、单点登录、心跳检测、登录状态管理功能;
所述单用户登录是指:同一用户同一时刻只能在一台客户端上通用客户端软件集成***上登录,当使用同一用户名在另一台客户端上通用客户端软件集成***上再次登录时,会给出已登录的提示信息,如果选择继续登录,会强制前一台客户端的用户下线、通用客户端软件集成***关闭退出,并继续本客户端用户登录操作;如果选择取消登录,则返回登录界面;
所述单点登录是指:用户在客户端使用通用客户端软件集成***进行首次登录和身份认证,用户名和密码在服务端验证通过后,服务端向客户端的通用客户端软件集成***返回用户信息、身份认证令牌,通用客户端软件集成***将令牌缓存在本地;如果通用客户端软件集成***启动的插件是可执行程序或动态库插件,则通用客户端软件集成***根据约定格式向可执行程序或动态库插件传递用户名、密码;如果启动的是Web页面插件,Web页面插件通过接口从通用客户端软件集成***获取用户名、密码、身份令牌,并将身份令牌提交到服务端进行验证,验证成功后即启动插件;后续各插件使用过程中无需二次身份认证,从而实现单点登录能力;
所述心跳检测是指:用户登录成功后,服务端与客户端通用客户端软件集成***之间建立心跳检测机制,服务端定时向客户端通用客户端软件集成***发送心跳消息,如果客户端通用客户端软件集成***返回心跳消息,则客户端通用客户端软件集成***运行正常;如果服务端连续三次获取不到客户端通用客户端软件集成***的心跳消息,则认为客户端通用客户端软件集成***已异常退出,更新用户在客户端登录状态;
所述登录状态管理是指:通过可视化界面提供登录用户名、登录角色、登录IP地址、登录时间的管理和查询功能。
4.根据权利要求3所述的***,其特征在于,所述框架扩展功能层还提供如下功能:
可执行程序插件消息管理:支撑可执行程序插件之间、可执行程序插件与动态库插件、可执行程序插件与Web页面插件之间进行消息交互,并能够对消息进行管理;
动态库插件消息管理:支撑动态库插件之间、动态库插件与可执行程序插件、动态库插件与Web页面插件之间进行消息交互,并能够对消息进行管理;
Web页面插件消息管理:支撑Web页面插件之间、Web页面插件与动态库插件、Web页面插件与可执行程序插件之间进行消息交互,并可能够对消息进行管理;
显示布局定制:支撑对***主界面菜单、快捷按钮栏、信号灯等常显界面的布局定制;
插件状态监控:支撑对可执行程序、动态库类型插件进行状态监控;
快捷按钮及菜单编排:支持框架主界面上的快捷按钮和菜单按角色编排,快捷按钮和菜单可关联被集成的各种类型的插件;
显示分辨率适配:提供***主界面自动适配显示器的多种分辨率的能力,具体提供1920×1080、1280×1024、1024×768三种常用分辨率适配能力;
界面风格管理及一键切换;
网络传输接口:提供支撑***及集成插件进行信息交互的统一接口;
数据访问接口:提供支撑***及集成插件进行数据库访问的统一接口。
5.根据权利要求4所述的***,其特征在于,所述框架扩展功能层提供界面风格管理及一键切换,界面风格管理及一键切换由界面资源文件读取、主界面底板构建、统一界面显示风格展现和界面显示风格切换组成,包括:
界面资源文件读取:读取预先设计的界面样式表文件、主界面图标、字体文件,形成界面显示风格方案;
主界面底板构建:读取界面显示风格方案信息,构建主界面底板控件;
统一界面显示风格展现:对主界面及相关功能部件进行显示控制;
界面显示风格切换:在不重新启动正在运行的插件及通用客户端软件集成***情况下,响应风格切换命令,所有已经显示的插件界面能够按需切换成指定的显示风格,包括QT开发的插件和JAVA开发的插件。
6.根据权利要求5所述的***,其特征在于,所述应用支撑功能层提供信号灯功能,信号灯功能由信号灯编配、信号灯客户端插件、信号灯二次开发包组成,其中客户端插件包括信号灯显示插件、信号灯消息插件:
信号灯编配:维护应用插件与信号灯的映射关系;***开设部署后,根据使用需要,编配应用插件与信号灯的映射关系;
信号灯客户端插件:信号灯客户端插件启动时根据用户或角色信息从编配表中读取相应的编配结果,结合客户端应用编配信息中的功能菜单,按序显示信号灯,并实时接收信号点亮信号灯,用户点击信号灯后启动或激活对应插件;
信号灯二次开发包:提供C++、JAVA两种开发语言的二次开发接口供需要集成的应用软件开发者进行开发;集成的应用插件运行时将需要通知的信号按指定的格式传递给二次开发包,二次开发包查找当前在线角色或用户,向角色或用户所在的一个或两个以上信号灯客户端插件发送信号。
7.根据权利要求6所述的***,其特征在于,所述应用支撑功能层的信号灯编配功能提供人机交互界面,录入信号灯与应用软件的映射关系;
信号灯客户端插件启动时读取编配结果,并从预设的配置文件中识别具有信号灯的功能菜单,按序显示;如果编配的信号灯不在配置文件中,则该信号灯不显示;
应用插件调用信号灯二次开发包的接口或向信号灯二次开发包发送应用对应的信号;
信号灯二次开发包根据用户角色、用户登录状态,获取接收角色对应的当前登录用户的IP地址信息;
信号灯二次开发包将应用插件对应的信号根据IP地址发送到指定客户端的信号灯客户端插件;
信号灯客户端插件接收信号,变化信号灯状态并给出提示信息;
点击信号灯,通用客户端软件集成***通过信号灯配置的启动脚本,启动相应插件,如果是Web页面插件则打开相应网页,如果是可执行程序或动态库插件则启动对应可执行程序或动态库。
8.根据权利要求7所述的***,其特征在于,所述基础功能层还提供如下功能:
(1)可执行程序插件集成:负责基于进程的可执行程序插件的管理、集成与调度;
(2)可执行程序插件全生命周期管理:具备可执行程序插件全生命周期管理能力,包括启动、停止和卸载;
(3)可执行程序插件属性管理:提供可执行程序插件属性的显示和编辑功能,管理可执行程序插件的启动参数,显示控制参数,可执行程序插件需要的***配置参数属性;
(4)动态库插件集成:负责提供动态库插件的管理、集成与调度功能;
(5)动态库插件进生命周期管理:具备动态库插件全生命周期管理能力,包括加载、解析、启动、更新、停止和卸载;
(6)进程保活:对于需要保持运行状态的进程,实时掌握进程的状态,若发现进程不存在,则会重新启动这些进程,包括两种方式,一是启动进程,恢复初始状态,二是启动进程,并恢复到上次状态;
(7)Web页面集成及浏览器控制:负责将Web页面集成到框架中,可控制操作***的浏览器打开指定的Web页面,并能够控制浏览器的大小和显示在指定的显示器上。
9.根据权利要求8所述的***,其特征在于,***执行如下步骤完成可执行文件、动态库插件界面显示风格切换流程:
步骤a1,界面显示风格资源文件准备,预先设计好两套以上界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制QSS文件;
步骤a2,界面显示风格加载阶段,通用客户端软件集成***加载界面资源文件和QSS文件,生成界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案;
步骤a3,界面显示风格展现阶段,通用客户端软件集成***根据选择的界面显示风格方案生成统一的***显示界面,并且在***启动后显示;当用户需要一键切换***风格时,调用通用客户端软件集成***的c++风格切换接口,发送风格切换消息,通用客户端软件集成***接收风格切换消息后,根据用户选择的界面显示风格方案名选择对应当前分辨率的界面显示风格方案,完成新风格的界面生成并显示,同时通用客户端软件集成***将风格切换消息转发给被集成的各类插件,插件接收消息后,插件完成各自显示界面的风格切换。
10.根据权利要求9所述的***,其特征在于,***执行如下步骤完成Web页面插件界面显示风格切换流程:
步骤b1,界面显示风格设计阶段,预先设计好两套以上界面显示风格方案,并根据***常用分辨率,每套风格方案制作多套界面资源文件,然后依据设计编制CSS文件;
步骤b2,界面显示风格加载阶段,Web服务框架加载界面显示风格资源文件,生成Web界面显示风格方案,并且自动识别显示器分辨率,选择对应分辨率的界面显示风格方案;
步骤b3,Web页面展现阶段,Web服务框架根据界面显示风格方案生成Web页面,并在浏览器中展现;当用户需要一键切换***风格时,Web页面插件会接收来自通用客户端软件集成***的风格切换消息,并调用风格切换接口;Web服务框架根据参数选择要切换的界面显示风格方案,然后完成Web页面生成和在浏览器中展现,完成Web页面显示风格切换。
CN202011276055.7A 2020-11-16 2020-11-16 一种通用客户端软件集成*** Active CN112416345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011276055.7A CN112416345B (zh) 2020-11-16 2020-11-16 一种通用客户端软件集成***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011276055.7A CN112416345B (zh) 2020-11-16 2020-11-16 一种通用客户端软件集成***

Publications (2)

Publication Number Publication Date
CN112416345A true CN112416345A (zh) 2021-02-26
CN112416345B CN112416345B (zh) 2022-10-21

Family

ID=74832715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011276055.7A Active CN112416345B (zh) 2020-11-16 2020-11-16 一种通用客户端软件集成***

Country Status (1)

Country Link
CN (1) CN112416345B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110895A (zh) * 2021-03-19 2021-07-13 深圳震有科技股份有限公司 基于ipc置顶单例应用程序的方法、终端及存储介质
CN113569180A (zh) * 2021-07-28 2021-10-29 中国电子科技集团公司第二十八研究所 一种通用浏览器扩展***
CN113568765A (zh) * 2021-08-03 2021-10-29 北京数码视讯技术有限公司 客户端的开发方法和***
CN115941656A (zh) * 2022-12-29 2023-04-07 南京维拓科技股份有限公司 一种工业设计中设计软件的集成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102638454A (zh) * 2012-03-14 2012-08-15 武汉理工大学 一种面向http身份鉴别协议的插件式单点登录集成方法
WO2014000281A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 身份认证方法及装置
WO2018014657A1 (zh) * 2016-07-20 2018-01-25 中兴通讯股份有限公司 一种统一门户方法、装置及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699393A (zh) * 2009-10-09 2010-04-28 中国电子科技集团公司第二十八研究所 一种面向网络的智能化软件界面动态生成方法
CN102638454A (zh) * 2012-03-14 2012-08-15 武汉理工大学 一种面向http身份鉴别协议的插件式单点登录集成方法
WO2014000281A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 身份认证方法及装置
WO2018014657A1 (zh) * 2016-07-20 2018-01-25 中兴通讯股份有限公司 一种统一门户方法、装置及***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110895A (zh) * 2021-03-19 2021-07-13 深圳震有科技股份有限公司 基于ipc置顶单例应用程序的方法、终端及存储介质
CN113569180A (zh) * 2021-07-28 2021-10-29 中国电子科技集团公司第二十八研究所 一种通用浏览器扩展***
CN113569180B (zh) * 2021-07-28 2024-01-26 中国电子科技集团公司第二十八研究所 一种通用浏览器扩展***
CN113568765A (zh) * 2021-08-03 2021-10-29 北京数码视讯技术有限公司 客户端的开发方法和***
CN113568765B (zh) * 2021-08-03 2023-12-26 北京数码视讯技术有限公司 客户端的开发方法和***
CN115941656A (zh) * 2022-12-29 2023-04-07 南京维拓科技股份有限公司 一种工业设计中设计软件的集成方法
CN115941656B (zh) * 2022-12-29 2023-09-08 南京维拓科技股份有限公司 一种工业设计中设计软件的集成方法

Also Published As

Publication number Publication date
CN112416345B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
CN112416345B (zh) 一种通用客户端软件集成***
US7617459B2 (en) Apparatus, system, and method for automatically generating a web interface for an MFS-based IMS application
CA2777443C (en) Automated enterprise software development
US7770151B2 (en) Automatic generation of solution deployment descriptors
US7546298B2 (en) Software, devices and methods facilitating execution of server-side applications at mobile devices
US20020046240A1 (en) Web server framework
US20090300063A1 (en) Software, devices and methods facilitating execution of server-side applications at mobile devices
US20060235760A1 (en) Properties file that will allow configuration input based on experience
Vincent Django for Beginners: Build websites with Python and Django
US20020165627A1 (en) Event management systems and methods for the distribution of motion control commands
WO2004044736A2 (en) System and method for configuring software from reusable code
US20170295217A1 (en) Method and system of application development for multiple device client platforms
CN110928625A (zh) 应用程序的运行控制方法、装置、电子设备及存储介质
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN112988165A (zh) 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质
CN114661375A (zh) 应用集成方法及装置
CN112487322B (zh) 一种第三方应用Loading页面的加载方法及显示设备
Shepherd Microsoft ASP. NET 4 Step by Step
Cisco 3 - Creating Access Policy Modules
CN114389936A (zh) 一种跨云多集群部署运维方法、***、处理器和存储介质
Petelj et al. Web based solution for smart home functionality extension and control
US20230111113A1 (en) Page loading method and display apparatus
Newton The Definitive Guide to the Microsoft Enterprise Library
Eaves et al. Apache Tomcat Bible
Nguyen Design and implementation of a full stack React and Node. js application: simulating driver’s license exams

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 210000 No.1, Lingshan South Road, Qixia District, Nanjing City, Jiangsu Province

Applicant after: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.

Address before: 210007 No. 1 East Street, alfalfa garden, Jiangsu, Nanjing

Applicant before: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant