减少基于网络的应用中的服务器交互次数的方法和设备技术

技术编号:3533035 阅读:189 留言:0更新日期:2012-04-11 18:40
依据本发明专利技术的双MVC(模型-图-控制器)法,客户机机器保持“模型”的一部分,从而消除许多至服务器的往返。本发明专利技术提供一种实现方法,用于在客户机的浏览器软件中含有的允许本地对它刷新的帧(多个帧)。通过规定一个使编程人员可用来构建客户机机器上的“图”和“控制器”的函数库,本发明专利技术解决开发和维护问题。当在客户机上保持“模型”的一部分时,客户机具有响应用户交互的能力,不必付出由于不停地和服务器交互而造成的性能代价。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及基于网络的客户机/服务器应用,并且更具体地涉及一些利用双模型-图-控制器法减少基于万维网的应用中的服务器交互次数的方法和设备。典型万维网(例如因特网/内联网)应用允许用户访问和更新远程服务器上的数据。远程服务器含有主应用数据,而客户机显示该数据的视图。这种应用的例子包括求助桌面、人寿保险认购、健康保险的医学过程的预先鉴定和自动提款机。历史上(大约70年代),各种应用是在大型主机系统(服务器)上执行的,客户机通过“哑终端”如电传机、DEC VT100、IBM327x系列终端等和大型主机系统连接。在这些体系结构中,在客户机侧完成非常少的处理。随后(大约1980年),由于硬件变得更便宜,在所谓的“肥客户机”体系结构中把一些处理移到客户机侧硬件上。肥客户机保持一些应用状态,使一些处理在本地出现,从而消除至服务器的往返。可以通过MVC(模型-图-控制器)范式说明肥客户机应用。MVC范式,例如在G.E.Krasner和S.T.Pope的“在SmallTalk-80中使用模型-图-控制器用户接口范式的说明书”中有所描述,该文章见1988年8/9月的Journal of Object-Oriented Programming,1(3):26-49,该文章被收录为本文的参考资料。在该范式中,“模型”包含数据、规则以及影响数据的算法。“图”是应用选择显示的模型的子集的屏幕或窗口表示。“控制器”是处理用户请求,例如按按钮的逻辑。“控制器”使“模型”改变和/或使“图”刷新。肥客户机应用可能在服务器上保持“模型”和“控制器”,但决不在服务器上保持“图”或“图生成逻辑(VGL)”。而“图”和“VGL”是仅由肥客户机保持的。尽管肥客户机应用提供改进的响应时间,但客户机软件和数据库的分发及保持是有问题的。用户趋于定制他们的客户机系统,这造成难以开发出一个会在所有系统上都良好工作的客户机侧软件库。另外,当需要更新客户机软件时,公司必须盘算如何更新现场中的所有客户机。小应用程序(参见http:∥iava.sun.com/applets/index.html)是肥客户机体系结构的一种实现。当用户启动应用时或在运行应用中,服务器把应用的一部分下载到客户机机器上以便在本地执行。由于减少了到服务器的往返,这改进了性能。然而,当第一次调用小应用时必须把它下载到客户机,实际上这可能消耗相当长的时间。另外,在实际中,web浏览器通常支持不同级别的Java虚拟机(JVM)。由于小应用是由JVM解释的,JVM间的差异造成不同浏览器上,甚至同一浏览器上的不同版本上小应用程序的不相容运行。新近(大约1994年),万维网的进展和普及导致所谓“瘦客户机”应用体系结构。在这种体系结构中,大多数应用逻辑再次在服务器上执行,在客户机侧Web浏览器软件内只执行浏览器显示逻辑,即独立于应用的显示逻辑。这里浏览器是客户程序并且显示“图”。用户每次和“图”交互时,远程服务器被告知以便更新“图”和/或“模型”。Web上的另一种客户机/服务器交互实现,采用动态超文本标记语言(DHTML)。例如在D.Goodman的“动态HTML最终参考”,O’Reilly,1998年,中说明DHTML,其公开被收录为本文参考资料。DHTML是HTML(超文本标记语言)的超集,HTML包括JavaScript和Cascading Style Sheet(CSS,级联式样式表)。JavaScript可用于实现和小应用程序相同的大部分功能,并且实际上在浏览器之间更可移植并且下载得更快。虽然肥客户机体系结构提供最好的灵活性和性能,但是它们的维护以及分发问题再加上web的普及,导致许多应用开发者为新应用采纳瘦客户机体系结构。该体系结构的一个问题是在再次导致性能下降的服务器交互期间、网络通信延迟。从而,需要一种用于因特网/内联网应用的不需要在客户机和服务器之间的持续网络通信的新型“模型-图-控制器”体系结构。本专利技术和web应用有关,并且更具体地和一种改进性能并且减轻开发及维护工作的体系结构和编程方法有关。本专利技术通过双MVC法解决性能问题,在该双MVC法中,应用的“模型-图-控制器”的一个子集驻留在客户机上,而完整的“模型-图-控制器”以及“图生成逻辑”驻留在服务器上,从而减少所需的服务器交互次数。和肥客户机体系结构相反,本专利技术不需要在客户机上安装或住留应用。更准确地说,传统肥客户机实现,要求用户(或管理员)在客户机机器上物理地安装客户软件,并且该应用会需要长期地使用客户机机器上的永久存储器(即盘空间)。例如,按照一个肥客户应用,研究周知的称为“TurboTax”的纳税准备辅助软件。需要CDROM以运行安装过程。在安装后,该程序把适当的盘空间量,用于它自己的程序/数据文件和用于用户的纳税申报单。有时,例如在电子填写纳税申报单过程中,“TurboTax”作为一个(粗)客户机和远程服务器交互。由于小应用程序被自动下装并且不长期使用盘空间,故小应用程序法避免了肥客户机的一些问题。但是,下装小应用程序可能花费长时间,并且实际上难以编写那种在每个客户机上都正确运行的小应用程序。本专利技术的双MVC法避免了安装问题和盘空间问题,因为在客户部件用户提出要求时更好地从服务器下装与该应用的MVC相关的客户机侧代码,从而避免了安装过程,并且因为更好地不对客户机的盘持久地保存这些代码。双MVC法还避免了和小应用程序相关的问题,因为依据本专利技术下装的MVC码物理上小于小应用程序,从而下装更快。另外,本专利技术的双MVC法更好地利用HTML和JavaScript构建,而后二者实际上比小应用程序更能在不同的浏览器间移植。具体地,依据本专利技术的独特双MVC法,客户机机器保持“模型”的一部分,从而消除许多至服务器的往返。本专利技术提供一种实现法,用于构建在客户机的浏览器软件中含有的允许本地对它刷新的帧(多个帧)。通过规定一个使编程人员可用来构建客户机机器上的“图”和“控制器”的函数库,本专利技术解决开发和维护问题。当在客户机上保持“模型”的一部分时,客户机具有响应用户交互的能力,不必付出不停地和服务器交互造成的性能代价。应理解本文中使用的术语“帧”具有和在HTML中相类似的用途。web浏览器典型地在客户机的屏幕上显示一个或多个窗口。每个窗口可能对应于一个HTML帧,或者可能替代地对应于一个HTML“帧组”。一个帧组包括一个或多个帧,这些帧类似于帧组窗口内的各子窗口。本专利技术规定一种构建基于浏览器的客户机的方式,从而传统MVC交互是可能的。客户机的浏览器屏幕可分成多个帧。在客户机上运行着web浏览器的情况下,该web浏览器包含一个HTML帧组。在逻辑驻留处可能存在一个或多个用户与之交互的可见帧以及一些“不可见”的帧。对于“不可见”的帧,我们的意思是把这些帧的高度和宽度的值置成非常小,从而看起来它们不占据任何屏幕区域。可见帧明显占据一定的屏幕区域。不可见帧含有应用逻辑并且该逻辑重写可见帧。应理解,一个应用可能建立其它的窗口或帧组以及/或者在一个与某帧组对应的窗口内具有其它的帧。若没有本专利技术,则试图更新它的“图”的客户机侧应用会因盖写它自己的“控制器”逻辑以及“模型”数据而破坏自己。应理解本文中使用的术语“逻辑”指的是程序码,最好是客本文档来自技高网...

【技术保护点】
一种在客户机/服务器系统中使用的、用于减少在客户机和服务器之间的交互的方法,这种交互与该客户机访问该服务器处的应用相关,该方法包括步骤: 配置该服务器,以存储与该应用相关的模型和保持与该应用相关的图生成及控制器逻辑;以及 配置该客户机,以存储与该应用相关的该模型的至少一个子集和保持与该应用相关的该图生成及控制器逻辑的至少一个子集,其中在该客户机处在不必一定和该服务器交互的情况下执行该应用的一个或多个部分。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:凯瑟琳贝兹阿瓦拉翰姆莱夫詹姆斯T雷菲尔德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利