首页> 中国专利> Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法

Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法

摘要

一种Web服务器系统,其根据语言环境来动态地变更包括用于在画面上显示输入输出项目的控件的外观和属性、控制处理等的用户界面而不变更源代码。在代表性的实施方式中,具有:每个语言环境的词典表,其以输入输出项目的识别信息为关键字,将包括针对组件对象的参数的初始值的信息保持为词典数据;以及词典处理部,其从所指定的语言环境的词典表获取与输入输出项目的识别信息对应的词典数据,其中,响应处理部针对处理结果所包含的组件对象,以对应的输入输出项目的识别信息为关键字,从所指定的语言环境的词典表获取针对组件对象的参数的信息,使标签控件和/或输入输出控件显示在画面上。

著录项

  • 公开/公告号CN105518633A

    专利类型发明专利

  • 公开/公告日2016-04-20

    原文格式PDF

  • 申请/专利权人 株式会社野村综合研究所;

    申请/专利号CN201380079268.2

  • 发明设计人 大原聪一;

    申请日2013-08-29

  • 分类号G06F13/00(20060101);G06F3/0481(20130101);G06F9/54(20060101);G06F17/28(20060101);

  • 代理机构北京林达刘知识产权代理事务所(普通合伙);

  • 代理人刘新宇

  • 地址 日本东京都

  • 入库时间 2023-12-18 15:46:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-08

    未缴年费专利权终止 IPC(主分类):G06F13/00 专利号:ZL2013800792682 申请日:20130829 授权公告日:20181019

    专利权的终止

  • 2018-10-19

    授权

    授权

  • 2016-05-18

    实质审查的生效 IPC(主分类):G06F13/00 申请日:20130829

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本发明涉及一种有效地应用于Web服务器系统中的应用(Application)的 开发技术的技术。

背景技术

以IT技术的发展、商务的全球化等为背景,使Web站点、Web应用支持 多个语言的必要性正在提高。作为使得能够通过多个语言环境访问Web站 点、Web应用的方法,例如存在以下的以往所采用的方法:针对同一内容预 先准备利用各语言分别翻译好的单独的内容,根据用户所使用的语言环境等 来自动或手动地对这些内容进行选择并加以使用。另外,除此以外,还提出 了各种用于在应用程序中支持多语言的技术。

例如,在日本特开2003-44474号公报(专利文献1)中记载了以下技术:基 于客户端和用户信息来确定语言,确定包括内容要素的内容部的骨架 (skeleton),利用保存有各骨架内容要素的翻译表、或者利用各骨架内容要素 的动态的自然语言翻译,来将骨架内容要素翻译成基于客户端和用户信息而 确定的语言,将翻译好的骨架内容要素合并到内容部,由此提供内容部的动 态的语言翻译。

另外,例如,在日本特开平11-3338号公报(专利文献2)中记载了以下技 术:基于来自应用的信息(与各语言相应的字体、格式的设定信息、表示应 用的种类的信息)或者通过多语言输入系统侧的环境设定功能而设定的信息 (对各语言设定的条件、优先级的信息)来识别对象语言,在对象语言是日语 的情况下通过日语处理部进行日语输入处理,在对象语言是英语的情况下通 过英语处理部进行英语输入处理,在对象语言是汉语的情况下通过汉语处理 部进行汉语输入处理,由此使得能够进行多个语言的输入,根据对象语言自 动地切换各输入系统来高效地进行文档制作。

另外,例如,在日本特开平9-251463号公报(专利文献3)中记载了以下技 术:当通过输入部向管理过程提供了要使用的语言的种类时,管理过程从内 置的与语言对应的语言变换系统、字体的种类的对应表中提取为了输入该语 言所需的语言变换系统,对OS(OperatingSystem:操作系统)发出语言变换系 统的切换命令,另外,对应用发出字体的切换命令,应用基于所接收到的命 令来请求OS切换字体,由此,通过由使用者输入要使用的语言的种类这样的 一次处理,管理过程就对各部进行必要的命令,从而能够容易地进行语言变 换系统、字体的切换。

另外,例如,在日本特开2010-128861号公报(专利文献4)中记载了以下 技术:通过在对访问信息处理装置的客户端的语言环境进行识别并设定语言 环境的语言设定部中包括客户端连接处理部、命令处理部以及语言资源处理 部,使得能够在数据库系统等中支持多语言,其中,该客户端连接处理部设 定用于指定客户端的语言环境的语言识别值,该命令处理部检查访问请求所 包含的脚本(script)来判断是否存在请求多语言处理的命令,在命令处理部判 断为请求多语言处理的情况下,该语言资源处理部接收命令并使客户端通过 语言设定部所设定的语言环境来访问数据库。

另外,通过IT技术的进步而便携式终端的性能大幅提高,因此,经由因 特网等进行的对Web站点的访问不限于从以往的PC(PersonalComputer:个人 计算机)等进行,能够从手机、智能电话、平板型终端等各种设备进行。这 些设备的用于显示Web站点的画面的显示器的尺寸、分辨率各自不同。因此, 在构建Web站点、Web应用时,考虑在防止开发/维护的负荷增大的同时对于 这些多个设备使画面显示优化的多设备支持。

作为这种多设备支持的方法,例如存在以下的以往所采用的方法:针对 同一内容预先准备按各设备的显示器的尺寸、分辨率分别调整/优化而得到的 单独的内容,根据用户所使用的设备等来自动或手动地对这些内容进行选择 并加以使用。另外,还研究了:对于同一源代码(sourcecode),不变更该源 代码,而在应用程序中动态地变更、生成内容,由此支持多个设备。

关于内容的动态变更,例如,在日本特开2001-51821号公报(专利文献 5)所记载的技术中,对页面模板定义Servlet(服务器小程序),该Servlet具有显 示区域特定信息和显示属性作为参数,当Servlet被Web服务器所识别时,确 定与显示区域特定信息相关联的多个组件Bean。在组件中,作为属性而设定 有该显示区域内嵌入的对象的图像数据、链接目的地的URL(Uniform ResourceLocator:统一资源定位符)信息,还关联有调度信息等显示条件信 息。在与显示区域特定信息相关联的多个组件Bean中分别检查显示条件,基 于作为满足显示条件的属性的链接信息,来获取形成向显示区域内嵌入的对 象的图像数据、链接目的地的URL信息,生成HTML(HyperTextMarkup Language:超文本标记语言)。由此,能够不修正服务器程序而动态地变更在 页面模板中嵌入的内容(content)的内容。

另外,例如,在日本特开2009-76099号公报(专利文献6)所记载的技术中, 服务提供装置具有:显示装置;通信部;获取部,其通过通信部来获取用于 提供服务的执行代码;执行代码存储部,其存储所获得的执行代码;以及画 面结构信息存储部,其存储画面结构信息,该画面结构信息用于决定在执行 执行代码时显示的画面的结构。服务提供装置还具有管理部,该管理部对各 部进行管理,使得在提供服务时之前将提供服务所需的执行代码以及画面结 构信息存储在执行代码存储部和画面结构信息存储部中,该管理部响应于接 收到服务的提供指示,使用画面结构信息存储部中存储的画面结构信息来执 行执行代码存储部中存储的执行代码。由此,在需要提供服务时获得最新的 执行代码或画面结构信息,从而能够有效地对装置内存储的执行代码和画面 结构信息进行管理并提供最新的服务。

另外,例如,在日本特开2002-132646号公报(专利文献7)所记载的技术 中,Web代理服务器(Webproxyserver)通过对由客户端设备生成的客户端请 求进行处理来决定客户端类型,搜索在客户端请求中被识别出的Web内容。 另外,搜索与Web内容及特定的客户端类型相关联的一个或多个扩充文件 (AugmentationFile),由此变更Web内容,将变更后的Web内容传送到客户端 设备。由此,无需由Web代理服务器所有或进行控制,就能够变换、补充Web 内容以高效地支持不同的客户端。

另外,以开发Web应用程序等时的开发负荷的降低、标准化等为目的, 例如,使用包括GUI(GraphicalUserInterface:图形用户界面)制作功能等的 所谓集成开发环境(IDE:IntegratedDevelopmentEnvironment)、Rubyon Rails(RoR,非专利文献1)等应用框架等的情况多。另外,还有时将它们组合 使用。通过使用这种开发辅助工具等,能够针对例如具有用户界面的Web应 用程序自动生成源代码。

然而,在这些开发辅助工具中,对于自动生成了源代码的应用,若之后 想要进一步进行画面显示的内容的变更、调整等(例如,画面上的显示项目、 控件(部件)、其属性等的变更)则需要经历繁杂的过程。例如,需要进行以下 作业等:使用开发辅助工具的GUI制作功能等来进行关于画面显示内容的设 定、定义等的修正,再次进行源代码的自动生成,再根据需要进行编译(Build) 等,替换所制作的模块。这种作业不仅对开发者来说成为负担,还会成为诱 发故障的主要原因。

与此相对,例如,在日本特开2007-280189号公报(专利文献8)中记载了 以下技术:在生成用于对从服务器所具备的显示画面显示的画面进行设定变 更的程序的程序生成装置中,在变更画面的情况下,画面项目信息管理部基 于画面项目信息来制作显示项目用文件,输入项目/字段(column)对应部基于 表项目信息来制作输入项目用文件,输出项目/字段对应部基于表项目信息来 制作输出项目用文件,并且,程序生成部使用显示项目用文件、输入项目用 文件以及输出项目用文件来生成画面程序和服务器程序,由此,不变更画面 程序和服务器程序的源代码而变更画面。

专利文献1:日本特开2003-44474号公报

专利文献2:日本特开平11-3338号公报

专利文献3:日本特开平9-251463号公报

专利文献4:日本特开2010-128861号公报

专利文献5:日本特开2001-51821号公报

专利文献6:日本特开2009-76099号公报

专利文献7:日本特开2002-132646号公报

专利文献8:日本特开2007-280189号公报

非专利文献1:因特网<URL:http://rubyonrails.org/>

发明内容

发明要解决的问题

通过利用如上述的专利文献1~4所记载的那样的以往技术,例如能够不 变更源代码而动态地进行以下处理等:根据客户终端等的语言环境来翻译内 容、或者显示翻译好的内容,另外,切换IME(InputMethodEditor:文字变 换程序)、字体。另外,还能够对访问数据库时的语言等进行切换。

然而,在这些技术中尚无法进行以下处理:例如在访问业务数据库的应 用中,对于用于输入搜索条件的输入栏等各种控件(画面部件),根据客户终 端的语言环境来动态地切换其外观和属性、控制处理等。例如,在将客户终 端的语言环境从日语变更为英语的情况下,虽然通过文本控件等显示在画面 上的文本变为英语,但是用于输入数据的输入栏等控件的属性等仍为日语时 的属性等。

即,例如IME的模式仍为全角平假名,或者能够输入、显示的字符串的 长度仍为日语时的字符数。另外,在如将输入到画面上的输入栏中的数据登 记到业务数据库等那样的应用的情况下,有时检查通过输入栏等指定的数据 的妥当性,但是其检查内容也仍为以日语时的输入数据为对象的检查。

此外,在如专利文献2、3所记载的那样的技术中,虽然能够根据客户终 端的语言环境来进行IME的模式的变更、字体的变更等,但是尚无法动态地 变更输入栏等控件的外观和属性、妥当性检查等控制处理。

因此,本发明的目的在于提供一种能够在Web应用中根据语言环境来动 态地变更包括用于在画面上显示输入输出项目的控件的外观和属性、控制处 理等的用户界面而不变更源代码的、支持多语言的Web服务器系统以及Web 服务器系统中的多语言支持方法。

另一方面,如上所述,为了使Web站点、Web应用支持多设备,需要根 据客户终端的设备的种类、特别是显示器的尺寸、分辨率来对画面显示的内 容进行优化。特别是,在智能电话、平板型终端中,将触摸面板用作输入输 出设备,用户不是用鼠标而是通过直接用手指在画面上触摸来进行操作。因 而,此处的画面内容的动态变更主要以将画面上的部件(控件)的配置和大小 等外观优化成易于视觉识别和易于用手指进行操作为中心。

关于这一点,例如在上述的专利文献5所记载的技术中,虽然能够在服 务器中根据显示条件来动态地变更内容(content)的内容,但是并没有考虑如 下的变更:考虑客户终端的状况来优化内容。另一方面,在上述的专利文献 6所记载的技术中,能够通过将执行代码、画面结构信息等保持在客户终端 侧,从而考虑客户终端的状况来动态地变更内容(content)的内容。然而,这 种结构在将便携终端等处理能力、存储容量有限的设备作为客户终端的情况 下存在问题。

另外,在上述的专利文献7所记载的技术中,能够根据客户终端的环境 来获取扩充文件,与此相应地动态地变更内容。然而,关于如何实现是高效 的,没有公开具体的实现方法等。另外,也没有公开在不具有代理服务器的 结构中如何实现是高效的。

因此,本发明的其它目的在于提供一种能够在Web应用中根据客户终端 的设备来动态地变更包括用于在画面上显示输入输出项目的控件的外观和 属性、控制处理等的用户界面而不变更源代码的、支持多设备的Web服务器 系统以及Web服务器系统中的多设备支持方法。

另外,通过利用如专利文献8所记载的那样的技术,能够不变更源代码 而变更画面显示的内容。然而,在如专利文献8所记载的那样的技术中,虽 然能够对作为画面上的输入输出项目而显示什么样的项目进行变更、或者对 显示项目与数据库的字段的对应关系进行变更,但是难以不变更已经作成的 源代码、或者在施加变更的情况下也难以仅通过简易的变更而动态地进行例 如如下的作业:一边通过反复试验来调整显示输入输出项目的各控件的外观 和属性等,一边逐渐构建用户界面。

因此,本发明的其它目的在于提供一种自动生成针对数据库的所谓 CRUD(Create(增加),Read(读取),Update(更新),Delete(删除))型的应用程序 等的源代码、之后不对所生成的源代码施加变更、或者即使施加变更也仅通 过简易的变更就能够动态地变更显示画面上的输入输出项目的控件的外观 和属性等的、应用开发辅助系统以及应用开发辅助方法。

本发明的上述及其它目的和新特征通过本说明书的描述和附图会变得 明确。

用于解决问题的方案

若简单说明在本申请中公开的发明中的代表性发明的概要则如下。

基于本发明的代表性实施方式的支持多语言的Web服务器系统具有:请 求处理部,其接收来自客户终端的请求并调用对应的业务逻辑;以及响应处 理部,其将所述业务逻辑的处理结果响应给所述客户终端,该Web服务器系 统使通过多个语言环境对所述客户终端提供服务的应用程序运行,该Web服 务器系统具有以下的特征。

即,Web服务器系统还具有:每个语言环境的词典表,其以所述应用程 序中的输入输出项目的识别信息为关键字,将包括关于组件对象的一个以上 的参数的初始值的信息保持为词典数据,该组件对象至少具有表示与显示在 所述客户终端的画面上的一个以上的所述输入输出项目有关的标签控件的 文本的显示名的信息以及与为了输入或输出所述输入输出项目而显示的输 入输出控件有关的信息;以及词典处理部,其从所指定的语言环境的所述词 典表获取与所述输入输出项目的识别信息对应的所述词典数据。

另外,所述响应处理部的特征在于,针对源代码所包含的所述组件对象, 以对应的所述输入输出项目的识别信息为关键字,通过所述词典处理部来从 所指定的语言环境的所述词典表获取关于对应的所述组件对象的所述参数 的一部分或全部的信息,基于所获取到的所述参数和所述处理结果,来生成 使所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的 HTML数据。

另外,基于本发明的其它代表性的实施方式的支持多设备的Web服务器 系统具有:请求处理部,其接收来自客户终端的请求并调用对应的业务逻辑; 以及响应处理部,其将所述业务逻辑的处理结果响应给所述客户终端,该 Web服务器系统使对包括多个种类的设备的所述客户终端提供服务的应用 程序运行,该Web服务器系统具有以下的特征。

即,Web服务器系统的特征在于,还具有设备获取部,该设备获取部基 于来自所述客户终端的请求,来获取与所述客户终端的设备的种类有关的信 息,所述响应处理部针对源代码所包含的、至少具有表示与显示在所述客户 终端的画面上的一个以上的输入输出项目有关的标签控件的文本的显示名 的信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有 关的信息的组件对象,基于与由所述设备获取部获取到的所述客户终端的设 备的种类相应的、安装于作为所述组件对象的继承源的上级类(Class)的、显 示所述标签控件和/或所述输入输出控件时的第一调整内容,来生成使对应的 所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的 HTML数据。

另外,基于本发明的其它代表性的实施方式的应用开发辅助系统具有代 码生成服务器,该代码生成服务器生成在应用服务器上运行的Web应用程序 的源代码,该应用开发辅助系统具有以下的特征。

即,应用开发辅助系统还具有词典服务器,该词典服务器具有词典表, 该词典表以在执行所述Web应用程序时显示在画面上的一个以上的输入输 出项目的识别信息为关键字,将包括关于组件对象的一个以上的参数的初始 值的信息保持为词典数据,该组件对象至少具有表示与所述输入输出项目有 关的标签控件的文本的显示名的信息以及与为了输入或输出所述输入输出 项目而显示的输入输出控件有关的信息,所述代码生成服务器具有代码生成 部,该代码生成部通过针对各所述输入输出项目调用用于将各所述输入输出 项目分别显示在画面上的所述组件对象来构成所述Web应用程序,生成所构 成的所述Web应用程序的源代码。

所述组件对象的特征在于,当在所述应用服务器上执行所述Web应用程 序时所述组件对象被调用以在画面上显示对应的输入输出项目时,所述组件 对象以所述输入输出项目的识别信息为关键字,从所述词典服务器上的所述 词典表获取关于所述组件对象的所述参数的一部分或全部的信息,基于所获 取到的所述参数来显示所述标签控件和/或所述输入输出控件。

发明的效果

若简单说明通过在本申请中公开的发明中的代表性发明得到的效果则 如下。

即,根据本发明的代表性的实施方式,能够在Web应用中根据语言环境 来动态地变更包括用于在画面上显示输入输出项目的控件的外观和属性、控 制处理等的用户界面而不变更源代码。

另外,根据本发明的其它代表性的实施方式,能够在Web应用中根据客 户终端的设备来动态地变更包括用于在画面上显示输入输出项目的控件的 外观和属性、控制处理等的用户界面而不变更源代码。

另外,根据本发明的其它代表性的实施方式,自动生成针对数据库的 CRUD型的应用程序等的源代码,之后不对所生成的源代码施加变更、或者 即使施加变更也仅通过简易的变更就能够动态地变更显示画面上的输入输 出项目的控件的外观和属性等画面内容。

附图说明

图1是表示作为本发明的实施方式1的Web服务器系统的结构例的概要 的图。

图2是表示本发明的实施方式1中的通过组件对象将对应的字段的输入 输出项目显示在画面上时的处理的例子的概要的图。

图3是表示本发明的实施方式1中的将通过组件对象显示的控件的外观 等变更为其它语言时的处理的例子的概要的图。

图4是表示本发明的实施方式1中的对通过组件对象显示的控件的外观 等进行变更时的处理的例子的概要的图。

图5是表示作为本发明的实施方式2的支持多设备的Web服务器系统的 结构例的概要的图。

图6是表示本发明的实施方式2中的根据客户终端的设备来变更通过组 件对象显示的控件的外观等时的处理的例子的概要的图。

图7是表示作为本发明的实施方式3的应用开发辅助系统的结构例的概 要的图。

图8是表示本发明的实施方式3中的对通过组件对象显示的控件的外观 等进行变更时的处理的例子的概要的图。

图9是表示本发明的实施方式3中的向词典表登记条目时的源代码的生 成的概要的图。

具体实施方式

下面,基于附图来详细说明本发明的实施方式。此外,在用于说明实施 方式的所有附图中,原则上对同一部分标注同一标记,并省略其重复的说明。

[实施方式1]

作为本发明的实施方式1的Web服务器系统为了能够不变更源代码而提 供基于多个语言的用户界面,而按每个语言环境制作词典并保持该词典。该 词典不仅保持利用各语言将显示名称等文本数据翻译而得到的数据,作为数 据词典还能够管理项目的各种属性信息等。即,能够将在用户界面中各语言 中固有的信息作为词典数据加以保持。

通过使用这种词典,例如能够以多个语言同时并行地进行应用的开发, 而且易于追加支持语言,从而能够提高扩展性。另外,通过用作数据词典, 能够在系统内使数据项目标准化。

在本实施方式中,例如在访问业务数据库的CRUD型的Web应用程序中, 为了显示与画面上的输入输出项目(例如,指定用于从业务数据库获取数据 的搜索条件的内容的输入项目、显示搜索结果的内容的输出项目)有关的内 容,不是直接使用标准的控件对象(下面有时仅记载为“控件(control)”),而是 使用如后所述的组件对象(partobject),该组件对象是显示名称和控件的设定 内容、控制处理以及说明文本的各数据形成为一体而得到的。

该组件对象能够将在画面上显示什么样的控件(例如,仅文本控件、(文 本控件和)输入栏、(文本控件和)下拉列表、…等)作为参数来指定。另外, 该组件对象还能够对控件的属性值(例如,文本控件中显示的文本的内容、 输入栏的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等进 行指定,被实现为按照所指定的内容来显示和控制控件。

换言之,组件对象构成为将输入栏、下拉列表、文本等对输入输出项目 的数据进行处理的输入输出控件与显示输入输出项目的名称等的作为文本 控件的标签控件相组合来进行显示,具有能够指定这些控件的输出模式 (pattern)的结构。

此时,能够对于标签控件与输入输出控件一并地以具有协调性的形式调 整控件的宽度等属性值,因此,无需由用户进行个别地以具有协调性的方式 指定属性值等这样的繁杂处理,就能够调整所显示的控件的外观。该调整例 如包括如下调整等:针对可显示区域,一体地调整标签控件和输入输出控件 的显示宽度,以防止标签控件在不打算换行的位置换行、或反之在打算换行 的位置未换行等。

在本实施方式中,Web应用程序的源代码被制作成使用该组件对象来显 示与画面上的各输入输出项目有关的内容。即,使用组件对象来间接地显示 控件(组件对象在Web服务器系统上执行时动态地生成用于显示对象控件的 HTML、脚本等)。另外,同所访问的对象的数据库的各字段与画面上的输入 输出项目的映射有关的信息作为数据库的各字段的识别信息(例如字段名称) 与对应的组件对象的识别信息(例如HTML的ID属性值)的映射信息而保持在 源代码上。

并且,在本实施方式中,在各组件对象中显示于标签控件的文本以及输 入输出控件的属性值、与控制处理有关的信息等如后所述那样构成为:除了 一部分以外,不是在源代码上直接指定,而是作为与组件对象的ID或对应的 数据库的字段名称等识别信息相关联的词典数据而在外部保持。事先按每个 语言环境定义该词典数据的内容,在执行时参照与对象语言环境对应的词典 数据,由此能够不变更已经生成的源代码而根据语言环境来动态地变更通过 组件对象显示在画面上的控件的外观、属性等。

<系统结构>

图1是表示作为本发明的实施方式1的Web服务器系统的结构例的概要 的图。Web服务器系统100例如由服务器设备、云计算环境下的虚拟服务器 等计算机设备构成,除了未图示的OS、DBMS(DataBaseManagementSystem: 数据库管理系统)、Web服务器程序等中间件以外,还具有通过用户所制作的 源代码101或从该处调用的库(library)、对象等软件程序实现的请求处理部 110、词典处理部120、业务逻辑(businesslogic)130以及响应处理部140等各部。 另外,具有通过数据库、文件表等实现的词典表121。

另外,Web服务器系统100对于来自经由因特网等网络300连接的客户终 端200上的未图示的Web浏览器等程序的请求,通过业务逻辑130来访问业务 数据库(DB)131并进行处理,对客户终端200输出HTML数据102来进行响应, 由此提供服务。

请求处理部110具有接收来自客户终端200的请求并基于对应的源代码 101来调用内容(业务逻辑130)的功能,具有通过软件程序实现的ID变换部111 以及输入检查部112等各部。ID变换部111具有以下功能:基于源代码101中 保持的映射信息,将请求消息所包含的与画面上的输入项目对应的组件对象 的识别信息(ID)变换为与输入输出项目对应的业务DB131的字段的识别信 息(字段名称等)。

该映射信息保持显示在画面上的组件对象的识别信息(例如HTML的ID 属性值)与要访问的对象的业务DB131的各字段的识别信息(字段名等)的对 应关系。由此,如后所述,在源代码101中配置于画面上的各组件对象能够 在首先通过ID变换部111获取与自身的ID对应的字段名称之后以该字段名称 为关键字(key)来进行对业务DB131的访问、从后述的词典表121获取词典数 据等后续的处理。

因而,在响应给客户终端200的HTML数据102上,在各组件对象(通过各 组件对象显示的控件)中,无需将对应的业务DB131的字段名称直接指定为 关键字等信息,而能够将自身的ID作为关键字等信息,因此能够在HTML数 据102上隐藏实际的字段名称来实现安全性的强化。此外,也可以不进行这 种变换,而是在HTML数据102上在各组件对象(通过组件对象显示的控件) 中将对应的业务DB131的字段名称直接指定为关键字等信息。

输入检查部112具有以下功能:对请求消息所包含的、通过画面上的组 件对象(通过组件对象显示的控件)而指定的输入项目的数据的内容进行一般 性的妥当性检查。作为妥当性检查的种类,例如可考虑字符数、字符类型(数 字、字母、假名、全半角等)、可使用字符的限制、日期时间或各种代码值 等的格式检查等。

妥当性检查的内容可以根据语言环境而不同。因而,在本实施方式中, 在输入检查部112中安装还考虑了每种语言的变化(variation)的多个模式的妥 当性检查的类型,根据语言环境来选择、决定对对象输入项目使用哪种类型。 在此,经由后述的词典处理部120来访问对象语言的词典表121,从与对象输 入项目对应的词典数据的内容获取妥当性检查的类型的信息来进行决定。

词典处理部120具有以下功能:从所指定的语言的词典表121获取与所指 定的关键字(在本实施方式中,例如与对象输入输出项目(组件对象)对应的业 务DB131的字段名称)对应的词典数据并输出该词典数据。关于语言的指定, 例如,既可以从来自客户终端200的请求消息所包含的Web浏览器的语言环 境获取,也可以事先按在Web服务器系统100上运行的各Web站点定义语言并 获取该值。在图1的例子中,示出了保持有日语(“ja”)、英语(“en”)、汉语(“zh”) 的各语言的词典表121的情况。

对于词典表121中的词典数据的内容、格式没有特别限定。在本实施方 式中,作为简易的方法,例如,如后所述那样,按规定的顺序以逗号分隔等 方式指定通过画面对业务DB131的对象字段进行数据的输入输出处理所需 的各种数据(用于进行输入输出的组件对象的属性值、控制所需的参数等)。 具体地说,例如可考虑作为在对应的组件对象中显示标签控件时的内容的显 示名称、作为输入输出控件来显示输入栏时的长度(字符数)、妥当性检查的 类别或IME的模式等与控制处理的内容有关的指定、作为在表中对输出数据 进行一览显示时的被缩短的文本的缩短显示名称和显示宽度、通过下拉列表 等进行显示时的值列表等。

业务逻辑130具有利用业务DB131来进行作为业务应用的处理的功能。 在本实施方式中,如上所述,将针对业务DB131的CRUD型应用作为对象, 但是并不特别限定于此。

响应处理部140具有根据基于源代码101的内容的业务逻辑130等的处理 结果来生成HTML数据102并响应给客户终端200的功能,具有通过软件程序 实现的翻译部141以及显示部142等各部。翻译部141针对包含于响应中的各 输出项目,获取用于在对象语言环境下显示对应的组件对象的标签控件的文 本、输入输出控件的属性值、控制信息等参数值。在此,经由词典处理部120 来访问对应的语言的词典表121,从与对象输出项目(组件对象)对应的词典数 据获取显示名称、属性值等各种参数值。

显示部142具有以下功能:基于翻译部141所获取到的、关于各组件对象 的标签控件的文本、输入输出控件的属性值、控制信息等参数值,来生成配 置有通过各组件对象来显示的控件的响应画面的HTML数据102。

<画面显示处理>

图2是表示在CRUD型应用中通过组件对象将对应的字段的输入输出项 目显示在画面上时的处理的例子的概要的图。在图2的例子中,摘录地示出 以下情况的例子:在日语环境下,在用于输入从业务DB131读出数据时的搜 索条件的画面中,显示用于指定“顧客名”的输入栏。

在图的上部所示的Web应用程序的源代码101中,为了显示用于指定“顧 客名”的输入栏而调用了组件对象103。具体地说,首先,从保持在源代码101 上的映射信息(在图2的例子中,通过array()来保持有对应关系)获取与 ID(“A01”)对应的字段名称(“customer_name”)的信息。

之后,例如,关于从安装了组件对象103的功能的类继承的子类 (subclass),以创建实例(instance)的形式进行调用(“CF_itemDic();”)。在图2的 例子中,简化地示出了作为参数的一部分指定要调用的词典表121的类型(“通 用词典”)、要显示的输入输出控件的类型(“输入栏”)、HTML的ID属性值 (“A01”)等来进行了调用的状态。此外,HTML的ID属性值(“A01”)通过映射 信息被动态地变换为字段名称(“customer_name”)。

通过这种代码而被调用的组件对象103中作为数据而保持有至少包含显 示名(标签控件的文本)以及与要显示的输入输出控件的内容有关的信息的数 据。如图2所示,也可以还保持有说明文本等其它信息。在图2的例子中,由 于在源代码101中指定了“输入栏”作为参数,因此对组件对象103的上述三个 信息中的控件设定“输入栏”。

被调用的组件对象103还利用规定的函数、方法(method)等,经由词典处 理部120访问日语环境(“ja”)下的对象词典表121(“通用词典”),获取与字段名 称(“customer_name”)对应的词典数据(在本实施方式中为“顧客名”、40字符、 20字符、…等多个值的集合)。

在图2的例子中,作为词典表121的词典数据,按从上到下的顺序,保持 名称(显示于标签控件的文本)、输入栏的情况下的长度(半角时的字符数)、 输入栏的情况下的最大长度(字符数)、输入数据的妥当性检查的类型、IME 的初始模式、说明注释、在表中进行一览显示的情况下的文本(显示名)以及 在表中进行一览显示的情况下的显示宽度(像素值)等信息。此外,作为获取 这些词典数据时的输出格式,例如,既可以设为用逗号等将这些值分隔而得 到的一连串的字符串,也可以设为关联数组等易于访问的数据。

关于词典表121,在考虑处理效率的情况下,期望的是,在初始处理或 最初访问时在存储器上展开词典数据的内容。在该情况下,存在若展开全部 词典数据则会压迫存储器使用量、或者展开处理花费时间等的、处理效率反 而降低的情况。因而,在实现上,期望的是,使得能够在需要时在存储器上 展开所需范围的词典数据。

因此,在本实施方式中,采用以下结构:具有由适用范围不同的多个词 典表121构成的分层结构,在它们中适当选择来加以使用。例如,具有在Web 服务器系统100上运行的系统或应用整体中通用的词典(“通用词典”)、仅在所 指定的Web站点内通用的词典(“站点词典”)、仅在子系统内通用的词典(“库词 典”)、以画面为单位的词典(“控件词典”)等适用范围不同的多个种类的词典 表121。

在该情况下,例如在参照“控件词典”等适用范围小的词典而得不到符合 的词典数据的情况下,也可以能够按“库词典”→“站点词典”→“通用词典”的 顺序依次回溯到上级的(适用范围大的)词典表121来进行参照。另外,也可以 设为在无法得到词典数据时使用默认值或当作错误。

组件对象103从所获取到的词典数据提取所需的数据,并设定为显示或 控制控件时的参数。例如,作为将输入栏显示为输入输出控件时的属性值, 设定从词典数据获取到的字段的长度,并且设定妥当性检查的类型或IME的 初始模式等的值、说明文本的内容等。此外,输入数据的妥当性检查、IME 的模式设定等与输入输出控件的控制有关的处理是输入检查部112、显示部 142的功能,但是在具体的实现上,将其实现为组件对象103所具有的、或者 组件对象103所能够调用的功能,例如事先在组件对象103的继承源的类中定 义为方法等。

由此,如图2的下部的画面例所示,组件对象103能够以在执行时显示用 于指定“顧客名”的输入栏的控件的方式生成HTML数据102。此时,例如能够 将组件对象103的说明文本的信息用作关于该输入输出项目的帮助信息等。

此外,在显示输入栏的情况下,若仅显示输入栏的控件则不清楚应该输 入什么,因此在本实施方式中,如图2所示,使显示与该组件对象103对应的 输入输出项目的显示名的文本控件(“顧客名”)作为标签(标签控件)而与输入 栏相邻地显示。关于该文本,设定组件对象103的保持数据中的显示名的信 息、即组件对象103从词典表121获取到的词典数据的名称的值(“顧客名”)。

这种与HTML数据102的生成有关的处理是显示部142等的功能,但是在 具体的实现上,将其实现为组件对象103所具有的、或者组件对象103所能够 调用的功能,例如事先在组件对象103的继承源的类中定义为方法等。此外, 在此,如上所述,对于显示的标签控件、输入输出控件以及说明文本这三个 要素一并地以具有协调性的形式调整与外观等有关的属性值。

这样,在本实施方式中,能够生成通过组件对象103来显示输入输出项 目的HTML数据102。因而,能够以如下方式制作源代码101来实现本实施方 式中的CRUD型应用:将组件对象103作为与业务DB131的各字段对应的输 入输出项目而按照规定的规则配置在画面上,并与标准的功能、动作的实现 相组合。另外,也能够实现自动生成这种源代码101的功能,来作为应用程 序的开发辅助系统等。

例如,作为向业务DB131登记(C:Create)条目(entry)的应用,以如下方 式制作源代码101:按照业务DB131的字段的排列顺序来配置用于将指定要 登记到业务DB131的各字段的数据的输入栏显示在画面上的组件对象103。 此时,根据需要事先将进行画面显示的控件的ID与字段的名称的对应关系保 持为映射信息。并且,作为标准的功能,配置用于执行向业务DB131登记条 目的“登记”按钮、“取消”按钮等。并且,在每个语言环境的词典表121中,作 为词典数据事先保持关于各组件对象103显示控件时使用的属性值、控制信 息等信息。此时,在对各项目没有特别指定的情况下,分别利用默认值进行 设定。

另外,例如作为对业务DB131进行搜索(R:Read)的应用,与上述同样 地,以如下方式制作源代码101:配置用于将指定用于搜索业务DB131的条 件的输入栏显示在画面上的组件对象103。此时,如果设为将业务DB131的 对象表的全部字段都能够指定为搜索条件则变得过多,因此也可以设为:进 行简化、例如暂定地仅针对开头五个字段显示输入栏等,之后能够变更。另 外,根据需要事先将进行画面显示的控件的ID与字段的名称的对应关系保持 为映射信息。并且,作为标准的功能,配置用于进行业务DB131的条目的搜 索的“搜索”按钮等。

另外,例如在输入搜索条件的区域的下部自动地配置用于显示搜索结果 的表(table)控件。在此,例如在表控件的对象的项目定义序列中,设定相当 于与业务DB131的各字段对应的组件对象103的调用的内容。由此,能够以 在表控件的各列显示业务DB131的各字段的内容的方式实现显示部142或组 件对象103。

在该状态下,为了不变更源代码101的内容而使Web应用支持其它不同 的语言,只要准备对象语言的词典表121即可。图3是表示将通过组件对象103 显示的控件的外观等变更为其它语言时的处理的例子的概要的图。在此,不 变更图2的例子所示的源代码101的内容,而新制作了英语环境(“en”)的词典 表121。

由此,在执行该Web应用时,组件对象103参照英语环境(“en”)下的对象 词典表121中的该条目的内容,根据其内容,如图3的下部的画面例所示那样, 不仅能够将作为显示名的标签控件的文本数据动态地变更为英语环境,还能 够将输入输出控件的属性等(在图3的例子中为输入栏的长度(宽度)、输入数 据的妥当性检查的内容、IME的模式等)也动态地变更为英语环境。

另外,图4是表示对通过组件对象103显示的控件的外观等进行变更时的 处理的例子的概要的图。在此,对图2的例子所示的源代码101的内容施加简 易的变更。具体地说,在调用组件对象103时,将显示的输入输出控件的类 型的参数从“输入栏”变更为“下拉列表”。另外,在词典表121中,在词典数据 的末尾追加定义了在下拉列表中设定的值列表的内容(“田中:1,山本: 2,…”)。

由此,在执行该Web应用时,组件对象103能够以根据所指定的种类的 输入输出控件来变更输入输出项目的显示内容的方式生成HTML数据102。 在图4的例子中,关于同一组件对象103,将输入输出控件从输入栏变更为下 拉列表,但是例如在将输入输出控件的类型的参数设定为“文本”的情况下, 组件对象103将值显示为文本。也能够仅显示标签控件和输入输出控件中的 任一方。另外,在将参数设定为“隐藏”的情况下,虽然在内部保持数据,但 是在画面显示上关于该输入输出项目不显示任何控件。

如以上所说明的那样,根据作为本发明的实施方式1的Web服务器系统 100,将在Web应用程序的用户界面中各语言中固有的信息(输入输出项目的 显示名称等文本数据和各种属性信息等)作为词典数据保持在每个语言环境 的词典表121中。另外,Web应用在将输入输出项目显示在画面上时,不是 直接使用标准的控件,而是使用组件对象103来间接地显示标准的控件。

该组件对象103从与语言环境对应的词典表121获取对应的词典数据,基 于其内容来动态地变更用户界面,该用户界面包括用于在画面上显示输入输 出项目的控件的外观和属性、控制处理等。由此,能够不变更应用的源代码 101而根据语言环境来动态地变更用户界面。

此外,在本实施方式中,将标准的CRUD型的Web应用作为对象,但是 不限于此。能够针对用户以将词典表121与组件对象103相组合的形式将用户 界面、业务逻辑等的动作内容也包含在内地构建的独自的应用(不限于Web 应用,也可以是客户端/服务器型、单机型等),以同样的概念来定义每个语 言环境的词典表121以支持多语言。

[实施方式2]

作为本发明的实施方式2的支持多设备的Web服务器系统能够不变更源 代码而对包括多个种类的设备的客户终端提供用户界面。在此,在将画面本 身和/或显示于画面上的控件进行显示的功能中,如后所述那样具有以下功 能:能够按每个进行显示的设备调整输入输出项目的显示方法,优化地进行 显示。由此,例如能够以多个设备为对象来同时并行地进行应用的开发,另 外,易于追加支持的设备,从而能够提高扩展性。

在本实施方式中,与实施方式1同样地,例如在访问业务数据库的CRUD 型的Web应用程序中,为了显示与画面上的输入输出项目(例如,指定用于从 业务数据库获取数据的搜索条件的内容的输入项目、显示搜索结果的内容的 输出项目)有关的内容,不是直接使用标准的控件对象(下面有时仅记载为“控 件”),而是使用如后所述的组件对象,该组件对象是显示名称和控件的设定 内容、控制处理以及说明文本的各数据形成为一体而得到的。

该组件对象能够将在画面上显示什么样的控件(例如,仅文本控件、(文 本控件和)输入栏、(文本控件和)下拉列表、…等)作为参数来指定。另外, 该组件对象还能够对控件的属性值(例如,文本控件中显示的文本的内容、 输入栏的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等进 行指定,被实现为按照所指定的内容来显示和控制控件。

换言之,组件对象构成为将输入栏、下拉列表、文本等对输入输出项目 的数据进行处理的输入输出控件与显示输入输出项目的名称等的作为文本 控件的标签控件相组合来进行显示,具有能够指定这些控件的输出模式的结 构。

此时,能够对于标签控件与输入输出控件一并地以具有协调性的形式调 整控件的宽度等属性值,因此,无需由用户进行个别地以具有协调性的方式 指定属性值等这样的繁杂处理,就能够调整所显示的控件的外观。该调整例 如包括如下调整等:针对可显示区域,一体地调整标签控件和输入输出控件 的显示宽度,以防止标签控件在不打算换行的位置换行、或反之在打算换行 的位置未换行等;对于单选按钮等根据设备、OS等而外观不同的输入输出控 件,与标签控件一体地调整显示位置、宽度等。

在本实施方式中,与实施方式1同样地,Web应用程序的源代码被制作 成使用该组件对象来显示与画面上的各输入输出项目有关的内容。即,使用 组件对象来间接地显示控件(组件对象在Web服务器系统上执行时动态地生 成用于显示对象控件的HTML、脚本等)。另外,同所访问的对象的数据库的 各字段与画面上的输入输出项目的映射有关的信息作为数据库的各字段的 识别信息(例如字段名称)与对应的组件对象的识别信息(例如HTML的ID属 性值)的映射信息而保持在源代码上。

并且,在本实施方式中,在各组件对象中显示于标签控件的文本以及输 入输出控件的属性值、与控制处理有关的信息等如后所述那样构成为:除了 一部分以外,不是在源代码上直接指定,而是作为与组件对象的ID或对应的 数据库的字段名称等识别信息相关联的词典数据而在外部保持。另外,在安 装了组件对象的功能的类的继承源的上级类中,安装如上所述那样按每个设 备来优化控件的显示方法的处理,并且在具有绘制画面整体的功能的对象 中,安装按每个设备来优化画面整体的显示方法而不是优化个别的控件的显 示方法的处理。

由此,能够不变更已经生成的源代码而根据客户终端的设备来动态地变 更画面的显示方式、通过组件对象显示在画面上的控件的外观和属性等。

<系统结构>

图5是表示作为本发明的实施方式2的支持多设备的Web服务器系统的 结构例的概要的图。Web服务器系统100基本上具有与实施方式1的图1的例 子所示的结构相同的结构,例如由服务器设备、云计算环境下的虚拟服务器 等计算机设备构成,除了未图示的OS、DBMS、Web服务器程序等中间件以 外,还具有通过用户所制作的源代码101或从该处调用的库、对象等软件程 序实现的请求处理部110、词典处理部120、业务逻辑130以及响应处理部140 等各部。另外,具有通过数据库、文件表等实现的词典表121。

另外,Web服务器系统100对于来自经由因特网等网络300连接的客户终 端200上的未图示的Web浏览器等程序的请求,通过业务逻辑130来访问业务 数据库(DB)131并进行处理,对客户终端200输出HTML数据102来进行响应, 由此提供服务。此外,在本实施方式中,作为客户终端200,例如能够利用 PC、手机、智能电话、平板型终端等显示器的尺寸、分辨率、触摸面板的有 无等不同的多个种类的设备。

请求处理部110具有接收来自客户终端200的请求并基于对应的源代码 101来调用内容(业务逻辑130)的功能,具有通过软件程序实现的ID变换部111 以及设备获取部113等各部。ID变换部111具有以下功能:基于源代码101中 保持的映射信息,将请求消息所包含的与画面上的输入项目对应的组件对象 的识别信息(ID)变换为与输入输出项目对应的业务DB131的字段的识别信 息(字段名称等)。

该映射信息保持显示在画面上的组件对象的识别信息(例如HTML的ID 属性值)与要访问的对象的业务DB131的各字段的识别信息(字段名等)的对 应关系。由此,如后所述,在源代码101中配置于画面上的各组件对象能够 在首先通过ID变换部111获取与自身的ID对应的字段名称之后以该字段名称 为关键字来进行对业务DB131的访问、从后述的词典表121获取词典数据等 后续的处理。

因而,在响应给客户终端200的HTML数据102上,在各组件对象(通过各 组件对象显示的控件)中,无需将对应的业务DB131的字段名称直接指定为 关键字等信息,而能够将自身的ID作为关键字等信息,因此能够在HTML数 据102上隐藏实际的字段名称来实现安全性的强化。此外,也可以不进行这 种变换,而是在HTML数据102上在各组件对象(通过组件对象显示的控件) 中将对应的业务DB131的字段名称直接指定为关键字等信息。

设备获取部113基于请求消息来获取与客户终端200的设备的种类有关 的信息。该信息例如能够包括用于确定设备的类别的信息、用于识别OS、 Web浏览器及其版本等的信息等。该信息能够通过公知的技术来获取,例如 从请求消息的User-Agent报头获取等。此外,也可能产生根据在此处得到的 设备的信息无法判别显示器的大小、分辨率的信息的情况,因此,例如也可 以将设备的种类与分辨率等的对应关系保持为设备表104,使得能够针对新 的设备的追加等灵活地进行定义的追加、变更。

此外,除此以外,请求处理部110例如也可以具有以下功能:对通过画 面上的组件对象而指定的输入项目的数据的内容进行一般性的妥当性检查。 作为妥当性检查的种类,例如可考虑字符数、字符类型(数字、字母、假名、 全半角等)、可使用字符的限制、日期时间或各种代码值等的格式检查等各 种检查,该妥当性检查的内容也有可能不同。

因而,在本实施方式中,在组件对象等中预先安装多个模式的妥当性检 查的类型,动态地选择、决定对对象输入项目使用哪种类型。在此,经由后 述的词典处理部120来访问词典表121,从与对象输入项目对应的词典数据的 内容获取被指定为妥当性检查的类型的信息来进行决定。

词典处理部120具有以下功能:从词典表121获取与所指定的关键字(在 本实施方式中,例如与对象输入输出项目(组件对象)对应的业务DB131的字 段名称)对应的词典数据并输出该词典数据。对于词典表121中的词典数据的 内容、格式没有特别限定。在本实施方式中,作为简易的方法,例如,如后 所述那样,按规定的顺序以逗号分隔等方式指定通过画面对业务DB131的对 象字段进行数据的输入输出处理所需的各种数据(用于进行输入输出的组件 对象的属性值、控制所需的参数等)。

具体地说,例如可考虑作为在对应的组件对象中显示标签控件时的内容 的显示名称、作为输入输出控件来显示输入栏时的长度(字符数)、妥当性检 查的类别或IME的模式等与控制处理的内容有关的指定、作为在表中对输出 数据进行一览显示时的被缩短的文本的缩短显示名称和显示宽度、通过下拉 列表等进行显示时的值列表等。

业务逻辑130具有利用业务DB131来进行作为业务应用的处理的功能。 在本实施方式中,如上所述,将针对业务DB131的CRUD型应用作为对象, 但是并不特别限定于此。

响应处理部140具有根据基于源代码101的内容的业务逻辑130等的处理 结果来生成HTML数据102并响应给客户终端200的功能,具有通过软件程序 实现的显示部142以及显示变更部143等各部。

显示变更部143针对包含于响应中的各输出项目,获取将对应的组件对 象显示在客户终端200的画面上时的标签控件的文本、输入输出控件的属性 值、控制信息等参数值。在此,经由词典处理部120来访问词典表121,从与 对象输出项目(组件对象)对应的词典数据获取显示名称、属性值等各种参数 值。另外,基于由设备获取部113获取到的设备的种类或显示器的分辨率等 信息,来获取关于画面显示的方式、组件对象所显示的控件的显示方法的调 整内容。

显示部142具有以下功能:基于显示变更部143所获取到的、关于各组件 对象的标签控件的文本、输入输出控件的属性值、控制信息等参数值,来生 成配置有通过各组件对象啦显示的控件的响应画面的HTML数据102。此时, 基于由显示变更部143获取到的调整内容来对画面显示的方式、控件的显示 方法进行调整,使得它们最适于对象设备。

<画面显示处理>

在本实施方式中,在CRUD型应用中通过组件对象将对应的字段的输入 输出项目显示在画面上,但是此时的处理与实施方式1的图2、图4等所示的 内容相同,因此省略再次的说明。

图6是表示根据客户终端200的设备来变更通过组件对象103显示的控件 的外观等时的处理的例子的概要的图。在此,不变更实施方式1的图2的例子 所示的源代码101的内容,而在作为组件对象103的继承源的上级类中,预先 安装按设备的类别来调整控件的显示方法时的定义及其处理(在图6的例子 中,为了便于说明,以在组件对象103中定义了“设备A”、“设备B”以及“分辨 率C”用的调整内容的形式示出)。作为调整内容,例如能够设为显示输入字 段、按钮等控件的情况下的宽度、高度的调整等。

另外,在绘制画面整体的画面绘制对象105中,也预先安装按设备的类 别来调整画面显示的方式时的定义及其处理(在图6的例子中,以定义了“设备 A”和“分辨率C”用的调整内容的形式示出)。作为调整内容,例如能够设为画 面整体的背景色等配色的调整、侧边菜单的显示方法、各控件的配置策略等。

如图6的例子所示,在由设备获取部113获取到的客户终端200的设备的 类别是“设备C”的情况下,设备获取部113参照设备表104来确认是否存在对 应的分辨率等信息。在图6的例子中,示出了对于“设备C”得到“分辨率C”作 为分辨率的信息。

组件对象103通过显示变更部143的功能,获取针对“分辨率C”的显示控 件时的调整内容的信息(在图6的例子中为“在显示输入栏的情况下将高度增 加15像素”),通过显示部142的功能,基于调整内容来调整所显示的输入输出 控件的外观等以使其最适于“设备C”。例如,对于“顧客名”的输入栏,与实 施方式1的图2的画面例相比增大了高度。

另外,画面绘制对象105(即显示部142的一部分)通过显示变更部143的功 能,获取针对“分辨率C”的显示画面整体时的调整内容的信息(在图6的例子 中为“隐藏侧边菜单”),通过显示部142的功能,基于该调整内容的信息来调 整画面显示的方式。例如,将在实施方式1的图2的画面例中展开显示的侧边 菜单折叠并显示为“メニュー”这样的链接。

与PC等相比,在平板型终端、智能电话中,虽然分辨率高,但是显示器 的尺寸小,并且使用触摸面板进行输入输出的情况多。此时,例如,若输入 字段的高度小或按钮小,则有时难以用手指触摸来进行操作,因此在这种具 有触摸面板的设备中,通过增大输入栏等的大小(特别是增大高度)、或者使 纵向排列配置的控件之间隔开间隔等来优化显示,以避免在用手指触摸的情 况下产生误操作。

另外,由于显示器的尺寸小,因此为了高效地配置控件,也能够实现为 以变更配置规则的方式变更画面整体的显示方式,如将侧边菜单等菜单折 叠、或者使原本横向排列配置的各控件纵向排列等。

如上所述,在作为组件对象103的继承源的上级类、画面绘制对象105中 事先安装按每个设备来优化显示的处理,由此在开发应用程序时,能够不特 别意识客户终端200的设备的种类而制作源代码101。另外,在追加支持的设 备的种类或变更显示方式的情况下,也只要追加、修正作为组件对象103的 继承源的上级类、画面绘制对象105的处理内容就能够应对,使得能够无需 修正源代码101。

如以上所说明的那样,根据作为本发明的实施方式2的Web服务器系统 100,用于在Web应用程序的用户界面中显示与输入输出项目对应的控件的 组件对象103和/或进行画面整体的显示的画面绘制对象105基于客户终端200 的设备的种类、特别是显示器的大小、分辨率,来动态地变更包括画面本身 和/或用于在画面上显示输入输出项目的控件的外观和属性等的用户界面。由 此,能够不变更应用的源代码101而根据客户终端200的设备来动态地优化用 户界面。

此外,在本实施方式中,将标准的CRUD型的Web应用作为对象,但是 不限于此。用户能够以将词典表121与组件对象103相组合的形式,针对将用 户界面、业务逻辑等的动作内容也包含在内地构建的独自的应用(不限于Web 应用,也可以是客户端/服务器型、单机型等),以同样的概念来实现组件对 象103、画面绘制对象105以支持多设备。

另外,在本实施方式中,作为多设备支持,以与每个客户终端200的设 备的显示器的尺寸、分辨率、触摸面板的有无对应地优化显示画面的方式实 现了组件对象103、画面绘制对象105,但是当然也能够使用同样的结构来以 支持OS、Web浏览器及其版本等不同的多平台的方式实现组件对象103、画 面绘制对象105。

[实施方式3]

作为本发明的实施方式3的应用开发辅助系统例如被构成为如上述的 RoR等那样的应用框架或者将该应用框架与GUI制作功能、版本管理、编译 等开发功能集成而得到的IDE等使软件程序动作的系统,具有自动生成以针 对数据库的CRUD型的Web应用为代表的、具有用户界面的Web应用程序的 源代码的功能。

在此,例如通过公知的技术,针对作为应用程序的访问对象的业务数据 库,读入在DBMS中进行管理的Schema(模式)信息,由此获取与对象数据库 (表)的字段的结构有关的信息。基于其内容,通过公知的技术,例如通过 Java(注册商标)、PHP(HypertextPreprocessor:超文本预处理器)、Ruby等面 向对象的编程语言来自动生成具有预先决定的画面设计、动作内容的CRUD 型的Web应用程序的源代码。此时,与以往技术等同样地,事先保持同数据 库的各字段与画面上的输入输出项目的映射有关的信息。

在本实施方式中,与实施方式1、2同样地,例如在访问业务数据库的 CRUD型的Web应用程序中,为了显示与画面上的输入输出项目(例如,指定 用于从业务数据库获取数据的搜索条件的内容的输入项目、显示搜索结果的 内容的输出项目)有关的内容,不是直接使用标准的控件对象(下面有时仅记 载为“控件”),而是使用如后所述的组件对象,该组件对象是显示名称和控件 的设定内容、控制处理以及说明文本的各数据形成为一体而得到的。

该组件对象能够将在画面上显示什么样的控件(例如,仅文本控件、(文 本控件和)输入栏、(文本控件和)下拉列表、…等)作为参数来指定。另外, 该组件对象还能够对控件的属性值(例如,文本控件中显示的文本的内容、 输入栏的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等也 进行指定,被实现为按照所指定的内容来显示和控制控件。

换言之,组件对象构成为将输入栏、下拉列表、文本等对输入输出项目 的数据进行处理的输入输出控件与显示输入输出项目的名称等的作为文本 控件的标签控件相组合来进行显示,具有能够指定这些控件的输出模式的结 构。

此时,能够对于标签控件与输入输出控件一并地以具有协调性的形式调 整控件的宽度等属性值,因此,无需由用户进行个别地以具有协调性的方式 指定属性值等这样的繁杂处理,就能够调整所显示的控件的外观。该调整例 如包括如下调整等:针对可显示区域,一体地调整标签控件和输入输出控件 的显示宽度等,以防止标签控件在不打算换行的位置换行、或反之在打算换 行的位置未换行等。

本实施方式的应用开发辅助系统生成用于使用该组件对象来显示与画 面上的各输入输出项目有关的内容的源代码。即,使用组件对象来间接地显 示控件(组件对象在Web服务器系统上执行时动态地生成用于显示作为对象 的控件的HTML、脚本等)。另外,同应用程序所访问的对象的数据库的各字 段与画面上的输入输出项目的映射有关的信息作为数据库的各字段的识别 信息(例如字段名称)与对应的组件对象的识别信息(例如HTML的ID属性值) 的映射信息而保持在源代码上。

并且,在本实施方式中,与实施方式1、2同样地,在各组件对象中显示 于标签控件的文本以及输入输出控件的属性值、与控制处理有关的信息等如 后所述那样构成为:除了一部分以外,不是在源代码上直接指定,而是作为 与组件对象的ID或对应的数据库的字段名称等识别信息相关联的词典数据 而在外部保持。组件对象在执行时读出词典数据,基于该内容来显示标签控 件、输入输出控件。通过对该词典数据的内容进行设定、变更等,能够不变 更已经生成的源代码,或者即使施加变更也仅通过简易的变更,而动态地变 更通过组件对象显示在画面上的控件的外观和属性等。

<系统结构>

图7是表示作为本发明的实施方式3的应用开发辅助系统的结构例的概 要的图。应用开发辅助系统1例如包括由PC、服务器设备、云计算环境下的 虚拟服务器等计算机设备构成的代码生成服务器10以及词典服务器20。由代 码生成服务器10生成的源代码40被应用于应用服务器30,该应用服务器30执 行由包含该源代码40的模块构成的Web应用程序来提供服务。

代码生成服务器10具有自动生成在应用服务器30上访问业务数据库的 CRUD型的Web应用程序的源代码40(相当于实施方式1、2中的源代码101)的 功能,例如,除了未图示的OS、DBMS等中间件以外,还具有通过软件实现 的Schema获取部11、映射生成部12以及代码生成部13等各部。也可以设为如 下的结构:除了这些各部以外,例如还具有GUI制作功能、版本管理、编译 等开发功能来作为IDE而发挥功能。

Schema获取部11例如通过公知的技术,读入关于应用服务器30(相当于 实施方式1、2中的Web服务器系统100)上的业务数据库(DB)33(相当于实施方 式1、2中的业务DB131)的Schema信息,来获取与业务DB33内的各表的字段 的结构有关的信息。所获取的信息例如包括各字段的名称等识别信息和数据 类型、长度等属性值等。

映射生成部12针对Schema获取部11所获取到的各字段的信息,例如生成 字段名称等识别信息与设定于对应的(即,将与该字段对应的输入输出项目 显示在画面上的)组件对象15(相当于实施方式1、2中的组件对象103)的ID的 信息的对应关系来作为映射信息。此外,该映射信息的内容通过后述的代码 生成部13被输出到源代码40。

代码生成部13基于Schema获取部11所获取到的各字段的信息以及映射 生成部12所生成的映射信息,通过预先定义的CRUD型框架14,例如与上述 的RoR等应用框架等现有技术同样地,构建针对业务DB33的标准的CRUD 型的Web应用程序,生成并输出其源代码40。通过在应用服务器30中展开被 输出的源代码40,能够使访问业务DB33的CRUD型的Web应用程序运行。

此外,在本实施方式中生成的CRUD型的Web应用中,如上所述,在将 同与业务DB33的各字段对应的输入输出项目有关的内容显示在画面上时, 在源代码40上,不是直接调用标准的控件,而是调用组件对象15来间接地显 示控件。

另一方面,词典服务器20具有词典表22(相当于实施方式1、2中的词典 表121),并具有对词典表22进行管理的功能,该词典表22将词典数据与组件 对象15的ID或对应的数据库的字段名称等识别信息相关联地进行保持,该词 典数据包含有在配置于源代码40上的各组件对象15中显示于标签控件的文 本以及输入输出控件的属性值、与控制处理有关的信息等。

词典服务器20例如除了未图示的OS、DBMS等中间件以外还具有通过软 件实现的词典登记部21等。词典登记部21具有将条目登记到词典表22的功 能。对于与关键字(字段名称)对应的词典数据的内容、格式没有特别限定。 在本实施方式中,作为简易的方法,例如,如后所述那样,按规定的顺序以 逗号分隔等方式指定通过画面对业务DB33的对象字段进行数据的输入输出 处理所需的各种数据(用于进行输入输出的组件对象15的属性值、控制所需 的参数等)。

作为这种数据,与实施方式1的图2的例子所示的同样地,例如可考虑作 为在对应的组件对象15中显示标签控件时的内容的显示名称、作为输入输出 控件来显示输入栏时的长度(字符数)、妥当性检查的类别或IME的模式等与 控制处理的内容有关的指定、作为在表中对输出数据进行一览显示时的被缩 短的文本的缩短显示名称和显示宽度、通过下拉列表等进行显示时的值列表 等。

关于以业务DB33的各字段名称为关键字来将如上所述的词典数据登记 到词典表22的处理,既可以由开发者等手动地通过词典登记部21来进行,也 可以如后所述那样,词典登记部21将保持在源代码40上的映射信息与词典表 22的当前的登记状况进行对比来判别未登记的字段,将它们追加登记到词典 表22。此时,也可以使用户(开发者等)选择、指定要登记的字段。

通常,在应用程序中制作多个画面、源代码,但是在这些画面、源代码 之间重复访问业务DB33的同一字段的情况也多。即,对于同一字段,对将 其显示为输入输出项目的组件对象15指定的参数等信息一旦作为词典数据 将条目登记在词典表22上,就能够在其它画面、源代码中再利用。因而,能 够提高对访问同一业务DB33的多个画面、源代码40进行开发时的作业效率。

在词典表22中,将业务DB33的字段名称用作关键字,而如上所述,在 源代码40上保持的映射信息中,保持有各字段的名称等识别信息与设定于对 应的(即,将与该字段对应的输入输出项目显示在画面上的)组件对象15的ID 的信息的对应关系。通过利用该对应关系,在源代码40上,各组件对象15在 执行时生成的HTML数据中,无需将对应的字段名称直接指定为关键字等信 息,而能够将自身的ID作为关键字等信息,因此能够在HTML数据上隐藏实 际的字段名称来实现安全性的强化。

即,各组件对象15如后所述那样,首先通过源代码40上的映射信息来获 取与HTML数据上的自身的ID对应的字段名称,之后以该字段名称为关键字 来访问词典表22,获取对应的词典数据。此外,也可以不进行利用源代码40 上的映射信息的如上所述的ID的变换,而是在HTML数据上在各组件对象 15(通过组件对象显示的控件)中将对应的业务DB33的字段名称直接指定为 关键字等信息。

应用服务器30是由包含代码生成服务器10所生成的源代码40的模块构 成的、执行访问业务DB33的CRUD型的Web应用程序来提供服务的Web服务 器。应用服务器30例如除了未图示的OS、DBMS以外还具有Web服务器程序 31等中间件。另外,具有通过软件来实现的词典处理部32(相当于实施方式1、 2中的词典处理部120)等。

词典处理部32具有以下功能:从词典服务器20的词典表22获取与所指定 的关键字(在本实施方式中,与画面上的对象输入输出项目(组件对象15)对应 的业务DB33的字段名称)对应的词典数据(组件对象15显示于标签控件的文 本、输入输出控件的属性值或与控制处理有关的信息等)并输出该词典数据。

由此,在Web服务器程序31上调用源代码40来执行该源代码40时,如后 所述,配置在源代码40上的各组件对象15根据HTML数据上的自身的ID,基 于源代码40上保持的映射信息来获取对应的业务DB33的字段名称,以该值 为关键字,经由词典处理部32访问词典服务器20的词典表22来获取词典数 据。基于该词典数据的内容,生成显示标签控件、输入输出控件的HTML数 据。

此外,也可以设为能够在代码生成服务器10中设定关于配置在源代码40 上的组件对象15在应用服务器30中执行时是否使用词典数据(是否访问词典 表22)的信息。代码生成部13按照该设定内容来生成源代码40。在设定为不 使用词典数据的情况下,使用针对组件对象15在源代码40上直接指定的内 容、在组件对象15中预先定义的默认值,来显示标签控件、输入输出控件。 当在设定为使用词典数据的状态下在词典表22中不存在与所指定的关键字 相符的词典数据的情况下,也同样。

<画面显示处理>

在基于所生成的源代码40而在应用服务器30上运行的CRUD型应用中, 通过组件对象15将对应的字段的输入输出项目显示在画面上,而此时的处理 与实施方式1的图2、图4等所示的内容相同,因此省略再次的说明。

如上所述,能够根据业务DB33的Schema信息,按照规定的规则来自动 生成包括画面结构和标准的功能的安装的CRUD型的Web应用的源代码40。 然而,在实际利用应用时,存在想要对标准的画面结构施加变更、调整的情 况。例如,有可能产生想要追加、删除、变更输入输出项目的一部分、或者 变更、调整输入栏的尺寸等属性值这样的期望。对此,在本实施方式中,能 够不变更已经生成的源代码40,或者即使施加变更也仅通过简易的变更,而 动态地变更通过组件对象15显示在画面上的控件的外观和属性等。

图8是表示对通过组件对象15显示的控件的外观等进行变更时的处理的 例子的概要的图。在此,对于与实施方式1的图2的例子所示的内容相同的源 代码40和词典表22,不变更源代码40的内容,仅对词典表22的词典数据的内 容施加变更。具体地说,对名称(“顧客名”→“お客様氏名”)、输入栏的情况 下的长度(40字符→60字符)、输入栏的情况下的最大长度(20字符→30字符)、 IME的初始模式(“全角假名”→“全角片假名”)的内容进行变更。

由此,在执行该Web应用时,组件对象32参照词典表22中的该条目的内 容,根据其内容,如图8的下部的画面例所示那样,不仅能够动态地变更作 为显示名的标签控件的文本数据,还能够动态地变更输入输出控件的属性等 (在图8的例子中为输入栏的长度(宽度)、IME的模式等)。

如以上所说明的那样,根据作为本发明的实施方式3的应用开发辅助系 统1,在代码生成服务器10中,通过读入应用服务器30上的访问对象的业务 DB33的Schema信息,来获取与业务DB33的字段的结构有关的信息,基于 其内容,通过公知的技术,按照预先决定的画面设计、动作内容来自动生成 针对业务DB33的标准的CRUD型的Web应用程序的源代码40。此时,生成为 了显示与画面上的输入输出项目有关的内容、不是直接使用标准的控件而是 使用组件对象15来间接地显示标准控件的源代码40。

并且,在各组件对象15中实际显示控件时的属性值、控制信息等参数构 成为:除了一部分以外,不是在源代码40上指定,而是作为与组件对象15的 ID等相关联的词典数据保持在词典服务器20上的词典表22中。由此,能够采 用如下的开发方法:通过对词典表22的词典数据的内容进行变更,不变更已 经生成的源代码40、或者即使施加变更也仅通过简易的变更,就可以在应用 服务器10上执行时,一边动态地变更、调整通过组件对象15显示在画面上的 控件的外观和属性等,一边使应用逐渐完成。

另外,通过在词典表22中登记与业务DB33的各字段对应的条目来进行 整备,能够提高开发作业的效率。图9是表示向词典表22登记条目时的源代 码40的生成的概要的图。示出了以下情况:在生成了图中的源代码40a时, 将与项目A、B、C这三个项目分别对应的显示名称的文本新登记到词典表22。 之后,在针对另一画面生成了源代码40b的情况下,对于其所包含的项目A、 D、E,在词典表22中登记条目,但是由于项目A已登记,因此不需要登记作 业。

同样地,在针对又一画面生成了源代码40c的情况下,其所包含的项目B、 C、D全部为已登记在词典表22中的状态,因此不需要登记作业。关于这种 重复登记的排除,如上所述,既可以例如由开发者通过手动来判断,也可以 由词典服务器20的词典登记部21将源代码40上的映射信息与词典表22的条 目进行对比来判别需要登记的输入输出项目。这样,随着词典表22的内容逐 渐整备,在每次生成针对画面的源代码40时,无需针对相同的输入输出项目 重复设定用于显示控件的属性值等,从而开发效率提高。

此外,在本实施方式中,进行以标准的CRUD型的Web应用为对象的源 代码的自动生成,但是不限于此。也可以针对用户以将组件对象15与对词典 表22的访问相组合的形式将用户界面、业务逻辑等的动作内容也包含在内地 构建的独自的应用(不限于Web应用,也可以是客户端/服务器型、单机型等), 以同样的概念来自动生成源代码。

以上,基于实施方式具体说明了由本发明人完成的发明,但是本发明不 限定于上述的实施方式,能够在不脱离其宗旨的范围内进行各种变更,这是 不言而喻的。例如,上述的实施方式进行了详细说明以易于理解地说明本发 明,但未必限定于具备所说明的全部结构。另外,能够将某个实施方式的结 构的一部分置换为其它实施方式的结构,另外,也能够在某个实施方式的结 构中追加其它实施方式的结构。另外,针对各实施方式的结构的一部分,能 够进行其它结构的追加/删除/置换。

产业上的可利用性

本发明能够利用于Web服务器系统中的应用的开发技术。

附图标记说明

1:应用开发辅助系统;10:代码生成服务器;11:Schema获取部;12: 映射生成部;13:代码生成部;14:CRUD型框架;15:组件对象;20:词 典服务器;21:词典登记部;22:词典表;30:应用服务器;31:Web服务 器程序;32:词典处理部;40、40a~c:源代码;41、41a~c:HTML数据; 100:Web服务器系统;101:源代码;102:HTML数据;103:组件对象; 104:设备表;105:画面绘制对象;110:请求处理部;111:ID变换部;112: 输入检查部;113:设备获取部;120:词典处理部;121:词典表;130:业 务逻辑;131:业务数据库(DB);140:响应处理部;141:翻译部;142:显 示部;143:显示变更部;200:客户终端;300:网络。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号