为JavaScript应用提供全球化功能的系统和方法

文档序号:6562413阅读:138来源:国知局
专利名称:为JavaScript应用提供全球化功能的系统和方法
技术领域
本发明总的来说涉及JavaScript的功能实现的技术领域,更具体 地说,涉及用于为JavaScript应用提供全球化功能的系统和方法。
背景技术
JavaScript语言是一种用于在浏览器中操纵HTML文档的脚本语 言。其在多种Web应用程序中被广泛地应用,以提供可访问性更好的 网页并改善用户的体验。Ajax(即异步JavaScript和XML )是一种 Web应用程序开发的手段,它采用客户端脚本与Web服务器以异步 的方式通过HTTP协议交换数据。异步的调用是Ajax的一个特点, 利用这个特点,Web应用可以^t到不刷新整个Web页面而动态地更 新页面上的内容。使用Ajax,可以创建更加丰富、更加动态的Web 应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应用程 序。目前,Ajax是JavaScript 1.3标准的一部分,;故大部分主流的浏 览器所支持,所以越来越多的web应用程序采用JavaScript和Ajax 来提供全面的功能,而不是简单地检测浏览器或验证页面上的某个表 单。在开发这些功能复杂的JavaScript应用时,开发者通常需要解决 各式各样的全球化问题,例如,根据书籍名称和区域(locale)对书籍 列表进行排序而不重新加载web页面、根据区域格式化数字、根据区 域和格式化风格来格式化日期,等等。然而,JavaScript对全球化提 供的支持很有限,使得其几乎无法满足来自现实世界场景的各种要求。 因此,JavaScript迫切需要一个功能强大的全球化解决方案,其中包 括以下几个方面的功能区域模型(locale model)、对文化敏感的功能、 多语言支持,等等。
目前,现有技术中不存在有效地使JavaScript应用具备全球化功 能的已知框架或系统。现有技术中对此问题存在两种解决方案。第一 种方案是单纯用JavaScript来开发一組具有全球化的功能的方法,它 们 一旦被客户端浏览器下载到本地后就能独立提供全球化的功能,不 需要再与服务器端交互。这种方案的缺陷在于1.开发和维护需要花 费大量的人力物力;2.为完成某一个功能客户端需要下载一个比较大 的JavaScript文件,对客户端响应速度会有比较大的影响。第二种方 法是在服务器端用脚本语言,例如Servlet, JSP, ASP等开发一些能提 供全球化功能的类或页面,JavaScript应用通过Ajax的方式调用上述 这些服务器端的模块来获得全球化的功能。该方案的缺陷在于1.服 务器端的模块可重用性差,不能作为通用的组件被其它应用利用;2. 对于开发JavaScript应用的人员来说,需要掌握一套专门的编程接口 用来调用服务器端的模块。无论是方案一还是方案二,都没有能够提 供一套完整、高效的解决方案,用以把区域模型、对文化敏感的功能 和多语言支持这些基本的全球化需求通过可重用的组件化的方式提供 给JavaScript应用。发明内容本发明的目的就是克服上述现有技术中存在的缺陷,提供一种系 统和方法,用于使JavaScript应用通过跨平台(cross-platform)的、 基于Ajax技术的Web服务客户端来访问服务器端的通过Web服务构 建的全球化组件。本发明的核心思想是用基于Ajax的Web服务来提 供全球化的功能。从功能实现的角度而言,本发明主要包括两个核心 部分基于Ajax的Web服务客户端和服务器端的全球化Web服务。 Web服务客户端是构建在JavaScript和Ajax基础之上,它使得 JavaScript应用具备异步调用Web服务的能力。服务器端的全球化 Web服务能向服务请求者提供全球化的功能,它可以是釆用自下而上 (bottom-up)的方法构建在已有的全球化类库之上,或者是采用自上 而下(top-down)的方法实现相应的全球化功能。
概括地说,根据本发明的第一方面,提供一种用于为JavaScript 应用提供全球化功能的方法,包括步骤基于异步JavaScript和XML(Ajax),对与具体的JavaScript 应用相关的全球化Web服务进行调用;以及根据需要对上述异步调用的结果进行处理,以便获得相应的全球 化功能。根据本发明的第二方面,提供一种用于为JavaScript应用提供全 球化功能的系统,包括 客户端装置,其包括JavaScript应用控制单元,用于对客户端的全球化功能实现 进4亍控制;以及Web服务执行单元,用于在JavaScript应用控制单元的控制 下,基于异步JavaScript和XML ( Ajax ),对与具体的 JavaScript应用相关的、服务器端装置中的全球化Web服务进行调用,并根据需要对上述异步调用的结果进行处理,以便获得相应的全球化功能;服务器端装置,其包括全球化Web服务构建单元,用于构建各种全球化Web服务 组件;以及Web服务控制管理单元,用于对来自客户端装置的全球化服 务功能调用和相应的全球化Web服务组件相结合进行处理以获 得调用结果,并将该调用结果返回客户端装置。根据本发明的第三方面,提供一种用于在上述第二方面的系 统中使用的客户端装置。根据本发明的第四方面,提供一种用于在上述第二方面的系统中 使用的服务器端装置。根据本发明的第五方面,提供一种程序产品,其包含机器可读程 序代码,当该程序代码被机器读出时用于执行如上述第二方面所述的 方法。
根据本发明的笫六方面,提供一种存储介质,其上存储有如上述 第五方面所述的程序产品。根据上迷的描迷可知,本发明的方法具有以下优点1. 可重用性好本发明用基于Web服务的组件化技术提供全球 化的功能,所以可作为一个通用的全球化解决方案被不同的 JavaScript应用重用。2. 瘦客户机本发明描述的Web服务客户端是一个纯粹基于 JavaScript的实现,不需要为浏览器安装任何插件。并且,该客户端 是一个轻量级的模块,它不会影响浏览器的响应速度。3. 简化的编程模型本发明提供一个类似J2EE Web服务调用的 编程模型来帮助JavaScript开发者用JavaScript来容易地调用全球化 Web服务。


通过下面参照构成本说明书的一部分的附图对具体实施方式
的详 细描述,本发明的目的、特征以及有益技术效果将会变得更清楚。在 附图中图l是示出根据本发明的为JavaScript应用提供全球化功能的系 统的总体示意结构配置图。图2是示出根据图1的系统的一个实施例的示意结构配置图。图3是示出根据本发明的为JavaScript应用提供全球化功能的方 法的总体示意流程图。图4是示出了通过如图2所示的系统配置实现本发明的方法的流 程图。图5示出了 一个典型的全球化Web服务-DateFormat Web服务-的核心方法的部分代码。图6示出用于调用DateFormat Web服务的示例性JavaScript代码。图7A-7B是示出了实现根据地区和格式化风格来格式化日期的屏
幕显示示例。图8A-8B是示出了实现根据名称和地区对书藉列表进行排序的屏 幕显示示例。
具体实施方式
下面将根据各附图详细描述根据本发明的为JavaScript应用提供 全球化功能的系统和方法的具体实施例。图1是示出根据本发明的为JavaScript应用提供全球化功能的系 统的总体示意结构配置图。如图l所示,根据本发明的系统由客户端 111和服务器端101组成。客户端111包括JavaScript应用控制单元 113和Web服务执行单元112。其中JavaScript应用控制单元113用 于对客户端ill进行的与特定JavaScript应用有关的全球化功能实现 进行控制,而Web服务执行单元112则在JavaScript应用控制单元 113的控制下执行为了实现全球化功能而进行的一系列具体操作,例 如向服务器端IOI传送全球化服务请求、获得服务器端101的处理结 果、以及对该结果进行处理使得客户端111获取所请求的全球化功能。 服务器端101包括全球化Web服务构建单元103和Web服务运行控 制和管理单元102。其中全球化Web服务构建单元103用于构建各种 全球化服务的组件,而Web服务运行控制和管理单元102用于结合来 自客户端111的全球化服务请求与各种全球化服务的组件进行处理, 以获得将传回客户端111的全球化服务处理结果。下面将结合图2, 图4对此进行详细描述。下面参照图2说明根据图1的系统的一个实施例的结构配置。从 功能配置角度而言,本发明的系统主要包括服务器端的若干功能模块 和客户端的若干功能模块。在如图2所示的系统中,客户端lll和服 务器端101通过Web月良务的协i义-SOAP (Simple Object Access Protocol,简单对象访问协议)进行交互。如图2所示,从服务器端 101开始,Web服务运行环境202是Web服务的容器,它负责管理全 球化Web服务206的生命周期。在一个实施例中,IBM的WebSphere Application Server可净皮用作Web J3良务运4亍环境202。该Web月l务运 行环境202相应于图1中服务器端101专用的Web服务执行单元102。 全球化Web服务206是一种专门化的Web服务,它遵循Web服务的 规范,并向服务请求者提供全球化的功能。根据不同的全球化需求和 具体的应用场景,全球化Web月良务206可以是采用自下而上的方法构 建在已有的全球化类库205之上,或者是采用自上而下的方法实现相 应的全球化功能。在一个实施例中,全球化类库205可以是ICU4J (International Component for Unicode for Java ) 、 SUN JDK国际化 类库、或任何其他能提供全球化功能的组件。利用全球化类库205, 全球化Web服务206可以提供对文化敏感的功能的支持。除此之外, 全球化Web服务206还需要区域模型和多语言包的支持。区域模型 (Locale Model) 203是指表示国家地区和语言的一个规范。在一个实施 例中,服务器端101是构建在J2EE技术之上的J2EE服务器,则通 常用Java语言来开发,java.util丄ocale对象就是区域模型的 一个实现。 当然,服务器端101也可以构建在其它支持Web服务的技术上,例如 Microsoft .Net。多语言包204是指和应用相关的文字信息,它们按照 区域被组织和调用。因此,全球化Web服务206能够为JavaScript 应用提供完整的全球化支持,包括区域模型、对文化敏感的功能和多 语言支持。区域模型203、多语言包204、全球化类库205和全球化 Web服务206相应于图1中所示的服务器端的全球化Web服务构建 单元103。服务器端101还包括Web服务存根生成单元207,其是一 个独立的小工具,可以根据全球化Web服务206的WSDL (Web Servcies Description Language, Web月良务描迷i吾言)文件生成基于 JavaScript的Web月艮务存根(stub),使得JavaScript应用可以利用这 些存根调用全球化Web服务206 。下面将对此进行详细描述。回到客户端111,本发明提出了 一个基于JavaScript的Web服务 运行库(Web Services JavaScript Library, WSJSL) 213,它是一个纯 粹的JavaScript库,利用Ajax对象212来提供对Web服务的异步调 用。具体来讲,Web服务运行库213根据基于具体的JavaScript应 用所确定的Web服务信息和具体的参数值构建SOAP请求,利用Ajax 对象212发送该SOAP请求和接收SOAP响应,以及处理SOAP响应 取得最终的调用结果。全球化Web服务存根215是由上面提到的Web 服务存根生成单元207自动生成的,也就是上面提到的Web服务存根。 作为该存根从服务器端101传送到客户端111的一种具体方式,该存 根可在用户在客户端111打开Web页面的时候,浏览器根据开发人员 编写的代码从服务器端101下栽(可参见下面图4中代码行402 )。 该存根可以简化客户端的编程模型,使得JavaScript开发人员可以通 过存根容易地调用服务器端101的全球化Web服务206,而不需要了 解Web服务或者Ajax的具体技术细节。作为可替换方案,也可以不 通过存根的方式,而直接利用Web服务运行库213提供的编程接口 来调用月l务端101的全球化Web月良务206。这种方式要求开发人员对 Web服务和Ajax技术有一定的了解。JavaScript也需要有区域模型 214的支持,它可以是一个JavaScript的区域对象,或者是简单的一 个字符串,例如,en_US, zh—CN,等等。当调用全球化Web服务206 时,区域通常作为调用参数之一传递到服务器端101,然后服务器端 101负责把JavaScript的区域模型214匹配到服务器端的区域模型 203,使它能够被全球化Web服务206识别并利用。Ajax对象212、 Web服务运行库213和全球化Web服务存根215相应于图1中客户 端111中的Web服务执行单元112。 JavaScript应用216是JavaScript 开发者开发的具体应用,这些应用根据不同的需求,利用全球化Web 服务存根215调用对应的全球化Web服务206,调用的结果可能被显 示在当前Web页面上或者被做其它处理。该JavaScript应用216和 区域模型214相应于图1中客户端111中的JavaScript应用控制单元 113。图3是示出根据本发明的为JavaScript应用提供全球化功能的方 法的总体示意流程图。如图3所示,概括地说,根据本发明的方法包 括在客户端lll根据具体的JavaScript应用确定调用条件,基于所确 定的条件,通过Ajax方式对服务器端101的相应的全球化Web服务
进行异步调用(步骤S301)。然后,在客户端lll根据需要对调用结 果进行处理(步骤S302)。图4是示出了通过如图2所示的系统配置 实现本发明的方法的流程图,也是图3示出的方法的一个具体实施例。 如图4所示,客户端111的JavaScript应用216需要调用某一个全球 化的Web服务,首先这个应用会创建全球化Web服务的存根的实例 (参见图6中代码行604)(步骤S401),然后调用存根中对应的方 法(步骤S402 ),并传入对应的参数(包括与全球化功能有关的区域) 和回调方法(Call Back Function)(参见图6中代码行605 )。接下 来,被调用的存根方法会调用基于JavaScript的Web服务运行库213, 后者将负责构建一个对应的SOAP请求,包括要调用Web服务名称、 方法、参数值、地址等信息(步骤S403 )。在步骤S404,基于JavaScript 的Web Jil务运行库213将调用Ajax对象212中的网络访问对象 (XMLHTTPR叫uest),并用异步的方式发送SOAP请求(步骤S404 )。 当服务器端101接收到该SOAP请求后(步骤S405 ) , Web服务运 行环境202将根据所接收的SOAP查找并调用对应的全球化Web服 务206 (步骤S406 ),并返回调用的结果(步骤S407 )。客户端111 在用异步的方式发送完SOAP请求后,浏览器会一直处于监听状态, 当调用结果以SOAP响应的方式返回时,浏览器会接收到该消息(步 骤S408)。然后,浏览器调用基于JavaScript的Web服务运行库213, 该Web服务运行库213解析SOAP响应,从中得到调用的结果(步 骤S409)。最后,在步骤S410中,Web服务运行库213会调用在步 骤S402中指定的回调方法,并把调用的结果传递给该方法。该回调方 法可以根据实际需要对调用的结果做不同的处理,例如把调用结果显 示在页面上的某一个位置。参考图5。该图描述了用于DateFormat Web服务(是全球化Web 服的一种)的部分代码,该Web服务用Java语言开发。如上所述, 如果服务器端101是基于Microsoft .Net的服务器,那么该Web服务 也可以用.Net来开发。如图5所示,代码行501是DateFormat Web 服务提供的方法,该方法根据输入的区域信息解析日期值,然后把它 格式化成指定区域的日期字符串,并返回字符串类型的结果。具体来说,该方法首先调用ICU4J的DateFormat类,根据区域值创建一个 实例(代码行502 )。然后,DateFormat的实例会调用parse方法(代 码行503),把传入的日期字符串解析成Java的Date对象。代码行 504重新构造一个DateFormat的实例,与502不同之处是代码行504 在构造这个实例过程中指定了 一个不同的区域值,该区域值是最终被 返回的格式化后的日期字符串所对应的区域。最后,代码行505格式 化日期对象,并把结果以字符串的方式返回。该图中的代码所表示的 方法是在服务器端101实现的,即,对应于图4中的步骤S405-S407。 参考图6。该图描述了调用DateFormat Web服务的部分示例性 JavaScript代码。为了调用该全球化Web服务,应当包括基于 JavaScript的Web服务运行库213 (参见图2 ),在本实施例中,这 个库被命名为wsjsl.js (代码行601)。然后,在代码行602,还应当 包括由Web服务存根生成单元207创建的用于DateFormat Web服务 的存根,DateFormat—Stub.js。代码行603是调用DateFormat Web 服务的方法,该方法的输入参数包括需要被格式化的日期字符串、 格式化的风格(长类型、中等类型、或者短类型)、需要被格式化的 曰期字符串的区域值、以及最终被格式化后的日期字符串所对应的区域值。代码行604创建一个存根的实例,然后调用存根的format方法。 代码行605中除了上述的四个参数外,还有 一 个叫做 "formatCallBack"的参数,它是回调方法的名字,该方法(代码行 606 )会在异步调用返回的时候被基于JavaScript的Web服务运行库 213所调用。该方法有一个输入参数,它就是调用DateFormat Web 服务的返回结果。最后,代码行607把调用的结果显示在当前的Web 页面上。因为整个调用过程是异步的方式,所以Web页面不会被刷新。 该图中的代码所表示的方法是在客户端111实现的,即,对应于图4 中的步骤S401-S404, S408掘0。这些代码由开发人员编写,在客户 端111用户打开一个页面的时候,对应的JavaScript代码会被下载到 客户浏览器,并在客户端lll执行。
图7A-7B是示出了实现冲艮据地区和格式化风格来格式化日期的 DateFormat Web服务的屏幕显示示例。图7A是当选择的区域是英语 (美国)时得到的格式化结果,而图7B是当逸棒的区域是中文(中 国)时得到的格式化结果。图8A-8B是示出了实现根据名称和地区对书籍列表进行排序的屏 幕显示示例。排序是另一种典型的全球化Web服务,根据指定的区域 和排序顺序,被输入的字符串可以按照排序规则进行排列。图8A是 当选择的区域是英语(美国)时得到的排序结果,而图8B是当选择 的区域是中文(中国)时得到的排序化结果。本领域技术人员了解,上述本发明的方法可由安装在计算机中以 便使计算机实施本发明的功能处理的程序代码来实现。因此,本发明 包括用于实施上述功能和处理的计算机程序本身。在这种情况下,程序可以采取任何形式,只要它具有程序的功能 即可。程序的例子有目标代码、由解释器执行的程序、以及提供给 OS的脚本数据。相应地,用于提供上述程序的存储介质也构成本发明,这种存储 介质的例子有软盘、硬盘、光盘、磁光盘、MO、 CD-ROM、 CD-R、 以及CD-RW。记录介质也可以是磁带、非易失性存储卡、ROM、或 DVD ( DVD-ROM或DVD-R)。虽然已经参考示例性实施例描述了本发明,应该理解,本发明不 限于公开的示例性实施例。应该为以下权利要求的范围赋予最宽的解 释,以便包括所有这种改变和等同结构和功能。
权利要求
1.一种用于为JavaScript应用提供全球化功能的方法,包括步骤基于异步JavaScript和XML(Ajax),对与具体的JavaScript应用相关的全球化Web服务进行调用;以及根据需要对上述异步调用的结果进行处理,以便获得相应的全球化功能。
2. 如权利要求l所述的方法,其中所述的异步调用全球化Web 服务的步骤包括子步骤根据具体的JavaScript应用构建SOAP请求;通过该SOAP请求进行基于Ajax的全球化Web力l务调用;以及以SOAP响应的方式返回调用结果。
3. 如权利要求2所述的方法,其中所述的对异步调用的结果进 行处理以获得相应的全球化功能的步骤包括子步骤对所述的SOAP响应进行解析以得到调用结果;以及 对解析所得到的调用结果进行处理,以便获取所需要的全球化功能。
4. 如权利要求2或3所述的方法,其中所述的根据具体的 JavaScript应用构建SOAP请求的步骤包括通过所述JavaScript应用创建相应的全球化Web月良务的存才艮的 实例(S401 );调用存根中对应的方法(S402),并传入对应的参数和回调方法;以及被调用的存根方法调用基于JavaScript的Web服务运行库 (213 ),该Web服务运行库用于构建所述SOAP请求(S403 )。
5. 如权利要求4所述的方法,其中在调用存根中对应的方法时 传入的参数包括与相应的全球化功能有关的区域,以及其中,所迷构 建的SOAP请求包括有关要调用Web服务名称、方法、参数值、地 址的信息。
6. 如权利要求5所述的方法,其中在所述的通过SOAP请求进 行基于Ajax的全球化Web服务调用的步骤中,调用Ajax对象(212) 中的网络访问对象XMLHTTPRequest,并用异步的方式发送该 SOAP请求(S404 )。
7. 如权利要求4所述的方法,其中所述的对解析得到的调用结 果进行处理以获得所需要的全球化功能的步骤包括调用所述的回调方法,并把所述的解析得到的调用结果传递给该 回调方法,由该回调方法根据实际需要对该解析得到的调用结果做不 同的处理。
8. 一种用于为JavaScript应用提供全球化功能的系统,包括 客户端装置(111),其包括JavaScript应用控制单元(113),用于对客户端的全球化功 能实现进行控制;以及Web服务执行单元(112 ),用于在JavaScript应用控制单 元(113)的控制下,基于异步JavaScript和XML ( Ajax ), 对与具体的JavaScript应用相关的、服务器端装置(101)中的 全球化Web服务进行调用,并根据需要对上述异步调用的结果 进行处理,以便获得相应的全球化功能; 服务器端装置(101),其包括全球化Web服务构建单元(103),用于构建各种全球化 Web服务组件;以及 Web服务控制管理单元(102),用于对来自客户端装置(111 ) 的全球化服务功能调用和相应的全球化Web服务组件相结合进 行处理以获得调用结果,并将该调用结果返回客户端装置(111 )。
9. 如权利要求8所述的系统,其中所述Web服务执行单元(112 )包括基于JavaScript的Web服务运行库WSJSL (213),用于基于 Ajax提供对Web服务的异步调用。
10. 如权利要求9所述的系统,其中所述Web服务运行库WSJSL (213)被配置成执行如下操作根据基于具体的JavaScript应用所确定的Web服务信息和具体 参数值构建SOAP请求;利用Ajax对象(212 )发送该SOAP请求和接收SOAP响应;以及处理该SOAP响应取得最终的调用结果。
11. 如权利要求10所述的系统,其中所述Web服务执行单元 (112)还包括来自服务器端装置(101)的全球化Web服务存根(215),所 述Web服务执行单元(112 )通过利用该全球化Web服务存根实现对 服务器端装置(101 )中的全球化Web服务的Ajax调用。
12. 如权利要求8所述的系统,其中所述JavaScript应用控制单 元(113)包括JavaScript应用(216),其根据不同的需求调用服务器端装置 (101)中对应的全球化Web服务;以及JavaScript的区域模型(214),其作为调用参数之一通过所述 SOAP请求被传递到服务器端装置(101),与服务器端的区域模型 (203)相匹配,以4吏它能够,皮所述Web月良务控制和管理单元(102) 识别并利用。
13. 如权利要求12所述的系统,其中所述JavaScript的区域模 型(214)是一个JavaScript的区域对象,或者是一个简单的字符串。
14. 如权利要求8所述的系统,其中所述全球化Web服务构建 单元(103)包括全球化Web服务(206 ),用于向服务请求者提供全球化的功能;全球化类库(205),其是能提供全球化功能的组件,所述全球化 Web服务(206)利用该全球化类库(205)提供对全球化功能中的文 化敏感的功能的支持;以及服务器端的区域模型(203),其是表示国家地区和语言的一个 规范,用于在处理来自客户端装置(111)的全球化功能调用时与所述 JavaScript的区域模型(214)相匹配;多语言包(204),其是与应用相关的文字信息,并且按照区域被 组织和调用。
15. 如权利要求14所述的系统,其中所述全球化Web服务(206 ) 采用自下而上的方法构建在所迷全球化类库(205)之上,或者采用自 上而下的方法实现相应的全球化功能,以及其中,所述全球化类库(205 )是ICU4J或SUN JDK国际化类库。
16. 如权利要求15所述的系统,其中所述服务器端装置(101) 还包括Web服务存根生成单元(207 ),其用于根据全球化Web服务(206 )的Web服务描述语言WSDL文件生成基于JavaScript的全球 化Web服务存根(215 )。
17. 如权利要求16所述的系统,其中所述Web服务运行控制和 管理单元是Web月良务运行环境(202 ) WebSphere Application Server, 其用于管理全球化Web服务(206)的生命周期。
18. 如权利要求8-17中任一项所述的系统,其中所述服务器端 装置(101)是构建在J2EE技术之上的J2EE服务器,或者是构建在 Microsoft .Net上的服务器。
19. 一种用于为JavaScript应用提供全球化功能的客户端装置 (111),其包括JavaScript应用控制单元(113),用于对客户端的全球化功能 实现进行控制;以及Web服务执行单元(112 ),用于在JavaScript应用控制单元(113 ) 的控制下,基于异步JavaScript和XML ( Ajax),对与具体的 JavaScript应用相关的、服务器端装置(101)中的全球化Web服务 进行调用,并根据需要对上述异步调用的结果进行处理,以便实现相 应的全球化功能。
20. 如权利要求19所述的客户端装置,其中所述Web服务执行 单元(112 )包括基于JavaScript的Web服务运行库WSJSL ( 213 ), 用于基于Ajax提供对Web服务的异步调用。
21. 如权利要求20所述的客户端装置,其中所述Web服务运行 库WSJSL (213)被配置成执行如下操作才艮据基于具体的JavaScript应用所确定的Web力1务信息和具体 参数值构建SOAP请求;利用Ajax对象(212)发送该SOAP请求和接收SOAP响应;以及处理该SOAP响应取得最终的调用结果。
22. 如权利要求21所述的客户端装置,其中所述Web服务执行 单元(U2 )还包括来自服务器端装置(101)的全球化Web服务存根(215),所 述Web服务执行羊元(112 )通过利用该全球化Web服务存根实现对 服务器端装置(101)中的全球化Web服务的Ajax调用。
23、 如权利要求19所述的系统,其中所述JavaScript应用控制 单元(113)包括JavaScript应用(216),其根据不同的需求调用服务器端装置 (101)上对应的全球化Web服务;以及JavaScript的区域模型(214),其作为调用参数之一通过所迷 SOAP请求被传递到服务器端装置(101),与服务器端的区域模型 (203)相匹配,以使它能够被所述Web服务控制和管理单元(102) 识别并利用。
24、 一种用于为JavaScript应用提供全球化功能的服务器端装置 (101),其包括全球化Web服务构建单元(103),用于构建各种全球化Web 服务组件;以及Web服务控制管理单元(102),用于使来自客户端装置(111) 的全球化服务功能调用与相应的全球化Web服务组件相匹配以获得 调用结果,并将该调用结果返回客户端装置(111)。
25、 如权利要求24所述的服务器端装置,其中所述全球化Web 服务构建单元(103)包括全球化Web服务(206 ),用于向服务请求者提供全球化的功能; 全球化类库(205),其是能提供全球化功能的组件,所述全球化Web服务(206)利用该全球化类库(205)提供对全球化功能中文化敏感的功能的支持;以及服务器端的区域模型(203),其是指表示国家地区和语言的一 个规范,用于在处理来自客户端装置(111)的全球化功能调用时与JavaScript的区域才莫型(214 ) 4目匹酉己;多语言包(204),其是与应用相关的文字信息,并且按照区域被 组织和调用。
26. 如权利要求25所述的服务器端装置,其中所述全球化Web 服务(206)采用自下而上的方法构建在所述全球化类库(205 )之上, 或者采用自上而下的方法实现相应的全球化功能,以及其中,所述全 球化类库(205 )是ICU4J或SUN JDK国际化类库。
27. 如权利要求26所述的服务器端装置,还包括Web服务存根 生成单元(207 ),其用于根据全球化Web服务(206 )的Web服务描 述语言WSDL文件生成基于JavaScript的全球化Web服务存根(215)。
28. 如权利要求27所述的服务器端装置,其中所述Web服务运 行控制和管理单元是Web服务运行环境(202 )WebSphere Application Server,其用于管理全球化Web服务(206)的生命周期。
29. 如权利要求24-28中任一项所述的服务器端装置,其中该服 务器端装置是构建在J2EE技术之上的J2EE服务器,或者是构建在 Microsoft .Net上的服务器。
30. 一种程序产品,其包含机器可读程序代码,当该程序代码被 机器读出时用于执行如权利要求1-7中任一项所述的方法。
全文摘要
本发明提供了一种用于为JavaScript应用提供全球化功能的方法,包括步骤基于异步JavaScript和XML(Ajax),对与具体的JavaScript应用相关的全球化Web服务进行调用;以及根据需要对上述异步调用的结果进行处理,以便获得相应的全球化功能。本发明使JavaScript应用通过跨平台的、基于Ajax技术的Web服务客户端来访问服务器端的通过Web服务构建的全球化组件,从而通过把区域模型、对文化敏感的功能和多语言支持这些基本的全球化需求通过可重用的组件化的方式提供给JavaScript应用,提供一套完整、高效的全球化功能解决方案。本发明还提供用于实现该方法的系统、该系统中应用的服务器端和客户端。
文档编号G06F9/44GK101154157SQ20061014142
公开日2008年4月2日 申请日期2006年9月29日 优先权日2006年9月29日
发明者史蒂文·阿特金, 朱晓惠, 童春杰, 蓓 舒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1