用于用户与web浏览器交互的服务器端处理的方法与系统技术方案

技术编号:3511020 阅读:534 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及在基于web的客户-服务器环境中用于客户端与服务器端web应用程序交互的方法和系统,其中客户端web浏览器用作用于在浏览器应用程序框架中显示由web应用程序发送的web页面并用于将由所述应用程序框架中一个或多个用户输入动作触发的事件转换成指向所述服务器端web应用程序的请求的用户界面,其中例如JavaScript的可执行程序对象在客户端用作客户端web应用程序用户界面的一部分。为了改善用户界面,建议在浏览器中使用与服务器通信并且当服务器发送其响应时防止所显示文档被重新加载的附加框架。相反,只有增量信息(50)显示在该框架中。

【技术实现步骤摘要】

本专利技术涉及计算机应用程序,尤其涉及在基于web的客户-服务器环境中用于客户端与服务器端web应用程序交互及反过来的方法与相应系统,其中客户端web浏览器用作应用程序用户界面。
技术介绍
在这种环境中,传统上web浏览器用于在浏览器应用程序框架中显示由web应用程序发送的web页面及用于将由所述应用程序框架中一个或多个用户动作触发的事件转换成指向所述服务器端web应用程序的请求。由于与独立应用程序相比浏览器的功能很小,因此与由不具有互连web连接的独立应用程序运行的用户界面相比,这种web用户界面可以看作是“轻”版本。参考图1,涉及具有低级功能用户界面的作为“轻”客户端的web浏览器12和存放应用程序的应用程序服务器14的现有技术web应用程序要忍受与用户交互的缺乏,还要忍受不同的编程模型。一般来说,现有技术web应用程序如下工作根据用户动作1,例如点击链接、按下按钮、按下某个键或激活页面上的任何交互性组件,通过发送-见标号2-指向URL的HTTP请求,web浏览器12向服务器发出请求。很可能一组要由服务器14解释的参数可以与该HTTP请求一起传递。这些参数可以包含关于用户在页面上所进行交互的信息,而且可以作为HTTP GET请求中URL编码参数或作为HTTP POST请求体中的数据传递到服务器。这种请求由生成HTML文档并将其发送回web浏览器的服务小程序(servlet)16或JSP处理-见标号3。服务小程序16生成的HTML文档一般包含链接到其它URL的链接或交互式性公式化元素,或者是链接到不同的服务小程序/JSP,或者是链接到具有不同参数的相同服务小程序16。当用户点击这些交互性元素中的一个时,浏览器就重定向到新的URL。新HTTP请求发送到服务器,该服务器生成完整的新HTML文档并将其发送回浏览器。新文档代替旧文档,由循环1、2、3,通过这种处理用户输入来运行应用程序工作流。但是,对于这种通用的现有技术方法有一些缺点首先,由于每次用户交互都重新加载整个文档,因此在用户交互与来自应用程序的可视响应之间有长的时间延迟整个文档必须通过网络发送,它必须由浏览器再次显示。因此,不可能建立有大量用户事件(例如,鼠标事件)由服务器14处理的高度交互性用户界面。其次,实现这种应用程序的编程模型是复杂的。由于每次用户交互都导致新文档对当前文档的替换,因此web应用程序的逻辑变得复杂,因为为了在新文档中使用,关于当前会话的当前状态信息必须传递到服务器。第三,web应用程序的编程模型完全不同于独立应用程序的编程模型在独立的离线应用程序中,通过侦听来自面板元素的事件并利用相同面板其它元素中的属性改变来响应(例如当按钮A被点击时,文本B的颜色改变),用户界面逻辑可以在单个面板中实现。在web应用程序中,每个用户触发的事件都与新文档的生成关联。这使得没有用户界面的完全重新构造,独立应用程序就不可能移植到web应用程序。发现这种缺点的原因是客户端的技术限制web浏览器最初设计成显示静态内容(文本和图像)。因此,它们提供非常有限的编程能力。尽管已经开发出了许多插件来增强web浏览器的能力,但浏览器基本上还是只能向web服务器发送请求并显示返回文档的简单客户端软件。为了弥补web浏览器这种能力的缺乏,到目前为止,业界已经开发出了几种特定的现有技术解决方案,包括可执行程序对象,例如作为客户端web应用程序用户界面一部分用在客户端的Java Script。这种可执行代码的例子是首先要提到的是JavaScript(或ECMAScript)和动态HTML(DHTML)利用这种现有技术,脚本语言可以用于修改所显示文档的内容。脚本必须在由web浏览器加载的文档中定义。脚本的执行是由浏览器本身进行的。因此,服务器准备脚本,发送到浏览器,但只要文档一显示在浏览器上,服务器就不再对其有任何影响。其次,Java应用小程序利用这种特定的现有技术,完整的Java程序被下载到客户端并在浏览器中执行。但是,这些方法有显著的缺点JavaScript允许修改所显示文档的“不工作”元素,而不需要重新加载整个文档,但实现这种用户界面行为的脚本必须在从服务器下载的原始文档中完全定义。一旦文档被加载,服务器就不再与用户界面交互,逻辑也不能被修改,直到加载新的文档。后面的Java应用小程序是非常灵活的,可以打开与服务器另外的通信通道,但不利的是所要执行的应用程序的全部代码都必须下载到客户端并由浏览器执行。这还涉一有些显著的问题,例如由于所需的代码下载时间、危险的安全问题,还有由于与浏览器所使用的Java虚拟机的兼容性。再次参考图1,如果用户交互1可以本地处理-如果对这种交互的反应已经在与HTML文档一起发送的JavaScript中定义-,则静态嵌入在页面中的脚本可以处理它,而且处理就在这里停止。但由于上述原因,这不是一种令人满意的解决方案。由于这些缺点,web应用程序仍旧限定到具有低交互性的组件,即,它们通常在它们的用户界面中包括文本域、按钮、链接。例如,利用如元素拖放的复杂鼠标交互的应用程序就很难实现。
技术实现思路
因此,本专利技术的一个目的是减轻现有技术的缺点。本专利技术的这个目的是通过所包含独立权利要求中所述的特征实现的。本专利技术的更多有利布置和实施方式在相应的子权利要求中阐述。现在参考所附权利要求。本专利技术的基本思想包括利用浏览器中与服务器通信并且当服务器发送响应时防止所显示文档被重新加载的附加框架的方法。根据这种基本方法,公开了在基于web的客户-服务器环境中用于客户端与服务器端web应用程序交互的方法与相应系统,其中客户端web浏览器用作用于在浏览器应用程序框架中显示由web应用程序发送的web页面并用于将由所述应用程序框架中一个或多个用户输入动作触发的事件转换成指向所述服务器端web应用程序的请求的用户界面,其中客户-服务器请求-响应通信对话是利用对所述用户输入动作作出响应的所述服务器端web应用程序(16)逐步执行的,该方法特征在于在客户端与服务器之间的单个对话步骤中执行步骤a)连同由服务器生成的响应参数,在对用户隐藏的框架-下文中称为“仲裁框架”-中接收可执行显示编程工具,b)从对用户隐藏的框架中执行所述显示编程工具,其中所述执行在所述应用程序框架预定位置仅部分显示用于更新它的所述响应参数。如下面所提到的,用于显示目的的“第二可执行编程工具28”或用于输入感测目的的“第一可执行编程工具26”的可执行程序对象可以是例如Java Script或Java应用小程序,或VB-Script(由MS-InternetExplorer支持的Visual Basic脚本),或者任何其它合适的程序对象。有利地,客户端“对用户隐藏的”仲裁框架是具有以下属性的框架 它对用户完全不可视或至少看到的非常小,使其不会吸引用户的注意力。它不对用户显示任何可视信息;它应当优选地是完全隐藏的。代替现有技术中通常的应用程序框架本身,它向服务器发送由应用程序框架准备的HTTP请求并接收服务器对这种请求的回答。它执行服务器的结果并只修改应用程序框架的内容,而不改变其余的框架图像。在这里这种框架称为仲裁框架,因为它实现了应用程序框架与服务器之间的通信。它将应用程序框架的请求发送到服务器本文档来自技高网
...

【技术保护点】
一种在基于web的客户(12)-服务器(14)环境中用于客户端与服务器端web应用程序(16)交互的方法,其中客户端web浏览器用作用于在浏览器应用程序框架(22)中显示由web应用程序发送的web页面并用于将由所述应用程序框架(22)中一个或多个用户输入动作触发的事件转换成指向所述服务器端web应用程序(16)的请求的用户界面,其中客户-服务器请求-响应通信对话(2、3、4)是利用对所述用户输入动作作出响应的所述服务器端web应用程序(16)执行的,其特征在于:在客 户(12)与服务器(14)之间的单个对话步骤中执行步骤:a)连同由服务器(14)生成的响应参数(50),在对用户隐藏的框架(24)中接收可执行显示编程工具(28),b)从对用户隐藏的框架(24)中执行所述编程工具(28),其 中所述执行在所述应用程序框架(22)预定位置仅部分显示所述响应参数(50)以便对其更新。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:扬尼克赛勒特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1