专利名称::用于在异构环境中管理基于服务器转译消息的方法和系统的制作方法
技术领域:
:本发明一般涉及数据处理领域,且更具体地,涉及一种在数据处理系统中用于转译(render)消息的计算机实现的方法、系统和计算机可用的程序代码。
背景技术:
:随着软件在全世界销售,对于只用英语显示状态和消息的软件应用常常是不够的。典型地,对每条消息必须生成不同的一组经翻译的本地化的消息,并且这通常要求保留该消息的集中的消息目录,以及其能够通过唯一的密钥访问。能够在需要生成消息的每一个位置提供消息目录,并且有时这是通过对每个位置复制消息目录来完成。但是,提供复制的消息目录除了要求额外存储器外还能导致维护和一致性问题。因此,优选的替代方案是在中央位置提供一个消息目录。但是,在混合语言分布式的应用中,保持文本和格式二者都一致的消息转译且无大量的代码复制会是挑战。考虑网站服务器的典型场景生成由服务器侧代码(以HTML形式形成以便将由客户机浏览器转译)发起的错误消息。假设该消息内容和该消息转译机制二者驻留于该服务器中,因为全部都在一个位置并且是内部可访问的,所以这是相对筒单的程序。但是,当根据在该客户机侧生成或发起的事件需要转译的消息不具有该消息目录或转译机器时,程序变得更困难。例如,这可能是在用户的网站浏览器上运行的Java小应用或Java描述语言。字段输入确认或文件上载是在此场景中的常见活动。因此,需要一种机制,其在数据处理系统中将容易管理基于服务器的消息转i奪。
发明内容示范的实施例提供一种用于在数据处理系统中转译消息的计算机实现的方法、系统和计算机可用的程序代码。一种用于在数据处理系统中转译消息的计算机实现的方法包括利用关于将要转译的消息的信息来更新与主网页相关联的副网页的源对象。使用副网页传送该信息到远程位置。从远程位置接收消息代码,其包括将要转译的消息和消息转译指令,以及处理该接收的消息代码来转译该消息以便在主网页上显示。在所附的权利要求书中提出本发明的新颖性特征所认为的特性。然而,通过结合附图阅读以下示范实施例的详细描述,将最好地理解本发明自身连同优选的使用模式、进一步的目的和其中的优势,其中图1描述可以实现示范实施例的数据处理系统的网络的示意图2是可以实现示范实施例的数据处理系统的框图3描述依照示范实施例的用于服务器-客户机系统的典型的软件结构;图4是示意地说明根据示范实施例的、在数据处理系统中用于管理基于服务器转译消息的系统的框图;和图5是说明根据示范实施例的在数据处理系统中用于管理基于服务器转译消息的计算机实现的方法的流程图。具体实施例方式现在参照附图并且尤其是参考图1-2,提供可以实现示范实施例的数据处理环境的示范图。应当意识到图1-2仅仅是范例并不期望断言或暗示关于可以实现不同的实施例的环境的任何限制。可以对该描述的环境做出许多修改。现在参照附图,图l描述可以实现示范实施例的数据处理系统的网络的示意图。网络数据处理系统IOO是可以实现实施例的计算机的网络。网络数据处理系统100包括网络102,其作为用来在网络数据处理系统10G内的不同的装置和计算机之间提供连在一起的通信链路的介质。网络102可以包括通讯线,诸如电缆、无线通信链路、或光缆。在该描述的例子中,服务器104和服务器106连同存储器单元108连接到网络102。此外,客户机110、112和114连接到网络102。这些客户机110、112和114可以是,例如,个人计算机或网络计算机。在该描述的例子中,服务器104提供数据,诸如根文件、操作系统镜像、以及给客户机IIO、112和114的应用。在该例中客户机IIO、112和114是服务器104的客户机。网络数据处理系统100可以包括额外服务器、客户机和其他未示出的装置。在该描述的例子中,网络数据处理系统100是具有网络102的因特网,网络102代表全球的使用用于相互通信的传送控制协议/因特网协议(TCP/IP)协议组的网络和网关的集成。在因特网的核心是在主要节点或主机之间的高速数据通信线路的主干线,包括路由数据和消息的成千数万的商业的、政府的、教育的和其他计算机系统。当然,网络数据处理系统100也可以作为许多的不同类型的网络来实现,诸如例如,企业内部网、局域网(LAN)、或广域网(WAN)。图l是意味着一示例,并不作为对于其他实施例的结构的限制。现在参考图2,示出可以实现示范实施例的数据处理系统的框图。数据处理系统200是诸如在图1中的服务器104或客户机110—样的计算机的例子,对于示范的实施例实现该处理的计算机可用的代码或指令可以位于其中。在该描述的例子中,数据处理系统200使用网络集线器结构,其包括北网桥和存储器控制器网络集线器(MCH)202以及南网桥和输入/输出(I/O)控制器网络集线器(ICH)204。处理器206、主存储器208和图形处理器210连接至北网桥和存储器控制器网络集线器(MCH)202。图形处理器210可以通过例如加速附图端口(AGP)连接到该MCH。在该描述的例子中,局域网(LAN)适配器212连接至南网桥和1/0控制器网络集线器204,以及音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通信端口232、和PCI/PCIe装置234均通过总线238连接到南网桥和I/O控制器网络集线器204,以及硬盘驱动器(HDD)226和CD-ROM驱动器230均通过总线240连接到南网桥和1/0控制器网络集线器204。PCI/PCIe装置可以包括,例如,以太网适配器、添加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe则没有。ROM224可以是,例如,闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM驱动器230可以使用,例如,集成驱动器电子设备(IDE)或串行高级技术附属(SATA)接口。超级1/0(SIO)装置236可以连接到南网桥和1/0控制器网络集线器204。在图2中操作系统运行于处理器206并且协调和提供对数据处理系统200中的不同组件的控制。该操作系统可以是商业上可用的操作系统(诸如MicrosoftWindowsXP(Microsoft和Windows是微软公司在美国、其他国家、或二者均有的商标))。面向对象的编程系统(诸如Java"编程系统)可以结合该操作系统运行并且从Java小应用或在数据处理系统200上执行的应用中提供对该操作系统的调用(Java和所有基于Java的商标是太阳微系统公司在美国、其他国家、或二者均有的商标)。用于面向对象的编程系统、操作系统的指令和应用或程序位于诸如硬盘驱动器226—样的存储装置中,并且为了由处理器206执行可以将其加载进主存储器208中。可以由处理器206使用计算机实现的指令来执行该说明性的实施例的过程,可以将该指令加载进诸如,例如主存储器208、只读存储器224或一个或多个外围装置一样的存储器中。取决于该实现可以改变在图1-2中的硬件。除了或者代替在图1-2中的说明的硬件外可以使用其他内部硬件或外围装置,诸如闪存、非易失存储器的等同物、或光盘装置等等。同样,可以将该说明性的实施例的过程应用到多处理器数据处理系统。在某些说明性的例子中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存以便为存储操作系统文件和/或用户生成的数据提供非易失存储器。总线系统可以包含一个或多个总线,诸如系统总线、1/0总线和PCI总线。当然该总线系统可以使用任何类型的通信结构或架构(其提供在附着在该结构或架构的不同的组件或装置之间数据的传送)来实现。通信单元可以包括一个或多个用来发送和接收数据的装置,诸如调制解调器或网络适配器。存储器可以是,例如,主存储器208或在北网桥和存储器控制'器网络集线器202找到的缓存。处理单元可以包括一个或多个处理器或CPU。在图1-2中说明的例子以及以上描述的例子并不意味着结构上的限制。例如,数据处理系统200也可以是板块计算机(tabletcomputer)、膝上型计算机或除了PDA形式以外的电话装置。转到图3,依照示范实施例说明典型的用于服务器-客户机系统的软件结构。一般由参考标记300指明该结构。在最底层,利用操作系统302来提供高级功能给该用户和其他软件。这样一种操作系统典型地包括基本输入输出系统(BI0S)。经由物理通信链路并且通过直接地调用操作系统功能或者间接地旁路该操作系统来接入用于在网络上通信的硬件,通信软件304提供通信经过外部端口至诸如因特网的网络。应用程序接口(API)306允许该系统的用户、个人、或软件例程使用标准兼容的接口来调用系统能力而不必考虑该特定功能是如何实现的。网络接入软件308代表任何可用的用于允许该系统接入网络的软件。该接入可以是到网络,诸如局域网(LAN)、广域网(WAN)或因特网。对于因特网,该软件可以包括诸如网页浏览器一样的程序。应用软件310代表任意数量的软件应用,其设计成通过该通信端口对数据作出反应来提供该用户寻求的期望的功能。在这一级的应用可以包括处理数据、视频、附图、照片或文字必须的东西,其能被因特网的用户接入。在这些例子中本发明的机制可以在通信软件304内实现。示范的实施例提供用于在数据处理系统中转译消息的计算机实现的方法、系统和计算机可用的程序代码。更具体地,示范实施例提供用于在异构环境的数据处理系统中管理基于服务器的转译消息的计算机实现的方法、系统和计算机可用的程序代码。根据示范的实施例,在此称为"副网页,,的副文件与在此称为"主网页"的主文件相关联,经转译的消息将在主网页中显示。釆用关于将要转译的消息的信息更新副网页的源对象,并且使用副网页传送该消息至远程位置。从远程位置接收消息代码,该消息代码包括将要转译的消息和消息转译指令,以及处理该接收的消息代码来转译该消息以便在主网页上显示。根据示范的实施例,通过后台连接到服务器来提供副网页,并且能够通过嵌入在主网页中、通过置于与主网页相邻位置或以另一适合的方式来与主网页关联。根据示范的实施例,能够通过嵌入在网页的Java小应用或运行在客户机浏览器的Java描述语言代码或另外的描述语言(诸如VBScript(虛拟基本描述语言))发起对服务器的连接。能够实现这个而不必刷新整个看得见的页面。根据示范的实施例,使用IFRAME(内联帧)对象发起对该服务器的后台连接(backgroundconnection),尽管应当理解同样能够使用其他机制。该IFRAME对象用作嵌入主网页的副网页,并且提供其能够隐藏在该客户机浏览器的主网页的便利〈iframesrc=",,id="iframeid,,style="display:none"〉</iframe>通过ID标签经由Java描述语言函^t:Document.getElementByld()注明该IFAME对象。在网页上的Java描述语言代码能够直接访问该函数,同时嵌入的Java小应用能够使用LiveScriptJSObject方法exec()来访问在主网页上的DOM(文件对象模型)元素。当存在于该服务器的消息需要在该客户机浏览器中显示时,运行在该浏览器中的Java描述语言代码更新用于隐藏的IFRAME对象的文件内容的源Document.getElementByld('iframeid,).src=;g『CTZ该浏览器处理该URL并且联络该网站服务器以检索新内容。如将在下文非常详细地描述的,该检索的内容能够包含消息文本以及能够对主网页交互的附加的Java描述语言代码以便转译和显示该消息。在网站服务器侧,Java小服务程序、JSP(Java服务器页面)、描述语言或等价物能够响应于进来的请求。在此例中,说明一种具有Java小服务程序的实现。通过该进来的请求,能够通过该URL询问字符串传递该参数。其能够由如下组成1)消息密钥,2)任何可替换的参数,以及3)用于返回经转译的消息的方法的表示。以下是/A^户机Java描述语言到该服务器的请求的示例URL:http://server,ibm.com/myapp/rendermsgkey=filenotfound&pl=myFile.txt&objname=errordiv该小服务程序获得这些参数并且在消息目录中查找相应的消息。然后其插入任何特定的参数并且传递结果至能够为该请求方安排输出(如HTML)的格式的转译引擎(如JSP)。有几种方法能够返回该表示至it求方A)以参数3(这里由变量objname表示)传递的可以是当调用页时的接受者标签的ID:在转译给该用户的浏览页上,有一用于该转译的消息的占位符(在来自该嵌入的IFRAME的消息请求前为空)来自从该嵌入的IFRAME调用的URL的完成的页面包含修改以上(在主窗口)示出的标签的Java描述语言。以下是一些运行所述操作的小服务程序代码的样本PrintWriterp=resp.getWriter0;p.println("<HTML〉<BODYXscript"+"type=\"text/javascript\,,〉,,);p.print("parent,document.getElementByld('"+objname+,,,).innerHTML=,,,);/*消息转译打印陈述*/p.println("';</script></BODYX/HTML〉,,);p.flush();p-close0J为了通知该浏览器页该消息更新完成,可以通过副窗口在主窗口设置变量。B)以参数3(这里由变量objname表示)传递的可以是在副窗口(IFRAME)中给该转i奪的消息的ID,主窗口从副窗口中弹出在浏览器页,使用该IFRAME生成对该服务器的调用。可以通过该小服务程序代码片断生成该转译的消息PrintWriterp=resp.getWriter();p,printIn("<HTML〉<BODY〉<DIVid=+objname+",>,,);/*消息转译打印陈述*/p.println("</DIV></BODY〉</HTML〉");p.flush();p.close();当该消息转译完成,例如,通过设置通知主窗口的标志,主窗口能够从第二IFRAME中弹出转译的DIV。能够用该DIV取代在主要页面上的元素,使得该IFRAME看得见以展示该消息,或以任何其他方法使用它。C)以参数3(这里由变量objname表示)传递的可以是该转译的消息的Java描述语言变量名在浏览器页上,使用该IFRAME生成调用。可以通过该代码片断表示该转译的消息PrintWriterp=resp.getWriter();p.printIn("<HTML〉<BODYXscript"+"type=\"text/javascriptA,'〉");p.printin("var,,+objname+"=',,);/*消息转译打印陈述*/p.println("';</script></BODYX/HTML>,,);p.flush();p.close();当该消息转译完成,主窗口能够在被通知后使用来自第二IFRAME的结果的对象。图4是示意地说明根据示范实施例的在数据处理系统中用于管理基于服务器呈现消息的系统的框图。一般由参考标记400指明该系统,并且包括网站浏览器主页410和服务器420。小应用412或浏览器侧Java描述语言414用如箭头430所示的消息转译小服务程序的URL更新隐藏IFRAME416的源对象。该URL包含消息密钥、该消息的参数以及用于该消息的目标的对象ID。该浏览器检测该IFRAME源对象已经改变且使用如箭头432所示的URL联络服务器420。在服务器420,如箭头434所示小服务程序/JSP或描述语言422从消息目录424中查找适当的消息,插入参凄t和转译HTML/Java描述语言代码。如箭头436所示包含消息转译指令的HTML/Java描述语言代码返回客户机浏览器的隐藏IFRAME416。如箭头438所示该浏览器然后处理该返回的HTML/Java描述语言至提供的显示的消息418。取决于该HTML/Java描述语言包含的内容,该浏览器能够A)使用在网站浏览器主页410的目标元素的对象ID来显示该转译的消息;B)使用在隐藏的IFRAME416内的目标元素的对象ID来转译该消息。然后通知网站浏览器主页410且然后能够^/v隐藏的IFRAME416中显示该转译的消息;C)在隐藏的IFRAME416中以Java描述语言变量的形式存储该转译的消息。然后通知网站浏览器主页410且能够访问该变量以显示该转译的消息。图5是说明根据示范实施例的在数据处理系统中用于管理基于服务器呈现消息的计算机实现的方法的流程图。一般由参考标记500指明该方法,并且通过用消息转-泽小服务程序的URL更新在网站浏览器中的隐藏的IFRAME的源对象开始(步骤502)。该浏览器检测该隐藏的IFRAME源对象已经改变(步骤504),且使用该URL联络远程设置的服务器(步骤506)。然而,在服务器上,小服务程序/JSP或描述语言从在该服务器的消息目录中查找适当的消息(步骤508),插入参数和转译HTML/Java描述语言代码(步骤510)。然后包含消息转译指令的HTML/Java描述语言代码返回到该浏览器的隐藏IFRAME(步骤512)。取决于该HTML/Java描述语言包含的内容该浏览器处理该返回的HTML/Java描述语言。如前描述的,该处理能够包括其中之一使用在主网页的目标元素的对象ID来显示该转译的消息(步骤514a);使用在隐藏的IFRAME(副网页)中的目标元素的对象ID来转译该消息,然后通知主网页来显示该转译的消息(步骤514b);或在隐藏的IFRAME中以Java描述语言变量的形式存储该转译的消息,然后通知主网页从而能够访问该变量以显示该转译的消息(步骤514c)。在以这些方式之一处理该HTML/Java描述语言之后,该方法结束。从而示范的实施例提供一种用于在数据处理系统中转译消息的计算机实现的方法、系统和计算机可用的程序代码。一种用于在数据处理系统中转译消息的计算机实现的方法包括利用关于将要转译的消息的信息来更新与主网页相关联的副网页的源对象。使用副网页传送该信息到远程位置。从远程位置接收消息代码,其包括将要转译的消息和消息转译指令,以及处理该接收的消息代码来转译该消息以便在主网页上显示。本发明可以采取整个硬件实施例、整个软件实施例或包含硬件和软件成分二者的实施例的形式。在优选实施例中,本发明以软件形式实现,其包括但不局限于固件、驻留软件、微码等。此外,本发明能够釆取计算机程序产品的形式,其可从提供程序代码的计算机可用的或计算机可读的介质中访问,该程序代码由或连同计算机或者任何指令执行系统使用。作为本说明的目的,计算机可用的或计算机可读的介质能够是任何有形的装置,其能够包含存储、通信、传播、或传送该程序以便由或连同该指令执行系统、装置或设备来使用。该介质能够是电子的、磁的、光学的、电磁的、红外的、或半导体系统(或装置或设备)或传播介质。计算机可读的介质的例子包括半导体或固态存储器、磁带、可移动的计算机;磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬盘和光盘。光盘的当前例子包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。适合存储和/或执行程序代码的数据处理系统将包括至少一个直接地或通过系统总线间接地连接到存储器元件的处理器。该存储器元件能够包括在实际执行该程序代码期间使用的本地存储器、大容量存储器以及为了减少在执行期间必须从大容量存储器取回代码的次数的数量而提供临时存储至少某些程序代码的高速缓冲存储器。输入/输出或1/0设备(包括但不限于键盘、显示器、点击设备等)能够直接地或通过插入I/O控制器连入该系统。网络适配器也可以连入该系统以4吏能该数据处理系统通过插入专有或公用网络连接到其他数据处理系统或远程打印机或存储器设备。调制解调器、线缆调制解调器和以太网卡仅是当前网络适配器可用类型的几种。作为说明和描述的目的已经展示本发明的描述,并且意味着穷举或局限本发明于揭示的形式。对本领域技术人员而言许多修改和变更将是显然的。选择和描述的实施例是为了最好地解释本发明的原则、实际的应用,并直使得本领域其他技术人员理解本发明的具有不同的修改的不同的实施例是适合于预期的特定用法。权利要求1.一种用于在数据处理系统中转译消息的计算机实现的方法,该计算机实现的方法包括利用关于将要转译的消息的信息来更新与主网页相关联的副网页的源对象;使用副网页传送该信息到远程位置;从远程位置接收消息代码,该消息代码包括将要转译的消息和消息转译指令;以及处理该接收的消息代码来转译该消息以便在主网页上显示。2.如权利要求1所述的计算机实现的方法,其中副网页是嵌入在主网页中的隐藏的网页,并且使用副网页传送该信息到远程位置包括使用副网页经由到远程位置的后台连接来传送该信息到该远程位置。3.如权利要求2所述的计算机实现的方法,其中副网页包括IFRAME对象。4.如权利要求1所述的计算机实现的方法,其中使用副网页传送该信息到远程位置包括经由URL来传送该信息到远程位置。5.如权利要求1所述的计算机实现的方法,其中该传送的信息包括在该远程位置允许访问消息目录的消息密钥、关于将要转i奪以用于显示的消息的参数、以及用于返回将要转译以用于显示的消息的方法的表示。6.如权利要求5所述的计算机实现的方法,并且进一步包括在主网页上显示该转译的消息,其中用于返回将要转译以用于显示的消息的方法的表示包括以下中的一个使用在主网页中的目标元素的对象标识来显示该转-泽的消息;使用在副网页中的目标元素的对象标识并且通知主网页显示该转if的消息;以及在副网页中以Java描述语言变量形式存储该转译的消息并且通知主网页访问该Java描述语言变量和显示该转译的消息。7.如权利要求1所述的计算机实现的方法,并且进一步包括检测该源对象在传送该信息到该远程位置之前已经更新。8.如权利要求1所述的计算机实现的方法,其中该远程位置包括具有消息目录的服务器,并且其中该服务器使用该传送的信息在该消息目录中查找该消息。9.如权利要求l所述的计算机实现的方法,其中将要转译以用于显示的消息包括采用选择的语言形式的消息。10.—种用于在数据处理系统中转译消息的系统,包括网站浏览器主网页;与主网页相关联的、包含关于将要转译的消息的信息的副网页;传送机制,用于使用副网页传送该信息到远程位置;接收机制,用于从该远程位置接收消息代码,该消息代码包括将要转译的消息和消息转"^奪指令;和处理器,用于处理该接收的消息代码来转译该消息以便在主网页上显示。11.如权利要求IO所述的系统,其中副网页是嵌入在主网页中的隐藏的网页,并且其中该传送机制使用副网页经由到该远程位置的后台连接来传送该信息到远程位置。12.如权利要求10所述的系统,其中该传送的信息包括在该远程位置允许访问消息目录的消息密钥、关于将要转译以用于显示的消息的参数、以及用于返回将要转译以用于显示的消息的方法的表示。13.如权利要求12所述的系统,并且进一步包括用于在主网页显示该转译的消息的显示机制,其中用于返回将要转译以用于显示的消息的方法的表示包括以下中的一个使用在主网页中的目标元素的对象标识来显示该转译的消息;使用在副网页中的目标元素的对象标识并且通知主网页显示该转译的消息;以及在副网页中以Java描述语言变量形式存储该转译的消息并且通知主网页访问该Java描述语言变量和显示该转译的消息。全文摘要用于在数据处理系统中转译消息的计算机实现的方法、系统和计算机可用的程序代码。一种用于在数据处理系统中转译消息的计算机实现的方法包括利用关于将要转译的消息的信息来更新与主网页相关联的副网页的源对象。使用副网页传送该信息到远程位置。从包括将要转译的消息和消息转译指令的远程位置接收消息代码,并且处理该接收的消息代码来转译该消息以便在主网页上显示。文档编号G06F17/30GK101106577SQ20071011200公开日2008年1月16日申请日期2007年6月19日优先权日2006年7月10日发明者内文·D·马诺哈,安德鲁·W·卢切西,杰弗里·M·阿赫特曼,维克托·G·尤申请人:国际商业机器公司