CN103235722A - 一种ActiveX控件框架技术实现方法 - Google Patents
一种ActiveX控件框架技术实现方法 Download PDFInfo
- Publication number
- CN103235722A CN103235722A CN2013101388503A CN201310138850A CN103235722A CN 103235722 A CN103235722 A CN 103235722A CN 2013101388503 A CN2013101388503 A CN 2013101388503A CN 201310138850 A CN201310138850 A CN 201310138850A CN 103235722 A CN103235722 A CN 103235722A
- Authority
- CN
- China
- Prior art keywords
- dll
- service
- activex control
- function
- control framework
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一个通用的ActiveX代理框架,在不修改代理框架的情况下,可以无限扩展组件的功能,其中将ActiveX控件以提供的功能转化为服务,并将服务功能独立与ActiveX控件本身,ActiveX控件本是一个可执行的Windows操作系统的DLL,本发明所提供的ActiveX控件框架也将服务功能分离出独立的DLL,本发明称之为提供服务的DLL,ActiveX控件框架本身只负责加载、调用和管理这些提供服务的DLL,所以ActiveX控件框架本身相对功能单一,版本可以稳定。
Description
技术领域
本发明计算机程序插件设计领域,具体来说是一种ActiveX控件框架技术实现方法。
背景技术
在当今的管理信息系统开发中,B/S(Browser/Server)结构即浏览器和服务器结构的模式越来越流行。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
B/S结构的优点:具有分布性特点,可以随时随地进行查询、浏览等业务处理,业务扩展简单方便,通过增加网页即可增加服务器功能,维护简单方便,只需要改变网页,即可实现所有用户的同步更新,开发简单,共享性强 。
但B/S 模式也有一些缺点:功能弱化,难以实现传统模式下的特殊功能要求。如管理信息系统软件经常要调用一些客户端本地设备如读卡器、加密狗等,B/S 模式就必须借助一些控件技术。
当前要使B/S模式下的客户端程序能访问本地系统设置比较成熟的技术如微软的ActiveX技术,它拉近了Internet和本地系统之间的距离,ActiveX本身是一个与可执行文件格式一致的可执行模块,安装时作为浏览器插件安装,只要安装到客户端,就能实现与C/S架构一样的功能,它能做任何事情,所以它的安全性是通过ActiveX插件的安全证书来保证的。ActiveX插件的安全征书是由专门的机构评估并颁发的证明该ActiveX插件是安全的证书,发布ActiveX插件时需要使用安全证书进行数字签名才能在浏览器中下载。
故,需要一种新的技术方案以解决上述问题。
发明内容
本发明主要针对ActiveX插件版本更新过于复杂而提出的一种基本ActiveX控件实现的框架技术,针对现在缺陷,本发明将实现一个通用的ActiveX代理框架,在不修改代理框架的情况下,可以无限扩展组件的功能,有效低降低Internet上发布ActiveX插件的成本。
为实现上述发明目的,本发明ActiveX控件框架技术实现方法可采用如下技术方案:
一种ActiveX控件框架技术实现方法,包括以下步骤:
(1)、首先在ActiveX控件框架页面中注册提供服务的DLL,该注册方式为使用ActiveX的属性bean来注册,属性bean中包含注册DLL的名称、下载位置和依赖的其它服务bean的信息;
(2)、用户浏览包含ActiveX控件框架的页面时,ActiveX控件框架将会根据已注册的bean信息分析到服务DLL的信息,ActiveX控件框架首先到客户端本地计算机中查找是否已下载过该服务DLL,如果没有该服务DLL,ActiveX控件框架将根据bean的具体位置到的web服务器指定位置下载该服务DLL,并安装到本地计算机指定目录;
(3)、如果本地计算机已经存在该服务DLL,ActiveX控件框架将取得在本地的服务DLL的版本,并访问web服务器取得该服务DLL在web服务器上的最新注册版本,如果本地的服务DLL版本与web服务器上的服务DLL版本不一致,将重新更新本地的服务DLL为最新注册版本;
(4)、当用户使用页面交互功能时,调用ActiveX控件框架通用的功能代理方法exec,该方法按服务DLL发布的功能名称来调用具体的功能;
(5)、ActiveX控件框架通用的功能代理方法exec,首先加载服务DLL,然后根据功能名称查找到服务DLL中的功能函数,代理方法找到指定功能函数后,将输入参数设置入输入缓存区,进行统一的调用处理后,将结果输出到输出缓存区。
本发明实现一个通用的ActiveX代理框架,在不修改代理框架的情况下,可以无限扩展组件的功能,有效低降低Internet上发布ActiveX插件的成本。
将ActiveX控件以提供的功能转化为服务,并将服务功能独立与ActiveX控件本身,ActiveX控件本是一个可执行的Windows操作系统的DLL(动态连接库),本发明所提供的ActiveX控件框架也将服务功能分离出独立的DLL,本发明称之为提供服务的DLL,ActiveX控件框架本身只负责加载、调用和管理这些提供服务的DLL,所以ActiveX控件框架本身相对功能单一,版本可以稳定。
附图说明
图1是ActiveX控件框架初始化服务DLL的步骤的流程图。
图2是ActiveX控件框架调用服务功能的步骤的流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1及图2所示,本发明主要针对ActiveX插件版本更新过于复杂而提出的一种基本ActiveX控件实现的框架技术,针对现在缺陷,本发明将实现一个通用的ActiveX代理框架,在不修改代理框架的情况下,可以无限扩展组件的功能,有效低降低Internet上发布ActiveX插件的成本。
本发明所提供的ActiveX控件框架,是基本面向服务组件的方法实现的,将ActiveX控件以提供的功能转化为服务,并将服务功能独立与ActiveX控件本身,ActiveX控件本是一个可执行的Windows操作系统的DLL(动态连接库),本发明所提供的ActiveX控件框架也将服务功能分离出独立的DLL,本发明称之为提供服务的DLL,ActiveX控件框架本身只负责加载、调用和管理这些提供服务的DLL,所以ActiveX控件框架本身相对功能单一,版本可以稳定。
本发明ActiveX控件框架技术实现方法包括以下步骤:
(1)、首先在ActiveX控件框架页面中注册提供服务的DLL,本发明使用ActiveX的属性bean来注册,属性bean中包含注册DLL的名称、下载位置和依赖的其它服务bean的信息。
(2)、用户浏览包含ActiveX控件框架的页面时,ActiveX控件框架将会根据已注册的bean信息分析到服务DLL的名称、下载位置等信息,ActiveX控件框架首先到客户端本地机器中查找是否已下载过该服务DLL,如果没有该服务DLL,ActiveX控件框架将根据bean的具体位置到的web服务器指定位置下载该服务DLL,并安装到本地机器指定目录。
(3)、如果本地机器已经存在该服务DLL(通过DLL的名称判断),ActiveX控件框架将取得本地服务DLL的版本,并访问web服务器取得该服务DLL在web服务器上的最新注册版本,如果本地版本与服务器版本不一致,将重新更新本地的服务DLL.
(4)、当用户使用页面交互功能时,调用ActiveX控件框架通用的功能代理方法exec,该方法按服务DLL发布的功能名称来调用具体的功能。
(5)、ActiveX控件框架通用的功能代理方法exec,首先加载服务DLL,然后根据功能名称查找到服务DLL中的功能函数,本发明的ActiveX控件框架将服务DLL中的功能函数接口模式进行了统一的规范,所以的功能函数都使用简单的IPO(输入缓存区-处理-输出缓存区)定义,代理方法exec也具有同样的IPO参数模式,代理方法找到指定功能函数后,将输入参数设置入输入缓存区,进行统一的调用处理后,将结果输出到输出缓存区。
在本实施方式中,优选的,本发明的ActiveX控件框架采用atl控件技术开发,控件主要属性为bean,该属性用来注册服务DLL的信息,主要实现以下内容:
服务DLL的名称(name),该名称在一个应用中保持唯一;
服务DLL下载的位置(local),位置可以使用相对于WebApp上下文的相对路径,也可以使用http://的全路径;
服务DLL依赖于其它服务DLL的信息(depends),通常一个服务DLL功能会依赖于其它更底层的设备DLL;
为了使用注册信息更规范,本发明的ActiveX控件框架使用JSON串来定义服务DLL的注册信息(当然技术上不限于使用JSON串)。
ActiveX控件框架的功能接口一般包括以下几个接口:
a)、Init: 初始化服务DLL,主要实现注册服务接口的初始化;
b)、Exec: 调用当前服务DLL下的功能函数,如以下形式:
1.Exec(String funName,StringBuffer inParams) return StringBuffer;
2.输入参数区:inParams将调用该功能的所有参数传入,本发明的参数区实现也是采用JSON串如:{param1:’val1’,param2:’val2’,……};
c)、Exit: 卸载服务;
d)、Call: 该服务是一个代理服务,内部调用Init/Exec/Exit独立完成一次功能调用,参数与Exec相同。
Claims (2)
1.一种ActiveX控件框架技术实现方法,其特征在于,包括以下步骤:
(1)、首先,在ActiveX控件框架页面中注册提供服务的DLL,该注册方式为使用ActiveX的属性bean来注册,属性bean中包含注册DLL的名称、下载位置和依赖的其它服务bean的信息;
(2)、用户浏览包含ActiveX控件框架的页面时,ActiveX控件框架将会根据已注册的bean信息分析到服务DLL的信息,ActiveX控件框架首先到客户端本地计算机中查找是否已下载过该服务DLL,如果没有该服务DLL,ActiveX控件框架将根据bean的具体位置到的web服务器指定位置下载该服务DLL,并安装到本地计算机指定目录;
(3)、如果本地计算机已经存在该服务DLL,ActiveX控件框架将取得在本地的服务DLL的版本,并访问web服务器取得该服务DLL在web服务器上的最新注册版本,如果本地的服务DLL版本与web服务器上的服务DLL版本不一致,将重新更新本地的服务DLL为最新注册版本;
(4)、当用户使用页面交互功能时,调用ActiveX控件框架通用的功能代理方法exec,该方法按服务DLL发布的功能名称来调用具体的功能;
(5)、ActiveX控件框架通用的功能代理方法exec,首先加载服务DLL,然后根据功能名称查找到服务DLL中的功能函数,代理方法找到指定功能函数后,将输入参数设置入输入缓存区,进行统一的调用处理后,将结果输出到输出缓存区。
2.如权利要求1所述的ActiveX控件框架技术实现方法,其特征在于:步骤(5)中, ActiveX控件框架将服务DLL中的功能函数接口模式进行了统一的规范,所有的功能函数都使用简单的IPO定义,代理方法exec也具有同样的IPO参数模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310138850.3A CN103235722B (zh) | 2013-04-19 | 2013-04-19 | 一种ActiveX控件框架技术实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310138850.3A CN103235722B (zh) | 2013-04-19 | 2013-04-19 | 一种ActiveX控件框架技术实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103235722A true CN103235722A (zh) | 2013-08-07 |
CN103235722B CN103235722B (zh) | 2016-08-24 |
Family
ID=48883767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310138850.3A Active CN103235722B (zh) | 2013-04-19 | 2013-04-19 | 一种ActiveX控件框架技术实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103235722B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445620A (zh) * | 2016-10-20 | 2017-02-22 | 南京莱斯信息技术股份有限公司 | 一种支持浏览器的客户端功能扩展组件的实现方法 |
CN106850563A (zh) * | 2016-12-28 | 2017-06-13 | 百富计算机技术(深圳)有限公司 | 访问支付终端的方法及装置 |
CN108170491A (zh) * | 2017-12-26 | 2018-06-15 | 五八有限公司 | App动态链接库的配置方法、终端及计算机可读存储介质 |
CN108874466A (zh) * | 2018-06-08 | 2018-11-23 | Oppo(重庆)智能科技有限公司 | 控件调用方法、电子装置及计算机可读存储介质 |
CN108920496A (zh) * | 2018-05-23 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种渲染方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979418A (zh) * | 2005-12-07 | 2007-06-13 | 英业达股份有限公司 | 动态升级程序的方法 |
CN101561763A (zh) * | 2009-04-30 | 2009-10-21 | 腾讯科技(北京)有限公司 | 一种实现动态链接库的方法和装置 |
CN101571809A (zh) * | 2009-05-14 | 2009-11-04 | 阿里巴巴集团控股有限公司 | 一种插件注册的实现方法及其装置 |
CN101587495A (zh) * | 2009-07-08 | 2009-11-25 | 伍帝州 | 通过浏览器下载部署应用并提供应用入口的方法及系统 |
CN102402455A (zh) * | 2010-09-14 | 2012-04-04 | 北大方正集团有限公司 | 调用动态链接库的方法和装置 |
CN102760068A (zh) * | 2012-06-01 | 2012-10-31 | 奇智软件(北京)有限公司 | 一种ActiveX插件加载方法和装置 |
-
2013
- 2013-04-19 CN CN201310138850.3A patent/CN103235722B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979418A (zh) * | 2005-12-07 | 2007-06-13 | 英业达股份有限公司 | 动态升级程序的方法 |
CN101561763A (zh) * | 2009-04-30 | 2009-10-21 | 腾讯科技(北京)有限公司 | 一种实现动态链接库的方法和装置 |
CN101571809A (zh) * | 2009-05-14 | 2009-11-04 | 阿里巴巴集团控股有限公司 | 一种插件注册的实现方法及其装置 |
CN101587495A (zh) * | 2009-07-08 | 2009-11-25 | 伍帝州 | 通过浏览器下载部署应用并提供应用入口的方法及系统 |
CN102402455A (zh) * | 2010-09-14 | 2012-04-04 | 北大方正集团有限公司 | 调用动态链接库的方法和装置 |
CN102760068A (zh) * | 2012-06-01 | 2012-10-31 | 奇智软件(北京)有限公司 | 一种ActiveX插件加载方法和装置 |
Non-Patent Citations (2)
Title |
---|
叶利华 陶宏才 梁田: "基于COM的软件在线升级技术", 《成都信息工程学院学报》 * |
方红琴 杨玉蓓: "《C语言程序设计》", 28 February 2013, 华中科技大学出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445620A (zh) * | 2016-10-20 | 2017-02-22 | 南京莱斯信息技术股份有限公司 | 一种支持浏览器的客户端功能扩展组件的实现方法 |
CN106850563A (zh) * | 2016-12-28 | 2017-06-13 | 百富计算机技术(深圳)有限公司 | 访问支付终端的方法及装置 |
CN106850563B (zh) * | 2016-12-28 | 2020-11-24 | 百富计算机技术(深圳)有限公司 | 访问支付终端的方法及装置 |
CN108170491A (zh) * | 2017-12-26 | 2018-06-15 | 五八有限公司 | App动态链接库的配置方法、终端及计算机可读存储介质 |
CN108170491B (zh) * | 2017-12-26 | 2022-01-28 | 五八有限公司 | App动态链接库的配置方法、终端及计算机可读存储介质 |
CN108920496A (zh) * | 2018-05-23 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种渲染方法及装置 |
CN108920496B (zh) * | 2018-05-23 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种渲染方法及装置 |
CN108874466A (zh) * | 2018-06-08 | 2018-11-23 | Oppo(重庆)智能科技有限公司 | 控件调用方法、电子装置及计算机可读存储介质 |
CN108874466B (zh) * | 2018-06-08 | 2021-10-29 | Oppo(重庆)智能科技有限公司 | 控件调用方法、电子装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103235722B (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266576B2 (en) | Sharing live appliances | |
EP2916243B1 (en) | Method, apparatus, server and system for implementing web application | |
US8595186B1 (en) | System and method for building and delivering mobile widgets | |
CN110020329B (zh) | 用于生成网页的方法、装置和系统 | |
US20210337015A1 (en) | Method and system of application development for multiple device client platforms | |
CN103064738B (zh) | Linux下本地应用程序窗体嵌入浏览器的方法及系统 | |
CN103235722A (zh) | 一种ActiveX控件框架技术实现方法 | |
CN104106048A (zh) | 使用应用高速缓存来更新已安装应用的资源 | |
CN103873918A (zh) | 图片处理方法、装置及终端 | |
US10389792B2 (en) | Output function dividing system | |
CN112217671B (zh) | 基于拆分部署的前端微服务进行界面显示的方法及设备 | |
CN106445620A (zh) | 一种支持浏览器的客户端功能扩展组件的实现方法 | |
CN103268319A (zh) | 一种基于网页的云浏览器 | |
KR20120053086A (ko) | 컴퓨터 네트워크를 통해 전달되는 문서들의 비헤비어를 수정하기 위한 기술들 | |
US20170192941A1 (en) | Computer-Automated Generation of Application Deep Links | |
CN103888408B (zh) | 将数据上传到社交平台的方法及装置 | |
US10795633B2 (en) | Desktop sharing method and mobile terminal | |
CN103729425A (zh) | 操作响应方法、客户端、浏览器及系统 | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN110825990A (zh) | 页面访问方法、客户端、服务器及系统 | |
CN103607454B (zh) | Android系统浏览器设置私有代理服务器的方法 | |
CN105183529A (zh) | 刷新服务器固件的方法、目标服务器、源服务器及系统 | |
CN105635284A (zh) | 一种页面显示方法及终端 | |
CN112748962A (zh) | 应用加载方法、装置、电子设备和计算机可读介质 | |
CN102314437A (zh) | 一种用于支持浏览多种格式资源的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |