CN103186429A - WebAPP管理系统及其应用方法 - Google Patents
WebAPP管理系统及其应用方法 Download PDFInfo
- Publication number
- CN103186429A CN103186429A CN 201110453800 CN201110453800A CN103186429A CN 103186429 A CN103186429 A CN 103186429A CN 201110453800 CN201110453800 CN 201110453800 CN 201110453800 A CN201110453800 A CN 201110453800A CN 103186429 A CN103186429 A CN 103186429A
- Authority
- CN
- China
- Prior art keywords
- webapp
- url
- processes
- self
- data
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种WebAPP管理系统及其应用方法,在浏览器内核中扩展URL解析模块和IPC模块,通过URL解析模块识别出自定义URL,IPC模块处理自定义URL并转发给服务进程,在不改变当前标准网络URL正常打开的情况下,支持通过浏览器启动本地服务进程,完成多个WebAPP进程间交互功能。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种WebAPP管理系统及其应用方法。
背景技术
随着Web 2.0的流行以及AJAX技术的广泛使用,互联网领域正在发生翻天覆地的变化。互联网作为平台,提供各类应用和服务,已经逐渐成为现实。
在Web 2.0时代,着重解决了客户端和服务器端数据动态、异步交互的问题,这主要是通过XMLHttpRequest对象来完成的。XMLHttpRequest是一个JavaScript对象,是AJAX技术的关键,主要用于完成客户端与服务器端的数据交换。XMLHttpRequest可以在不重新加载页面的情况下更新页面,在页面加载后在客户端向服务器请求数据,在页面加载后在服务器端接受数据,在后台向客户端发送数据。XMLHttpRequest对象提供了对HTTP协议的完全的访问,包括做出POST和HEAD请求以及普通的GET请求的能力。XMLHttpRequest可以同步或异步返回Web服务器的响应,并且能以文本或者一个DOM文档形式返回内容。
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。从一个简单的帮助消费者计算汽车租借费用的网页,到为商业人员和度假者提供全套旅游服务的大型复杂的WEB站点,都是WebApp。它包括一些完整的WEB站点,WEB站点的专门功能以及在Internet、Intranet或ExtraNet上的信息处理应用。
因此,希望Web技术中,互联网作为平台,除了完成客户端跟服务器端的交互外,还能使得运行在客户端的WebApp之间能够具备直接交互的能力。
发明内容
本发明的目的在于提供一种WebAPP管理系统及其应用方法,在不改变当前标准网络URL正常打开的情况下,支持通过浏览器启动本地服务进程,完成多个WebAPP进程间交互功能。
为解决上述问题,本发明提供一种WebAPP管理系统,包括运行浏览器内核的浏览器层以及与其交互通信的本地服务进程层,所述浏览器内核加载多个WebAPP应用,所述浏览器内核包括:
WebAPP加载模块,用于加载多个WebAPP应用,接收每个WebAPP进程发送的URL请求;
URL解析模块,用于识别每个WebAPP进程请求的URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
IPC模块,用于将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
进一步的,所述浏览器层内核为WebKit内核。
进一步的,所述WebAPP进程使用标准的XMLHttpRequest对象发送URL请求。
进一步的,所述多个WebAPP进程间交互信息包括一WebAPP进程请求启动其他WebAPP进程、请求退出其他WebAPP进程、异步发送消息至其他WebAPP进程、以及同步发送消息至其他WebAPP进程中的至少一种。
进一步的,所述IPC模块将所述服务进程的数据转换为自定义事件派发给所述自定义URL所涉及的WebAPP进程。
进一步的,所述IPC模块包含控制通道和数据通道,所述数据通道管理着一块共享内存,用于传输所述服务进程的数据以实现所述自定义URL所涉及的WebAPP进程间的数据交换;所述控制通道负责浏览器内核与所述服务器进程的握手和协调,以负责所述自定义URL所涉及的间的握手和协调。
相应的,本发明还提供一种上述的WebAPP管理系统的方法,包括以下步骤:
浏览器内核通过其WebAPP加载模块加载多个WebAPP应用,接收所有WebAPP进程的URL请求;
所述浏览器内核通过其URL解析模块识别每个URL请求中URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
所述浏览器内核通过其IPC模块将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
与现有技术相比,本发明提供的WebAPP管理系统及其应用方法,在浏览器内核中扩展URL解析模块和IPC模块,通过URL解析模块识别出自定义URL,IPC模块处理自定义URL并转发给服务进程,在不改变当前标准网络URL正常打开的情况下,支持通过浏览器启动本地服务进程,完成多个WebAPP进程间交互功能。
附图说明
图1是本发明一实施例的WebAPP管理系统的架构示意图;
图2A是本发明一实施例的浏览器内核的IPC模块双通道运行机制;
图2B是本发明一实施例的WebAPP进程与本地服务进程间的消息传递图;
图3是本发明一实施例的WebAPP管理系统的应用方法流程图;
图4是本发明一实施例的自定义URL示例图;
图5是本发明一实施例的WebAPP进程间交互流程示意图。
具体实施方式
本发明中,URL(统一资源定位符,UniformResourceLocator)也被称为网页地址,是因特网上标准的资源的地址;IPC(Inter-Process Communication)是进程间通信,在不同进程之间传播或交换信息。
以下结合附图和具体实施例对本发明提出的WebAPP管理系统及其应用方法作进一步详细说明。
如图1所示,本发明提供一种WebAPP管理系统,包括运行浏览器内核的浏览器层10以及与其交互通信的本地服务进程层20,所述浏览器层10通过所述浏览器内核加载多个WebAPP应用,所述浏览器内核包括:
WebAPP加载模块101,用于加载多个WebAPP应用,接收每个WebAPP进程发送的URL请求;
URL解析模块102,用于识别每个WebAPP进程请求的URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
IPC模块103,用于将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
本发明中,WebAPP进程是包括浏览器内核实例和“WebAPP”的,WebAPP应用理解为用HTML技术写的应用,WebAPP进程就是用来浏览器来加载应用后成为一个独立的进程。WebAPP进程是跟本地服务进程对应的。
如图1所示,本实施例中,浏览器层10的浏览器内核的WebAPP加载模块101加载了n个WebAPP应用,即WebAPP1、WebAPP2、...、WebAPPn,形成了n个浏览器内核实例,即WebAPP1进程、WebAPP2进程、...、WebAPPn进程。
如图2A所示,本实施例中,每个浏览器内核实例的IPC模块包含两个通道:控制通道和数据通道,所述数据通道管理着一块共享内存,用于传输所述服务进程的数据以实现所述自定义URL所涉及的WebAPP进程间的数据交换,所述控制通道负责浏览器内核与所述服务器进程的握手和协调,以负责所述自定义URL所涉及的WebAPP进程间的握手和协调。例如,浏览器内核的IPC模块103的控制通道可以分别控制所述自定义URL所涉及的WebAPP进程与所述服务器进程201的握手和协调,从而负责了所述自定义URL所涉及的一WebAPP进程-服务器进程201-所述自定义URL所涉及的另一WebAPP进程的主要进程间的握手和协调,进而间接负责所述自定义URL所涉及的间的握手和协调。例如所述自定义URL所涉及的WebAPP进程分别为WebAPP1进程和WebAPP2进程,浏览器内核的IPC模块103的数据通道可以分别传输所述服务器进程201与WebAPP1进程和WebAPP2进程间的数据,从而实现了WebAPP1进程-服务器进程201-WebAPP2进程的数据传输,进而实现所述WebAPP1进程与所述WebAPP2进程间的数据交换。
本实施例中,浏览器内核可以为WebKit内核,也可以为其他浏览器内核,例如IE内核;WebAPP进程使用标准的XMLHttpRequest对象发送URL请求,IPC模块将所述服务进程的数据转换为自定义事件(CustomEvent)派发到所述WebAPP进程(如图2B所示)。
相应的,如图3所示,本发明还提供一种应用上述的WebAPP管理系统的方法,包括以下步骤:
S31,浏览器内核通过其WebAPP加载模块加载多个WebAPP应用,接收所有WebAPP进程的URL请求;
S32,所述浏览器内核通过其URL解析模块识别每个URL请求中URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
S33,所述浏览器内核通过其IPC模块将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
请参考图1至图5,以WebAPP1进程与所述WebAPP2进程间的交互为例,详细对本发明提出的应用WebAPP管理系统的方法作进一步详细说明。
如图5所示,应用WebAPP管理系统实现WebAPP1进程与所述WebAPP2进程间的交互的方法,包括以下步骤:
S41,浏览器内核通过其WebAPP加载模块101加载WebAPP1应用、WebAPP2应用,并接收所述WebAPP1进程以及WebAPP2进程的URL请求,其中,所述WebAPP1进程和WebAPP2进程的URL请求均使用标准的XMLHttpRequest对象发送;
S42,浏览器内核通过其URL解析模块102识别WebAPP1进程和WebAPP2进程的URL请求,判断请求的URL是否是包含所述WebAPP1进程与WebAPP2进程间交互信息的自定义URL,若否,执行S43,浏览器内核正常打开请求的URL;若是,URL解析模块102转发所述自定义URL,并执行S44至S46;
S44,浏览器内核通过其IPC模块103的数据通道将所述自定义URL转发给所述本地服务进程层20的服务进程201,控制通道分别负责WebAPP1进程和WebAPP2进程与服务进程间的握手和协调;
S45,浏览器内核的IPC模块103的数据通道转发所述服务进程201的数据给所述WebAPP1进程和WebAPP2进程,控制通道负责WebAPP1进程和WebAPP2进程与服务进程201间的握手和协调;
S46,完成所述WebAPP1进程与所述WebAPP2进程间的交互。
本实施中,如图4所示,所述WebAPP1进程请求的自定义URL包括请求启动(Start)所述WebAPP2进程、请求退出(Exit)所述WebAPP2进程、异步发送消息(PostMessage)至所述WebAPP2进程以及同步发送消息(SendMessage)至所述WebAPP2进程中的至少一种。当所述WebAPP1进程请求的自定义URL仅包含同步发送消息(SendMessage)至所述WebAPP2进程时,在步骤S44中,浏览器内核通过其IPC模块103的数据通道将消息转发给所述本地服务进程层20的服务进程201,在步骤S45中,浏览器内核的IPC模块103的数据通道转发所述服务进程201的所述消息给所述WebAPP2进程,所述WebAPP2进程执行完所述消息后通过浏览器内核的IPC模块103的数据通道返回反馈消息至所述服务进程201,然后再次通过浏览器内核的IPC模块103的数据通道将反馈消息转发给WebAPP1进程,实现所述WebAPP1进程与所述WebAPP2进程间的同步消息传递。
在步骤S45中,所述IPC模块103将所述服务进程的数据转换为自定义事件(CustomEvent)派发到所述WebAPP1进程和WebAPP2进程。
综上所述,本发明提供的WebAPP管理系统及其应用方法,在浏览器内核实例中扩展URL解析模块和IPC模块,通过URL解析模块识别出自定义URL,IPC模块处理自定义URL并转发给服务进程,在不改变当前标准网络URL正常打开的情况下,支持通过浏览器启动本地服务进程,完成多个WebAPP进程间交互功能。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种WebAPP管理系统,其特征在于,包括运行浏览器内核的浏览器层以及与其交互通信的本地服务进程层,所述浏览器内核加载多个WebAPP应用,所述浏览器内核包括:
WebAPP加载模块,用于加载多个WebAPP应用,接收每个WebAPP进程发送的URL请求;
URL解析模块,用于识别每个WebAPP进程请求的URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
IPC模块,用于将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
2.如权利要求1所述的WebAPP管理系统,其特征在于,所述浏览器层内核为WebKit内核。
3.如权利要求1所述的WebAPP管理系统,其特征在于,所述WebAPP进程使用标准的XMLHttpRequest对象发送URL请求。
4.如权利要求1所述的WebAPP管理系统,其特征在于,所述多个WebAPP进程间交互信息包括一WebAPP进程请求启动其他WebAPP进程、请求退出其他WebAPP进程、异步发送消息至其他WebAPP进程、以及同步发送消息至其他WebAPP进程中的至少一种。
5.如权利要求1所述的WebAPP管理系统,其特征在于,所述IPC模块将所述服务进程的数据转换为自定义事件派发给所述自定义URL所涉及的WebAPP进程。
6.如权利要求1所述的WebAPP管理系统,其特征在于,所述IPC模块包含控制通道和数据通道,所述数据通道管理着一块共享内存,用于传输所述服务进程的数据以实现所述自定义URL所涉及的WebAPP进程间的数据交换;所述控制通道负责浏览器内核与所述服务器进程的握手和协调,以负责所述自定义URL所涉及的间的握手和协调。
7.一种应用权利要求1所述的WebAPP管理系统的方法,其特征在于,包括:
浏览器内核通过其WebAPP加载模块加载多个WebAPP应用,接收所有WebAPP进程的URL请求;
所述浏览器内核通过其URL解析模块识别每个URL请求中URL是否是包含多个WebAPP进程间交互信息的自定义URL,若否,正常打开请求的URL;若是,转发所述自定义URL;
所述浏览器内核通过其IPC模块将所述自定义URL转发给所述本地服务进程层的服务进程,并转发所述服务进程的数据给所述自定义URL所涉及的WebAPP进程,以完成所述自定义URL所涉及的WebAPP进程间的交互。
8.如权利要求7所述的方法,其特征在于,所述浏览器内核为WebKit内核。
9.如权利要求7所述的方法,其特征在于,所述WebAPP进程使用标准的XMLHttpRequest对象发送URL请求。
10.如权利要求7所述的方法,其特征在于,所述多个WebAPP进程间交互信息包括一WebAPP进程请求启动其他WebAPP进程、请求退出其他WebAPP进程、异步发送消息至其他WebAPP进程以及同步发送消息至其他WebAPP进程中的至少一种。
11.如权利要求7所述的方法,其特征在于,所述IPC模块将所述服务进程的数据转换为自定义事件派发给所述自定义URL所涉及的WebAPP进程。
12.如权利要求7所述的方法,其特征在于,所述IPC模块包含控制通道和数据通道,所述数据通道管理着一块共享内存,用于传输所述服务进程的数据以实现所述自定义URL所涉及的WebAPP进程间的数据交换,所述控制通道负责浏览器内核与所述服务器进程的握手和协调,以负责所述自定义URL所涉及的WebAPP进程间的握手和协调。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110453800 CN103186429A (zh) | 2011-12-29 | 2011-12-29 | WebAPP管理系统及其应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110453800 CN103186429A (zh) | 2011-12-29 | 2011-12-29 | WebAPP管理系统及其应用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103186429A true CN103186429A (zh) | 2013-07-03 |
Family
ID=48677607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110453800 Pending CN103186429A (zh) | 2011-12-29 | 2011-12-29 | WebAPP管理系统及其应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786454A (zh) * | 2014-12-16 | 2016-07-20 | 深圳Tcl数字技术有限公司 | 基于XMLHttpRequest的输入方法及装置 |
-
2011
- 2011-12-29 CN CN 201110453800 patent/CN103186429A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786454A (zh) * | 2014-12-16 | 2016-07-20 | 深圳Tcl数字技术有限公司 | 基于XMLHttpRequest的输入方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101176079B (zh) | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 | |
US11144711B2 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
US8073857B2 (en) | Semantics-based data transformation over a wire in mashups | |
US10872127B2 (en) | Method and system of providing for cross-device operations between user devices | |
CN105045887B (zh) | 混合模式跨域数据交互的系统及其方法 | |
CN102184266B (zh) | 一种页面与数据分离的动态wap网站自动生成方法 | |
CN102163206B (zh) | 页面加载方法及系统 | |
JP4857349B2 (ja) | ポータル・システム内で非同期ポータル・ページを提供するための方法、システム、およびコンピュータ・プログラム | |
CN105051686B (zh) | 用于集成的推荐的系统和方法 | |
CN103282922B (zh) | 向软件应用的终端用户提供帮助的方法和系统 | |
US20070260702A1 (en) | Web browser architecture for virtual machine access | |
CN109542427B (zh) | 一种系统定制方法、装置及电子设备和存储介质 | |
US20140143310A1 (en) | Method and system for creating it-oriented server-based web applications | |
US20100235430A1 (en) | Methods and systems to provide services to a mobile device | |
CN102870103A (zh) | 在计算机应用中基于服务器的数据共享 | |
CN103782294A (zh) | 远程浏览会话管理 | |
TW200412060A (en) | System and method for using portals by mobile devices in a disconnected mode | |
CN104106048A (zh) | 使用应用高速缓存来更新已安装应用的资源 | |
CN104662516A (zh) | Web应用之间的消息发送 | |
CN104396185B (zh) | 画面同步控制系统和使用该系统来同步画面的方法及装置 | |
CN100512115C (zh) | 给用户提供业务服务的方法和系统 | |
CN102622212B (zh) | 业务混搭的方法及系统 | |
CN104320482A (zh) | 一种银行柜员前端系统 | |
CN103167031A (zh) | Web应用之间的通信 | |
AU2013213683A1 (en) | A method and system of application development for multiple device client platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130703 |