轻量用户交互管理架构 【技术领域】
本发明涉及一种用于在电子商务环境中提供一个管理用户交互数据流动的架构的方法和系统。该架构只在因特网(intemet)浏览器环境中工作,以允许web(网络)用户访问,更新和存储与远端服务页相关的商务信息。背景技术
在基于web的商务环境中,管理远端数据源(包括但不限于数据库、文件和其他数据源)时出现许多问题。虽然现有技术系统已提供各种管理远端数据源的方法,但是现有技术方法存在一些问题。典型的主要问题是需要安装额外软件到现有系统中,以执行远端管理。大部分管理员不是技术人员,因此他们难以处理在他们的计算机上安装额外软件应用程序。
如下进一步详细描述(结合图1),大量页面典型地存储在用户数据源(例如,服务器)上。对于web购买者或访问者(客户)要从服务器访问或请求大量页面(例如,页面A或B)以作修改,客户必须典型地通过如下3个步骤进行:
(1)客户必须从服务器请求页面(A或B),并且提供客户身份,从而服
务器可以为那个特定用户返回所存储的用户数据。
(2)服务器随同服务所请求的页面一起将所有相关页面的特定用户数
据返回给客户。
(3)客户随同客户身份一起返回那个特定页面的经过更新的用户数
据,以存储在服务器中。
客户可以连续修改页面A或B(通过重复步骤1到3),直到客户对数据最终满意。在那时,客户将通知服务器客户完成更新他/她的客户数据,并且服务器将能够处理那个(所更新)数据。很明显,早期技术带有大量问题。其中,来自远端的潜在大量单个页面请求要求长时间的客户-用户会话,并且对于客户难以容易地从在客户-用户会话的很早部分由用户先前更新的页面中提取信息。
作为相关背景,用户输入数据的一个普通方法是在一组逻辑相关的页面中给出或请求信息。该方法允许所请求地数据分解为小的可管理片断。在任意单个页面上的输入数据没有来自相关页面的数据,就被认为是不完整的。由于表格的业务逻辑(business logic)不能跨越多个页面进行维护,因此在请求WWW(World Wide Web,万维网)上的信息时,这将出现一个问题。
如对传统技术所述,单个页面上的用户数据发送回服务器,并且在其中进行存储。因此,当客户返回到那个页面时,可以记住那个单个页面的信息或状态。如果页面上的业务逻辑需要来自其他逻辑相关页面的用户数据,来自所有页面的用户数据将不得不为正确显示该页面(带所有相关数据)从服务器进行返回。(例如,在基于web的购买定单中第一个页面请求货币,并且与那个购买事务相关的第二个页面使特定货币的价格输入区域有效。)
该现有方法既麻烦,又缺乏效率。由于用户能够导航自由修改相关信息的页面,客户将需要返回到服务器多次载入信息。而且,由于信息是关联的,服务器只在所有相关页面完成后才处理数据。
在传统模型中,如果相关页面(和相关信息)存储在不同服务器上,解决方案将尤其复杂。在客户专用数据驻留在不同服务器上的情况下,多个服务器必须通信,以向客户机提供全部用户数据。
【发明内容】
本发明提供一个允许网站开发人员容易地编写终端用户(客户)能通过网络浏览器(web brower)进行访问的可定制管理程序的架构。本发明的架构适合于,并可配置为允许任意数据源。该架构还处理管理的所有三个阶段:(1)初始化,(2)用户(管理员)交互,和(3)数据源的完成和修改。
该架构在浏览器环境中工作。本发明消除了管理员安装复杂软件以管理他们的数据源的需要。
作为概要,在本发明的一个实施例中,相关页面A和B的用户数据存储在客户机上。对于客户(X)要请求一个页面(A或B)以作修改,2个步骤如下:
(1)客户必须从服务器请求页面;和
(2)服务器返回所请求的页面。
(3)**由于数据保存在客户机上,不需要步骤3(如上所述与现有技术
相关)。**
客户可以连续修改页面A或B(重复步骤1和2)直到满意为止。在那时,客户将所有页面的用户数据发送回客户,以作处理。
在使用多个服务器的web网站或其他基于web的商务系统中,本架构允许用户数据存储在客户机上。允许客户从多个服务器返回相关页面。在该多服务器环境中实现此架构消除了客户-用户会话期间服务器(在服务器之间)重复通信的需要。
本发明的一个方面,提供一种用于网络浏览器环境的架构。网络浏览器环境包括可从远端客户访问的用户数据源中的相关网页。该架构包括:
用于将相关网页捆绑为一个可视页的装置;
用于在可视页内导航相关网页的装置;
用于从数据源载入任意由相关网页要求的数据的装置;
用于允许从远端访问可视页的装置;和
用于允许由相关网页要求的数据在远端进行存储的装置。
本发明的另一个方面,描述一种提供用于网络浏览器环境的架构的方法。网络浏览器环境包括可从远端机访问的数据源中的相关网页。该方法包括:
将相关网页捆绑为一个可视页,该单个可视页可通过单个URL请求进行访问;
提供用于操作每个相关网页的标签;
用可分析字符串标识由每个相关网页要求的数据;
允许远端机存储可分析字符串,并且在可分析字符串中修改由每个网
页要求的数据;和
将从远端机接收的经过修改的数据存储在数据源中。
本发明的另一个方面,公布一种计算机产品。该产品实现在网络浏览器环境中的架构。该计算机产品包括记录装置。该记录装置包括用于实现在网络浏览器环境内的架构的操作的装置。作为示例,该记录装置可以是磁盘、CD-ROM、硬盘或其他合适记录设备。典型地,该记录设备将是能够存储用于实现架构的其他必要特征的磁性记录设备。下面将结合附图,对本发明的优选实施例的一个示例进行更详细的描述。
本领域的技术人员应该理解,该计算机程序可以在存储设备中进行存储或作为信号,如用于计算机系统的调制载波信号或在网络如用于计算机系统的因特网上进行传输。
【附图说明】
图1是与web服务器远端访问相关的现有技术的示意图;
图2是网络浏览器环境中本发明的一个实施例的示意图;
图3是示出与本发明的一个方面相关的数据源管理工具的图;
图4是示出本发明架构的一个示例的初始化的示意图;
图5是结合本发明的架构与由浏览器发出的修改面板请求相关的用户交互流程的示意图;
图6是结合本发明的架构与完成用户数据存储更新相关的用户交互流程的示意图。
【具体实施方式】
为更好理解本发明的基本原理,将提供一个与基于web交互商务网站的现有技术模型的一个示例的比较。在图1中,示出客户机X通过因特网区与用户服务器进行通信。图1示出客户从用户网站返回相关网页A和B的一个示例。这些网页是分别返回的。可以看到,在与页面A相关的步骤1,客户将客户标识(ID)提交给用户服务器。在步骤2,客户从服务器随同页面A的相关用户数据和页面B的相关用户数据地接收页面A。客户输入所需信息并且在步骤3返回页面A的用户数据。典型地,客户的ID信息随同所更新的信息进行提供,以确保所更新的信息用于更新存储在用户数据源中的客户信息。图1还示出重复对应步骤1、2和3的一个单独序列,以连同相关页面B返回并然后更新为客户X存储的用户数据。虚线表示当他/她完成更新页面时提交请求,以让服务器处理用户数据。
图2是本发明的优选实施例,即在网络浏览器环境中实现的架构的简化形式的示意图。网络浏览器从远端客户机访问用户服务器。在本实例中,客户X,在它的计算机,通过用户服务器从用户远端数据源请求页面A和B。
客户X在它的客户机X上存储相关页面A和B的用户数据。当需要时,客户X通过线1表示的请求返回页面A和B。页面A和B从远端用户服务器返回到客户机。客户X然后允许在它的机器中通过该架构(在网络浏览器环境内进行实现)更新客户数据,其中使用存储在其机器上的用户数据,然后更新页面A和B的用户数据。一旦用户对成功完成更新这些相关页面的用户数据感到满意,客户就通过因特网区将那些页面的用户数据,随同客户ID(标识)信息,提交给用户服务器,以作处理。
本发明的一个重要方面是它提供将很多独立的服务页捆绑为可从单个URL(Uniform Resource Locator,统一资源定位符)请求进行调用的一个可视页。所述架构允许多个页面打包到一个可视页中,其中设有为用户提供的导航这些多个页面的标签(tab)。
结合如图3所示的工具对本发明的一个实施例进行描述。图3是用户可以看到的该工具的屏幕图的示例。一旦用户完成修改每个页面表单中的信息,该架构提供一种机制来将这些表单进行打包,并且将包含在这些页面中的数据提交给服务器进行处理。
该架构可以使用XML(Extensive Markup Language,扩展标记语言)文件以定义要捆绑入一个可视页的页面来进行创建。作为示例,每个可视页可以使用带标准HTML和Java Script技术的Java服务器页进行创建。然而,需要理解的是可以使用其他技术来补充或代替这些所推荐的技术。
通过使用该页面捆绑方法,该架构能够使用例如HTML和JavaScript的标准技术在浏览器环境内创建类似应用程序的界面。该方法消除了要求用户安装任何应用程序的问题,并且消除了下载大applet(小应用程序)的性能问题。
该架构通过在一个XML文件内定义所有可视页在可视页和架构本身之间提供清晰的界线。内容所有者然后可以在不需要提供这些特性的架构的任何详细知识的情况下创建可视页。因此,内容所有者可以使用他们喜爱的创建工具容易地创建页面,而不需要很多技术培训或经验。架构管理员简单地通过在XML文件内定义这些由内容所有者提供的页面,可以创建一个包含每个页面的标签的单个可视页。
该架构自动处理该工具的三个必要功能:
页面初始化;
用户交互;和
表单提交。
图4示出一个初始化流程的示例。该图示出架构如何初始化,并且返回一个GUI(graphical user interfaces,图形用户界面),如图3所示的示例管理员工具到浏览器。用户通过调用单个URL要求显示所提供的工具。该架构然后载入描述所请求工具的XML文件,并且创建一个打包在XML文件内定义的所有可视页的框集(frameset)。由任何可视页需要的任何数据,从数据源进行载入,并且作为示例存储在JavaScript(Java脚本)变量内,从而它们可在客户机上访问。在这个示例中,HTML框集和JavaScript对象返回到浏览器。每个框自己载入并且初始化。内容面板上的内容填上来自全局JavaScript对象的数据,完成初始化步骤。
作为进一步的示例,在图5中描述修改面板请求的用户交互流程。架构提供用户用以单击来通过该工具导航的链接。作为示例,′上一步′和′下一步′按钮是这种可以向用户进行提供的链接种类的示例。当用户单击一个所提供的链接时,架构执行导航到下一可视页所需的处理。在图3所示的示例中,存在4个面板:′类型′、′通用′、′位置′和′条件′。用户可以从每个面板管理数据源的不同部分。为了在示例中提供的面板之间进行切换,用户可以单击′上一步′和′下一步′按钮,并且执行用户交互流程。
参照图5所示的特定示例,从浏览器调用修改面板请求。一旦从浏览器接收到修改面板请求,当前面板的状态信息就保存在全局JavaScript对象中。之后,所请求的面板在′内容′框中进行载入,并且新的面板填入来自全局JavaScript对象的数据。
在图6中,描述用于对前面所示的工具示例进行表单提交的用户交互流程。简而言之,该图示出由管理员在这些工具页中输入的信息如何发送回服务器,并且存储在数据源中。
当管理员完成输入他/她的状态信息时,从浏览器发出′完成′请求。管理员提供有保存或取消保存当前面板的状态信息的选择。如果管理员取消请求,状态信息不为当前面板进行保存。然而,如果输入保存当前面板′状态信息′的决定,状态信息保存在全局JavaScript对象中。全局JavaScript对象又转换为XML字符串。
以所生成XML字符串为参数对URL(命令)执行调用。服务器上的命令分析XML字符串并且更新持久性数据存储。一旦持久性数据存储进行更新,架构就得到完成。
本领域的技术人员应该理解,在此提供的示例仅是本发明的一些实施例。这些技术人员应该明白,根据上述描述还存在其他有用的修改和实施例作为本发明的示例。根据上述描述,对于本领域的技术人员,在本发明的范围之内预见很多其他修改和实施例是可能的。