CN101727358A - 一种实现Widget应用间通信的方法和系统 - Google Patents
一种实现Widget应用间通信的方法和系统 Download PDFInfo
- Publication number
- CN101727358A CN101727358A CN200910250578A CN200910250578A CN101727358A CN 101727358 A CN101727358 A CN 101727358A CN 200910250578 A CN200910250578 A CN 200910250578A CN 200910250578 A CN200910250578 A CN 200910250578A CN 101727358 A CN101727358 A CN 101727358A
- Authority
- CN
- China
- Prior art keywords
- widget
- open interface
- interface
- described open
- engine
- 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
- Stored Programmes (AREA)
Abstract
本发明提出一种实现Widget应用间通信的方法和系统,包括以下步骤:将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎;通过Widget引擎向所有Widget应用提供查询接口,查询已注册的所述开放接口;当Widget应用通过所述查询接口查询到要进行通信的所述开放接口时,调用所述开放接口来实现Widget应用之间的通信。本发明实现了Widget应用之间的通信过程。
Description
技术领域
本发明涉及网络应用技术领域,尤其是Widget技术领域。
背景技术
Widget中文翻译为“微件”或“微技”,它指在互联网环境下,运行于用户计算机或移动设备的,基于Web浏览器/Widget引擎的应用程序,它可以从本地或互联网更新并显示数据,目的是协助用户享用各种应用程序和网络服务。
Widget具体包括Widget应用和Widget引擎(或Web浏览器),在W3C中定义的Widget的技术架构如图1所示。
Widget应用由Widget资源构成,一般包括以下元素:
-Mainpage:Widget主页。即整个Widget的入口页面。一般命名为index.html。
-JavaScript脚本文件:动态页面所需的JavaScript脚本。通常放置于以.js为扩展名的单独文件中。放置于script目录下。
-CSS文件:页面样式文件,通常放置于以.css为扩展名的单独文件中。放置于css目录下。
-Icon:放置于Widget列表上的图标,通常大小为128×128,命名为Icon.png。
-Images:Widget页面所用图片文件。放置于img目录下。Widget中可以使用.gif,.png,.gif格式文件。
-Config文件:Widget配置数据信息,如名字,内容,URL等。一般命名为Config.xml。
Widget引擎(或Web浏览器)对Widget资源进行解析、渲染、显示,使得Widget应用从Widget资源实例化为可运行的应用程序。Widget应用基于Web2.0技术,其运行依赖于Widget引擎的解析,因此,Widget应用彼此之间没有任何交互和通信,相对独立。
但随着Widget应用的丰富和发展,Widget应用之间的通信需求也变得越来越迫切。例如,存在一个通讯录Widget和短信Widget。通讯录Widget希望能从通讯录中直接调用短信Widget发送短信。短信Widget也希望能通过通讯录Widget获取号码。但目前的Widget运行模式并不支持这种方式,往往得重新开发Widget应用才能满足需求。
发明内容
鉴于上述技术所存在的问题,本发明基于W3C的Widget引擎架构,做了一些扩展,并在此基础上实现了一种能实现Widget应用间通信的方法和系统。
根据本发明一方面,提出一种实现Widget应用间通信的方法,包括以下步骤:将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎;通过Widget引擎向所有Widget应用提供查询接口,查询已注册的所述开放接口;当Widget应用通过所述查询接口查询到要进行通信的所述开放接口时,调用所述开放接口来实现Widget应用之间的通信。
进一步,将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎的操作,包括以下步骤:在Widget应用的配置文件中配置需要注册的开放接口以及对所述开放接口的描述;当Widget引擎解析所述配置文件后,根据所述配置文件注册所述开放接口以及对所述开放接口的描述。
进一步,还包括注销所述开放接口的操作,具体为:Widget引擎查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件,发布所述开放接口已被注销的通知。
根据本发明另一方面,还提出一种实现Widget应用间通信的系统,其中:Widget应用,设置用于在Widget应用之间通信的开放接口,并配置对所述开放接口的描述,将所述开放接口以及对所述开放接口的描述注册到Widget引擎;Widget引擎包括:开放接口注册单元,注册所述开放接口以及对所述开放接口的描述;开放接口查询单元,向所有Widget应用提供查询接口,以查询用于在Widget应用之间通信的所述开放接口。
进一步,所述Widget应用将需要注册的开放接口以及对所述开放接口的描述记载在配置文件中。
进一步,所述开放接口注册单元解析所述配置文件后,根据所述配置文件注册所述开放接口以及对所述开放接口的描述。
进一步,所述Widget引擎还包括:开放接口注销单元,通过所述开放接口查询单元维护的通信状态信息,查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件。
进一步,所述开放接口查询单元还发布所述开放接口已被注销的通知。
根据本发明另一方面,还提出一种实现Widget应用间通信的Widget引擎,包括:开放接口注册单元,注册用于在Widget应用之间通信的开放接口以及对所述开放接口的描述;开放接口查询单元,向所有Widget应用提供查询接口,以查询用于在Widget应用之间通信的开放接口。
进一步,还包括:开放接口注销单元,通过所述开放接口查询单元维护的通信状态信息,查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件。
与现有技术相比,本发明使得Widget应用由一个个独立的“应用”转变成一个个可供其它应用调用和接收其它应用数据的“组件”。丰富了Widget应用的开发方式,扩充了Widget应用的功能。
附图说明
图1是现有技术实施例中W3C提出的Widget技术架构。
图2是本发明实施例中改进的Widget引擎的系统架构。
图3是本发明实施例中的Widget注册与管理模块结构图。
图4为本发明通过Widget注册与管理模块实现Widget应用间通信的方法流程图。
图5是本发明实施例中Widget应用安装和接口注册示意图。
图6是本发明实施例中Widget应用卸载示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。
本发明在现有的Widget引擎(见图1)的架构上,增加了Widget注册与管理模块,构成了本发明实施例中的Widget引擎架构,如图2所示,通过该Widget注册与管理模块实现Widget应用之间的通信。
Widget技术来源于互联网,从Widget引擎的核心部件就可以看出,其核心模块其实就是一个Web引擎(Web Engine),主要完成对于DOM、CSS、SVG的解析和渲染,JavaScript脚本的解释、编译和执行,(X)HTML、XML、WML等标记语言的支持,以及其它一些辅助性的处理能力。因此这也是导致依赖其运行的Widget应用无法通信的根本原因。图2技术架构中,增加的Widget注册与管理模块,参考了桌面程序的通信、管理机制,对所有已下载安装的Widget应用进行注册与管理,其完成的功能包括:Widget安装/加载/卸载管理、Widget接口管理,包括接口注册/查询/注销、Widget通信管理。
图3示出了本发明中Widget注册与管理模块的结构,该模块与Widget应用配合完成开放接口的注册以及基于该开放接口的通信过程,其中Widget应用设置用于在Widget应用之间通信的开放接口,并配置对所述开放接口的描述,将所述开放接口以及对所述开放接口的描述注册到Widget引擎。
所述Widget应用将需要注册的开放接口以及对所述开放接口的描述记载在配置文件中。所述Widget注册与管理模块解析所述配置文件后,根据所述配置文件注册所述开放接口以及对所述开放接口的描述。
下面将结合附图具体说明Widget注册与管理模块的结构,包括:Widget加载单元、开放接口注册单元、开放接口查询单元。
Widget加载单元,用于在加载Widget应用时验证Widget应用的合法性,以及验证Widget应用的资源文件的完整性。在合法性以及完整性满足要求的情况下,由开放接口注册单元和开放接口查询单元配合完成用于在Widget应用之间通信的过程,具体将在下面说明。
开放接口注册单元,注册开放接口以及对所述开放接口的描述。具体地,开放接口注册单元在解析所述配置文件后,根据配置文件执行注册操作。
开放接口查询单元,向所有Widget应用提供查询接口,以查询用于在Widget应用之间通信的所述开放接口。进一步,开放接口查询单元还用于在开放接口被调用后,对Widget应用的通信状态进行管理,包括被调用的Widget应用的ID、调用的接口名、参数列表以及返回的接口列表等,当有新的开放接口注册后,还发布新接口注册通知,包括新注册Widget应用的ID、新注册方法名、参数定义以及返回值定义等。当开放接口注销时,还发布接口注销通知,包括注销接口的Widget应用的ID、注销的接口名等。在执行注销的操作中,可以根据已保存的上述通信状态信息执行后续操作,具体将在下面进行说明。除此之外,本领域技术人员应该还可以根据需要对接口相关参数进行扩展,据此都应包括在本发明的保护范围中。
此外,Widget注册与管理模块还可以包括:开放接口注销单元,通过所述开放接口查询单元维护的通信状态信息,查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件。在注销开放接口之后,还通过开放接口查询单元发布所述开放接口已被注销的通知。
图4为本发明通过Widget注册与管理模块实现Widget应用间通信的方法,该方法包括以下步骤:
在步骤401,将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎。在注册前,还进行合法性以及完整性的检测,具体操作如图5所示。
在步骤402,Widget引擎管理所有已注册的Widget应用的开放接口,并向所有的Widget应用提供查询接口,可以查询已注册的所述开放接口。具体的查询接口的定义以及管理将在下面进行详细说明。
在步骤403,当Widget应用通过向Widget引擎查询开放的Widget应用接口时,并可决定是否调用此开放接口来实现Widget应用之间的通信。
图5示出了本发明实施例中的Widget应用的安装和接口注册过程。其流程如下:
先通过数字签名验证Widget应用的合法性;
对合法的Widget应用,检查本地是否已经安装,如果还未安装,按照规范格式解压安装包,并拷贝到Widget应用的安装目录;
通过数字签名,验证Widget应用资源文件的完整性;
由于在Widget应用的配置文件中已配置需要注册的开放接口以及对所述开放接口的描述,当Widget引擎解析Widget应用的配置文件后,查看此Widget应用是否有接口需要注册与开放给其它Widget应用,如果有,根据所述配置文件注册此Widget应用的开放接口以及对所述开放接口的描述;
加载Widget应用,完成Widget应用的安装。安装完成后,Widget注册与管理模块应通知Widget引擎Widget应用安装完毕,同时,通过注册Widget通知接口通知其它Widget应用有新的Widget应用加载。
图6示出了本发明实施例中的Widget应用的卸载过程,也就是注销所述开放接口的过程,具体包括以下步骤:
Widget引擎主程序发出卸载Widget应用的请求,Widget注册与管理模块查看此Widget应用是否正在处于被使用的状态,包括Widget应用是否正在被其它Widget应用使用;
如果处于被使用的状态,可以继续执行上一步骤,比如定期查看Widget应用的状态,或者等待Widget应用已结束的通知;如果未处于被使用的状态,则删除Widget应用的资源文件;
完成Widget应用的卸载。将卸载结果通知Widget引擎,并通知其它Widget应用此Widget应用已被卸载。
为了实现图5、图6流程,对Widget应用的配置文件做了以下扩展:
增加了子节点InterfaceReg:接口注册,包括以下属性:
属性名 | 类型 | 描述 |
FuncName | String | 接口功能名称,例如“SendSms” |
FuncEntry | String | 接口调用入口 |
InterfaceReg可包括0个~多个子节点param,param包括以下属性:
属性名 | 类型 | 描述 |
name | String | 参数名 |
type | String | 参数类型 |
descript | String | 参数描述 |
InterfaceReg还可包括0个或多个子节点result,result的属性和param相同。
示例:
<widget xmlns=″http:∥www.w3.org/ns/widgets″>
<InterfaceReg FuncName=”SendSms”
FuncEntry=”sendsms.htm”>
<paramname=”rec”type=”string”descript=”短信接收人”/>
<param name=”content”type=”string”descript=”短信内容”/>
</InterfaceReg>
</widget>
Widget注册与管理模块需要对所有已安装的Widget应用和已注册的Widget应用接口进行管理。Widget应用的数据结构如下所示:
为实现Widget应用间通信,本发明中还制定了一系列的接口,供Widget应用间通信使用。这些接口均放在类OpenInterface之下。类的架构图如下所示:
Object
|
+----Widget
|
+-----OpenInterface
接口如下表所示:
其中的数据结构定义包括:
typedef struct_Param{
string name;
string value;
}Param,Result;
typedef struct_ParamStruct{
string name;
string type;
string description;
}ParamStruct,ResultStruct;
typedef struct_InterfaceStruct{
string widgetID;
<funcStruct>funclist;
}InterfaceStruct;
typedef struct_funcStruct{
string funcName;
ParamStruct paramdef;
ResultStruct resultdef;
}funcStruet;
本发明的实现依赖于在W3C Widget引擎架构基础上,增加了Widget注册与管理模块,以实现对Widget应用的管理和接口注册/注销/查询/调用。本发明还公开了Widget通信接口,通过该接口,Widget应用之间可实现互相的通信和调用。
以上所揭露的仅为本发明实施例中的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此以本发明权利要求的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种实现Widget应用间通信的方法,包括以下步骤:
将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎;
通过Widget引擎向所有Widget应用提供查询接口,查询已注册的所述开放接口;
当Widget应用通过所述查询接口查询到要进行通信的所述开放接口时,调用所述开放接口来实现Widget应用之间的通信。
2.根据权利要求1所述实现Widget应用间通信的方法,其中,将Widget应用的开放接口以及对所述开放接口的描述注册到Widget引擎的操作,包括以下步骤:
在Widget应用的配置文件中配置需要注册的开放接口以及对所述开放接口的描述;
当Widget引擎解析所述配置文件后,根据所述配置文件注册所述开放接口以及对所述开放接口的描述。
3.根据权利要求1所述实现Widget应用间通信的方法,还包括注销所述开放接口的操作,具体为:
Widget引擎查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件,发布所述开放接口已被注销的通知。
4.一种实现Widget应用间通信的系统,其中:
Widget应用,设置用于在Widget应用之间通信的开放接口,并配置对所述开放接口的描述,将所述开放接口以及对所述开放接口的描述注册到Widget引擎;
Widget引擎包括:
开放接口注册单元,注册所述开放接口以及对所述开放接口的描述;
开放接口查询单元,向所有Widget应用提供查询接口,以查询用于在Widget应用之间通信的所述开放接口。
5.根据权利要求4所述实现Widget应用间通信的系统,其中,所述Widget应用将需要注册的开放接口以及对所述开放接口的描述记载在配置文件中。
6.根据权利要求5所述实现Widget应用间通信的系统,其中,所述开放接口注册单元解析所述配置文件后,根据所述配置文件注册所述开放接口以及对所述开放接口的描述。
7.根据权利要求4所述实现Widget应用间通信的系统,其中,所述Widget引擎还包括:开放接口注销单元,通过所述开放接口查询单元维护的通信状态信息,查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件。
8.根据权利要求7所述实现Widget应用间通信的系统,其中,所述开放接口查询单元还发布所述开放接口已被注销的通知。
9.一种实现Widget应用间通信的Widget引擎,包括:
开放接口注册单元,注册用于在Widget应用之间通信的开放接口以及对所述开放接口的描述;
开放接口查询单元,向所有Widget应用提供查询接口,以查询用于在Widget应用之间通信的开放接口。
10.根据权利要求9所述实现Widget应用间通信的Widget引擎,还包括:开放接口注销单元,通过所述开放接口查询单元维护的通信状态信息,查看Widget应用是否正在处于被使用的状态,如果未处于被使用的状态,删除Widget应用的资源文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102505781A CN101727358B (zh) | 2009-12-15 | 2009-12-15 | 一种实现Widget应用间通信的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102505781A CN101727358B (zh) | 2009-12-15 | 2009-12-15 | 一种实现Widget应用间通信的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101727358A true CN101727358A (zh) | 2010-06-09 |
CN101727358B CN101727358B (zh) | 2013-11-20 |
Family
ID=42448283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102505781A Active CN101727358B (zh) | 2009-12-15 | 2009-12-15 | 一种实现Widget应用间通信的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727358B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957768A (zh) * | 2010-09-25 | 2011-01-26 | 浙江大学 | 一种移动Widget包的安装方法 |
CN101977230A (zh) * | 2010-10-21 | 2011-02-16 | 中兴通讯股份有限公司 | 一种widget应用安全保护方法和系统 |
CN102333284A (zh) * | 2010-07-12 | 2012-01-25 | 上海科泰世纪科技有限公司 | 电子设备及其程序部署方法 |
CN102546736A (zh) * | 2010-12-08 | 2012-07-04 | 中国电信股份有限公司 | widget应用之间的通信方法和系统 |
WO2013044515A1 (en) * | 2011-09-30 | 2013-04-04 | Nokia Corporation | Method and apparatus for inter-widget communication |
CN103312801A (zh) * | 2013-06-05 | 2013-09-18 | 上海西本网络科技有限公司 | 应用装置、应用装置之间数据交互的方法、系统和服务器 |
CN103973642A (zh) * | 2013-01-30 | 2014-08-06 | 中国电信股份有限公司 | 实现js应用程序接口安全访问控制的方法与装置 |
CN107092470A (zh) * | 2016-02-17 | 2017-08-25 | 中国移动通信集团北京有限公司 | 一种微件Widget注册方法及装置 |
CN112799739A (zh) * | 2021-02-04 | 2021-05-14 | 福州汇思博信息技术有限公司 | 一种应用保护方法及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968322A (zh) * | 2006-09-08 | 2007-05-23 | 中山大学 | 一种Web服务发现和集成代理系统 |
CN101552836A (zh) * | 2009-05-18 | 2009-10-07 | 浙江大学 | 应用于手机中移动Widget引擎的实现方法 |
-
2009
- 2009-12-15 CN CN2009102505781A patent/CN101727358B/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333284B (zh) * | 2010-07-12 | 2014-12-17 | 上海科泰世纪科技有限公司 | 电子设备及其程序部署方法 |
CN102333284A (zh) * | 2010-07-12 | 2012-01-25 | 上海科泰世纪科技有限公司 | 电子设备及其程序部署方法 |
CN101957768A (zh) * | 2010-09-25 | 2011-01-26 | 浙江大学 | 一种移动Widget包的安装方法 |
WO2012051821A1 (zh) * | 2010-10-21 | 2012-04-26 | 中兴通讯股份有限公司 | 一种微技应用安全保护方法和系统 |
CN101977230A (zh) * | 2010-10-21 | 2011-02-16 | 中兴通讯股份有限公司 | 一种widget应用安全保护方法和系统 |
CN101977230B (zh) * | 2010-10-21 | 2015-10-21 | 中兴通讯股份有限公司 | 一种widget应用安全保护方法和系统 |
CN102546736A (zh) * | 2010-12-08 | 2012-07-04 | 中国电信股份有限公司 | widget应用之间的通信方法和系统 |
CN102546736B (zh) * | 2010-12-08 | 2015-06-17 | 中国电信股份有限公司 | widget应用之间的通信方法和系统 |
WO2013044515A1 (en) * | 2011-09-30 | 2013-04-04 | Nokia Corporation | Method and apparatus for inter-widget communication |
CN103842960A (zh) * | 2011-09-30 | 2014-06-04 | 诺基亚公司 | 用于控件间通信的方法和设备 |
CN103973642A (zh) * | 2013-01-30 | 2014-08-06 | 中国电信股份有限公司 | 实现js应用程序接口安全访问控制的方法与装置 |
CN103973642B (zh) * | 2013-01-30 | 2017-11-24 | 中国电信股份有限公司 | 实现js应用程序接口安全访问控制的方法与装置 |
CN103312801A (zh) * | 2013-06-05 | 2013-09-18 | 上海西本网络科技有限公司 | 应用装置、应用装置之间数据交互的方法、系统和服务器 |
CN107092470A (zh) * | 2016-02-17 | 2017-08-25 | 中国移动通信集团北京有限公司 | 一种微件Widget注册方法及装置 |
CN112799739A (zh) * | 2021-02-04 | 2021-05-14 | 福州汇思博信息技术有限公司 | 一种应用保护方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN101727358B (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727358B (zh) | 一种实现Widget应用间通信的方法和系统 | |
US7818740B2 (en) | Techniques to perform gradual upgrades | |
JP5288334B2 (ja) | 仮想アプライアンス配備システム | |
CN101656789B (zh) | 手机实现管理应用程序信息的方法及应用程序管理器 | |
AU2006300075B2 (en) | Multimedia middleware apparatus using metadata, method for controlling multimedia middleware, and storage medium thereof | |
US7735115B2 (en) | System which enforces policy for virtual private organization and method thereof | |
JP2006512694A (ja) | プラットホーム中立ジェネリックサービスのクライアントアプリケーションの構築及び実行のためのシステム及び方法 | |
JP2009528647A (ja) | 配信コンテンツ用補助表示ガジェット | |
WO2009062414A1 (en) | Integrate client and method of desktop application communicating with net web application | |
KR20070115595A (ko) | 스크립트 플러그인을 사용하여 이질적인 장치상에서이질적인 서비스를 사용하기 위한 방법 | |
CN102404149B (zh) | 一种业务特性的管理系统和方法 | |
CN102323884A (zh) | 一种多Web服务发布的方法及Web服务容器 | |
CN101150760A (zh) | 自动下载媒体内容的系统、方法及移动终端 | |
US7350215B2 (en) | System and method for dynamic content processing with extendable provisioning | |
WO2009018234A2 (en) | Framework to integrate web services with on-premise software | |
US20060089965A1 (en) | Dynamic linkage of an application server and a Web server | |
US7882145B2 (en) | Method and system for orchestration of content processing in mobile delivery frameworks | |
CN103235722A (zh) | 一种ActiveX控件框架技术实现方法 | |
JP2003308397A (ja) | コンテンツの取得状況通知方法、管理装置、プログラムおよび記録媒体 | |
JP4864022B2 (ja) | モバイル配信フレームワークにおけるコンテンツ処理の調和のための方法およびシステム | |
CN101478425B (zh) | 一种网络管理代理的方法及系统 | |
CN102821116B (zh) | 一种在线服务提供方法、装置及信息系统 | |
CN111428107B (zh) | 多中心综合网络爬虫系统 | |
US20240202207A1 (en) | Distributed function data transformation system | |
CN101834868B (zh) | 一种Web空间分析服务中空间分析方法包的部署和管理方法 |
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 |