使用面向消息传送的中间件动态地更新网页的系统和方法

文档序号:6562483阅读:127来源:国知局

专利名称::使用面向消息传送的中间件动态地更新网页的系统和方法
技术领域
:本发明一般地涉及数据处理领域,并且更特别地涉及一种用于使用基于浏览器的消息传送(messaging)来动态地对网页进行更新的系统、用计算机实现的方法以及计算机程序产品。
背景技术
:Web(网络)已经通过使得商务应用易于部署、管理和访问而创建了令人难以置信的增长环境。作为结果,Web已经相当迅速地取代了客户端-服务器模型。基于开放标准,诸如JavaTM、J2EETM(JavaTM2平台企业版本)、HTTP(超文本传输协议)、HTML(超文本标记语言)和JavaScriptTM(Java脚本),以及普遍存在的浏览器,企业能够开放其“后端”(backend)并创建员工和客户能够容易地在任意时间从任意位置访问多种应用的环境。然而,另一方面,Web所创建的用户体验被认为相对于客户端-服务器环境中所存在的情况来说是一种退步。在客户端-服务器环境中,客户端可享受由诸如MicrosoftWindows之类的基于GUI(图形用户接口)的操作系统提供的随心所欲的丰富性。尽管可以使得Web接口高度图形化,但实际的交互性模型是非常局限的。例如,与用户的大多数交互之间的可察觉的性能差距和全屏刷新仍然是重要的问题。ActiveXTM控件等试图以各种方式弥补这种局限,但却因与开发模型、安全、性能和兼容性有关的问题而未能获得普遍的使用。只有采用HTML、DHTML(动态HTML)、CSS(层叠样式单)和JavaScript的网页仍然在普遍地广泛使用。JavaTMapplet(小应用程序)从某种程度上能够在浏览器上执行很多任务,尽管其难于适应因特网上使用的采用不同JVM(JavaTM虚拟机)的各种浏览器以及安全限制。请求式客户端浏览器框架(OBF)是一种软件框架,其实现了基于浏览器的服务数据对象(SDO)、使用JavaScriptTM的JavaTM标准模型,并包括一组JavaScriptTMUI(JavaScriptTM用户接口)窗口小部件以及一个小的服务器侧JavaTM库,以便对数据进行流式传送。OBF尝试解决由Web产生的很多交互性问题,但仍然立足于传统的网页体系结构。基于在诸如IE5.5及更高版本、Netscape6及更高版本以及MozillaTM1.x之类的现代浏览器中对JavaScript的高级使用,OBF力图创建“持续得更久的网页”。结合封装更多数据的动态模型,支持OBF的网页能够与端用户保持更久的交互,而不需要返回服务器的往返行程。通过在页面内创建实际上是MVC(模型-视图-控制器)模型的内容,开发者能够定义工作数据集和动态地绑定到该数据的一组控件。因此,可以在同一页面上的不同窗口小部件之间共享同一数据对象。考虑例如用于管理用户的股票投资的Web应用。在本例中,需要将股票价格以及资产分配(特定股票的价值在总投资中的百分比,即价格×份额/总价值)显示给用户。可以用数据的可滚动表格显示(有时称为DataGrid(数据网格))来显示例如资产分配(股票发行、数量)和特定股票的当前价格;并且还可以用饼状图来向用户显示同一信息。该数据可以同时被DataGrid和饼状图共享。当模型中的任意数据对象被更新时,OBF中的捆绑组件将通知绑定到该数据对象的用户接口对象刷新其自身以反映最新的变化。然后,用户可以使用该组控件来与工作数据集进行交互,并且在确实需要返回服务器的往返行程(例如以提交数据、完成交易等)之前,用户可以从在通常的网页中不常见的与页面进行交互的响应时间和自由度中受益。虽然OBF能够在进行初始页面加载时对网页上其数据模型内的一定量的数据进行高速缓存,并且可以极大地改善网页的可用性(交互性和响应度),但由于客户端计算机存储器的限制和因下载大型数据集而引起的初始网络延迟,可被高速缓存的数据集仍然是有限的。此外,支持OBF的网页缺乏固有的工具用于在数据对象处于用户屏幕上时使这些数据对象保持最新。上述股票投资的Web应用是这一点的一个很好的示例。在此情况下,股票价格随时间而变化,并且必须对网页进行更新以跟上这种变化。在标准的Web应用中,仅当从服务器重新获取整个页面时,才能对网页上的数据进行更新。这样做效率很低,原因是其需要“请求-响应”对的往返行程来进行每次数据刷新,并且其还丢失了用户可能已经在同一页面的不同部分上进行的任意更新。在OBF中,对模型中的数据进行更新的一种方式是通过使用基于浏览器的WebService(网络服务)控件来实现的。然而,用户必须通过点击网页上的按扭或超链接来发起WebService调用以对数据页面进行更新。这基本上是基于拉(pull-based)的模型,其需要用户主动地搜寻数据并经常刷新网页。OBF的竞争者是AJAX。AJAX代表异步JavaScriptTM和XML(扩展标记语言),是描述用以使用以下技术的组合来创建交互式Web应用的Web开发方法的术语·HTML,或者XHTML(扩展HTML),以及CSS,用于信息呈现·文档对象模型,通过JavaScriptTM进行操纵以动态地显示所呈现的信息并与该信息进行交互·XMLHttpRequest(XMLHttp请求)对象,用以异步地在后台从Web服务器获取数据。由AJAX所使用的技术自1997年开始已经存在,然而,来自GoogleTM的若干最近的高端产品是AJAX应用,包括GmailTM、GoogleMaps(地图)、GoogleTMGroups(群组)等。这已经帮助提升该技术的知名度,并且已经使得AJAX在因特网开发者中更加流行。至于AJAX,一种基于浏览器的消息传送的已知解决方案由ActiveMQTM通过其RESTAPI(应用程序接口)来提供。ActiveMQTM是公开源JMS1.1(Java消息服务1.1)提供者和消息传送中间件。ActiveMQTM中AJAX支持构造在用于ActiveMQTM的REST连接器之上,REST连接器使得支持Web的设备可以通过JMS(Java消息服务)来发送或接收消息。尽管OBF和AJAX共享相同的目标,即改善Web应用的可用性,并使用多种相同技术(诸如JavaScriptTM、HTMLDOM(文档对象模型)、CSS等),它们之间仍然有很大差异。如上所述,OBF是在网页上使用MVC模型来完备构造的,其中该模型绑定到窗口小部件,从而在窗口小部件之间实现数据共享。通过这样做,在数据模型与窗口小部件之间实现了完全的隔离。来自Web服务器的任何数据更新始终是相对于该模型作出的。该模型可以绑定到任意窗口小部件。通过工具帮助,使用OBF的网页开发可以变得非常灵活并易于拖放。相反,AJAX中没有正式的MVC模型,其将XML用作其数据存储器。ActiveMQTM的Web消息传送使用XMLHttpRequest来进行RESTAPI上的调用以发送和接收消息,并且然后,AJAXJavaScriptTM库将对消息进行操纵以便进行呈现,而不需要涉及数据模型。因此,需要一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统和用计算机实现的方法,以便改善Web应用的可用性和交互性。
发明内容本发明提供了一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统、用计算机实现的方法以及计算机程序产品。一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统包括网页,其包括多个Web消息传送标记,以及能够绑定到该Web消息传送标记的选定的数据模型;以及至少一个消息传送客户端,其用于从消息服务器接受至少一个消息,并且用于将所接受的至少一个消息处理到该选定的数据模型中。所附权利要求中阐明了确信是本发明所特有的新颖的特征。然而,通过参考可在结合附图的情况下阅读的以下对说明性实施例的详细描述,可以最好地理解本发明本身以及其优选的使用模式、另外的目的和优点。图1绘出了其中可以实现本发明的各方面的数据处理系统网络的图形表示;图2绘出了其中可以实现本发明的各方面的数据处理系统的框图;图3是示意性地说明根据本发明的示例性实施例的Web消息传送体系结构的框图;图4是示意性地说明在图3中说明的根据本发明的示例性实施例的Web消息传送体系结构的JavaScriptTMWeb消息传送实现的框图;图5是示意性地说明在图3中说明的根据本发明的示例性实施例的Web消息传送体系结构的JavaTMAppletWeb消息传送实现的框图;图6是示意性地说明根据本发明的示例性实施例的Web消息传送控件的各组件和各层之间的交互的示图;并且图7是说明根据本发明的示例性实施例的用于动态地对网页进行更新的方法的流程图。具体实施例方式图1-图2是作为其中可以实现本发明的实施例的数据处理环境的示例性示图而提供的。应当意识到,图1-图2只是示例性的并且并非旨在断定或暗示对于其中可以实现本发明的各方面或实施例的环境的任何限制。在不偏离本发明的本质和范围的情况下,可以对所示的环境进行多种修改。现在参考附图,图1绘出了其中可以实现本发明的各方面的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现本发明的实施例的计算机网络。网络数据处理系统100包含网络102,该网络102是用于在网络数据处理系统100内连接在一起的各设备和计算机之间提供通信链路的媒介。网络102可以包括诸如有线通信链路、无线通信链路或光纤电缆之类的连接。在所示的示例中,服务器104和服务器106连同存储单元108一起连接到网络102。此外,客户端110、112和114连接到网络102。这些客户端110、112和114可以是例如个人计算机或网络计算机。在所示的示例中,服务器104向客户端110、112和114提供数据,诸如引导文件、操作系统映像和应用。在本例中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可以包括未示出的另外的服务器、客户端和其它设备。具体而言,客户端可以连接到任意数目的提供等同内容的服务器网络。在所示的示例中,网络数据处理系统100是具有网络102的因特网,其代表使用传输控制协议/网际协议(TCP/IP)协议组来彼此通信的全球范围内的网络和网关的集合。在因特网的中心是主节点或主控计算机之间的高速数据通信链路的骨干网,其包括数以千计的对数据和消息进行路由的商业计算机系统、政府计算机系统、教育计算机系统和其它计算机系统。当然,网络数据处理系统100还可以实现为多个不同类型的网络,诸如内网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而非旨在作为对本发明的不同实施例的体系结构上的限制。现在参考图2,示出了其中可以实现本发明的各方面的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户端110之类的计算机的一个示例,用于实现本发明的实施例的处理的计算机可用代码或指令可以位于其中。在所示的示例中,数据处理系统200采用集线器体系结构,该集线器体系结构包括北桥和存储器控制器集线器(MCH)202以及南桥和输入/输出(I/O)控制器集线器(ICH)204。处理单元206、主存储器208和图形处理器210连接到北桥和存储器控制器集线器202。图形处理器210可以通过加速图形端口(AGP)连接到北桥和存储器控制器集线器202。在所示的示例中,局域网(LAN)适配器212连接到南桥和I/O控制器集线器204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM(压缩光盘-只读存储器)驱动器230、通用串行总线(USB)端口和其他通信端口232以及PCI/PCIe(外围组件接口/高速外围组件接口)设备234通过总线238和总线240连接到南桥和I/O控制器集线器204。PCI/PCIe设备可以包括例如以太网适配器、插入卡(add-incard)和用于笔记本计算机的PC卡等。PCI使用卡总线控制器,而PCIe则不使用卡总线控制器。ROM224可以是例如闪速二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制器集线器204。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动电子元件(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和I/O控制器集线器204。操作系统运行于处理单元206上并协调和提供对图2中的数据处理系统200内的各种组件的控制。作为客户端,操作系统可以是诸如MicrosoftWindowsXP(“Microsoft”和“Windows”是微软公司在美国、其他国家或同时在美国和其他国家的商标)之类的市面上有售的操作系统。诸如JavaTM编程系统之类的面向对象的编程系统可以结合操作系统而运行,并根据在数据处理系统200上执行的JavaTM程序或应用来提供对操作系统的调用(“JavaTM”是Sun微系统公司在美国、其他国家或同时在美国和其他国家的商标)。作为服务器,数据处理系统200可以是例如IBMeServerpSeries计算机系统、运行高级交互执行(AIX)操作系统或LINUX操作系统(“eServer”、“pSeries”和“AIX”是国际商业机器公司在美国、其他国家或同时在美国和其他国家的商标,而“LINUX”是LinusTorvalds公司在美国、其他国家或同时在美国和其他国家的商标)。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。作为备选,可以采用单处理器系统。用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如硬盘驱动器226之类的存储设备中,并且可以加载到主存储器208中,以便由处理单元206执行。用于本发明的实施例的处理由处理单元206使用计算机可用程序代码来执行,该计算机可用程序代码可以位于诸如主存储器208、只读存储器224之类的存储器中,或者位于一个或多个外围设备226和230中。本领域的普通技术人员应当意识到,图1-图2中的硬件可以根据实现方式而改变。诸如闪存、等同的非易失性存储器或光盘驱动器等其他的内部硬件或外围设备可以用于补充或替代图1-图2中所示出的硬件。同样,本发明的处理可以应用于多处理器数据处理系统。在某些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其配备有用以提供非易失性存储器的闪存,以便存储操作系统文件和/或用户产生的数据。总线系统可以包括一个或多个总线,诸如图2中所示的总线238或总线240。当然,总线系统可以采用任意类型的通信架构或体系结构来实现,该架构或体系结构用于在连接到该架构或体系结构的不同组件或设备之间传送数据。通信单元可以包括用于发送和接收数据的一个或多个设备,诸如图2的调制解调器222或网络适配器212。存储器可以是例如主存储器208、只读存储器224或高速缓存,该高速缓存诸如在图2中的北桥和存储控制器集线器202中见到的高速缓存。在图1-图2中所示出的示例和上述示例并非旨在暗示体系结构上的限制。例如,除采取PDA的形式之外,数据处理系统200还可以是写字板计算机(tabletcomputer)、笔记本计算机或电话设备。本发明针对一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统、用计算机实现的方法以及计算机程序产品,以便改善Web应用的可用性和交互性。根据本发明的示例性实施例,利用支持请求式客户端浏览器框架(OBF)的网页来动态地对网页内容进行更新。更特别地,使用称为“Web消息传送”的新技术来对支持请求式客户端(ODC)的网页数据模型进行更新,其通过采用发布/定制消息代理(broker)来向客户端推送更新而减少了到Web服务器的往返行程。对页面中频繁变化的数据的实时更新经由推送模式来进行比对整个页面进行刷新更加有效,并且实现了对本地用户变化的保存且比经由WebService来更新更加用户友好。Web消息传送是发布/定制消息传送系统的扩展并且采用了与WebService不同的范例。发布/定制消息传送模型是基于推送的模式,其中消息是例如作为网页自动地广播给用户的,而不要求用户必须发出对新消息的请求。根据本发明的示例性实施例,包括若干JSF(JavaTM服务器页面)标记的Web消息传送控件使得端用户能够从Web浏览器访问发布/定制消息传送系统,并且使得可以动态地对网页上的数据进行更新。JSF是用于JavaTMWeb应用的用户接口(UI)框架,并且是一种新J2EE标准。JSF设计为显著地减轻编写和维护JavaTMWeb应用的负担,并且包括一组控件,包括公共Web控件(命令按扭、InputText(输入文本)、单选按钮等)和扩展控件(数据表格、TabbedPanel(选项卡面板)、RichText(富文本)、FileUpload(文件上传))以及有关的基础构架。可以使用JSF工具将这些用于Web消息传送的JSF标记部署在网页上,并且这些标记使得Web开发者可以配置控件(指定消息传送服务器端口号、消息主题和属性等),其中JSF标记包括用于生成必需的JavaScriptTM代码和HTML代码的一组JavaTM程序,以及包括在网页上的JavaScriptTM库。根据本发明的另一示例性实施例,提供了一种存储于计算机可用介质上的计算机程序产品,其将通过从消息传送系统推送实时信息来对网页上的OBF模型进行更新。然后,将使用JSFUI控件(诸如DataGrid和InputText等)来呈递消息传送数据。这完全将填充数据模型与在JSP(JavaServerTM页面)上呈递数据隔离开。根据本发明的另一示例性实施例,消息传送服务器上发布的消息被传送给网页、进行处理并在该页面上对模型进行更新,这最终将使得UI窗口小部件由于捆绑而刷新其自身,并且将使得端用户可以看到Web应用中的数据变化。如下文中将更全面地描述的那样,根据本发明的示例性实施例,支持两种风格的Web消息传送实现,包括JavaTMAppletWeb消息传送客户端和JavaScriptTMWeb消息传送客户端。根据本发明的又一示例性实施例,提供了一种用于部署使得可以在网页上动态地对数据进行更新的应用的方法。该方法包括提供一种可操作为对网页上的数据模型进行更新的计算机基础构架,其能够生成必要的HTML代码和JavaScriptTM代码,并且其包括JavaScriptTM库或JavaTMApplet,其中JavaScriptTM代码或JavaTMApplet代码可以将消息传送服务器上发布的消息传送给网页,处理该消息,并更新该页面上的模型,这最终将使得UI窗口小部件由于捆绑而刷新其自身。如以上简要讨论的那样,OBF能够在进行初始页面加载时对网页上其数据模型内的一定量的数据进行高速缓存,并且可以极大地改善网页的可用性(交互性和响应度)。然而,支持OBF的网页缺乏固有的工具用于在数据对象处于用户屏幕上时使这些数据对象保持最新。在前述示例性的股票投资Web应用中,股票价格随时间而变化,并且必须对网页进行更新以跟上这种变化。图3是示意性地说明根据本发明的示例性实施例的Web消息传送体系结构的框图。特别地,图3是说明Web服务器、消息传送服务器和浏览器在运行时的交互的高级示图。Web消息传送体系结构一般地由参考标号300表示。浏览器客户端302之一处的端用户已经请求了显示其股票投资信息的支持OBF的网页304。作为结果,从Web服务器306下载JavaTMServer页面(JSP),其具有示出当前股票价格下的投资构成的DataGrid,以及以图形显示同一信息的饼状图。同时,生成并下载Web消息传送控件308所包括的必需的JavaScriptTM代码以及支持OBF的网页304的其余部分。支持OBF的网页304上的Web消息传送控件308基于由Web应用开发者在页面上设定的配置(端口号和主题等)来建立与消息传送服务器310的连接。发布器312通过消息传送服务器310连续地发布股票价格。消息传送服务器310基于消息的主题定制将消息广播给其消息客户端,在此情况下,该消息客户端是Web浏览器客户端302。支持OBF的网页304上的Web消息传送控件308处理这些消息并对页面上的OBF模型进行更新。最终,端用户将能够看到自动地更新的股票价格。根据本发明的示例性实施例,提供了两种风格的Web消息传送实现,即JavaScriptTMWeb消息传送客户端和JavaTMAppletWeb消息传送客户端;并且Web开发者可以基于这两种客户端的环境和要求在它们之间进行选择。然而,Web开发者将只需要通过设定关于一个标记的稍有不同的参数来对同一组JSP标记或HTML标记进行处理。端用户不容易看出两种配置之间的差异。图4是示意性地说明在图3中说明的根据本发明的示例性实施例的Web消息传送体系结构的JavaScriptTMWeb消息传送实现的框图。该实现一般地由参考标号400表示,并且使用相应的参考标号来标识图3中说明的体系结构中的相应组件。实现400包括浏览器客户端402上的JavaScriptTM库420,浏览器客户端402使用HTTP(超文本传输协议)隧道经由Web消息传送网关422来维持与消息传送服务器410的通信,并在HTMLi帧内发出HTTP请求和响应。图5是示意性地说明在图3中说明的根据本发明的示例性实施例的Web消息传送体系结构的JavaTMAppletWeb消息传送实现的框图。该实现一般地由参考标号500表示,并且同样使用相应的参考标号来标识图3中说明的体系结构中的相应组件。如图5所示,在浏览器客户端502上存在Applet、JavaTM消息传送客户端API和JavaScriptTM库530,其维持与消息传送服务器510的通信。图6是示意性地说明根据本发明的示例性实施例的Web消息传送控件的各组件和各层如何彼此交互的示图。最上面是JSF工具600,其使得开发者能够将WebMessaging(Web消息传送)标记拖放到JSP,将控件捆绑到模型,建立消息主题,将模型对象属性映射到消息性质,以及执行其它配置活动。在该层中,开发者将对将使用哪一种消息传送客户端类型(JavaScriptTM或JavaTMApplet)进行判断。可将标志(消息传送类型)传递给下面的层。基于消息传送客户端的判断,可将必需的资源(JavaScriptTM、Jar、zip等)复制到项目中的适当目录。紧接在JSF工具600下面的是WebMessagingJSF标记运行时实现602,其是非常薄的一层,并且向其下的层,即MessagingJavaTM发射器604,指派了大部分呈递工作。WebMessagingJavaTM发射器604输出用于WebMessaging控件的所有必需的JavaScriptTM代码。OBFWebMessaging控件JavaScriptTM层606处理与OBF模型以及下面的层的接口连接。在网页启动时,用OBF模型中的数据配置消息主题,接着用消息主题来进行消息定制。将WebMessaging控件与OBF模型捆绑。当创建或删除其父对象被绑定到消息主题模板的任意对象时,激发添加或去除消息定制的事件。如果用于通过替换主题模板内的令牌来构成消息主题的模型对象的任意属性被更新,那么如果不再存在针对该主题的定制,则同样激发去除该旧主题的事件,并且如果该主题还没有被定制,则激发添加新的消息主题的事件。当消息到达时,基于该映射来对正确的模型对象进行更新。WebMessagingConnectionWeb消息传送连接)公共JavaScriptTM接口层608设计为提供用于Web消息传送的通用JavaScriptTM接口,而不考虑用户决定使用链接到不同消息传送服务器的JavaScriptTM消息传送客户端类型还是Applet消息传送客户端类型。基于从上面的层传递下来的标志(消息传送类型),该层将设定必需的资源。如果使用了Applet消息传送客户端类型,则在此将对该Applet进行实例化。如图6所示,该层还可以直接为用于HTML注解JavaScriptTM620的公共接口提供服务,以便进行消息传送。在最下面,基于标志(消息传送类型),使用WebSphere商务集成(WBI)事件代理614的WebMessagingJavaTMApplet层610或使用Whitewater消息传送引擎616的WebMessagingJavaScriptTM层612用于与后端消息传送系统连接。以下将更全面地讨论这两种选项。WebMessagingJavaTMApplet610支持与后端WBI事件代理614通信的一组发布/定制消息传送操作。WebMessagingJavaTMApplet610既实现了利用来自WBI事件代理614的消息来对网页进行实时更新,又实现了将消息发布给该代理。WebMessagingJavaTMApplet610使用标准JMSAPI的专门子组来使得可用的JMS功能性最大化,同时将Applet和支持类下载大小限制为大约100KB。消息传送支持类包含在文件“minimal.zip”中,该文件随着Applet而分发,并且使得该文件在应用项目中可用。尽管JMS支持多种类型的消息,但Web消息传送只使用标准字符串JMS消息性质来进行定制。该技术有利于将消息内的字段映射为浏览器模型数据或网页元素。WebMessagingJavaTMApplet610只提供上述JavaScriptTM层可以调用的一组API,并且期望有回调处理器(callbackhandler)。回调处理器将是JavaScriptTM对象,其代表上述公共WebMessagingJavaScriptTM接口对象608。当消息到达时,Applet调用该处理器以便可以对OBF模型进行更新。整个JavaScriptTM客户端组件基本上包括两个子组件,即WebMessagingJavaScriptTM层612中的客户端JavaScriptTM库和嵌入在消息传送引擎616中的协议处理器。JavaScriptTM客户端提供与服务器侧的协议处理器进行交互所需的客户端侧的功能性,并从而向Web应用提供基于主题的消息传送服务。以“.js”文件形式提供客户端库,该文件可由HTML文档引用并由Web浏览器处理。该库包括核心消息传送功能性(诸如连接、发送、addConsumers(添加消费者)和断开连接),并且能够注册回调功能以便可以在JavaScriptTM环境中实现由消息事件驱动的编程。JavaScriptTM消息传送客户端提供以下益处·适合于在Web域中使用的“小”脚印消息传送客户端(大约30k)·利用诸如HTML和JavaScriptTM之类的普遍存在的客户端技术以使得除标准的浏览器环境之外对客户端机器的要求最小化。根据本发明的示例性实施例,库还包括在基本消息传送API的上面的可选层620以在客户端浏览器中提供HTML注解Web消息传送的能力。HTML注解Web消息传送使得页面开发者可以利用主题名称在页面中直接对HTML元素进行注解,以便可以利用用户的浏览器客户端中的由消息驱动的数据来填充那些元素的内容。图7是说明根据本发明的示例性实施例的用于动态地对网页进行更新的方法的流程图。该方法一般地由参考标号700来表示,并且开始于提供网页,该网页包括Web消息传送标记,即JavaScriptTM和可能的JavaTM库,以及能够绑定到该Web消息传送标记的选定的数据模型(步骤702)。还选择消息传送客户端类型(步骤704)。建立到消息传送服务器的连接(步骤706),并且定制到来自消息传送服务器的主题(步骤708)。然后,从消息传送服务器接受发布的与所定制的主题有关的消息(步骤710),处理所接受的消息(步骤712),并将这些消息更新到数据模型中以对网页进行更新(步骤714)。应当意识到,虽然在此已经参考在请求式客户端浏览器框架(OBF)环境下使用Web消息传送来更新的网页而对本发明的示例性实施例进行了描述,但在不偏离本发明范围的情况下,还可以将在此描述的技术应用于需要进行数据更新的其它基于客户端的处理中。应当意识到,可以将Web浏览器、支持OBF的网页和Web消息传送控件存储于计算机系统的存储器中,从而将支持OBF的网页的功能组件提供为计算机程序产品。还可以将本发明提供为一种基于定制或付费的方法。例如,为客户提供在此所述的功能的服务提供者可以创建、维护、支持和/或部署OBF网页和Web消息传送。也就是说,服务提供商可以利用如上所述的Web消息传送来提供支持OBF的网页。因此,本发明提供了一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统、用计算机实现的方法以及计算机程序产品。根据本发明的示例性实施例的用于动态地对网页进行更新的系统包括网页,其包括多个Web消息传送标记,以及能够绑定到该Web消息传送标记的选定的数据模型;以及至少一个消息传送客户端,其用于从消息服务器接受至少一个消息,并且用于将所接受的至少一个消息处理到该选定的数据模型中。本发明可以采取完全硬件实现、完全软件实现或者同时包含硬件单元和软件单元的实现的形式。在优选的实施例中,本发明是以软件实现的,该软件包括但不限于固件、驻留软件、微代码等。此外,本发明可以采取可从计算机可用介质或计算机可读介质访问的计算机程序产品的形式,该介质提供程序代码以供计算机或任意指令执行系统使用或者结合计算机或任意指令执行系统而使用。出于本描述的目的,计算机可用介质或计算机可读介质可以是任意切实可行的装置,其可以包含、存储、传送、传播或传输程序以供计算机或任意指令执行系统、装置或设备使用或者结合计算机或任意指令执行系统、装置或设备而使用。该介质可以是电子的、磁的、光的、电磁的、红外的或半导体的系统(或装置、设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器(solidstatusmemory)、磁带、可装卸的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘以及光盘。目前的光盘例子包括压缩光盘-只读存储器(CD-ROM)、压缩光盘-读/写(CD-R/W)和DVD(数字视频光盘)。适合于存储和/或执行程序代码的数据处理系统可以包括直接地或通过系统总线间接地连接到存储单元的至少一个处理器。这些存储单元可以包括在实际执行程序代码期间所使用的本地存储器,大容量存储器(bulkstorage),以及高速缓存存储器,该高速缓存存储器对至少某些程序代码提供临时存储,以便减少在执行期间必须从大容量存储器中获取代码的次数。输入/输出装置或I/O装置(包括但不限于键盘、显示器、指示设备等)可以直接地或通过中间I/O控制器连接到系统。网络适配器同样可以连接到系统,以使得数据处理系统能够通过中间的专用网络或公共网络而连接到其他数据处理系统或远端的打印机或存储设备。调制解调器、电缆调制解调器(cablemodem)和以太网卡只是当前可用的几类网络适配器。本发明的描述的目的是进行说明和描述,而不是旨在穷举或使本发明限于所公开的形式。本领域的普通技术人员可以容易地想到各种修改和变更。实施例的选择和描述是为了最好地说明本发明的原理、实际应用,并使本领域的普通技术人员能够针对具有适合于所考虑的特定应用的各种修改的各种实施例来理解本发明。权利要求1.一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统,包括网页,其包括多个Web消息传送标记,以及能够绑定到所述Web消息传送标记的选定的数据模型;以及至少一个消息传送客户端,其用于从消息服务器接受至少一个消息并且用于将所接受的至少一个消息处理到所述数据模型中。2.根据权利要求1所述的系统,其中所述多个Web消息传送标记包括采取JavaTM服务器页面和超文本标记语言中的至少一种的形式的多个Web消息传送标记。3.根据权利要求1所述的系统,其中所述多个Web消息传送标记包括用于配置所述消息传送服务器的端口号、用于选择消息传送客户端类型、用于将消息传送主题和性质捆绑到所述网页上的所述数据模型并用于生成JavaScriptTM代码的Web消息传送标记。4.根据权利要求1所述的系统,其中所述选定的数据模型包括请求式客户端浏览器框架数据模型。5.根据权利要求1所述的系统,其中所述至少一个消息传送客户端包括用于从所述消息传送服务器接受所述至少一个消息、用于处理所接受的至少一个消息并用于将所接受的至少一个消息更新到所述选定的数据模型中的JavaScriptTM消息传送客户端类型和JavaTMApplet消息传送客户端类型之一。6.根据权利要求5所述的系统,其中所述消息传送客户端包括JavaTMApplet类型,并且其中所述系统还包括用于从所述消息传送服务器接受所述至少一个消息、用于处理所接受的至少一个消息并用于将所接受的至少一个消息更新到所述选定的数据模型中的JavaScriptTM库和JavaTM库。7.根据权利要求5所述的系统,还包括用于处理与所述至少一个消息传送客户端的通信的服务器侧的库。8.根据权利要求2所述的系统,其中多个Web消息传送属性包括采取超文本标记语言形式的用于动态地将数据直接更新到所述网页上的文档对象模型中的多个Web消息传送属性。9.一种用于使用基于浏览器的消息传送来动态地对网页进行更新的用计算机实现的方法,包括提供网页,所述网页包括多个Web消息传送标记,以及能够绑定到所述Web消息传送标记的选定的数据模型;建立到消息传送服务器的连接;定制到来自所述消息传送服务器的至少一个主题;从所述消息传送服务器接收与所述至少一个定制主题有关的至少一个消息;以及将所接收的至少一个消息更新到所述数据模型中以对所述至少一个网页进行更新。10.根据权利要求9所述的用计算机实现的方法,其中提供包括多个Web消息传送标记以及能够绑定到所述Web消息传送标记的选定的数据模型的网页包括提供采取JavaTM服务器页面和超文本标记语言中的至少一种的形式的多个Web消息传送标记。11.根据权利要求9所述的用计算机实现的方法,其中提供包括多个Web消息传送标记以及能够绑定到所述Web消息传送标记的选定的数据模型的网页包括提供用于配置所述消息传送服务器的端口号、用于选择消息传送客户端类型、用于将消息传送主题和性质捆绑到所述网页上的所述数据模型并用于生成JavaScriptTM代码的多个Web消息传送标记。12.根据权利要求9所述的用计算机实现的方法,其中所述选定的数据模型包括请求式客户端浏览器框架数据模型。13.根据权利要求9所述的用计算机实现的方法,还包括选择用于从所述消息传送服务器接受所述至少一个消息、用于处理所接受的至少一个消息并用于将所接受的至少一个消息更新到所述选定的数据模型中的属于JavaScriptTM消息传送客户端类型和JavaTMApplet消息传送客户端类型之一的消息传送客户端。14.根据权利要求13所述的用计算机实现的方法,其中选择属于JavaScriptTM消息传送客户端类型和JavaTMApplet消息传送客户端类型之一的消息传送客户端包括选择属于JavaTMApplet消息传送客户端类型的消息传送客户端,并且其中所述方法还包括提供用于从所述消息传送服务器接受所述至少一个消息、用于处理所接受的至少一个消息并用于将所接受的至少一个消息更新到所述选定的数据模型中的JavaScriptTM库和JavaTM库。15.根据权利要求9所述的用计算机实现的方法,还包括提供用于处理与所述至少一个消息传送客户端的通信的服务器侧的库。16.一种用于动态地对网页进行更新的用计算机实现的方法,包括提供计算机基础构架,该计算机基础构架可操作为为网页提供服务,所述网页包括多个Web消息传送标记,以及能够绑定到所述多个Web消息传送标记的请求式客户端浏览器框架模型;以及发布用于向至少一个已经定制到至少一个消息主题的Web消息传送客户端广播的至少一个消息。全文摘要一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统、用计算机实现的方法以及计算机程序产品。一种用于使用基于浏览器的消息传送来动态地对网页进行更新的系统包括网页,其包括多个Web消息传送标记,以及能够绑定到该Web消息传送标记的选定的数据模型;以及至少一个消息传送客户端,其用于从消息服务器接受至少一个消息并且用于将所接受的至少一个消息处理到该选定的数据模型中。文档编号G06F17/30GK1956404SQ20061014250公开日2007年5月2日申请日期2006年10月27日优先权日2005年10月28日发明者杰勒德·巴特纳,奇特拉·多雷,萨梅·A·法克霍里,丹尼尔·A·丹·吉索尔菲,李建仁申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1