CN100535900C - 用于提供异步门户页的方法和系统 - Google Patents
用于提供异步门户页的方法和系统 Download PDFInfo
- Publication number
- CN100535900C CN100535900C CNB2005101278941A CN200510127894A CN100535900C CN 100535900 C CN100535900 C CN 100535900C CN B2005101278941 A CNB2005101278941 A CN B2005101278941A CN 200510127894 A CN200510127894 A CN 200510127894A CN 100535900 C CN100535900 C CN 100535900C
- Authority
- CN
- China
- Prior art keywords
- portal
- web content
- assembly
- request
- dog
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000009877 rendering Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 20
- 230000000712 assembly Effects 0.000 claims description 16
- 238000000429 assembly Methods 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 12
- 239000007858 starting material Substances 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 20
- 238000004891 communication Methods 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Superconductors And Manufacturing Methods Therefor (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Paper (AREA)
Abstract
本发明提供了一种用于实现异步门户页的方法和系统,其中包括驻留在web浏览器上的、由脚本实现的门户组件监控器。当用户与门户组件交互时,门户组件监控器就向门户服务器发送XMLHTTP请求。门户服务器根据该请求从相应的门户组件中获得相应的web内容。然后,该web内容被修改,以将其中的HTTP请求重定向为XMLHTTP请求。门户组件监控器使用该修改后的web内容刷新门户页中相应的门户组件的web内容,从而无需重新加载整个门户页。此外,在用户就一门户组件提交请求之后,在等待该门户组件的内容被刷新这段时间里,用户可以继续与其他门户组件进行交互。于是,本发明具有局部刷新、异步通信的功能。
Description
技术领域
本发明涉及门户技术,更具体地涉及一种用于提供异步门户页的系统和方法。
背景技术
随着因特网越来越普及,人们不断地开发出更好的技术来显示web内容。在这方面,门户服务器已成为一种用于向用户提供web内容的优选技术。一般而言,门户服务器是一种用于将web内容组织成为由门户组件(portlet)组成的门户页的门户程序(例如,纽约Armonk的国际商业机器公司所提供的WebSphere门户服务器)。用户例如可以建立他/她自己的具有用于新闻、天气、体育等门户组件的门户页。于是门户程序将从适当的内容提供者获取所需的web内容,组合这些web内容,并为终端用户生成门户页。
传统的web应用允许用户填充网页上的表单,并且当这种表单被提交时,web浏览器就向web服务器发送请求。web服务器处理通过表单发送的任何信息,并以新的网页响应web浏览器。这样可能会浪费大量带宽,因为在第二个网页中可能包含第一个网页中的大量web内容。由于在与应用的每次交互时都要向web服务器发送请求,应用的响应时间就取决于web服务器的响应时间。这样,web应用的用户界面就会比本机应用的用户界面慢得多。
在现有技术中,门户系统也是这样一种传统的web应用。每当用户提交门户组件上的表单时,门户服务器就发送一个新的门户页来作为响应。但事实上,并不需要发送该门户页中其他门户组件的web内容。仅重新加载用户正在与之交互的门户组件的web内容就足够了。
为了满足刷新页面的一部分、而不是在用户与应用的每次交互时都刷新整个页面的需要,人们开发了一种称为AJAX(异步JavaScript和XML)的用于异步web的新兴技术。在AJAX应用中,当用户提交页面中的表单时,不再是由web浏览器直接向web服务器发送HTTP(超文本传输协议)请求,而是由驻留在web浏览器上的一般为JavaScript的脚本程序接收用户请求,接着由该脚本程序在后台通过一种称为XMLHTTP(扩展标记语言HTTP)的API(应用程序接口)向web服务器发出XMLHTTP请求,以便仅检索所需的web内容而不是整个页面,并在接收到来自web服务器的响应时进行处理以部分地更新页面。这样应用的响应就更快了,因为在web浏览器和web服务器之间交换的数据量大大减少了。同时也节省了web服务器的处理时间,因为现在大量的处理是在客户端进行的。
目前门户组件开发者可以使用AJAX来开发门户组件,从而提供异步的门户程序。但现在最流行的门户组件编程模型都是基于非AJAX技术(例如,JSR168)的,并且几乎所有现有的门户组件都是以这种方式开发的。因此通过使用AJAX来开发门户组件的解决方案将会存在以下缺点:
1)使用新的AJAX要求以全新的方式来编写门户组件,而重新编写数以百万计的现有的门户组件,这几乎是不可能的。
2)门户组件开发者本来只需专注于门户组件的逻辑,而使用AJAX进行开发将使开发者不得不关心大量编程细节,从而增加了开发的复杂性。
另一种用于提供异步门户页的解决方案是使用HTML中的“IFrame”(内框架)标记,该IFrame可在另一HTML页内的任何地方显示整个HTML页。可单独地加载和操作IFrame中的页。这样,通过把门户组件与IFrame相结合就可实现门户组件的异步更新。但是,这种解决方案存在以下缺点:
1)IFrame的尺寸是不可改变的。如果它的尺寸对于其内容来说太小,就会出现滚动条。这意味着当门户组件的web内容改变时,却无法动态地调整门户页的布局。
2)IFrame中的所有网页是分离的,这样就无法共享任何共同的资源(例如,CSS、图像等)。而是必须重复地下载同样的资源。
考虑到以上情况,显然需要一种用于提供异步门户页的系统和方法。特别地,需要一种用于在门户组件是使用传统web技术开发的(即:基于同步刷新技术的编程模型开发的)的门户系统中提供异步门户页的系统和方法。
发明内容
一般而言,本发明提供了一种用于提供异步门户页而不改变传统的门户组件编程模型的系统和方法。
根据本发明的一个方面,提供了一种用于在一门户系统中提供异步门户页的方法,其中所述门户系统中的门户组件是使用基于同步刷新技术的编程模型开发的,该方法包括以下步骤:
响应于用户对一门户页/门户组件的请求,客户端的门户组件监控器向门户服务器发送一XMLHTTP请求;
响应于该XMLHTTP请求,门户服务器调用相应的门户组件获得相应的web内容;
修改所述web内容以将其中的HTTP请求重定向到XMLHTTP请求;以及
客户端的门户组件监控器以所述修改后的web内容刷新所述门户页中相应的门户组件的web内容。
优选地,该方法还包括一初始化步骤,响应于来自客户端web浏览器的用户对一门户页的请求,门户服务器将所述门户组件监控器下载到客户端。
优选地,所述初始化步骤包括以下步骤:
web浏览器向门户服务器发出对一门户页的请求;
门户服务器向web浏览器返回带所述门户组件监控器的门户页;
客户端的门户组件监控器向所述门户服务器异步地发送XMLHTTP请求以获得各相应门户组件的web内容;
修改所述web内容,以将其中的HTTP请求重定向到XMLHTTP请求;以及
客户端的门户组件监控器以所述修改后的web内容分别加载门户页中各门户组件并最后显示整个门户页。
优选地,所述初始化步骤包括以下步骤:
web浏览器向门户服务器发出对一门户页的请求;
门户服务器调用各门户组件以获得所述门户页中所有门户组件的web内容;
修改所有门户组件的web内容以将其中的HTTP请求重定向到XMLHTTP请求,并将所有门户组件的web内容组织一门户页;以及
向web浏览器返回带有所述门户组件监控器的门户页。
优选地,所述门户组件监控器由嵌入所述web内容中的脚本来实现。
优选地,所述门户组件监控器由单独的脚本文件来实现。
优选地,所述修改步骤是在所述门户服务器上执行的。
优选地,所述修改步骤是由客户端的门户组件监控器完成的。
优选地,所述修改步骤包括HTML部分的重写和脚本部分的重写。
优选地,所述修改步骤包括以下步骤:
对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;
对于所有的HTML表单标记,如果其“action”属性等于一ActionURL,则以特定的脚本函数调用替换该“action”属性;
对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及
对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
根据本发明的另一个方面,提供了一种门户系统,包括:
门户服务器,该门户服务器包括:门户组件服务模块:用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;以及至少一个基于同步刷新技术的编程模型开发的门户组件,用于处理来自门户组件服务模块的请求并向其提供相应的web内容;
客户机,包括驻留于web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务器发送XMLHTTP请求,以及用于以来自所述门户服务器的响应中的web内容刷新门户页中相应的门户组件的web内容;以及
web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
根据本发明的再一个方面,提供了一种用于提供异步门户页的系统,包括:
门户服务器侧的门户组件服务模块:用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;
驻留于客户端web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户组件服务模块发送XMLHTTP请求,以及用于以来自所述门户组件服务模块的响应中的web内容刷新所述门户页中相应的门户组件的web内容;以及
web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
由以上可以看出,在本发明中,提供了驻留在web浏览器上的、由脚本(例如,JavaScript或VBScript)实现的门户组件监控器。当用户与门户组件交互时,门户组件监控器就向门户服务器发送XMLHTTP请求。门户服务器根据该请求从相应的门户组件获得相应的web内容。然后,修改该web内容,以将其中的HTTP请求重定向为XMLHTTP请求,并作为响应将其发送给门户组件监控器。门户组件监控器使用该修改后的web内容刷新门户页中相应的门户组件的web内容,从而无需重新加载整个门户页。此外,在用户就一门户组件提交请求之后,在等待该门户组件的内容被刷新这段时间里,用户可以继续与其他门户组件进行交互。于是,本发明具有局部刷新、异步通信的功能。并且,由于本发明是通过在运行时将门户组件的web内容中的HTTP请求重定向为XMLHTTP请求而不是对门户组件本身进行修改,于是可以利用现有的数百万计的门户组件。一般来说,本发明将会带来以下优点。
本发明可以提供具有良好响应性的门户页,这种良好响应性是通过局部刷新、异步通信而获得的。这样的门户页称为异步门户页。
门户页中的所有门户组件由于处于同一网页中,因而可以共享任何共同的资源而不用重复下载。
本发明可以将基于传统web技术的门户组件集成为异步门户页。门户组件开发者无需使用AJAX重写它们。
作为一种可插接模块,本发明可以容易地在现有门户服务器上实现。该模块对于门户组件开发者是透明的。
附图说明
通过参照附图阅读以下对本发明的实施例的详细描述,可获得对本发明的完整理解。在附图中:
图1是根据本发明的优选实施例的门户系统的方框图;
图2是根据本发明的优选实施例的用于提供异步门户页的方法的流程图;
图3a是示出了根据本发明的一个优选实施例的门户页初始化机制的序列图;
图3b是示出了根据本发明的另一个优选实施例的门户页初始化机制的序列图;以及
图4是示出了根据本发明优选实施例的异步交互机制的序列图。
具体实施方式
本公开提出了一种用于提供异步门户页的系统。在图1和图2中分别示出了根据本发明的优选实施例的门户系统的方框图和用于提供异步门户页的方法的流程图。
现在参照图1,其示出了一种根据本发明的优选实施例的门户系统。如图所示,该门户系统包括门户服务器104和客户机103。门户服务器104包括三部分:启动器105、门户组件服务模块106、和一个或多个门户组件107。这些门户组件是使用基于同步刷新技术的编程模型开发的(例如,JSR168)。客户机103包括驻留在web浏览器上的门户组件监控器102。根据本发明的一个实施例,门户服务器104还包括用于重写web内容的装置(以虚线示出)。根据本发明的另一个实施例,所述用于重写web内容的装置位于客户端(以虚线示出)。
门户组件监控器102可以由驻留于web内容中并在web浏览器上运行的脚本(例如,JavaScript或VBScript)实现的。它具有至少两个功能,即向门户服务器104发送XMLHTTP请求,以及在不刷新整个门户页的情况下,以来自门户服务器104的响应中的web内容替换某个需要更新的门户组件的web内容。门户组件服务模块106的功能是根据门户组件监控器102的请求从门户组件107获得web内容,并向门户组件监控器102发送该web内容作为响应。启动器105用于在用户初始请求门户页时向客户端下载门户组件监控器102以及门户组件配置文件等,其中配置文件提供了各门户组件的ID、布局以及风格等信息。门户组件107用于处理来自门户组件服务模块106的请求并向其提供web内容。所述用于重写web内容的装置用于将从门户服务器104返回到客户端的web内容中的传统的HTTP请求重定向到XMLHTTP请求。值得注意的是,该装置既可以在门户服务器104中由单独的组件实现,或由门户组件服务模块106实现,也可以在客户端由单独的组件实现,或作为门户组件监控器的一部分。
现参照图2,其示出了根据本发明的优选实施例用于提供异步门户页的方法的流程图,该工作流程可分为6个阶段201-206。
在阶段201,用户使用一URL来请求门户页。然后在阶段202,由web浏览器下载门户页。存在两种门户初始化模式,即只下载门户组件监控器(如阶段202a所示,在这里所说的下载门户组件监控器通常包括下载门户组件监控器和下载门户组件配置文件两部分),或下载门户组件监控器和门户组件的web内容两者(如阶段202b所示)。如果是只下载门户组件监控器,则将由所述门户组件监控器随后和异步地获得web内容。这样在初始化时用户体验可得到改进。但在这种解决方案中,会需要web浏览器和门户服务器之间的更多次的网络IO。如果是下载门户组件监控器和门户组件的web内容两者,则需要较少次数的网络IO。但门户页是同步加载的。在阶段202a和202b中,都将重写门户组件的web内容以将原始HTTP请求替换为XMLHTTP请求。然后,在阶段203中,用户将提供门户页中的某个请求,并且该请求是由门户组件监控器通过XMLHTTP提交给门户服务器的。在阶段204,门户组件根据从门户组件服务模块接收到的用户请求生成门户组件的web内容,并且在阶段205也将重写该web内容。在最后的阶段206中,通过以该新的web内容替换原来的web内容来部分刷新门户页。
值得注意的是,阶段205既可以发生在客户端也可以发生在门户服务器一侧。如果它发生在客户端,则客户端将需要较大的成本,而服务器中将需要较小的成本。如果它发生在服务器处,则相反。
此外,还值得注意的是,尽管在以上实施例中,是在初始化阶段,由门户服务器根据来自web浏览器的用户对一初始门户页的请求,而将门户组件监控器(包括门户组件配置文件)下载到客户端。但是,作为替代,门户组件可以嵌入现有的web浏览器中,这样,当用户请求一初始门户页时,门户组件监控器就可以截获该请求,而通过XMLHTTP请求异步地加载该初始门户页的各个门户组件。
下面根据图1所示的系统具体描述图2所示的这6个阶段。
门户页初始化机制
如图2所示,门户页初始化步骤包括阶段201-202。在本发明中有两种初始化方式。下面分别描述这两种方式。
1)门户页初始化机制(仅下载门户组件监控器)
图3a是示出了根据本发明的一个实施例的门户页初始化机制(仅下载门户组件监控器)的序列图。
参照图3a,在这种仅下载门户组件监控器的模式中,阶段202a包括步骤302-310,这些步骤执行下载门户页的功能。
在步骤301,用户在web浏览器中输入一URL,以向门户服务器发送请求来获得门户页。
在步骤302,web浏览器向门户服务器上的启动器发送对门户页的请求。
在步骤303,启动器向web浏览器发送带有具有门户组件监控器的网页的响应。
在步骤304,web浏览器调用所接收到的门户组件监控器,以发送XMLHTTP请求来获得门户组件的web内容。
在步骤305,门户组件监控器向门户服务异步地发送XMLHTTP请求。在该步骤中,用户可与该门户页交互而无需等待。
在步骤306,门户组件服务从门户组件请求门户组件的web内容。门户组件可以是本地门户组件容器或远程服务(例如用于远程门户组件的Web服务)。所以可本地或远程调用该步骤。
在步骤307,门户组件返回门户组件的web内容。
在步骤308,门户组件服务向web浏览器发送带有门户组件的web内容的响应。在该步骤期间,应当重写该web内容以将其中的请求重定向到XMLHTTP。该重写操作可发生在步骤308的开始时或结束时,就是说可在门户服务器处或在客户端门户组件监控器处实现该重写操作。
在步骤309,以所接收到的新的web内容来替换门户组件的web内容。
在步骤310,web浏览器显示该web内容。当已获得了所有门户组件的web内容时,显示整个门户页。
2)门户页初始化机制(下载门户组件监控器和web内容两者)
图3b是示出了根据本发明的另一个实施例的门户页初始化机制(下载门户组件监控器和web内容两者)的序列图。
参照图3b,在这种下载门户组件监控器和web内容两者的模式下,阶段202b包括步骤351-356,这些步骤执行下载门户页的功能。
在步骤351,用户将一URL输入web浏览器,以向门户服务器发送请求来获得门户页。
在步骤352,web浏览器向启动器发送对门户页的请求。
在步骤353,启动器调用门户组件以获得该门户页中的所有门户组件的web内容。
在步骤354,门户组件返回所有门户组件的web内容。该启动器重写web内容以将其中的请求重定向到XMLHTTP,并将它们组合为带有门户组件监控器的门户页。
在步骤355,启动器将该门户页返回给web浏览器。
在步骤356,web浏览器显示该门户页。
异步交互机制
参照图2,根据本发明的实施例的异步交互机制包括四个阶段203-206。图4是示出了该异步交互机制的序列图。
参照图4,阶段203包括步骤401-403,并执行通过门户组件监控器向门户组件服务模块发送XMLHTTP请求的功能;阶段204包括404-406,并执行从门户组件获得web内容的功能。阶段205可发生在步骤406的开始时或结束时。阶段206包括步骤407和408,并执行以所接收到的新的web内容替换门户组件的原来的web内容并显示它的功能。
在步骤401,用户提交某个门户组件中的表单。
在步骤402,web浏览器调用门户组件监控器,以发送XMLHTTP请求来获得该门户组件的新的web内容。
在步骤403,门户组件监控器异步地向门户服务发送XMLHTTP请求。在该步骤期间,用户可与门户页交互,而无需等待。
在步骤404,门户组件服务模块从门户组件请求该门户组件的web内容。
在步骤405,门户组件向门户组件服务模块返回该门户组件的web内容。
在步骤406,门户组件服务模块将带有该门户组件的web内容的响应发送给门户组件监控器。在该步骤406的开始时或结束时发生阶段205,就是说阶段205可在门户服务器处或者客户端门户组件监控器处实现。
在步骤407,门户组件监控器以所接收到的新的web内容替换该门户组件的原来的web内容。
在步骤408,web浏览器显示具有该门户组件的新的web内容的门户页,而没有刷新整个门户页。
web内容重写机制
步骤205执行web内容重写的功能。如果使用门户组件的原来的web内容,则任何提交将造成由web浏览器发送HTTP请求,从而导致刷新整个页。因此,应当重写web内容,以将任何提交重定向到XMLHTTP来部分刷新门户页。在本发明的实施例中,该重写过程包括两个步骤,即HTML重写和脚本重写。
下面将根据原理和示例详细描述这两个步骤。在下面的示例中,函数“xmlAction”将通过XMLHTTP发送请求和部分刷新门户页。在典型的实现中,应当将门户组件监控器的程序存储在单独的脚本文件中,以便在不同的门户页中重用门户组件监控器。例如:
<script src=“xmlaction.js”/></script>
当有不同的门户程序依赖于该脚本文件时,web浏览器可缓存该脚本文件。
1)HTML重写
对于所有的HTML链接标记,如果它指向一Action URL,则以一特定的脚本函数调用替换其“href”属性。
例如,
<a href=″actionurl″>link</a>
将被替换为
<a href=″javascript:xmlAction(′actionurl′)″>link</a>
以及
<a href=″javascript:form.submit()″>link</a>
将被替换为
<a href=″javascript:xmlAction(form)″>link</a>
对于所有的HTML表单标记,如果其“action”属性等于一ActionURL,则以一特定的脚本函数调用替换该“action”属性。
例如,
<form action=″action url″>
<input type=″submit″value=″submit″/>
</form>
将被替换为
<form action=″actionurl″onsubmit=″xmlAction(′actionurl′)″>
<input type=″submit″value=″submit″/>
</form>
2)脚本重写
对于任何使用“GET”方法发送HTTP请求的脚本语句,以一特定的脚本函数调用替换它。
例如,
document.location.href=″actionurl″;
将被替换为
xmlAction(″actionurl″);
对于任何使用“POST”方法发送HTTP请求的脚本语句,以一特定的脚本函数调用替换它。
例如,
form.submit();
将被替换为
xmlAction(form);
以上描述了本发明的实施例,这种描述是说明性的,而不是限制性的。可对本发明的实施例进行多种修改,而不脱离本发明的精神和范围之内。例如,所述门户组件监控器可由任何可以在浏览器中运行的脚本语言来实现。再例如,当所述web内容重写装置在门户服务器中实现时,它既可集成在门户组件服务模块中,也可作为单独的组件存在,并且可以多种方式和顺序与其他组件相连接。并且当该web内容重写装置在门户组件监控器处实现时,它既可以是该门户组件监控器的一部分,也可以是由该门户组件监控器所调用的一单独组件。此外,本发明实施例中的各功能模块既可单独存在,也可以各种方式组合在一起,并可以硬件、软件、固件或其任意组合的方式实现,只要能够实现本发明的功能即可。此外,本说明书中所使用的各种术语是描述性的,旨在使本领域的技术人员理解本发明的实质,而不是要对本发明进行严格的限制。本发明的范围由以下权利要求唯一限定。
Claims (20)
1.一种用于在一门户系统中提供异步门户页的方法,其中所述门户系统中的门户组件是使用基于同步刷新技术的编程模型开发的,该方法包括以下步骤:
响应于用户对一门户页中的门户组件的请求,客户端的门户组件监控器向门户服务器发送一XMLHTTP请求;
响应于该XMLHTTP请求,门户服务器调用相应的门户组件获得相应的web内容;
修改所述web内容以将其中的HTTP请求重定向到XMLHTTP请求;以及
客户端的门户组件监控器以所述修改后的web内容刷新所述门户页中相应的门户组件的web内容。
2.根据权利要求1的方法,该方法还包括一初始化步骤,响应于来自客户端web浏览器的用户对一门户页的请求,门户服务器将所述门户组件监控器下载到客户端。
3.根据权利要求2的方法,其中所述初始化步骤包括以下步骤:
web浏览器向门户服务器发出对一门户页的请求;
门户服务器向web浏览器返回带所述门户组件监控器的门户页;
客户端的门户组件监控器向所述门户服务器异步地发送XMLHTTP请求以获得各相应门户组件的web内容;
修改所述web内容,以将其中的HTTP请求重定向到XMLHTTP请求;以及
客户端的门户组件监控器以所述修改后的web内容分别加载门户页中各门户组件并最后显示整个门户页。
4.根据权利要求2的方法,其中所述初始化步骤包括以下步骤:
web浏览器向门户服务器发出对一门户页的请求;
门户服务器调用各门户组件以获得所述门户页中所有门户组件的web内容;
修改所有门户组件的web内容以将其中的HTTP请求重定向到XMLHTTP请求,并将所有门户组件的web内容组织一门户页;以及
向web浏览器返回带有所述门户组件监控器的门户页。
5.根据权利要求2到4中任何一个权利要求的方法,其中所述门户组件监控器由嵌入所述web内容中的脚本来实现。
6.根据权利要求1到4中任何一个权利要求的方法,其中所述门户组件监控器由单独的脚本文件来实现。
7.根据权利要求1到4中任何一个权利要求的方法,其中所述修改步骤是在所述门户服务器上执行的。
8.根据权利要求1到3中任何一个权利要求的方法,其中所述修改步骤是由客户端的门户组件监控器完成的。
9.根据权利要求1到4中任何一个权利要求的方法,其中所述修改步骤包括HTML部分的重写和脚本部分的重写。
10.根据权利要求9的方法,其中所述修改步骤包括以下步骤:
对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;
对于所有的HTML表单标记,如果其“action”属性等于一Action URL,则以特定的脚本函数调用替换该“action”属性;
对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及
对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
11.一种门户系统,包括:
门户服务器,该门户服务器包括:门户组件服务模块:用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;以及至少一个基于同步刷新技术的编程模型开发的门户组件,用于处理来自门户组件服务模块的请求并向其提供相应的web内容;
客户机,该客户机包括驻留于web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务器发送XMLHTTP请求,以及用于以来自所述门户服务器的响应中的web内容刷新门户页中相应的门户组件的web内容;以及
web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
12.根据权利要求11的系统,其中所述门户服务器还包括启动器,该启动器用于在用户初次请求门户页时将所述门户组件监控器下载到所述客户端。
13.根据权利要求11或12的系统,其中所述门户组件监控器是由驻留在web内容中的脚本实现的。
14.根据权利要求11或12的系统,其中所述门户组件监控器是由单独的脚本文件实现的。
15.根据权利要求11或12的系统,其中所述web内容重写装置位于所述门户服务器上。
16.根据权利要求11或12的系统,其中所述web内容重写装置位于所述客户端。
17.根据权利要求11或12的系统,其中所述web内容重写装置包括HTML重写装置和脚本重写装置。
18.根据权利要求17的系统,其中所述web内容重写装置实现以下功能:
对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;
对于所有的HTML表单标记,如果其“action”属性等于一Action URL,则以特定的脚本函数调用替换该“action”属性;
对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及
对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
19.一种用于提供异步门户页的系统,包括:
门户服务器侧的门户组件服务模块:用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;
驻留于客户端web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户组件服务模块发送XMLHTTP请求,以及用于以来自所述门户组件服务模块的响应中的web内容刷新门户页中相应的门户组件的web内容;以及
web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
20.根据权利要求19的系统,所述系统还包括门户服务器侧的启动器,该启动器用于在用户初次请求门户页时将所述门户组件监控器下载到所述客户端。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101278941A CN100535900C (zh) | 2005-12-06 | 2005-12-06 | 用于提供异步门户页的方法和系统 |
PCT/EP2006/068999 WO2007065813A1 (en) | 2005-12-06 | 2006-11-28 | Method and system for providing asynchronous portal pages |
JP2008543770A JP4857349B2 (ja) | 2005-12-06 | 2006-11-28 | ポータル・システム内で非同期ポータル・ページを提供するための方法、システム、およびコンピュータ・プログラム |
US11/563,857 US8099518B2 (en) | 2005-12-06 | 2006-11-28 | Method and system for providing asynchronous portal pages |
AT06819821T ATE499652T1 (de) | 2005-12-06 | 2006-11-28 | Verfahren und system zur bereitstellung asynchroner portal-seiten |
DE602006020343T DE602006020343D1 (de) | 2005-12-06 | 2006-11-28 | Verfahren und system zur bereitstellung asynchroner portal-seiten |
EP06819821A EP1969494B1 (en) | 2005-12-06 | 2006-11-28 | Method and system for providing asynchronous portal pages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101278941A CN100535900C (zh) | 2005-12-06 | 2005-12-06 | 用于提供异步门户页的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1979476A CN1979476A (zh) | 2007-06-13 |
CN100535900C true CN100535900C (zh) | 2009-09-02 |
Family
ID=37808216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101278941A Expired - Fee Related CN100535900C (zh) | 2005-12-06 | 2005-12-06 | 用于提供异步门户页的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8099518B2 (zh) |
EP (1) | EP1969494B1 (zh) |
JP (1) | JP4857349B2 (zh) |
CN (1) | CN100535900C (zh) |
AT (1) | ATE499652T1 (zh) |
DE (1) | DE602006020343D1 (zh) |
WO (1) | WO2007065813A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008083388A2 (en) * | 2006-12-29 | 2008-07-10 | Ecirkit | Social networking website interface |
US7921353B1 (en) * | 2007-04-09 | 2011-04-05 | Oracle America, Inc. | Method and system for providing client-server injection framework using asynchronous JavaScript and XML |
US9830309B2 (en) * | 2007-04-27 | 2017-11-28 | Oracle International Corporation | Method for creating page components for a page wherein the display of a specific form of the requested page component is determined by the access of a particular URL |
US8463844B2 (en) * | 2007-05-09 | 2013-06-11 | Oracle International Corporation | Portlets in non-portal pages |
CN101079848B (zh) * | 2007-06-25 | 2010-10-13 | 腾讯科技(深圳)有限公司 | 一种互联网站内消息的通信方法、装置、服务器及系统 |
US9208241B2 (en) * | 2008-03-07 | 2015-12-08 | Oracle International Corporation | User interface task flow component |
US7912927B2 (en) * | 2008-03-26 | 2011-03-22 | Microsoft Corporation | Wait for ready state |
US8196118B2 (en) | 2008-03-27 | 2012-06-05 | Microsoft Corporation | Event set recording |
CN101615179B (zh) * | 2008-06-25 | 2011-08-17 | 国际商业机器公司 | 用于Web应用的跨域交互的方法和系统 |
US9582292B2 (en) * | 2008-10-07 | 2017-02-28 | Microsoft Technology Licensing, Llc. | Merged tree-view UI objects |
US8250478B2 (en) * | 2010-01-28 | 2012-08-21 | Microsoft Corporation | State persistence and background initialization for post-back web applications |
US8364794B2 (en) * | 2010-03-11 | 2013-01-29 | International Business Machines Corporation | Admission control framework method and system |
US9384283B2 (en) * | 2010-04-19 | 2016-07-05 | Tynt Multimedia Inc. | System and method for deterring traversal of domains containing network resources |
CN102281311B (zh) | 2010-06-10 | 2014-06-04 | 阿里巴巴集团控股有限公司 | 一种基于开放应用编程接口实现网络业务的方法、系统及装置 |
FR2976373B1 (fr) * | 2011-06-10 | 2013-06-14 | Sagemcom Broadband Sas | Procede de developpement d'un portail web, systeme de mise en oeuvre et produit programme d'ordinateur correspondant |
CN102355449B (zh) * | 2011-06-30 | 2014-09-17 | 深信服网络科技(深圳)有限公司 | 一种隐蔽发送重定向请求的方法、网关和系统 |
US20130226984A1 (en) * | 2012-02-26 | 2013-08-29 | Kaseya International Limited | Method and apparatus of providing optimized web browser communications |
JP5939708B2 (ja) * | 2012-04-27 | 2016-06-22 | 楽天株式会社 | コンテンツ提供装置、コンテンツ提供方法、プログラム及び記録媒体 |
CN103891236B (zh) * | 2012-06-30 | 2017-01-25 | 华为技术有限公司 | 恢复会话内容的传输的方法,终端和服务器 |
US9841863B1 (en) * | 2012-12-20 | 2017-12-12 | Open Text Corporation | Mechanism for partial page refresh using URL addressable hierarchical page structure |
US10230782B2 (en) | 2013-11-18 | 2019-03-12 | Microsoft Technology Licensing, Llc | Unbalanced mapping between desktop and mobile pages |
US8713100B1 (en) | 2013-12-11 | 2014-04-29 | Michael L. Hamm | Hybrid asynchronous transmission process |
JPWO2015122197A1 (ja) * | 2014-02-17 | 2017-03-30 | 日本電気株式会社 | 画面描画システム、画面描画方法及びポータルクライアント |
US20170199748A1 (en) * | 2016-01-13 | 2017-07-13 | International Business Machines Corporation | Preventing accidental interaction when rendering user interface components |
US11677822B2 (en) * | 2017-10-03 | 2023-06-13 | Servicenow, Inc. | Portal management |
US20220334836A1 (en) * | 2021-04-15 | 2022-10-20 | Dell Products L.P. | Sharing of computing resources between computing processes of an information handling system |
CN115563427B (zh) * | 2022-07-20 | 2023-07-18 | 合肥汉泰网络科技有限公司 | 响应式异步门户的构建方法、系统和计算机设备 |
CN115016776B (zh) * | 2022-08-09 | 2022-11-15 | 合肥汉泰网络科技有限公司 | 门户页的生成方法、系统和计算机设备 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017046B2 (en) * | 1997-09-22 | 2006-03-21 | Proofspace, Inc. | System and method for graphical indicia for the certification of records |
US6272493B1 (en) * | 1999-01-21 | 2001-08-07 | Wired Solutions, Llc | System and method for facilitating a windows based content manifestation environment within a WWW browser |
US7450901B2 (en) * | 2000-08-16 | 2008-11-11 | The Boeing Company | Methods and apparatus for path discovery between a mobile platform and a ground segment |
AU2001288820A1 (en) | 2000-09-12 | 2002-03-26 | Citrix Systems, Inc. | A system and method for accessing web pages |
US6738804B1 (en) | 2000-09-15 | 2004-05-18 | Yodlee.Com, Inc. | Method and apparatus for enabling sectored data refreshing of Web-site data during session |
US7054593B2 (en) * | 2000-09-28 | 2006-05-30 | The Boeing Company | Return link design for PSD limited mobile satellite communication systems |
US7222101B2 (en) * | 2001-02-26 | 2007-05-22 | American Express Travel Related Services Company, Inc. | System and method for securing data through a PDA portal |
US7437125B2 (en) * | 2001-02-27 | 2008-10-14 | The Boeing Company | EIRP statistical calculation method |
US7146429B2 (en) * | 2001-03-16 | 2006-12-05 | The Aerospace Corporation | Cooperative adaptive web caching routing and forwarding web content data requesting method |
US6606544B2 (en) * | 2001-05-01 | 2003-08-12 | Glenn, Iii Floyd A. | Electronic flight kit and method |
US7085288B2 (en) * | 2001-09-06 | 2006-08-01 | The Boeing Company | Content delivery optimizer for a communications system |
US7346843B2 (en) * | 2001-09-18 | 2008-03-18 | International Business Machines Corporation | Low-latency, incremental rendering in a content framework |
US20040078218A1 (en) * | 2002-10-16 | 2004-04-22 | Ellen Badinelli | System and apparatus for a consumer to determine food/medicine interactions on a real-time basis |
US7472342B2 (en) * | 2001-10-24 | 2008-12-30 | Bea Systems, Inc. | System and method for portal page layout |
US7099331B2 (en) * | 2002-04-29 | 2006-08-29 | The Boeing Company | System and methods for monitoring a network workload |
US7177918B2 (en) * | 2002-12-20 | 2007-02-13 | International Business Machines Corporation | Method and system for efficiently processing multiframe data in a client/server computing environment |
US20040230901A1 (en) * | 2003-05-15 | 2004-11-18 | International Business Machines Corporation | Portlet style conformity on pervasive agents |
US7146563B2 (en) * | 2003-05-29 | 2006-12-05 | International Business Machines Corporation | Maintaining screen and form state in portlets |
US8429249B2 (en) * | 2003-07-11 | 2013-04-23 | Ca, Inc. | System and method for configuring servlet-based components as dynamic content components |
US7877736B2 (en) * | 2003-10-20 | 2011-01-25 | Oracle International Corp. | Computer language interpretation and optimization for server testing |
US7451194B2 (en) * | 2004-03-04 | 2008-11-11 | International Business Machines Corporation | Timely update of information displayed within a portal |
EP1599007B1 (en) * | 2004-05-18 | 2007-09-12 | Alcatel Lucent | Method and server for providing a multi-modal dialog |
US7500181B2 (en) * | 2004-08-31 | 2009-03-03 | International Business Machines Corporation | Method for updating a portal page |
US7376900B2 (en) * | 2004-09-30 | 2008-05-20 | International Business Machines Corporation | Method and system to control operation of a portlet |
US20060167981A1 (en) * | 2005-01-04 | 2006-07-27 | Microsoft Corporation | Web application architecture |
US20060149746A1 (en) * | 2005-01-04 | 2006-07-06 | Microsoft Corporation | Web application communication protocol |
US9235560B2 (en) * | 2005-06-09 | 2016-01-12 | International Business Machines Corporation | General purpose annotation service for portal-based applications |
US7814409B2 (en) * | 2005-06-27 | 2010-10-12 | Bea Systems, Inc. | System and method for configuring a document |
US7451400B2 (en) * | 2005-06-27 | 2008-11-11 | Bea Systems, Inc. | System and method for improved user information management |
US8001459B2 (en) * | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
-
2005
- 2005-12-06 CN CNB2005101278941A patent/CN100535900C/zh not_active Expired - Fee Related
-
2006
- 2006-11-28 AT AT06819821T patent/ATE499652T1/de not_active IP Right Cessation
- 2006-11-28 JP JP2008543770A patent/JP4857349B2/ja not_active Expired - Fee Related
- 2006-11-28 WO PCT/EP2006/068999 patent/WO2007065813A1/en active Application Filing
- 2006-11-28 US US11/563,857 patent/US8099518B2/en not_active Expired - Fee Related
- 2006-11-28 DE DE602006020343T patent/DE602006020343D1/de active Active
- 2006-11-28 EP EP06819821A patent/EP1969494B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2007065813A1 (en) | 2007-06-14 |
EP1969494B1 (en) | 2011-02-23 |
EP1969494A1 (en) | 2008-09-17 |
CN1979476A (zh) | 2007-06-13 |
DE602006020343D1 (de) | 2011-04-07 |
WO2007065813A8 (en) | 2007-07-26 |
US20070130293A1 (en) | 2007-06-07 |
JP2009518724A (ja) | 2009-05-07 |
US8099518B2 (en) | 2012-01-17 |
ATE499652T1 (de) | 2011-03-15 |
JP4857349B2 (ja) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100535900C (zh) | 用于提供异步门户页的方法和系统 | |
US8775926B2 (en) | Stylesheet conversion engine | |
CN101183355B (zh) | 复制和粘贴处理方法及装置 | |
CN100462964C (zh) | 一种网页数据的更新显示方法 | |
CN100444158C (zh) | 使用外部计划主题的Web网页绘制机制 | |
US8990289B2 (en) | Server based framework for improving Ajax performance | |
CA2640025C (en) | Methods and devices for post processing rendered web pages and handling requests of post processed web pages | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
US20070240041A1 (en) | Methods and apparatus for generating an aggregated cascading style sheet | |
US8627344B2 (en) | Methods and apparatuses for user interface management | |
US20060195779A1 (en) | Methods, systems and computer program products for maintaining a separation between markup and data at the client | |
CN104035753A (zh) | 一种双WebView展示定制页面的方法及系统 | |
WO2004031882A2 (en) | Method and apparatus for relaying session information from a portal server | |
US9646103B2 (en) | Client-side template engine and method for constructing a nested DOM module for a website | |
CN106339414A (zh) | 网页渲染方法及装置 | |
US20110060997A1 (en) | Methods for optimizing interaction with a form in a website page and systems thereof | |
US20160012147A1 (en) | Asynchronous Initialization of Document Object Model (DOM) Modules | |
US20100229081A1 (en) | Method for Providing a Navigation Element in an Application | |
US20160012144A1 (en) | Javascript-based, client-side template driver system | |
US20060150094A1 (en) | Web companion | |
CN109240697A (zh) | 调用处理方法及装置、存储介质 | |
Oh et al. | Web app restructuring based on shadow DOMs to improve maintainability | |
US20070078963A1 (en) | Method of remote management of the look and functionality of a website by a third party service provider with the aid of scripting technology | |
US20160012023A1 (en) | Self-Referencing of Running Script Elements in Asynchronously Loaded DOM Modules | |
CN115062255B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090902 |