CN105518633A - Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法 - Google Patents
Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法 Download PDFInfo
- Publication number
- CN105518633A CN105518633A CN201380079268.2A CN201380079268A CN105518633A CN 105518633 A CN105518633 A CN 105518633A CN 201380079268 A CN201380079268 A CN 201380079268A CN 105518633 A CN105518633 A CN 105518633A
- Authority
- CN
- China
- Prior art keywords
- input
- dictionary
- control
- component object
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种Web服务器系统,其根据语言环境来动态地变更包括用于在画面上显示输入输出项目的控件的外观和属性、控制处理等的用户界面而不变更源代码。在代表性的实施方式中,具有:每个语言环境的词典表,其以输入输出项目的识别信息为关键字,将包括针对组件对象的参数的初始值的信息保持为词典数据;以及词典处理部,其从所指定的语言环境的词典表获取与输入输出项目的识别信息对应的词典数据,其中,响应处理部针对处理结果所包含的组件对象,以对应的输入输出项目的识别信息为关键字,从所指定的语言环境的词典表获取针对组件对象的参数的信息,使标签控件和/或输入输出控件显示在画面上。
Description
技术领域
本发明涉及一种有效地应用于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(UniformResourceLocator:统一资源定位符)信息,还关联有调度信息等显示条件信息。在与显示区域特定信息相关联的多个组件Bean中分别检查显示条件,基于作为满足显示条件的属性的链接信息,来获取形成向显示区域内嵌入的对象的图像数据、链接目的地的URL信息,生成HTML(HyperTextMarkupLanguage:超文本标记语言)。由此,能够不修正服务器程序而动态地变更在页面模板中嵌入的内容(content)的内容。
另外,例如,在日本特开2009-76099号公报(专利文献6)所记载的技术中,服务提供装置具有:显示装置;通信部;获取部,其通过通信部来获取用于提供服务的执行代码;执行代码存储部,其存储所获得的执行代码;以及画面结构信息存储部,其存储画面结构信息,该画面结构信息用于决定在执行执行代码时显示的画面的结构。服务提供装置还具有管理部,该管理部对各部进行管理,使得在提供服务时之前将提供服务所需的执行代码以及画面结构信息存储在执行代码存储部和画面结构信息存储部中,该管理部响应于接收到服务的提供指示,使用画面结构信息存储部中存储的画面结构信息来执行执行代码存储部中存储的执行代码。由此,在需要提供服务时获得最新的执行代码或画面结构信息,从而能够有效地对装置内存储的执行代码和画面结构信息进行管理并提供最新的服务。
另外,例如,在日本特开2002-132646号公报(专利文献7)所记载的技术中,Web代理服务器(Webproxyserver)通过对由客户端设备生成的客户端请求进行处理来决定客户端类型,搜索在客户端请求中被识别出的Web内容。另外,搜索与Web内容及特定的客户端类型相关联的一个或多个扩充文件(AugmentationFile),由此变更Web内容,将变更后的Web内容传送到客户端设备。由此,无需由Web代理服务器所有或进行控制,就能够变换、补充Web内容以高效地支持不同的客户端。
另外,以开发Web应用程序等时的开发负荷的降低、标准化等为目的,例如,使用包括GUI(GraphicalUserInterface:图形用户界面)制作功能等的所谓集成开发环境(IDE:IntegratedDevelopmentEnvironment)、RubyonRails(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:网络。
Claims (19)
1.一种Web服务器系统,具有:请求处理部,其接收来自客户终端的请求并调用对应的业务逻辑;以及响应处理部,其将所述业务逻辑的处理结果响应给所述客户终端,
该Web服务器系统使通过多个语言环境对所述客户终端提供服务的应用程序运行,该Web服务器系统的特征在于,还具有:
每个语言环境的词典表,其以所述应用程序中的输入输出项目的识别信息为关键字,将包括关于组件对象的一个以上的参数的初始值的信息保持为词典数据,该组件对象至少具有表示与显示在所述客户终端的画面上的一个以上的所述输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息;以及
词典处理部,其从所指定的语言环境的所述词典表获取与所述输入输出项目的识别信息对应的所述词典数据,
其中,所述响应处理部针对源代码所包含的所述组件对象,以对应的所述输入输出项目的识别信息为关键字,通过所述词典处理部来从所指定的语言环境的所述词典表获取关于对应的所述组件对象的所述参数的一部分或全部的信息,基于所获取到的所述参数和所述处理结果,来生成使对应的所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的HTML数据。
2.根据权利要求1所述的Web服务器系统,其特征在于,
所述源代码保持关于所述组件对象的识别信息与对应的所述输入输出项目的识别信息之间的对应关系的映射信息,
所述请求处理部从所述映射信息获取与来自所述客户终端的请求所包含的所述组件对象的识别信息对应的输入项目的识别信息,以所获取到的所述输入项目的识别信息为关键字,通过所述词典处理部来访问所指定的语言环境的所述词典表。
3.根据权利要求2所述的Web服务器系统,其特征在于,
所述请求处理部通过所述词典处理部来从所指定的语言环境的词典表获取与针对对应的所述输入项目的妥当性检查的类别有关的信息,并进行所述输入项目的值的妥当性的检查。
4.根据权利要求1所述的Web服务器系统,其特征在于,
所述组件对象进行显示控制,使得将所述标签控件与所指定的种类的所述输入输出控件相组合地进行显示,或者不显示所述标签控件和/或所述输入输出控件。
5.根据权利要求1所述的Web服务器系统,其特征在于,
所述组件对象安装有与要显示的所述输入输出控件相应的控制处理,
所述词典表能够在所述词典数据中登记用于指定所述控制处理的内容的信息,来作为关于所述组件对象的所述参数。
6.根据权利要求1所述的Web服务器系统,其特征在于,
所述词典表对于同一种类的语言环境具有由以适用范围更广的表为上级的多个种类的表构成的分层结构,
所述词典处理部在从所述词典表获取与所指定的所述关键字对应的所述词典数据时,接受关于参照哪个分层的所述词典表的指定,在所指定的分层的所述词典表中不存在与所指定的所述关键字对应的所述词典数据的情况下,再对上级的所述词典表依次询问是否具有与所述关键字对应的所述词典数据。
7.一种Web服务器系统中的多语言支持方法,该Web服务器系统使应用程序运行,该应用程序通过多个语言环境接收来自客户终端的请求并调用对应的业务逻辑,将所述业务逻辑的处理结果响应给所述客户终端,该Web服务器系统中的多语言支持方法的特征在于,执行以下过程:
第一过程,所述Web服务器系统保持每个语言环境的词典表,该每个语言环境的词典表以所述应用程序中的输入输出项目的识别信息为关键字,将包括关于组件对象的一个以上的参数的初始值的信息保持为词典数据,该组件对象至少具有表示与显示在所述客户终端的画面上的一个以上的所述输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息;
第二过程,所述Web服务器系统从所指定的语言环境的所述词典表获取与所述输入输出项目的识别信息对应的所述词典数据;以及
第三过程,所述Web服务器系统针对源代码所包含的所述组件对象,以对应的所述输入输出项目的识别信息为关键字,通过所述第二过程来从所指定的语言环境的所述词典表获取关于对应的所述组件对象的所述参数的一部分或全部的信息,基于所获取到的所述参数和所述业务逻辑的所述处理结果,来生成使与所述组件对象对应的所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的HTML数据。
8.一种Web服务器系统,具有:请求处理部,其接收来自客户终端的请求并调用对应的业务逻辑;以及响应处理部,其将所述业务逻辑的处理结果响应给所述客户终端,
该Web服务器系统使对包括多个种类的设备的所述客户终端提供服务的应用程序运行,该Web服务器系统的特征在于,
还具有设备获取部,该设备获取部基于来自所述客户终端的请求,来获取与所述客户终端的设备的种类有关的信息,
所述响应处理部针对源代码所包含的、至少具有表示与显示在所述客户终端的画面上的一个以上的输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息的组件对象,基于与由所述设备获取部获取到的所述客户终端的设备的种类相应的、安装于作为所述组件对象的继承源的上级类的、显示所述标签控件和/或所述输入输出控件时的第一调整内容,来生成使对应的所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的HTML数据。
9.根据权利要求8所述的Web服务器系统,其特征在于,
所述响应处理部还基于与由所述设备获取部获取到的所述客户终端的设备的种类相应的、安装于用于绘制画面的对象的、在所述客户终端上显示画面时的第二调整内容,来生成使画面显示在所述客户终端的HTML数据。
10.根据权利要求8所述的Web服务器系统,其特征在于,
所述组件对象进行显示控制,使得将所述标签控件与所指定的种类的所述输入输出控件相组合地进行显示,或者不显示所述标签控件和/或所述输入输出控件。
11.根据权利要求8所述的Web服务器系统,其特征在于,
所述组件对象安装有与要显示的所述输入输出控件相应的控制处理。
12.一种Web服务器系统中的多设备支持方法,该Web服务器系统使应用程序运行,该应用程序接收来自包括多个种类的设备的客户终端的请求并调用对应的业务逻辑,将所述业务逻辑的处理结果响应给所述客户终端,该Web服务器系统中的多设备支持方法的特征在于,执行以下过程:
第一过程,所述Web服务器系统基于来自所述客户终端的请求,来获取与所述客户终端的设备的种类有关的信息;以及
第二过程,所述Web服务器系统针对源代码所包含的、至少具有表示与显示在所述客户终端的画面上的一个以上的输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息的组件对象,基于与通过所述第一过程获取到的所述客户终端的设备的种类相应的、安装于作为所述组件对象的继承源的上级类的、显示所述标签控件和/或所述输入输出控件时的调整内容,来生成使对应的所述标签控件和/或所述输入输出控件显示在所述客户终端的画面上的HTML数据。
13.一种应用开发辅助系统,具有代码生成服务器,该代码生成服务器生成在应用服务器上运行的Web应用程序的源代码,该应用开发辅助系统的特征在于,
还具有词典服务器,该词典服务器具有词典表,该词典表以在执行所述Web应用程序时显示在画面上的一个以上的输入输出项目的识别信息为关键字,将包括关于组件对象的一个以上的参数的初始值的信息保持为词典数据,该组件对象至少具有表示与所述输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息,
所述代码生成服务器具有代码生成部,该代码生成部通过针对各所述输入输出项目调用用于将各所述输入输出项目分别显示在画面上的所述组件对象来构成所述Web应用程序,生成所构成的所述Web应用程序的源代码,
当在所述应用服务器上执行所述Web应用程序时所述组件对象被调用以在画面上显示对应的输入输出项目时,所述组件对象以所述输入输出项目的识别信息为关键字,从所述词典服务器上的所述词典表获取关于所述组件对象的所述参数的一部分或全部的信息,基于所获取到的所述参数来显示所述标签控件和/或所述输入输出控件。
14.根据权利要求13所述的应用开发辅助系统,其特征在于,
所述代码生成服务器还具有:
Schema获取部,其读入所述应用服务器上的所述Web应用程序所访问的业务数据库的Schema信息来获取与所述业务数据库的各字段的结构有关的信息;以及
映射生成部,其生成关于所述组件对象的识别信息与所述输入输出项目的识别信息之间的映射的映射信息,
其中,所述映射生成部将所述Schema获取部所获取到的所述业务数据库的所述各字段的识别信息作为所述词典表中的所述输入输出项目的识别信息,来登记所述词典数据。
15.根据权利要求14所述的应用开发辅助系统,其特征在于,
所述代码生成服务器的所述代码生成部基于增删改查即CRUD型应用的框架,来生成针对所述业务数据库的CRUD型应用。
16.根据权利要求13所述的应用开发辅助系统,其特征在于,
在所述应用服务器上执行所述Web应用程序时,所述组件对象进行显示控制,使得将所述标签控件与所指定的种类的所述输入输出控件相组合地进行显示,或者不显示所述标签控件和/或所述输入输出控件,
所述代码生成服务器的所述代码生成部在生成所述Web应用程序的源代码时,以如下方式生成该源代码:指定用于确定所述显示控制的内容的规定的初始值来调用所述组件对象。
17.根据权利要求13所述的应用开发辅助系统,其特征在于,
所述组件对象安装有与要显示的所述输入输出控件相应的控制处理,
所述词典服务器的所述词典表能够在所述词典数据中登记用于指定所述控制处理的内容的信息,来作为关于所述组件对象的所述参数。
18.根据权利要求14所述的应用开发辅助系统,其特征在于,
所述词典服务器具有词典登记部,该词典登记部在所述词典表中登记包含关键字和词典数据的条目,
所述词典登记部基于由所述代码生成服务器的所述代码生成部生成的源代码上的所述映射信息以及登记在所述词典表中的条目,来判别需要登记到所述词典表的所述输入输出项目的识别信息。
19.一种应用开发辅助系统中的应用开发辅助方法,该应用开发辅助系统具有:代码生成服务器,其生成在应用服务器上运行的Web应用程序的源代码;以及词典服务器,其具有词典表,该词典表以在执行所述Web应用程序时显示在画面上的一个以上的输入输出项目的识别信息为关键字,将包括关于组件对象的一个以上的参数的初始值的信息保持为词典数据,该组件对象至少具有表示与所述输入输出项目有关的标签控件的文本的显示名信息以及与为了输入或输出所述输入输出项目而显示的输入输出控件有关的信息,该应用开发辅助方法的特征在于,
具有以下过程:通过针对各所述输入输出项目调用用于将各所述输入输出项目分别显示在画面上的所述组件对象来构成所述Web应用程序,生成所构成的所述Web应用程序的源代码,
当在所述应用服务器上执行所述Web应用程序时所述组件对象被调用以在画面上显示对应的输入输出项目时,所述组件对象以所述输入输出项目的识别信息为关键字,从所述词典服务器上的所述词典表获取关于所述组件对象的所述参数的一部分或全部的信息,基于所获取到的所述参数来显示所述标签控件和/或所述输入输出控件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/073193 WO2015029193A1 (ja) | 2013-08-29 | 2013-08-29 | Webサーバシステム、アプリケーション開発支援システム、Webサーバシステムにおける多言語対応方法、Webサーバシステムにおけるマルチデバイス対応方法、およびアプリケーション開発支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105518633A true CN105518633A (zh) | 2016-04-20 |
CN105518633B CN105518633B (zh) | 2018-10-19 |
Family
ID=52585809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380079268.2A Expired - Fee Related CN105518633B (zh) | 2013-08-29 | 2013-08-29 | Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9952836B2 (zh) |
CN (1) | CN105518633B (zh) |
WO (1) | WO2015029193A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055583A (zh) * | 2016-05-21 | 2016-10-26 | 乐视控股(北京)有限公司 | 热搜词的显示方法及装置 |
CN108182120A (zh) * | 2017-12-08 | 2018-06-19 | 广州视源电子科技股份有限公司 | 接口调用方法和系统、存储介质和计算机设备 |
CN109564595A (zh) * | 2016-08-09 | 2019-04-02 | 日本米思米株式会社 | 设计辅助装置、设计辅助系统、服务器以及设计辅助方法 |
CN110036378A (zh) * | 2016-12-14 | 2019-07-19 | 特定非营利活动法人网络学校联盟Ties | 内容的封装构造和使用该封装构造的内容提供方法以及系统 |
CN110290284A (zh) * | 2018-03-19 | 2019-09-27 | 株式会社理光 | 显示输入装置、图像形成装置、画面显示方法 |
CN110633393A (zh) * | 2018-06-25 | 2019-12-31 | 株式会社东芝 | 显示系统、程序以及存储介质 |
CN112470175A (zh) * | 2018-05-10 | 2021-03-09 | 三菱化学控股株式会社 | 审计辅助系统、审计辅助服务器装置、审计辅助终端、审计辅助程序、以及审计辅助方法 |
CN112749388A (zh) * | 2019-10-31 | 2021-05-04 | 株式会社野村综合研究所 | 风险管理辅助装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248722B2 (en) * | 2016-02-22 | 2019-04-02 | Palantir Technologies Inc. | Multi-language support for dynamic ontology |
US11354165B1 (en) * | 2017-07-13 | 2022-06-07 | Workday, Inc. | Automated cluster execution support for diverse code sources |
CN112074840A (zh) * | 2018-05-04 | 2020-12-11 | 瑞典爱立信有限公司 | 以多种语言形式的替代文本来丰富实体的方法和装置 |
US10540452B1 (en) * | 2018-06-21 | 2020-01-21 | Amazon Technologies, Inc. | Automated translation of applications |
CN109617944B (zh) * | 2018-10-24 | 2022-03-29 | 京信网络系统股份有限公司 | Web参数管理方法、装置、计算机存储介质及设备 |
CN111309238B (zh) * | 2019-12-09 | 2021-04-13 | 青岛海信移动通信技术股份有限公司 | 一种字体切换方法及移动终端 |
US11354341B2 (en) * | 2020-01-31 | 2022-06-07 | Boomi, LP | System and method for translating a software query in an automated integration process into natural language |
CN111694551A (zh) * | 2020-06-02 | 2020-09-22 | 北京乾元大通技术有限公司 | 一种云物业开发平台 |
KR102515264B1 (ko) * | 2021-03-23 | 2023-03-29 | 주식회사 이알마인드 | 다국어 입력 가능한 원격 서비스 제공 방법 및 이를 수행하는 서버 |
US11561933B2 (en) * | 2021-04-01 | 2023-01-24 | At&T Intellectual Property I, L.P. | Transformation as a service |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325098A (ja) * | 2000-05-16 | 2001-11-22 | Sumitomo Electric Ind Ltd | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 |
JP2008071212A (ja) * | 2006-09-15 | 2008-03-27 | Hitachi Ltd | コンテンツ提供方法 |
JP2011108076A (ja) * | 2009-11-19 | 2011-06-02 | Fujitsu Ltd | 表示制御プログラム、表示制御方法及び情報処理装置 |
CN202177892U (zh) * | 2011-06-04 | 2012-03-28 | 中国移动通信集团内蒙古有限公司 | Web UI控件定制系统 |
JP5216935B1 (ja) * | 2012-12-05 | 2013-06-19 | 株式会社Osk | 多言語対応画面生成システム |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2768349B2 (ja) | 1996-03-14 | 1998-06-25 | オムロン株式会社 | 言語変換切り替え支援方法及び装置並びに言語変換装置,文書編集装置,言語変換切り替え装置及びそれら各装置における処理方法 |
JPH113338A (ja) | 1997-06-11 | 1999-01-06 | Toshiba Corp | 多言語入力システム、多言語入力方法及び多言語入力プログラムを記録した記録媒体 |
JP3508915B2 (ja) * | 1998-09-18 | 2004-03-22 | シャープ株式会社 | データ表示制御方法、データ表示制御装置、及びデータ表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3542930B2 (ja) | 1999-07-30 | 2004-07-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体 |
US8135860B1 (en) | 2000-07-20 | 2012-03-13 | Alcatel Lucent | Content interpolating web proxy server |
US7240360B1 (en) * | 2001-01-08 | 2007-07-03 | Microsoft Corporation | System and method for controlling access to user interface elements |
US20020174150A1 (en) | 2001-05-18 | 2002-11-21 | Xerox Corporation | Systems and methods for dynamic national language service |
US20030115552A1 (en) * | 2001-11-27 | 2003-06-19 | Jorg Jahnke | Method and system for automatic creation of multilingual immutable image files |
EP1482406A1 (en) * | 2003-05-28 | 2004-12-01 | Sap Ag | A method of customizing an object by parametrising an application program |
GB0315193D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | System and method for user interface automation |
US20060150125A1 (en) * | 2005-01-03 | 2006-07-06 | Arun Gupta | Methods and systems for interface management |
KR100739726B1 (ko) * | 2005-08-30 | 2007-07-13 | 삼성전자주식회사 | 문자열 매칭 방법 및 시스템과 그 방법을 기록한 컴퓨터판독 가능한 기록매체 |
JP2007280189A (ja) | 2006-04-10 | 2007-10-25 | Toshiba Corp | プログラム生成装置、プログラム生成方法、及びプログラム生成プログラム |
US9329874B2 (en) * | 2007-06-22 | 2016-05-03 | Microsoft Technology Licensing, Llc | String customization |
JP5336827B2 (ja) | 2008-11-28 | 2013-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、データベース・システム、情報処理方法およびプログラム |
JP2009076099A (ja) | 2008-12-19 | 2009-04-09 | Sharp Corp | サービス提供装置 |
JP5683341B2 (ja) * | 2011-03-25 | 2015-03-11 | 株式会社野村総合研究所 | データ統合管理システムおよびクライアント端末 |
US8862456B2 (en) * | 2012-03-23 | 2014-10-14 | Avaya Inc. | System and method for automatic language translation for applications |
JP5658196B2 (ja) * | 2012-05-08 | 2015-01-21 | 株式会社野村総合研究所 | マルチデバイス対応WebサーバシステムおよびWebサーバシステムにおけるマルチデバイス対応方法 |
JP5766651B2 (ja) * | 2012-05-08 | 2015-08-19 | 株式会社野村総合研究所 | 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法 |
JP5727413B2 (ja) * | 2012-05-08 | 2015-06-03 | 株式会社野村総合研究所 | アプリケーション開発支援システムおよびアプリケーション開発支援プログラム |
US9170826B2 (en) * | 2012-12-17 | 2015-10-27 | Sap Se | Common multi-language text management in a business-oriented software framework |
CN104346153B (zh) * | 2013-07-31 | 2018-04-17 | 国际商业机器公司 | 用于翻译应用程序的文本信息的方法和系统 |
-
2013
- 2013-08-29 WO PCT/JP2013/073193 patent/WO2015029193A1/ja active Application Filing
- 2013-08-29 CN CN201380079268.2A patent/CN105518633B/zh not_active Expired - Fee Related
-
2016
- 2016-02-29 US US15/056,482 patent/US9952836B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325098A (ja) * | 2000-05-16 | 2001-11-22 | Sumitomo Electric Ind Ltd | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 |
JP2008071212A (ja) * | 2006-09-15 | 2008-03-27 | Hitachi Ltd | コンテンツ提供方法 |
JP2011108076A (ja) * | 2009-11-19 | 2011-06-02 | Fujitsu Ltd | 表示制御プログラム、表示制御方法及び情報処理装置 |
CN202177892U (zh) * | 2011-06-04 | 2012-03-28 | 中国移动通信集团内蒙古有限公司 | Web UI控件定制系统 |
JP5216935B1 (ja) * | 2012-12-05 | 2013-06-19 | 株式会社Osk | 多言語対応画面生成システム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055583A (zh) * | 2016-05-21 | 2016-10-26 | 乐视控股(北京)有限公司 | 热搜词的显示方法及装置 |
CN109564595A (zh) * | 2016-08-09 | 2019-04-02 | 日本米思米株式会社 | 设计辅助装置、设计辅助系统、服务器以及设计辅助方法 |
CN110036378A (zh) * | 2016-12-14 | 2019-07-19 | 特定非营利活动法人网络学校联盟Ties | 内容的封装构造和使用该封装构造的内容提供方法以及系统 |
CN108182120A (zh) * | 2017-12-08 | 2018-06-19 | 广州视源电子科技股份有限公司 | 接口调用方法和系统、存储介质和计算机设备 |
CN110290284A (zh) * | 2018-03-19 | 2019-09-27 | 株式会社理光 | 显示输入装置、图像形成装置、画面显示方法 |
CN110290284B (zh) * | 2018-03-19 | 2021-07-06 | 株式会社理光 | 显示输入装置、图像形成装置、画面显示方法 |
CN112470175A (zh) * | 2018-05-10 | 2021-03-09 | 三菱化学控股株式会社 | 审计辅助系统、审计辅助服务器装置、审计辅助终端、审计辅助程序、以及审计辅助方法 |
CN112470175B (zh) * | 2018-05-10 | 2024-01-09 | 三菱化学集团公司 | 审计辅助系统、审计辅助服务器装置、审计辅助终端、审计辅助程序、以及审计辅助方法 |
CN110633393A (zh) * | 2018-06-25 | 2019-12-31 | 株式会社东芝 | 显示系统、程序以及存储介质 |
CN112749388A (zh) * | 2019-10-31 | 2021-05-04 | 株式会社野村综合研究所 | 风险管理辅助装置 |
CN112749388B (zh) * | 2019-10-31 | 2024-05-24 | 株式会社野村综合研究所 | 风险管理辅助装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105518633B (zh) | 2018-10-19 |
US20160179481A1 (en) | 2016-06-23 |
WO2015029193A1 (ja) | 2015-03-05 |
US9952836B2 (en) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105518633A (zh) | Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法 | |
CN110442816B (zh) | 网页表单配置方法、装置及计算机可读存储介质 | |
KR102436987B1 (ko) | 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치 | |
CN106569900B (zh) | 应用程序处理方法和装置 | |
CN107092589B (zh) | Web服务器系统、画面控件显示方法以及演示应用生成方法 | |
CN103646023A (zh) | 一种基于web的增加页面/控件的方法 | |
CN112596714A (zh) | 网页开发方法、装置、终端、服务器和存储介质 | |
CN109358943B (zh) | 页面配置方法及装置、电子设备、存储介质 | |
CN112214202B (zh) | 一种无须写代码的手机程序开发系统 | |
CN114756228A (zh) | 页面处理方法、装置、设备及存储介质 | |
RU2634221C2 (ru) | Способ и устройство для отрисовки представления электронного документа на экране | |
CN117193728A (zh) | 软件即服务平台的开发方法及装置 | |
JP5766651B2 (ja) | 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法 | |
CN112732254B (zh) | 网页开发方法、装置、计算机设备和存储介质 | |
CN115994517A (zh) | 信息处理方法、装置、存储介质、设备及程序产品 | |
CN111857782B (zh) | 界面更新方法、装置、计算机设备和存储介质 | |
CN101441628A (zh) | 基于桌面应用程序的智能客户端网站系统 | |
CN101313274A (zh) | 使用图形显示语言和本地ui对象进行显示 | |
EP2557505A1 (en) | Web display program conversion system, web display program conversion method, and program for web display program conversion | |
CN113868565A (zh) | 皮肤样式的文件编辑方法及装置 | |
JP6113983B2 (ja) | 画面コントロール表示システムおよび画面コントロール表示プログラム | |
JP5917350B2 (ja) | 辞書システムおよび辞書呼び出し方法 | |
JP5658196B2 (ja) | マルチデバイス対応WebサーバシステムおよびWebサーバシステムにおけるマルチデバイス対応方法 | |
CN118092914A (zh) | 页面生成方法、装置、设备、存储介质及低代码生成系统 | |
CN116186436A (zh) | 以对应页面语种的目标语种显示网页页面的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181019 |