CN113158651A - Web服务器***以及演示应用生成方法 - Google Patents
Web服务器***以及演示应用生成方法 Download PDFInfo
- Publication number
- CN113158651A CN113158651A CN202110357746.8A CN202110357746A CN113158651A CN 113158651 A CN113158651 A CN 113158651A CN 202110357746 A CN202110357746 A CN 202110357746A CN 113158651 A CN113158651 A CN 113158651A
- Authority
- CN
- China
- Prior art keywords
- client terminal
- screen
- dictionary
- control
- input
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000007704 transition Effects 0.000 claims abstract description 16
- 230000014509 gene expression Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 84
- 230000004044 response Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 22
- 238000006243 chemical reaction Methods 0.000 description 20
- 238000011161 development Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 18
- 238000013519 translation Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 240000000220 Panda oleosa Species 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004573 interface analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及Web服务器***及演示应用生成方法。Web服务器***使Web应用程序工作,关于Web应用程序的规定的画面迁移生成能由客户终端单独再现的演示应用,在生成并输出Web应用程序针对客户终端进行响应的画面时,从保存所生成的画面的HTML数据的输出缓冲器中取得HTML数据,将HTML数据中包括的URL表述或者路径,分别变换成以客户终端上的规定的目录作为基准的第一本地路径,并且,将HTML数据的所在位置的路径变换成以规定的目录作为基准的第二本地路径,作为演示应用,在通过客户终端上的第二本地路径示出的位置,输出由HTML数据构成的HTML文件,进一步关于包括HTML数据参照的资源的各文件,在通过客户终端上的对应的第一本地路径示出的位置,分别进行输出或者拷贝。
Description
本申请是申请日为2013年8月29日、申请号为201610910911.7、发明名称为“Web服务器***、画面控件显示方法以及演示应用生成方法”的专利申请的分案申请,其全部内容结合于此作为参考。
技术领域
本发明涉及应用于Web服务器***中的应用的开发技术的有效技术。
背景技术
以IT技术的发展、商业的全球化等为背景,使Web网站、Web应用与多种语言对应的必要性正在提高。作为根据多种语言环境来实现对Web网站、Web应用的访问的方法,例如提出有下述的现有已被采用的方法,其对同一内容预先准备用各语言分别翻译好的单独的内容,根据用户使用的语言环境等,自动或者手动地对这些内容进行选择并加以使用。另外,除此之外,提出了各种在应用程序中用于多语言对应的技术。
例如,在日本特开2003-44474号公报(专利文献1)中记载了如下技术:根据客户端以及用户信息确定语言,确定包括内容要素的内容部的骨架(skeleton),利用保存了各骨架内容要素的翻译表、或者利用各骨架内容要素的动态的自然语言翻译,将骨架内容要素翻译成根据客户端以及用户信息而确定了的语言,将翻译好的骨架内容要素集中于内容部,由此提供内容部的动态的语言翻译。
在这里,也将上述的翻译表那样的、保存了关于内容要素的每个语言环境的翻译内容的数据作为例如由文件、数据库等构成的辞典进行安装,通过更新辞典的数据,从而也可以进行动态地变更显示内容、翻译内容。
另外,在Web服务器***上运行的应用程序、特别是例如访问业务数据库的CRUD(Create,Read,Update,Delete,创建读取更新删除)型的Web应用程序等中,需要在画面上以用户容易视觉辨认并操作的方式井然地配置显示许多输入输出项目(例如,指定用于从业务数据库中取得数据的检索条件的内容的输入项目、显示检索结果的内容的输出项目)所涉及的内容的画面控件(下面,有时单纯记载为“控件”)来构建用户界面。
特别是,近年来,寻求使相同业务逻辑与PC(Personal Computer,个人计算机)以外的各种便携式终端等设备的用户界面对应,关于输入输出项目的逻辑要素与布局(layout)信息的分离变得重要起来。
在Web应用程序的开发中,以包括这样的用户界面部分的开发负荷的降低、标准化等为目的,有时会使用包括GUI(Graphical User Interface,图形用户界面)创建功能等的所谓的集成开发环境(IDE:Integrated Development Environment)、Ruby on Rails(RoR,非专利文献1)等应用架构等。另外,也将它们组合使用。通过使用这样的开发支持工具等,从而可对例如具有用户界面的Web应用程序自动生成源代码,且可实现开发负荷的降低、标准化。
另外,关于画面控件的显示控制这一点,例如在日本特开2012-8805号公报(专利文献2)中记载了一种信息处理装置,该信息处理装置具备能够控制触摸面板的控制单元、进行显示的资源(resource)的解析的用户界面解析单元、以及变更资源的改写的第一用户界面变更单元,该装置使得即使通过触摸面板也能够视觉辨认性良好地操作Web内容等的用户界面。在这里,控制单元从通过用户界面解析单元解析出的用户界面中判别难以触摸的位置,使用第一用户界面变更单元将其变更为容易触摸的用户界面。
主要是通过用户利用在客户终端上运行的Web浏览器等对在Web服务器上运行的应用程序进行访问而执行基于上述那样的Web应用程序的***、服务。经由Web浏览器对用户提供用户界面。
有时需要通过简单地再现该用户界面(画面的内容、画面迁移等)来用于对其他顾客、***的利用者等说明***、服务的功能或动作、画面布局、处理步骤等、或者确认内容的演示用的应用程序或原型(prototype)等(下面,有时将它们统一记载为“演示应用”)。为了使基于Web应用的服务、功能等运行,原本需要Web服务器与客户终端经由网络而被连接的构成,但为了执行演示而无法准备那样的构成的情况也较多。
与此相对地,例如,有时会作为通过向演示用的客户终端导入Web服务器程序而使Web服务器功能进行本地运行,从而在光是客户终端的独立(stand-alone)环境下执行Web应用的构成来实现演示环境。然而,在这样的构成中,导致客户终端的负担变大。另一方面,一般也会创建能够在光是客户终端的独立环境中运行的应用,且用于演示或者用作原型。例如,在客户终端上,也可直接开发能作为本来的Web应用程序展开的应用程序(例如参照非专利文献2等)。
另外,与本来的Web应用程序不同地,也会基于本来的Web应用而创建不利用HTTP(HyperText Transfer Protocol,超文本传输协议)在独立环境中直接访问本地文件而能运行的演示应用。
例如,首先,经由客户终端的Web浏览器对Web服务器进行访问,使本来的Web应用程序临时运行,并在Web浏览器上显示画面。此时,通过Web浏览器的功能而显示HTML(HyperText Markup Language,超文本标记语言)的源代码,将其中参照Web服务器上的文件、资源的路径变换成参照客户终端的本地环境中的对应的文件夹、目录的路径的基础上,作为HTML文件保存在本地。另外,关于参照的资源自身,也分别根据需要与上述同样地变换路径。
此外,从Web服务器取得这些资源的文件并保存于客户终端的本地的规定的路径。通过以这样的步骤,在Web应用中的所需的画面迁移的各画面中进行将HTML文件、所需的资源配置于客户终端侧这样的操作,从而能够创建在客户终端的独立环境中运行的演示应用。
现有技术文献
专利文献
专利文献1:日本特开2003-44474号公报
专利文献2:日本特开2012-8805号公报
非专利文献
非专利文献1:因特网<URL:http://rubyonrails.org/>
非专利文献2:微软,“.NET Framework 4文件***Web网站项目”,因特网<URL:http://msdn.microsoft.com/ja-jp/library/e5x4xz73>
根据专利文献1所记载的现有技术,例如,在Web服务器***中,能够根据访问的客户终端的语言环境等来翻译内容内的各项目、或者不限于翻译而提供动态地变更了显示内容的状态的内容。
然而,在这些技术中,通常针对Web服务器***定义一种(例如每个语言环境)辞典、翻译表。因此,例如在利用该***在不同的Web网站中分别提供服务的多个服务商存在的情况等下,无法在同一语言环境下对同一项目分别显示对应各Web网站而不同的内容(即,对应该项目设定不同的辞典数据)。另外,即使在同一Web网站内,也存在想对同一项目在各画面中显示不同的内容这样的情况。
即,在大规模***中,***中共用的框架级别的项目、每个子***的共用项目、画面固有的项目等管理辞典的主体大多不同,在一个大的辞典中,存在管理烦杂、变更耗时的情况较多这样的问题。另外,在根据管理主体划分并细化了辞典的情况下,还存在Web应用的各开发者难以把握应该参照哪个辞典等问题。
另一方面,在Web服务器中的登记体系的业务***中,根据语言,在客户终端的画面上显示或者从画面输入时的各输入输出项目的字符数、全半角、已输入的值的检查方法等不同。因此,仅根据语言环境的变更来变更显示的输入输出项目的名称是不够的,即使安装用于变更名称的辞典,其结果,也需要按每个语言环境单独地对输入输出项目的属性值、值的检查处理等修改程序、源代码。
发明内容
因而,本发明的目的在于提供将画面中显示的同一项目的显示格式动态地变更成在Web应用中能够在各语言环境、甚至各Web网站、各画面等不同层级(level)下不同的内容的辞典***以及辞典调用方法。
另一方面,在如专利文献2所记载的、用户界面所涉及的源代码的自动生成、画面控件(parts)的显示控制相关的现有技术中,能够降低画面控件的配置、布局所涉及的用户的开发负荷,同时能对布局实现某种程度的最优化。
在此,在CRUD型的Web应用等中,例如,在指定对数据库的输入项目的输入域的控件中通常多采用将显示表示该项目的内容、标题的文本的文本控件配置成组,按各输入输出项目显示多个该组这样的形式的布局。
关于这一点,在现有技术这样的涉及显示控制的技术中,能够以输入域、文本控件的单体单独进行自动配置、布局的调整等,但未考虑到在将输入输出项目单位、即输入域与文本控件一体化的状态下具一致性地进行布局的调整等。其结果,例如有时会使画面上的可显示区域产生文本控件在无意的地方换行、或在有意的地方不换行等崩溃、或者自动进行布局调整结果使得各输入输出项目的显示幅度等不同等无意的崩溃。在存在单选按钮等画面控件的外观因显示设备、平台而不同的部件的情况下,有时会产生预料不到的布局的崩溃。
与此相对地,用户通过手动的单独的开发来安装在整个画面统一调整与各输入输出项目对应的输入域和文本控件的组等的布局将非常烦杂且效率低下。
因而,本发明的另一目的在于提供在Web应用中,针对由用于在画面上显示输入输出项目的多个画面控件构成的组,能够在整个画面上以该组为单位统一调整其布局的Web服务器***以及画面控件显示方法。
另外,根据现有技术,例如关于已被开发的Web应用,使用上述方法,对针对画面迁移的各画面输出的HTML的源代码分别变换了路径等之后在本地保存文件、资源等,由此能够创建在客户终端等的Web浏览器的独立环境下运行的演示应用。然而,在上述方法中,用于创建的基于人工的处理、步骤非常多且烦杂,另外,在路径等的变换中遗漏等产生的可能性也高。
因而,本发明的其他目的在于提供关于处于可运行状态的Web应用,容易生成能在独立环境下运行的演示应用的Web服务器***以及演示应用生成方法。
根据本说明书的描述以及附图,本发明的上述目的及其它目的和新的特征将变得更加明显。
如果简单说明本申请所披露的发明中的代表性的发明的概要的话,如下所述。
本发明的代表的实施方式的辞典***通过接受来自客户终端的请求而调用对应的商业逻辑,针对所述客户终端响应处理结果,从而对提供服务的Web服务器***提供辞典数据,其中,具有:多个种类的辞典表,关于适用所述辞典数据的范围,具有将适用范围宽的设为上一级的分层结构;以及辞典处理部,从指定的所述辞典表中,取得与所指定的密钥对应的所述辞典数据,所述辞典处理部在从所述辞典表中取得所述辞典数据时,受理参照所述分层结构中的哪一级的所述辞典表的指定,当在所指定的分层的所述辞典表中不存在与所指定的所述密钥对应的所述辞典数据的情况下,进一步针对上一级的所述辞典表,依次询问是否具有与所述密钥对应的所述辞典数据。
另外,本发明的另一代表的实施方式的Web服务器***使应用程序工作,在将处理结果显示客户终端的在画面上时,显示由多个画面控件构成的画面,所述应用程序通过接受来自所述客户终端的请求而调用对应的商业逻辑,对所述客户终端响应基于所述商业逻辑的所述处理结果,从而对所述客户终端提供服务,所述Web服务器***具有以下的特征。
即,关于所述客户终端的画面上显示的、所述应用程序中的一个以上的输入输出项目中的每个项目,通过至少具有显示表示所述输入输出项目的名称的文本的标签控件所涉及的信息、与为了输入或者输出所述输入输出项目而显示的输入输出控件所涉及的信息的配件对象,调整并显示与所述各输入输出项目对应的多个所述画面控件的布局。
另外,本发明的其他代表的实施方式的Web服务器***使Web应用程序工作,且关于所述Web应用程序的规定的画面迁移,生成能由客户终端单独再现的演示应用,所述Web应用程序通过接受来自所述客户终端上的请求而调用对应的商业逻辑,对所述客户终端响应基于所述商业逻辑的处理结果并进行画面显示,从而对所述客户终端提供服务,所述Web服务器***具有以下的特征。
即,在生成并输出所述Web应用程序针对所述客户终端进行响应的画面时,从保存所生成的所述画面的HTML数据的输出缓冲器中取得所述HTML数据,将所述HTML数据中包括的URL表述或者路径,分别变换成以所述客户终端上的规定的目录作为基准的第一本地路径,并且,将所述HTML数据的所在位置的路径变换成以所述规定的目录作为基准的第二本地路径。
还具有以下特征,即作为所述演示应用,在通过所述客户终端上的所述第二本地路径示出的位置,输出由所述HTML数据构成的HTML文件,进一步关于包括所述HTML数据参照的资源的各文件,在通过所述客户终端上的对应的所述第一本地路径示出的位置,分别进行输出或者拷贝。
发明效果
如果简单地说明通过在本申请中公开的发明中的代表的发明而得到的效果,则如下所述。
即,根据本发明的代表的实施方式,在Web应用中,能够将画面中显示的相同的项目的显示格式容易地动态变更为在每个语言环境、甚至每个Web网站、每个画面等不同的层级下不同的内容。
另外,根据本发明的其他代表的实施方式,在Web应用中,关于由用于在画面上显示输入输出项目的多个画面控件构成的组,能够在整个画面以该组为单位统一地调整其布局。
另外,根据本发明的其他代表的实施方式,关于处于能够进行动作的状态的Web应用,能够容易生成在独立环境中能够进行动作的演示应用。
附图说明
图1是示出作为本发明实施方式一的Web服务器***的构成例的概要图。
图2是示出本发明实施方式一中的在画面上显示通过配件对象(parts object)对应的字段的输入输出项目时的处理的例子的概要图。
图3是示出本发明实施方式一中的辞典表的分层结构的例子的概要图。
图4是示出本发明实施方式一中的将通过配件对象显示的控件的外观等变更成其它语言时的处理的例子的概要图。
图5是示出本发明实施方式一中的对通过配件对象显示的控件的外观等进行变更时的处理的例子的概要图。
图6是示出作为本发明实施方式二的Web服务器***的构成例的概要图。
图7是示出本发明实施方式二中的在画面上显示通过配件对象对应的字段的输入输出项目时的处理的例子的概要图。
图8的(a)~(c)是说明本发明实施方式二中的配件对象的源代码上的布局调整的安装例的概要的图。
图9是示出本发明实施方式二中的配件对象的三要素的配置模式(pattern)与显示例的概要图。
图10的(a)~(d)是示出本发明实施方式二中的配件对象的三要素的配置模式的其它例子的概要图。
图11是示出作为本发明实施方式三的Web服务器***的构成例的概要图。
图12是示出本发明实施方式三中由HTML数据生成本地数据的处理的流程例的概要的流程图。
附图标记说明
100…Web服务器***、101…源代码、102…HTML数据、103…配件对象、104…资源、105…本地数据、110…请求处理部、111…ID变换部、112…输入***、120…辞典***、121…辞典处理部、122…辞典表、122_z…通用辞典、122_s…网站辞典、122_l…文件库辞典、122_c…控件辞典、130…商业逻辑、131…业务数据库(DB)、140…响应处理部、141…翻译部、142…显示部、143…显示调整部、144…本地数据生成部、200…客户终端、201…画面、300…网络。
具体实施方式
以下,根据附图来详细说明本发明的实施方式。需要注意的是,在用于说明实施方式的全部附图中,原则上对同一部分标注同一附图标记,并省略其重复的说明。
[实施方式一]
作为本发明实施方式一的具有辞典***的Web服务器***为了能够无需变更源代码地提供多种语言的用户界面,而对应各语言环境创建并保存辞典。该辞典不仅仅单纯地保存通过各语言对显示名等文本数据进行了翻译而得到的数据,作为数据辞典,其还能够管理项目的各种属性信息等。即,在用户界面中,能够将各语言中固有的信息作为辞典数据加以保存。
通过使用这样的辞典,例如能够以多种语言同时并行地进行应用的开发,另外,对应语言的追加变得容易,能够提高扩展性。另外,通过用作数据辞典,在***内可将数据项目标准化。
本实施方式中,例如在访问业务数据库的CRUD型的Web应用程序中,为了显示画面上的输入输出项目(例如,指定用于从业务数据库中取得数据的检索条件的内容的输入项目、显示检索结果的内容的输出项目)所涉及的内容,不是直接使用标准的控件对象(下面,有时单纯记载为“控件”),而是使用如后面所述的、显示名与控件的设定内容、控制处理以及说明文本的各数据被一体化的配件对象。
该配件对象能够将在画面上显示什么样的控件(例如,仅文本控件、(文本控件与)输入域、(文本控件与)下拉列表、…等)指定作为参数。并且,设定也能对控件的属性值(例如,显示于文本控件的文本的内容、输入域的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等进行指定,依照所指定的内容对控件进行显示以及控制。
换而言之,配件对象构成为组合并显示处理输入域、下拉列表、文本等输入输出项目的数据的输入输出控件与作为显示输入输出项目的名称等的文本控件的标签控件,且具有能够指定这些控件的输出模式(pattern)的构成。
此时,能够以标签控件与输入输出控件统一具有一致性的形式调整控件的幅度等属性值,因此,用户能够进行所显示的控件的外观的调整,而无需进行单独地以具有一致性的方式指定属性值等这样的烦杂的处理。在该调整中,例如包括针对可显示区域,一体地调整标签控件与输入输出控件的显示幅度,以防止标签控件在无意的地方换行、而相反在有意的地方不换行等。
在本实施方式中,Web应用程序对画面上的各输入输出项目所涉及的内容,使用该配件对象来进行显示,并创建源代码。即,使用配件对象间接地显示控件(配件对象在Web服务器***上执行时动态地生成显示对象控件的HTML数据、脚本等)。另外,访问的对象数据库的各字段与画面上的输入输出项目的映射所涉及的信息作为数据库的各字段的识别信息(例如字段名称)与对应的配件对象的识别信息(例如HTML的ID属性值)的映射信息保存在源代码上。
此外,在本实施方式中,构成为关于在各配件对象中显示于标签控件的文本、以及输入输出控件的属性值、控制处理所涉及的信息等,如后所述,构成为除了一部分以外,不是在源代码上直接指定,而是作为与配件对象的ID或者对应的数据库的字段名称等识别信息相关联的辞典数据在外保存。按各语言环境定义该辞典数据的内容,在执行时参照与对象语言环境对应的辞典数据,从而能够在不对临时生成的源代码施加变更的情况下根据语言环境通过配件对象动态地变更显示于画面上的控件的外观、属性等。
另外,预先将对上述辞典数据的访问等、配件对象共同具有的功能安装于继承源的类(class),通过在开发时继承该类并创建各配件对象,从而开发者无需每次都安装配件对象的功能即可开发Web应用程序。
<***构成>
图1是示出作为本发明实施方式一的Web服务器***的构成例的概要的图。Web服务器***100例如由服务器设备、云计算环境中的虚拟服务器等计算机设备构成,除了未图示的OS、DBMS(DataBase Management System,数据库管理***)、Web服务器程序等中间件以外,还具有通过用户创建的源代码101或者从那里调用的文库(library)、对象等软件程序而被安装的请求处理部110、辞典***120、商业逻辑130、以及响应处理部140等各部。
另外,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对应的字段名称(column name)之后,能够以该字段名称为密钥(key),进行访问业务DB 131、取得来自后述的辞典表122的辞典数据等后续的处理。
因此,在响应于客户终端200的HTML数据102上,在各配件对象(通过各配件对象显示的控件)中,无需将对应的业务DB 131的字段名称直接指定为密钥等信息,而可将自身的ID作为密钥等信息,所以能够从HTML数据102上隐去实际的字段名称,实现安全的强化。需要说明的是,也可以不进行这样的变换,而是在HTML数据102上,在各配件对象(通过各配件对象显示的控件)中将对应的业务DB 131的字段名称直接指定为密钥等信息。
输入***112具有对请求消息中包含的、经由画面上的配件对象(通过配件对象显示的控件)而被指定的输入项目的数据的内容进行一般性的妥当性检查的功能。作为妥当性检查的种类,例如考虑有字符数、字符类型(数字、字母、假名、全半角等)、可使用字符的限制、日期时间、各种代码值等的格式检查等。
妥当性检查的内容可以根据语言环境而不同。因此,本实施方式中,在输入***112中安装还考虑了每种语言的变化(variation)的多个模式的妥当性检查的类型,根据语言环境选择/确定对对象输入项目使用哪种类型。在这里,经由后述的辞典***120访问对象语言的辞典表122,从与对象输入项目对应的辞典数据的内容中取得并确定妥当性检查的类型的信息。
辞典***120例如具有辞典处理部121、以及通过数据库、文件表等而安装的辞典表122。辞典处理部121具有从指定的语言的辞典表122中取得对被指定的密钥(本实施方式中,例如与对象输入输出项目(配件对象)对应的业务DB 131的字段名称)的辞典数据并输出的功能。关于语言的指定,例如既可以从来自客户终端200的请求消息中包含的Web浏览器的语言环境取得,也可以按在Web服务器***100上运行的各Web网站定义语言并取得该值。在图1的例子中,示出了保存有日语(“ja”)、英语(“en”)、中文(“zh”)的各语言的辞典表122的情况。
如后所述,该辞典表122具有与适用范围、管理主体相应的层结构,由此,能够以最小限度的资源来安装按各Web网站、各画面等而不同的辞典表122。
辞典表122中的辞典数据的内容、格式没有特别的限定。在本实施方式中,作为简单的方法,例如如后所述,以规定顺序通过逗号分隔值(Comma Separated Value)等指定经由画面对业务DB 131的对象字段进行数据的输入输出处理所需的各种数据(用于进行输入输出的配件对象的属性值、控制所需的参数等)。具体来说,例如,可考虑作为在对应的配件对象中显示标签控件时的内容的显示名、作为输入输出控件显示输入域(input filed)时的长度(字符数)、妥当性检查的类别、IME的模式等控制处理的内容所涉及的指定、作为在表中对输出数据进行一览显示时被缩短的文本的缩短显示名以及显示幅度、通过下拉列表等显示时的值列表等。
需要说明的是,在图1的例子中,采用了在Web服务器***100上安装辞典***120的构成,但不限于此,也可以在与Web服务器***100不同的别的服务器设备上独立地构建辞典***120。
商业逻辑130具有利用业务DB 131进行作为业务应用的处理的功能。在本实施方式中,如上所述,将针对业务DB 131的CRUD型应用作为对象,但不特别限定于此。
响应处理部140具有根据基于源代码101的内容的商业逻辑130等的处理结果生成HTML数据102并对客户终端200进行响应的功能,其具有通过软件程序而安装的翻译部141、以及显示部142等各部。翻译部141对包含于响应中的各输出项目,取得用于在对象语言环境下显示对应的配件对象的标签控件的文本、输入输出控件的属性值、控制信息等参数值。在这里,经由辞典***120访问对应的语言的辞典表122,从与对象输出项目(配件对象)对应的辞典数据中取得显示名、属性值等各种参数值。
显示部142具有根据翻译部141取得的、关于各配件对象的标签控件的文本、输入输出控件的属性值、控制信息等的参数值来生成配置有通过各配件对象而显示的控件的响应画面的HTML数据102的功能。
<画面显示处理>
图2是示出在CRUD型应用中通过配件对象在画面上显示对应的字段的输入输出项目时的处理的概要图。在图2的例子中,摘录地示出了在日语环境中,在输入从业务DB 131读出数据时的检索条件的画面中,显示指定“顧客名”(顾客名)的输入域时的例子。
在图的上段示出的Web应用程序的源代码101中,为了显示指定“顧客名”的输入域,调用了配件对象103。具体来说,首先,从保存于源代码101上的映射信息(在图2的例子中,通过array()保存对应关系)中取得与ID(“A01”)对应的字段名称(“customer_name”)的信息。
然后,例如,关于从安装了配件对象103的功能的类继承的子类(subclass),以创建实例的形式进行调用(“CF_itemDic();”)。在图2的例子中,简化示出了作为参数的一部分,指定调用的辞典表122的类型(“通用辞典”)、显示的输入输出控件的类型(“输入域”)、HTML的ID属性值(“A01”)等进行了调用的状态。需要说明的是,HTML的ID属性值(“A01”)通过映射信息动态地变换成字段名称(“customer_name”)。
通过这样的代码调用的配件对象103保存至少包括显示名(标签控件的文本)和显示的输入输出控件的内容所涉及的信息的数据作为数据。如图2所示,也可以进一步保存说明文本等其它信息。图2的例子中,在配件对象103的上述三个信息中,关于控件,在源代码101中“输入域”作为参数被指定,所以其被设定。
被调用的配件对象103进一步地通过规定的函数、方法(method)等,经由辞典***120的辞典处理部121对日语环境(“ja”)中的对象辞典表122(“通用辞典”)进行访问,取得与字段名称(“customer_name”)对应的辞典数据(本实施方式中,为“顧客名”、40字符、20字符、…等多个值的集合)。
在图2的例子中,作为辞典表122的辞典数据,按从上到下的顺序,保存名称(显示于标签控件的文本)、输入域情况下的长度(半角时的字符数)、输入域情况下的最大长度(字符数)、输入数据的妥当性检查的类型、IME的初始模式、说明注释、在表中进行一览显示时的文本(显示名)、以及在表中进行一览显示时的显示宽度(像素值)等信息。需要说明的是,作为取得这些辞典数据时的输出格式,例如既可以是用逗号等将这些值隔开的一连串的字符串,也可以是相联阵列(associative array)等易访问的数据。
关于辞典表122,在考虑了处理效率的情况下,优选在初始处理或者最初的访问时在存储器上展开辞典数据的内容。在这种情况下,如果展开所有的辞典数据,则会压迫存储器使用量、或者展开处理花费时间等,反而有时导致处理效率降低。因此,在安装上,优选能够在必要时在存储器上展开所需范围的辞典数据。
因而,在本实施方式中,构成为具有由适用范围、管理主体不同的多个辞典表122构成的分层结构,并适当选择它们来加以使用。图3是示出辞典表122的分层结构的例子的概要图。在分层结构中,按照从上级(上位)开始的顺序,例如具有作为在Web服务器***100上运行的***、应用的对各语言环境通用的辞典表122的多个通用辞典122_z、仅在所指定的Web网站内通用的多个网站辞典122_s、仅在子***内通用的多个文库辞典122_l、以及以画面为单位的多个控件辞典122_c等d、适用范围、管理主体不同的多种辞典表122(需要说明的是,提取了分层结构的一部分加以示出,其它部分被省略)。
在这种情况下,例如,在参照下层的控件辞典122_c等适用范围窄的辞典而得不到符合的辞典数据的情况下,也可以能按文库辞典122_l→站点辞典122_s→通用辞典122_z的顺序,追溯到上层(适用范围宽的)辞典表122进行参照。此时,既可以能定义是否许可追溯到每一层进行参照,也可以能定义是否许可每层辞典表122的自我参照(参照自体)。
例如,在当参照图中的“控件辞典a”得不到符合的辞典数据时允许追溯到文库辞典122_l进行参照的情况下,参照上层的“文库辞典c”。此时,在对象Web应用中文库辞典122_l的使用未被许可的情况下,得不到辞典数据,当在文库辞典122_l中追溯到网站辞典122_s进行参照被许可的情况下,参照上层的“网站辞典a”。即使像这样地追溯分层结构也最终得不到辞典数据的情况下,既可以使用默认值,也可以当作出错。
通过采用这样的构成,分开使用辞典表122,从而能够将在存储器上展开的辞典数据维持为只是必要的合适的大小。另外,除通用辞典122_z以外,例如还具有能够对站点(site)单位设定共用的辞典数据的网站辞典122_s,由此Web网站的所有者、管理者无论其他网站中的设定内容如何,都能够仅在该Web网站内自由且灵活地创建固有的辞典数据。另外,通过采用这样的分层结构,从而在下一级的辞典表122中,仅定义针对上一级层的辞典表122的差分即可,还能够提高开发生产率。
回到图2,配件对象103从所取得的辞典数据提取需要的数据,并设定为显示或控制控件时的参数。例如,作为在显示输入域作为输入输出控件的情况下的属性值,设定从辞典数据中所取得的域的长度,并且设定妥当性检查的类型、IME的初始模式等的值、说明文本的内容等。此外,输入数据的妥当性检查、IME的模式设定等输入输出控件的控制所涉及的处理是输入***112、显示部142的功能,但作为具体的安装,例如在配件对象103的继承源的层级作为方法来定义,作为配件对象103所具有的、或者配件对象103能够调用的功能来安装。
由此,如图2的下级的画面例子所示,以显示在执行时用于指定“顧客名”的输入域的控件的方式,配件对象103能够生成HTML数据102。此时,例如能够将配件对象103的说明文本的信息用作关于该输入输出项目的帮助信息等。
此外,在显示输入域的情况下,由于仅显示了输入域的控件,不清楚应该输入什么,所以在本实施方式中,如图2所示,使显示与该配件对象103对应的输入输出项目的显示名的文本控件(“顧客名”)邻接于输入域来作为标签显示(标签控件)。该文本设定配件对象103的保存数据中的显示名的信息、即配件对象103从辞典表122中所取得的辞典数据的名称的值(“顧客名”)。
生成这样的HTML数据102所涉及的处理是显示部142等的功能,但作为具体的安装例如对配件对象103的继承源的层级作为方法进行定义等,作为配件对象103具有的、或者配件对象103能够调用的功能来安装。此外,在这里如上所述,关于显示的标签控件、输入输出控件、以及说明文本这三个要素,批量地以具有一致性的形式调整外观等所涉及的属性值。
这样,在本实施方式中,能够生成通过配件对象103来显示输入输出项目HTML数据102。因此,本实施方式中的CRUD型应用能够通过作为与业务DB131的各字段对应的输入输出项目,依照规定的规则在画面上配置配件对象103,以与标准的功能、动作的安装组合的方式来创建源代码101来实现。另外,作为应用程序的开发支持***等,还能够安装自动地生成这样的源代码101的功能。
例如,作为向业务DB 131登记(C:Create)条目的应用,以依照业务DB 131的字段的排列顺序配置用于在画面上显示指定针对业务DB 131的各字段登记的数据的输入域的配件对象103的方式来创建源代码101。此时,将根据需要来进行画面显示的控件的ID与字段的名称的对应关系保存为映射信息。进一步地,作为标准的功能,配置用于执行向业务DB131登记条目的“登记”按钮、“取消”按钮等。此外,在每个语言环境的辞典表122中,作为辞典数据保存关于各配件对象103显示控件时使用的属性值、控制信息等信息。此时,在关于各项目没有特别指定的情况下分别根据默认值来设定。
另外,例如作为进行针对业务DB 131的检索(R:Read)的应用与上述同样地,以配置用于在画面上显示指定用于检索业务DB 131的条件的输入域的配件对象103的方式来创建源代码101。此时,关于业务DB 131的对象表的所有字段,如果都设为能够指定为检索条件,则变得过多,所以例如进行暂定地仅针对开头的五个字段显示输入域等的简化,也可以能够从后面变更。另外,将根据需要来进行画面显示的控件的ID与字段的名称的对应关系保存为映射信息。进一步地,作为标准的功能,配置用于进行业务DB 131的条目的检索的“检索”按钮等。
另外,例如,在输入检索条件的区域的下部,自动地配置用于显示检索结果的表(表)控件。在这里例如,对表控件的对象的项目定义阵列,设定相当于与业务DB 131的各字段对应的配件对象103的调用的内容。由此,能够以在表控件的各列显示业务DB 131的各字段的内容的方式,安装显示部142或者配件对象103。
在该状态下,为了不变更源代码101的内容而使Web应用与其他不同的语言对应,准备对象的语言的辞典表122即可。图4是关于将通过配件对象103显示的控件的外观等变更成其他语言时的处理的例子而示出了概要的图。在这里不变更图2的例子所示的源代码101的内容新创建了英语环境(“en”)的辞典表122。
由此,在执行该Web应用时,配件对象103参照英语环境(“en”)下的对象的辞典表122中的该条目的内容,根据其内容,不仅如图4的下级的画面例子所示地作为显示名的标签控件的文本数据,还能够对输入输出控件的属性等(在图4的例子中,为输入域的长度(幅度)、输入数据的妥当性检查的内容、IME的模式等),在英语环境动态地变更。
另外,图5是关于针对通过配件对象103显示的控件的外观等进行变更时的处理的例子而示出了概要的图。在这里对图2的例子所示的源代码101的内容施加简单的变更。具体来说,在调用配件对象103时,将显示的输入输出控件的类型的参数从“输入域”变更成“下拉列表”。另外,在辞典表122中,在辞典数据的末尾追加定义在下拉列表中设定的值列表的内容(“田中:1、山本:2、…”)。
由此,在执行该Web应用时,配件对象103能够以通过所指定的种类的输入输出控件来变更输入输出项目的显示内容的方式,生成HTML数据102。在图5的例子中,关于相同的配件对象103,将输入输出控件输入域变更成下拉列表,但例如在将输入输出控件的类型的参数设定为“文本”的情况下,配件对象103将值显示为文本。也能够仅显示标签控件与输入输出控件中的某一个。另外,在将参数设定为“隐藏”的情况下虽然在内部保存数据,但在画面显示上,关于该输入输出项目不显示任何控件。
如以上所说明的那样,根据作为本发明的实施方式一的具有辞典***120的Web服务器***100,在Web应用程序的用户界面中,将各语言中固有的信息(不仅包括输入输出项目的显示名等文本数据,还包括各种属性信息等数据项目的值),作为辞典数据保存于每个语言环境的辞典表122。另外,Web应用在将输入输出项目显示在画面上时,不是直接使用标准的控件,而是使用配件对象103来间接地显示标准的控件。
该配件对象103从与语言环境对应了的辞典表122中取得对应的辞典数据,根据其内容来动态地变更包括用于在画面上显示输入输出项目的控件的外观、属性、控制处理等的用户界面。由此,无需变更应用的源代码101,能够根据语言环境来动态地变更用户界面。
另外,通过将辞典表122构成为与适用范围、管理主体相应的分层结构来分别使用,能够将在存储器上展开的辞典数据维持为按照需要的合适的大小。另外,例如,具有在每个网站共用的站点辞典122_s,从而Web网站的所有者、管理者无论其他网站中的设定内容如何,都能够自由且灵活地创建仅在该Web网站内固有的辞典数据。另外,通过采用这样的分层结构,在下一级的辞典表122中,仅定义针对上一级层的辞典表122的差分即可,例如,使针对基本的子***单位的定义在指定画面中的例外设定变得容易等,还能够提高开发生产率、管理的容易性。根据以上的那样的效果,也容易应对SaaS(Software as aService,软件即服务)的那样的服务的提供方式。
本实施方式中,将标准的CRUD型的Web应用设为对象,但不限于此。用户能够针对以组合了辞典表122与配件对象103的形式,还包括用户界面、商业逻辑等的动作内容地构建了的独自的应用(不限于Web应用,也可以是客户端/服务器型、独立型等),通过同样的概念,定义每个语言环境的辞典表122而进行多语言对应。
另外,在本实施方式中,与语言环境对应地具有通用辞典122_z,但不限于此,也可以是例如根据地域、行业种类等来针对名称、含意不同的数据项目,单独地定义通用辞典122_z这样的使用方法。另外,在本实施方式中,在辞典表122中,虽然以作为数据辞典保存输入输出项目的各种属性信息等的情况为例,但在保存关于显示名等文本数据的各语言下的翻译文本的情况下,通过采用分层结构,也能够得到与上述同样的效果。
另外,在本实施方式中,通过采用配件对象103具有调用辞典***120并访问辞典表122的功能(方法)的构成,从而提供用于画面上的各控件访问辞典表122的共用的界面,提高了开发生产率,但根据利用辞典***120这样的观点,不限于这样的构成。也能够不使用配件对象103,而关于画面上的各控件,以在代码101上直接调用辞典***120而取得辞典数据的方式来记述。
[实施方式二]
作为本发明的实施方式二的Web服务器***是例如在访问到业务数据库的CRUD型的Web应用程序中,关于由用于在画面上显示输入输出项目等的多个画面控件构成的组,能够在整个画面中以该组为单位统一地调整其布局、属性等的Web服务器***。
在这里与实施方式一同样地,在画面自身以及/或者画面上显示的显示控件的功能中,如后面所述,使画面控件(配件)与HTML要素单位的通常的控件不同,使用由输入输出项目的逻辑要素单位构成的配件对象而构成。
即,如上述的输入输出区与文本控件那样,关于被配置为组的多个控件,构成为将它们作为要素的配件对象。该配件对象能够作为参数指定在画面上显示什么样的控件(例如,仅文本控件、(文本控件与)输入域、(文本控件与)下拉列表、…等)。另外,关于控件的属性值(例如,文本控件中显示的文本的内容、输入域的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等,也能够进行指定,以依照所指定的内容显示并控制控件的方式来安装。
换而言之,配件对象组合以下要素而构成:与输入域、下拉列表、文本等处理输入输出项目的数据的输入输出控件对应的逻辑要素、与显示输入输出项目的名称等的文本控件的标签控件对应的逻辑要素、以及与显示关于该输入输出项目的说明文本的注释控件对应的逻辑要素,且具有能够与它们逻辑要素的组独立地指定与这些要素对应的控件的实际的显示/输出的模式这样的构成。即,具有创建独立于输入输出项目的逻辑要素单位的画面控件的组,从那里使布局信息独立的构成。
由此,能够针对作为要素的多个画面控件,在一个以上的配件对象内总括且具有一致性地统一调整布局。另外,配件对象与输入输出项目一一对应,所以统一针对各控件的参数、属性值等并如后面所述作为辞典数据输出,与输入输出项目对应起来地管理变得容易。另外,能够与配件对象独立地定义作为要素的多个画面控件之间的布局调整所涉及的信息,能够大大地降低控件之间的布局调整所需的负载。
在此处的布局调整中,包括例如为了防止针对可显示区域,使标签控件在无意的地方换行,或者相反地在有意的地方不换行,一体地调整标签控件与输入输出控件的显示幅度、或者关于通过单选按钮等设备、OS(Operating System,操作***)等外观不同的输入输出控件,与标签控件一体地调整显示位置、幅度等。即,能够实现与多个种类的设备、OS的用户界面相应的动态的布局变更。
在本实施方式中,Web应用程序关于画面上的各输入输出项目所涉及的内容,使用该配件对象来显示,并创建源代码。即,使用配件对象间接地显示控件(配件对象动态地生成在Web服务器***上的执行时显示对象的控件的HTML数据、脚本等)。另外,访问的对象的数据库的各字段与画面上的输入输出项目的映射所涉及的信息作为数据库的各字段的识别信息(例如字段名称)、与对应的配件对象的识别信息(例如HTML的ID属性值)的映射信息,保存在源代码上。
此外,在本实施方式中,与实施方式一同样地,构成为关于在各配件对象中,标签控件中显示的文本、以及输入输出控件的属性值、控制处理所涉及的信息等,如后面所述,去除一部分,不是在源代码上直接指定,而是构成为作为与配件对象的ID或者对应的数据库的字段名称等识别信息关联起来的辞典数据被输出而保存。由此,能够针对临时所生成的源代码而不施加变更,而动态地变更画面的显示方式、通过配件对象来显示在画面上的控件的外观、属性等。此外,在本实施方式中,使用辞典,但没有专门限定于此。另外,与实施方式一同样地,也可以针对每个语言环境定义辞典数据的内容。
<***构成>
图6是关于本发明的实施方式二的Web服务器***的构成例而示出了概要的图。Web服务器***100具有基本上与实施方式一的图1的例子所示的构成大致同样的构成,例如,由服务器设备、云计算环境中的虚拟服务器等计算机设备构成,除图示的OS、DBMS、Web服务器程序等的中间件之外,还有通过用户创建了的源代码101或者从那里被调用的文件库、对象等软件程序来安装的请求处理部110、辞典处理部121、商业逻辑130、以及响应处理部140等各部。
另外,Web服务器***100针对来自经由因特网等网络300而连接的客户终端200上的未图示的Web浏览器等的程序的请求,通过商业逻辑130来对业务数据库(DB)131进行访问而进行处理,针对客户终端200而输出HTML数据102并进行响应,由此提供服务。
请求处理部110具有接受来自客户终端200的请求,根据对应的源代码101,调用内容(商业逻辑130)功能,且具有通过软件程序来安装的ID变换部111、以及输入***112等各部。ID变换部111具有根据源代码101中保存的映射信息,将与请求消息中包括的画面上的输入项目对应的、源代码101中记载的配件对象103的识别信息(ID)变换成与输入输出项目对应的业务DB 131的字段的识别信息(字段名称等)的功能。
该映射信息保存在画面上显示的配件对象103的识别信息(例如HTML的ID属性值)、与访问的对象的业务DB 131的各字段的识别信息(字段名等)的对应。由此,如后面所述,在源代码101中在画面上配置了的各配件对象103首先通过ID变换部111来取得与自身的ID对应的字段名称之后,将该字段名称作为密钥,能够进行业务DB 131的访问、来自后述的辞典表122的辞典数据的取得等后续的处理。
因此,在响应于客户终端200的HTML数据102上,在各配件对象103(通过各配件对象显示的控件)中,无需将对应的业务DB 131的字段名称直接指定为密钥等的信息,就能够将自身的ID设为密钥等的信息,所以能够从HTML数据102上隐去实际的字段名称而实现安全的强化。此外,不进行这样的变换,也可以在HTML数据102上将在各配件对象103中对应的业务DB 131的字段名称直接指定为密钥等的信息。
输入***112具有关于请求消息中包括的、经由画面上的配件对象103而所指定的输入项目的数据的内容进行一般性的妥当性检查的功能。作为妥当性检查的种类例如考虑字符数量、字符类型(数字、字母、假名、全半角等)、可使用字符的限制、日期时间、各种代码值等的格式检查等。
妥当性检查的内容与实施方式一同样地,例如,在输入***112中安装还考虑了每种语言的变形的多个模式的妥当性检查的类型,根据语言环境来选择/确定关于对象的输入项目使用哪一种类型。在这里经由后述的辞典处理部121,对对象的语言的辞典表122进行访问,从与对象的输入项目对应的辞典数据的内容中取得并确定妥当性检查的类型的信息。
辞典处理部121具有通过数据库、文件表等来安装的辞典表122,例如具有从辞典表122中,取得针对所指定的密钥(本实施方式中,例如为与对象的输入输出项目(配件对象103)对应的业务DB 131的字段名称)的辞典数据并进行输出的功能。辞典表122例如与实施方式一同样地,也可以针对成为对象的语言环境、Web应用程序的业务类别等分类的每个而准备多个来选择地使用。
对辞典表122中的辞典数据的内容、格式没有特别的限定。在本实施方式中,作为简单的方法,例如如后面所述,以规定的顺序通过逗号分隔等来指定进行经由画面而向业务DB 131的对象的字段的数据的输入输出处理所需的各种数据(用于进行输入输出的配件对象103的属性值、控制所需的参数等)。
具体来说,例如考虑作为在对应的配件对象103中显示标签控件时的内容的显示名、作为输入输出控件显示输入域时的长度(字符数量)、妥当性检查的类别、IME的模式等的控制处理的内容所涉及的指定、在表中对输出数据进行一览表显示时的缩短了的文本的缩短显示名以及显示幅度、通过下拉列表等来显示时的值列表等。
此外,在图6的例子中,采用了在Web服务器***100上安装辞典处理部121的构成,但不限于此,也可以在与Web服务器***100独立的服务器设备上独立地构建。
商业逻辑130具有利用业务DB 131进行作为业务应用的处理的功能。在本实施方式中,如上所述,将针对业务DB 131的CRUD型应用作为对象,但没有专门限定于此。
响应处理部140具有根据基于源代码101的内容的商业逻辑130等的处理结果来生成HTML数据102,针对客户终端200而进行响应的功能,其具有通过软件程序来安装的显示部142、以及显示调整部143等的各部。
显示调整部143关于响应中包括的各输出项目,取得用于显示对应的配件对象103的标签控件的文本、输入输出控件的属性值、控制信息等的参数值。在这里经由辞典处理部121而对对应的语言环境等的辞典表122进行访问,从与对象的输出项目(配件对象103)对应的辞典数据中取得显示名、属性值等的各种参数值。
显示部142具有根据显示调整部143所取得的、关于各配件对象的标签控件的文本、输入输出控件的属性值、控制信息等的参数值,生成配置有通过各配件对象显示的控件的响应画面的HTML数据102的功能。
<画面显示处理>
图7是关于在CRUD型应用中通过配件对象103在画面上显示对应的字段的输入输出项目时的处理的例子而示出了概要的图。在图7的例子中,与实施方式一的图2的例子同样地,摘录地示出了在输入从业务DB 131读出数据时的检索条件的画面中,显示指定“顧客名”的输入域的情况的例子。
在图中的上级所示的Web应用程序的源代码101中,为了显示指定“顧客名”的输入域而调用配件对象103。具体来说,首先,从在源代码101上保存的映射信息(在图7的例子中,通过array()来保存对应关系)中取得与ID(“A01”)对应的字段名称(“customer_name”)的信息。
其后,例如,关于从安装了配件对象103的功能的层级继承了的子类,以创建实例的形式进行调用(“CF_itemDic();”)。在图7的例子中,简化地示出了作为参数的一部分,指定并调用了调用辞典表122的类型(“通用辞典”)、显示的输入输出控件的类型(“输入域”)、HTML的ID属性值(“A01”)等的状态。此外,HTML的ID属性值(“A01”)通过映射信息来动态地变换字段名称(“customer_name”)。
通过这样的代码调用的配件对象103作为数据,至少保存关于显示为名称的标签(标签控件的文本)的逻辑要素、与显示的输入输出控件的内容所涉及的逻辑要素的信息。此外,如图7所示,也可以关于由说明内容的文本等构成的注释的逻辑要素保存信息。在图7的例子中,关于配件对象103的上述的3个逻辑要素中的控件,在源代码101中作为参数所指定“输入域”,所以它被设定。
被调用的配件对象103进一步通过规定的函数、方法等来经由辞典处理部121而对对象的辞典表122(“通用辞典”)进行访问,取得与字段名称(“customer_name”)对应的辞典数据(在本实施方式中,为“顧客名”、40个字符、20个字符、…等多个值的集合)。
在图7的例子中,作为辞典表122的辞典数据,按从上开始的顺序,保存名称(标签控件中显示的文本)、在输入域的情况下的长度(半角时的字符数量)、在输入域的情况下的最大长度(字符数)、输入数据的妥当性检查的类型、IME的初始模式、说明注释、当在表中进行一览表显示的情况下的文本(显示名)、以及当在表中进行一览表显示的情况下的显示幅度(像素值)等信息。此外,作为取得这些辞典数据时的输出格式,例如既可以采用由逗号等分隔了这些值而得到的一系列的字符串,也可以采用关联阵列等容易访问的数据。
关于辞典表122与实施方式一的图3同样地,采用具有由适用范围不同的多个辞典表122构成的分层结构,并适当选择它们来使用的构成。例如,具有在Web服务器***100上工作的***、应用整体所共用的辞典(“通用辞典”)、仅在所指定的Web网站内共用的辞典(“网站辞典”)、仅在子***内共用的辞典(“文件库辞典”)、以画面为单位的辞典(“控件辞典”)等的、适用范围不同的多个种类的辞典表122。
在这种情况下,例如在参照“控件辞典”等适用范围窄的辞典而得不到相符合的辞典数据的情况下,也可以能够按照“文件库辞典”→“网站辞典”→“通用辞典”的顺序,追溯地参照上一级(适用范围宽的)辞典表122。另外,也可以得不到辞典数据而使用默认值或者设为错误。
配件对象103与实施方式一同样地,从所取得的辞典数据中提取需要的数据,设定为显示或者控制控件时的参数。例如,作为在显示输入域作为输入输出控件的情况下的属性值,设定从辞典数据中取得的域的长度,且设定妥当性检查的类型、IME的初始模式等的值、说明注释的内容等。此外,输入数据的妥当性检查、IME的模式设定等输入输出控件的控制所涉及的处理是输入***112、显示部142的功能,但作为具体的安装例如,对配件对象103的继承源的层级作为方法进行定义了等,作为配件对象103具有的、或者配件对象103能够调用的功能来进行安装。
由此,如图7的下级的画面201的例子所示,为了在执行时显示用于指定“顧客名”的输入域的控件,配件对象103能够生成HTML数据102。此时,如后面所述,能够将配件对象103的说明注释的信息用作关于该输入输出项目的帮助信息等。
此外,在显示输入域的情况下,由于仅显示了输入域的控件,不清楚应该输入什么,所以在本实施方式中,如图7所示,使显示与该配件对象103对应的输入输出项目的显示名(“顧客名”)的文本控件与输入域邻接而显示为标签(标签控件)。该文本设定在配件对象103的保存数据中的标签的信息、即配件对象103从辞典表122中所取得的辞典数据的名称的值(“顧客名”)。
这样的HTML数据102的生成所涉及的处理是显示部142等的功能,但作为具体的安装例如,对配件对象103的继承源的层级作为方法进行定义等,作为配件对象103具有的、或者配件对象103能够调用的功能来进行安装。此外,在这里如上所述,将显示的标签控件、输入输出控件、以及显示说明注释的注释控件这三个要素作为一个单位,批量地以具有一致性的形式调整布局、外观所涉及的属性值等。
图8是关于配件对象103的源代码101上的布局调整的安装例而说明概要的图。图8的(a)示出了在客户终端200中显示的画面201上的通过配件对象103来显示了的控件的布局例。在这里示出了配件对象103包括作为标签控件显示的“邮编”的文本的文本控件、用于输入“邮编”的输入域与作为说明注释显示“(例)100-0000”的文本的注释控件(文本控件),将它们分别以120像素、200像素、150像素的幅度排列而进行布局的情况。
图8的(b)示出了例如根据JSF(Java Server Faces)等的现有技术来进行图8的(a)的例子那样的控件的布局的情况下的源代码101的记载例。在这里示出了需要针对三个要素(控件)的每一个,分别记载用于指定幅度的像素数而单独地显示控件的代码。
与此相对地,图8的(c)示出了例如基于PHP(Hypertext Preprocessor,超文本预处理器)等的本实施方式中的源代码101的记载例。在这里首先,批量地指定针对进行画面显示的对象(“ViewObject”)而显示的各控件的幅度的像素数(120、200、150),并且也一并进行了如后面所述那样的三个要素的配置模式(‘fmt:pc’)的指定。这样,能够独立地指示关于配件对象103的布局信息。
此外,在下一行,记载了显示配件对象103的代码。在这里,从辞典表122中的“文件库辞典(‘_bi’)”中取得与字段名称(‘postal_cd’)对应的辞典数据,根据由辞典数据所指定的属性、文本等的外观的信息、以及先前所取得的布局信息,指定表示进行画面显示的对象(“ViewObject”)整体显示配件对象103(标签控件、输入域(‘txt’)、说明注释)的意思。在图8的(c)的例子中,无需如图8的(b)所述地每次针对每个控件单独地指定布局的调整信息等,能够大大地降低布局调整所涉及的代码的记载量(开发者的负载)。
图9是关于配件对象103的三要素的配置模式与显示例而示出了概要的图。在这里如图8的(a)、(c)所示,例如,在采取客户终端200为PC、智能手机等时的基本的布局(‘fmt:pc’)的情况下,示出了作为各控件的显示区域,按从左向右的顺序并列地配置显示标签控件的标签部、显示输入域等输入输出控件的控件部、显示注释控件的注释部这三个区域。
此时,在画面201上,能够针对采取相同布局的多个输入输出项目,以同样的位置关系自动地配置。此外,关于“邮编”、“住所1”、“住所2”、“代表电话号码”等各输入输出项目,关于标签部、控件部、注释部等各部也将显示的幅度设为相同值来进行排列并显示。在这种情况下通过控制成在显示这些配件对象103之前,只要如图8的(c)的第一行的例子所示地一次设定各显示区域的幅度等布局信息,则在发生变更之前都以相同布局信息连续地配置的方式控制,从而能够进一步地降低开发的负载。
另外,控件部中显示的输入输出控件不限于输入域,例如,也能够采用图中的“唯一密钥”的输入输出项目所示那样的单选按钮、下拉列表等的控件。
图10是关于配件对象103的三要素的配置模式的其他例子而示出了概要的图。在图10的(a)、(b)中,示出了在客户终端200为移动电话等的小画面的终端的情况下的布局例。在图10的(a)中,在控件部的右侧配置标签部,并且注释部在其下部以根据需要进行显示的方式配置。同样地,在图10的(b)中,上下地配置标签部、控件部,在其下部以根据需要进行显示的方式来配置注释部。在这些模式中,在没有说明注释的情况下(不需要的情况下),不进行显示,实现高效地利用窄的画面。
另外,在图10的(c)、(d)中,示出了在客户终端200为智能手机等的情况下的布局例。在图10的(c)中,在上部配置注释部,在其下部并列地配置标签部与控件部。在图10的(d)中,并列地配置标签部与控件部,且进一步地通过图标等来配置注释部,通过选择该图标,从而不通过文本控件而是通过弹出窗口等来显示注释部,与PC等相比,实现高效地利用窄的画面。
这样,在本实施方式中,记载了在源代码101中使用配件对象103来显示输入输出项目,从而能够以关于多个输入输出项目(配件对象103)统一地调整布局来进行显示的方式来生成HTML数据102。因此,本实施方式中的CRUD型应用能够通过作为与业务DB 131的各字段对应的输入输出项目,依照规定的规则在画面上配置配件对象103,以与标准的功能、动作的安装组合的方式来创建源代码101而实现。另外,与实施方式一同样地,作为应用程序的开发支持***等,还能够安装自动地生成这样的源代码101的功能。
例如,作为向业务DB 131登记(C:Create)条目的应用,以依照业务DB 131的字段的排列顺序配置用于在画面上显示指定针对业务DB 131的各字段而登记的数据的输入域的配件对象103的方式来创建源代码101。此时,将根据需要来进行画面显示的控件的ID与字段的名称的对应关系保存为映射信息。此外,作为标准的功能,配置用于执行向业务DB131登记条目的“登记”按钮、“取消”按钮等。此外,在辞典表122中,将关于各配件对象103显示控件时使用的属性值、控制信息等信息保存为辞典数据。此时,在针对各项目没有特别指定的情况下分别通过默认值来设定。
另外,例如,作为进行针对业务DB 131的检索(R:Read)的应用与上述同样地,以配置用于在画面上显示指定用于检索业务DB 131的条件的输入域的配件对象103的方式来创建源代码101。此时,如果关于业务DB 131的对象表的所有字段都能够指定为检索条件,则变得过多,所以也可以例如进行暂定地仅关于开头的五个字段显示输入域等简化,能够从后面变更。另外,将根据需要来进行画面显示的控件的ID与字段的名称的对应关系保存为映射信息。此外,作为标准的功能,配置用于进行业务DB 131的条目的检索的“检索”按钮等。
另外,例如,在输入检索条件的区域的下部,自动地配置用于显示检索结果的表(表)控件。在这里,例如对表控件的对象的项目定义阵列,设定相当于与业务DB 131的各字段对应的配件对象103的调用的内容。例如,将表的标题行设为由各配件对象103共用的标签部的显示区域,将表的各行设为各配件对象103的控件部的显示区域。由此,为了在表控件的各列显示业务DB 131的各字段的内容,能够安装显示部142或者配件对象103。
如以上所说明的那样,根据作为本发明的实施方式二的Web服务器***100,例如,在访问到业务数据库的CRUD型的Web应用程序中,通过由与多个逻辑要素单位对应的画面控件构成的配件对象103来显示在画面上显示的输入输出项目等,并且使布局信息独立,从而能够在整个画面以配件对象103为单位统一地调整其布局、属性等。
由此,例如,针对可显示区域,为了防止使标签控件未意识到的地方换行,或者相反地在意识到的地方不换行等,能够一体地调整标签控件与输入输出控件的显示幅度、单选按钮等设备、OS等外观不同的输入输出控件,根据多个设备、OS等来与标签控件一体地动态地调整显示位置、幅度等。另外,能够在多个输入输出项目之间,统一地调整各控件的布局并以具有一致性的形式进行配置。
另外,配件对象103与输入输出项目一一对应,所以将各控件针对的参数、属性值等统一作为辞典数据等输出,容易与输入输出项目对应起来地管理。另外,能够与配件对象103独立地定义作为要素的多个画面控件之间的布局调整所涉及的信息,能够大大地降低控件之间的布局调整所需的负载。
另外,例如,在本实施方式中,将标准的CRUD型的Web应用设为对象,但不限于此。用户例如以组合了辞典表122与配件对象103的形式,针对还包括地用户界面、商业逻辑等的动作内容构建了的独自的应用(不限于Web应用,也可以是客户端/服务器型、独立型等),能够通过同样的概念来调整配件对象103的布局。
[实施方式三]
作为本发明的实施方式三的Web服务器***例如关于在Web服务器上动作并且访问到业务数据库的所谓的CRUD型的Web应用程序的画面迁移,能够容易地生成客户终端的Web浏览器等在独立环境中能够单独地再现的演示应用。
在本实施方式中,与实施方式一、二同样地,例如在CRUD型的Web应用程序中,为了显示画面上的输入输出项目(例如,指定用于从业务数据库中取得数据的检索条件的内容的输入项目、显示检索结果的内容的输出项目)所涉及的内容,不是直接使用标准的控件对象(下面,有时仅记载为“控件”),而是如后面所述地使用显示名与控件的设定内容、控制处理以及说明文本的各数据一体地构成的配件对象。
该配件对象与实施方式一、二同样地,能够指定在画面上显示什么样的控件(例如,仅文本控件、(文本控件与)输入域、(文本控件与)下拉列表、…等)作为参数。另外,安装为关于控件的属性值(例如,在文本控件中显示的文本的内容、输入域的长度等)、控制信息(例如,如何进行输入数据的妥当性检查等)等,也能够进行指定,依照所指定的内容显示并控制控件。
换而言之,配件对象构成为组合地显示输入域、下拉列表、文本等的、处理输入输出项目的数据的输入输出控件、与显示输入输出项目的名称等的文本控件的标签控件,具有能够指定这些控件的输出的模式这样的构成。
此时,如实施方式二所示,能够将标签控件与输入输出控件总括起来,以具有一致性的形式调整控件的幅度等的属性值,所以用户无需进行单独地以具有一致性的方式指定属性值等这样的烦杂的处理,能够进行所显示的控件的外观的调整。在该调整中,包括例如为了防止针对可显示区域,使标签控件未意识到的地方换行、或者相反地在意识到的地方不换行,一体地调整标签控件与输入输出控件的显示幅度等。
在本实施方式中,Web应用程序关于画面上的各输入输出项目所涉及的内容使用该配件对象来进行显示,创建源代码。即,使用配件对象而间接地显示控件(动态地生成配件对象在Web服务器***上执行时显示对象的控件的HTML数据、脚本等)。另外,访问的对象的数据库的各字段与画面上的输入输出项目的映射所涉及的信息作为数据库的各字段的识别信息(例如字段名称)、与对应的配件对象的识别信息(例如HTML的ID属性值)的映射信息,在源代码上保存。
此外,在本实施方式中,与实施方式一、二同样地,关于在各配件对象中在标签控件中显示的文本、以及输入输出控件的属性值、控制处理所涉及的信息等,如后面所述,去除一部分,不是在源代码上直接指定,而是构成为作为与配件对象的ID或者对应的数据库的字段名称等的识别信息关联起来了的辞典数据业进行输出并保存。由此,针对临时所生成的源代码而不施加变更,能够动态地变更画面的显示方式、通过配件对象来在画面上显示的控件的外观、属性等。
另外,通过在继承源的层级安装对上述的辞典数据的访问等、配件对象共同具有的功能,在开发时继承该层级而创建各配件对象,开发者无需每次安装配件对象的功能而能够开发Web应用程序。
在这里,在本实施方式的Web服务器***中,关于Web应用程序,如果用户实际使其动作并进行画面迁移,则在通过Web服务器程序来生成并输出各画面的定时,根据Web服务器程序的输出缓冲器累积了的画面的HTML数据,自动地生成在客户终端的本地能够动作地变换了路径等的本地数据。将该本地数据,与需要的资源一并发送到客户终端的规定的文件夹、目录(具有与Web服务器上相同的分层构成)而存储。
通过这样的方法,能够自动地生成与执行了的Web应用的画面迁移对应了的、在客户终端上单独进行动作的演示应用。此外,利用这样的方法的演示应用的生成如上所述,以往主要由用户针对每个画面通过手动来进行。与此相对地,在本实施方式中,能够自动地进行这样的演示应用的生成处理,能够大幅降低用户的负载。
此外,在本实施方式中,使用上述的配件对象来开发Web应用程序,但本实施方式中,如上所述,根据在输出缓冲器中累积了的画面的HTML数据来生成演示应用,所以只要能够安装从输出缓冲器中取得HTML数据的处理,就不特别限定于使用上述的配件对象,能够将任意的Web应用程序设为对象。
<***构成>
图11是关于本发明的实施方式三的Web服务器***的构成例而示出了概要的图。Web服务器***100是如下的Web服务器***:具有基本上与实施方式二的图6的例子所示的构成大致同样的构成,例如,由服务器设备、云计算环境中的虚拟服务器等计算机设备构成,除未图示的OS、DBMS、Web服务器程序等中间件之外,还具有通过用户创建了的源代码101或者从那里被调用的文件库、对象等软件程序来安装的请求处理部110、辞典处理部121、商业逻辑130、以及响应处理部140等各部。
另外,Web服务器***100针对来自经由因特网等网络300而连接的客户终端200上的未图示的Web浏览器等的程序的请求,通过商业逻辑130来对业务数据库(DB)131进行访问并进行处理,针对客户终端200而输出HTML数据102并进行响应,由此提供服务。
请求处理部110、辞典处理部121、商业逻辑130的各部的构成以及功能、处理内容与实施方式二中说明了的同样,所以省略再次的说明。
响应处理部140具有根据基于源代码101的内容的商业逻辑130等的处理结果来生成HTML数据102且对客户终端200进行响应的功能,具其有通过软件程序来安装的显示部142、显示调整部143、以及本地数据生成部144等各部。显示部以及显示调整部143的各部的功能、处理内容与实施方式二中说明了的相同,所以省略再次的说明。
本地数据生成部144具有根据通过显示部142生成的HTML数据102来生成本地数据105,与需要的资源104一并发送到客户终端200的规定的文件夹、目录而存储,由此在客户终端200上生成演示应用的功能。
具体来说,例如首先,关于未图示的Web服务器程序的输出缓冲器中累积了的HTML数据102,在对客户终端200输出时取得。该定时具体来说是例如输出的“紧接之前”,在本实施方式中,各画面中显示的控件是使用配件对象103来显示,所以例如也可以在用于显示配件对象103(HTML生成)而生成画面的共用的层级等中,在写出最后的HTML标记(“</html>”)时调用规定的方法等。
另外,与本实施方式不同,在为了画面显示而不使用配件对象103的情况下,例如,也可以在各画面中共同地在最后追加1行调用规定的方法等那样的代码,由此进行同样的处理。另外,只要是在结束时的跟踪点、日志输出等的调试代码被调用时执行那样的、能够捕捉画面生成完成时的事件的单元,就能够适当利用。
针对在画面生成完成时从输出缓冲器中所取得的HTML数据102,本地数据生成部144进一步关于该HTML数据102,以在客户终端200的独立环境中能够动作的方式,进行如后面所述的路径变换等而生成本地数据105。关于HTML数据102参照的画像数据、其他脚本文件等所需要的资源104,也同样地进行路径变换等。生成了的本地数据105以及需要的资源104发送到客户终端200的规定的文件夹、目录并存储。
在客户终端200中,通过利用Web浏览器等而访问到由在本地的规定的文件夹、目录储存了的本地数据105以及需要的资源104构成的演示应用,无需Web服务器能够在独立环境中再现Web应用的画面内容、画面迁移。
在本实施方式中,通过与实施方式二的图7的例子所示的处理相同的处理,在CRUD型应用中通过配件对象103来在画面上显示对应的字段的输入输出项目。此时,关于通过上述的处理而响应处理部140的显示部142、显示调整部143等来生成并且在未图示的Web服务器程序的输出缓冲器中累积了的HTML数据102,紧接在针对客户终端200进行输出之前,本地数据生成部144取得该数据,生成本地数据105。
在本实施方式中,如上所述,例如,在用于显示配件对象103(HTML生成)而生成画面的共用的层级等中,在写出最后的HTML标记(“</html>”)时调用规定的方法等,由此执行。
<本地数据生成处理>
图12是关于由HTML数据102生成本地数据105的处理的流程的例子而示出了概要的流程图。如上所述,本地数据生成部144在紧接于针对客户终端200生成并输出画面迁移中的各画面的HTML数据102之前(由HTML数据102构成的画面生成完成时)的定时被调用。当被调用时,首先,取出未图示的Web服务器程序的输出缓冲器中累积了的HTML数据102,关于其中所记载的各HTML标记,根据需要以容易观察的方式,针对每一级设定分隔符、缩进,以成为阶梯状的方式来编辑(S01)。
接着,关于HTML数据102,变换所记载的文件、资源104的路径(S02)。具体来说,例如,将由“href=”/”,“href='/”、“src=”/”、“src='/”、“url('/”、“url(”/”、其他URL表述构成的内部路径,变换成接着“file:///”的本地路径。
在这里,本地路径变换是指,在路径表述为以“/”开始的绝对路径的情况下在开头附加成为客户终端200上的保存目的地的基准的规定的目录、文件夹(例如,“c:¥design”等。下面,记载为“输出目的地目录”)的字符串而得到本地路径。另一方面,在路径表述为以“../”开始的相对路径的情况下取得“../”的数量的、在路由方向上追溯在Web服务器***100上的配置位置而前进到的位置的绝对路径之后,在开头附加输出目的地目录的字符串而得到本地路径。本地路径的字符串根据客户终端200的平台来适当变换格式。此时,在URL以“/”结束的情况下将“index.html”设为文件名,并且参数部分的文件名也与通过后述的处理拷贝到客户终端200时的文件名同步地,变换成与平台相应的合适的文件名。此外,输出目的地目录的值例如能够在辞典表122中作为辞典数据来设定/登记。
其后,关于HTML数据102自身的配置位置,也进行本地路径变换而取得配置位置的路径,在客户终端200上的该配置位置将变换后的HTML数据102作为文件输出(S03)。当在配置位置不存在文件夹、目录的情况下,重新创建并输出。
此外,在步骤S02中,从资源104中提取在HTML数据102中与变换成“file:///…”的路径对应的文件(S04),关于提取到的各文件,将由内部所记载的URL表述构成的路径变换成本地路径(S05),在客户终端200上的规定的配置位置输出或者拷贝变换了的文件、资源104等(S06)。
例如,在提取到的文件为CSS(Cascading Style Sheets,层叠样式表)文件的情况下关于其中的“url(…)”内的画像文件进行上述的本地路径变换,并且客户终端200上的该路径的位置从资源104拷贝画像文件。另外,关于CSS文件自身的配置位置,也进行本地路径变换而取得配置位置的路径,在客户终端200上的该配置位置输出变换后的CSS文件。
此外,当在CSS文件中使用了压缩文件的情况下,在使得根据命名规则等能够指定压缩前的文件的基础上,在服务器上事先配置压缩前的文件,使用它们来进行处理。同样地,关于外部文件也确定与服务器上的配置位置的变换规则等,在使得能够指定是外部文件的基础上,在服务器上事先配置。
另外,提取到的文件JS文件(JavaScript(注册商标)外部文件)的情况下提取JS文件内的画像文件而进行本地路径变换,并且在客户终端200上的该路径的位置从资源104拷贝画像文件。另外,关于由JS文件内的各URL表述构成的内部路径,进行向本地路径的变换。此外,关于JS文件自身的配置位置,也进行本地路径变换而取得配置位置的路径,在客户终端200上的该配置位置输出变换后的JS文件。
另外,在提取到的文件为画像文件的情况下在变换后的HTML数据102中,关于已经进行本地路径变换的画像文件的路径,在客户终端200上的对应的位置从资源104拷贝画像文件。
通过上述的那样的一系列的处理,在用户执行Web应用并进行画面迁移时,能够自动地生成能够在客户终端200上单独显示各画面的演示应用并在客户终端200上输出。
此外,例如,在Web服务器***100保存关于是否使生成演示应用的功能有效的设定信息,在使该功能无效的情况下能够使得即使执行Web应用并进行画面迁移,也不生成演示应用。另外,也可以与Web应用程序的开发环境等结合地构建该Web服务器***100,与开发了的画面的确认、仿真等动作时一起生成演示应用。
如以上所说明的那样,根据作为本发明的实施方式三的Web服务器***100,用户如果经由客户终端200一次执行Web应用并使画面迁移,则关于画面迁移中包括的各画面,在客户终端200上的规定的输出目的地目录的下级,能够自动地配置与Web服务器***100(Web服务器)相同的URL构造中所需要的HTML文件、资源文件,能够自动地生成在客户终端200上单独地进行动作的演示应用。由此,能够大幅降低演示应用的创建负载。
另外,例如,除上述的那样的演示应用的生成之外,还针对通过ZIP格式等来压缩例如HTML文件与JS文件、以及CSS文件构成的本地文件而进行配送的***,也能够应用通过本实施方式的构成生成了的数据。
以上,根据实施方式来具体地说明了由本发明者完成了的发明,但本发明不限定于上述的实施方式,在不脱离其主旨的范围内能够进行各种变更,这不言而喻。例如,上述的实施方式是为了容易理解地说明本发明而进行了详细说明,但不一定限定于具备所说明的所有的构成。另外,能够将某个实施方式的构成的一部分置换成其他实施方式的构成,另外,也能够在某个实施方式的构成添加其他实施方式的构成。另外,关于各实施方式的构成的一部分,能够进行其他构成的追加/削除/置换。
产业上的可利用性
本发明能够用于Web服务器***中的应用的开发技术。
Claims (4)
1.一种Web服务器***,使Web应用程序工作,且关于所述Web应用程序的规定的画面迁移,生成能由客户终端单独再现的演示应用,所述Web应用程序通过接受来自所述客户终端上的请求而调用对应的商业逻辑,对所述客户终端响应基于所述商业逻辑的处理结果并进行画面显示,从而对所述客户终端提供服务,所述Web服务器***的特征在于,
在生成并输出所述Web应用程序针对所述客户终端进行响应的画面时,从保存所生成的所述画面的HTML数据的输出缓冲器中取得所述HTML数据,将所述HTML数据中包括的URL表述或者路径,分别变换成以所述客户终端上的规定的目录作为基准的第一本地路径,并且,将所述HTML数据的所在位置的路径变换成以所述规定的目录作为基准的第二本地路径,
作为所述演示应用,在通过所述客户终端上的所述第二本地路径示出的位置,输出由所述HTML数据构成的HTML文件,进一步关于包括所述HTML数据参照的资源的各文件,在通过所述客户终端上的对应的所述第一本地路径示出的位置,分别进行输出或者拷贝。
2.根据权利要求1所述的Web服务器***,其特征在于,
关于包括所述HTML数据参照的所述资源的各文件,分别将在文件中包括的URL表述或者路径,变换成以所述规定的目录作为基准的第三本地路径。
3.根据权利要求2所述的Web服务器***,其特征在于,
由所述第一本地路径以及第二本地路径构成的所述规定的目录以下的分层结构与配置有所述Web应用程序所涉及的文件、资源的目录的分层结构相对应。
4.一种演示应用生成方法,所述演示应用生成方法是Web服务器***中的演示应用生成方法,该Web服务器***使Web应用程序工作,且关于所述Web应用程序的规定的画面迁移,生成能由客户终端单独再现的演示应用,所述Web应用程序通过接受来自客户终端上的请求而调用对应的商业逻辑,对所述客户终端响应基于所述商业逻辑的处理结果并进行画面显示,从而对所述客户终端提供服务,所述演示应用生成方法的特征在于,执行以下工序:
在生成并输出所述Web应用程序针对所述客户终端进行响应的画面时,从保存所生成的所述画面的HTML数据的输出缓冲器中取得所述HTML数据,将所述HTML数据中包括的URL表述或者路径,分别变换成以所述客户终端上的规定的目录作为基准的第一本地路径,并且,将所述HTML数据的所在位置的路径变换成以所述规定的目录作为基准的第二本地路径的工序;以及
作为所述演示应用,在通过所述客户终端上的所述第二本地路径示出的位置,输出由所述HTML数据构成的HTML文件,进一步关于包括所述HTML数据参照的资源的各文件,在通过所述客户终端上的对应的所述第一本地路径示出的位置,分别进行输出或者拷贝的工序。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-204075 | 2012-09-18 | ||
JP2012204075A JP5917350B2 (ja) | 2012-09-18 | 2012-09-18 | 辞書システムおよび辞書呼び出し方法 |
JP2012204077A JP6113983B2 (ja) | 2012-09-18 | 2012-09-18 | 画面コントロール表示システムおよび画面コントロール表示プログラム |
JP2012204076A JP2014059699A (ja) | 2012-09-18 | 2012-09-18 | デモアプリケーション生成システムおよびデモアプリケーション生成プログラム |
JP2012-204076 | 2012-09-18 | ||
JP2012-204077 | 2012-09-18 | ||
CN201380059955.8A CN104798067B (zh) | 2012-09-18 | 2013-08-29 | 辞典***以及辞典调用方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380059955.8A Division CN104798067B (zh) | 2012-09-18 | 2013-08-29 | 辞典***以及辞典调用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113158651A true CN113158651A (zh) | 2021-07-23 |
Family
ID=50341148
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610910911.7A Expired - Fee Related CN107092589B (zh) | 2012-09-18 | 2013-08-29 | Web服务器***、画面控件显示方法以及演示应用生成方法 |
CN201380059955.8A Expired - Fee Related CN104798067B (zh) | 2012-09-18 | 2013-08-29 | 辞典***以及辞典调用方法 |
CN202110357746.8A Pending CN113158651A (zh) | 2012-09-18 | 2013-08-29 | Web服务器***以及演示应用生成方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610910911.7A Expired - Fee Related CN107092589B (zh) | 2012-09-18 | 2013-08-29 | Web服务器***、画面控件显示方法以及演示应用生成方法 |
CN201380059955.8A Expired - Fee Related CN104798067B (zh) | 2012-09-18 | 2013-08-29 | 辞典***以及辞典调用方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9817811B2 (zh) |
CN (3) | CN107092589B (zh) |
WO (1) | WO2014045826A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016133861A (ja) * | 2015-01-16 | 2016-07-25 | 株式会社ぐるなび | 情報多言語変換システム |
EP3244302A1 (en) | 2016-05-12 | 2017-11-15 | Ricoh Company, Ltd. | Information processing system and method of generating screen |
US10732815B1 (en) * | 2017-04-09 | 2020-08-04 | Rowan TELS Corp. | System and method for mapping flow chart process descriptions to system diagram elements through a graphical user interface |
CN108322807B (zh) * | 2018-02-24 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种弹幕展示方法及装置 |
CN112074840A (zh) * | 2018-05-04 | 2020-12-11 | 瑞典爱立信有限公司 | 以多种语言形式的替代文本来丰富实体的方法和装置 |
CN111226250B (zh) * | 2018-09-26 | 2023-09-22 | 乐天集团股份有限公司 | 受理***、受理方法、以及储存介质 |
JP7316060B2 (ja) * | 2019-02-26 | 2023-07-27 | 株式会社日立製作所 | アプリケーション画面表示プログラム実装方法 |
CN111222066A (zh) * | 2019-12-31 | 2020-06-02 | 航天信息股份有限公司广州航天软件分公司 | 一种用于事件处理及搜索的下拉组件***及方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1383077A (zh) * | 2001-04-27 | 2002-12-04 | 华为技术有限公司 | 护航浏览多窗口网页同步的实现方法 |
JP2004246401A (ja) * | 2003-02-10 | 2004-09-02 | Toshiba Solutions Corp | Webアプリケーションサーバシステムとコンピュータプログラム |
WO2005055006A2 (en) * | 2003-11-26 | 2005-06-16 | Garpac Corporation | Business software application generation system and method |
JP2006065677A (ja) * | 2004-08-27 | 2006-03-09 | Canon Inc | 情報処理装置及びその制御方法、プログラム |
CN101127038A (zh) * | 2006-08-18 | 2008-02-20 | 鸿富锦精密工业(深圳)有限公司 | 下载网站静态网页的***及方法 |
JP2010170453A (ja) * | 2009-01-26 | 2010-08-05 | Nippon Business Engineering:Kk | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム |
WO2010087071A1 (ja) * | 2009-02-02 | 2010-08-05 | 株式会社ナレッジデザイン | ウェブサーバシステム及びプログラム |
US20110066704A1 (en) * | 2009-09-14 | 2011-03-17 | Hitachi, Ltd. | Method and System of Recording and Reproducing Web Application Operation |
CN102129441A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种识别处理网页信息的方法和网页信息识别处理装置 |
US20110264735A1 (en) * | 2007-11-27 | 2011-10-27 | Ido Gaver | Method, Device and System For Creating a Virtual Local Social Network |
CN102254049A (zh) * | 2011-08-29 | 2011-11-23 | 程向明 | 一种Web页设计***及其构建方法 |
CN103049383A (zh) * | 2012-12-31 | 2013-04-17 | 博彦科技(上海)有限公司 | 一种开发测试云*** |
CN105988778A (zh) * | 2015-01-28 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种页面设置方法及装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497319A (en) * | 1990-12-31 | 1996-03-05 | Trans-Link International Corp. | Machine translation and telecommunications system |
US6714778B2 (en) | 2001-05-15 | 2004-03-30 | Nokia Corporation | Context sensitive web services |
US20020174150A1 (en) | 2001-05-18 | 2002-11-21 | Xerox Corporation | Systems and methods for dynamic national language service |
EP1473639A1 (en) * | 2002-02-04 | 2004-11-03 | Celestar Lexico-Sciences, Inc. | Document knowledge management apparatus and method |
JP3567217B2 (ja) * | 2002-09-05 | 2004-09-22 | コナミ株式会社 | ゲームプログラム及びゲーム装置 |
US20050222931A1 (en) * | 2003-08-27 | 2005-10-06 | Ascential Software Corporation | Real time data integration services for financial information data integration |
WO2005045656A1 (en) * | 2003-11-04 | 2005-05-19 | Think2020, Inc. | Systems, methods, and computer program products for developing enterprise software applications |
US8788687B2 (en) * | 2006-10-04 | 2014-07-22 | Welch Allyn, Inc. | Dynamic medical object information base |
CN101034349A (zh) * | 2007-04-06 | 2007-09-12 | 西安万年科技实业有限公司 | 基于功能设计的数据库应用***开发平台 |
JP4686559B2 (ja) * | 2008-01-25 | 2011-05-25 | 株式会社東芝 | 通信監視記録再生装置及び通信監視記録再生システム |
JP4626675B2 (ja) * | 2008-05-15 | 2011-02-09 | 村田機械株式会社 | 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ |
CN102004742A (zh) * | 2009-09-01 | 2011-04-06 | 上海杉达学院 | 多层数据库访问结构 |
CN101697127B (zh) * | 2009-10-30 | 2012-08-29 | 南京中兴软创科技股份有限公司 | 一种软件***国际化方法 |
JP5585239B2 (ja) | 2010-06-24 | 2014-09-10 | 株式会社リコー | 情報処理装置、制御プログラム、記録媒体、及び、表示制御装置 |
JPWO2012132767A1 (ja) * | 2011-03-31 | 2014-07-28 | 株式会社Nttドコモ | 携帯端末 |
CN102289376A (zh) * | 2011-09-16 | 2011-12-21 | 烽火通信科技股份有限公司 | 基于嵌入式的多语言web页面实现方法及*** |
KR101893928B1 (ko) * | 2012-01-19 | 2018-08-31 | 삼성전자 주식회사 | 단말기의 페이지 표시 방법 및 장치 |
US9158899B2 (en) * | 2012-11-01 | 2015-10-13 | Inka Entworks, Inc. | Terminal apparatus with DRM decoding function and DRM decoding method in terminal apparatus |
-
2013
- 2013-08-29 WO PCT/JP2013/073185 patent/WO2014045826A1/ja active Application Filing
- 2013-08-29 CN CN201610910911.7A patent/CN107092589B/zh not_active Expired - Fee Related
- 2013-08-29 CN CN201380059955.8A patent/CN104798067B/zh not_active Expired - Fee Related
- 2013-08-29 US US14/426,470 patent/US9817811B2/en active Active
- 2013-08-29 CN CN202110357746.8A patent/CN113158651A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1383077A (zh) * | 2001-04-27 | 2002-12-04 | 华为技术有限公司 | 护航浏览多窗口网页同步的实现方法 |
JP2004246401A (ja) * | 2003-02-10 | 2004-09-02 | Toshiba Solutions Corp | Webアプリケーションサーバシステムとコンピュータプログラム |
WO2005055006A2 (en) * | 2003-11-26 | 2005-06-16 | Garpac Corporation | Business software application generation system and method |
JP2006065677A (ja) * | 2004-08-27 | 2006-03-09 | Canon Inc | 情報処理装置及びその制御方法、プログラム |
CN101127038A (zh) * | 2006-08-18 | 2008-02-20 | 鸿富锦精密工业(深圳)有限公司 | 下载网站静态网页的***及方法 |
US20110264735A1 (en) * | 2007-11-27 | 2011-10-27 | Ido Gaver | Method, Device and System For Creating a Virtual Local Social Network |
JP2010170453A (ja) * | 2009-01-26 | 2010-08-05 | Nippon Business Engineering:Kk | 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム |
WO2010087071A1 (ja) * | 2009-02-02 | 2010-08-05 | 株式会社ナレッジデザイン | ウェブサーバシステム及びプログラム |
US20110066704A1 (en) * | 2009-09-14 | 2011-03-17 | Hitachi, Ltd. | Method and System of Recording and Reproducing Web Application Operation |
CN102129441A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种识别处理网页信息的方法和网页信息识别处理装置 |
CN102254049A (zh) * | 2011-08-29 | 2011-11-23 | 程向明 | 一种Web页设计***及其构建方法 |
CN103049383A (zh) * | 2012-12-31 | 2013-04-17 | 博彦科技(上海)有限公司 | 一种开发测试云*** |
CN105988778A (zh) * | 2015-01-28 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种页面设置方法及装置 |
Non-Patent Citations (2)
Title |
---|
ROY ZHANG 等: "JQuery Smart UI 简介", Retrieved from the Internet <URL:cnblogs.com/zhh8077/archive/2010/11/16/1879037.html> * |
TUDOR GROZA 等: "The Salt Triple:Framework editor publisher", 《DCOENG07》, 28 August 2007 (2007-08-28), pages 99 - 100 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107092589A (zh) | 2017-08-25 |
US9817811B2 (en) | 2017-11-14 |
CN104798067B (zh) | 2017-07-04 |
WO2014045826A1 (ja) | 2014-03-27 |
CN104798067A (zh) | 2015-07-22 |
CN107092589B (zh) | 2021-03-09 |
US20150278190A1 (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092589B (zh) | Web服务器***、画面控件显示方法以及演示应用生成方法 | |
CN109062567B (zh) | 基于b/s结构的信息管理***快速开发平台 | |
US9952836B2 (en) | Web server system, application development support system, multilingual support method in web server system, multi-device support method in web server system, and application development support method | |
US20220269740A1 (en) | Contextual editing in a page rendering system | |
KR101275871B1 (ko) | SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체 | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
US20110023014A1 (en) | Method and apparatus for modifying an executable application using in-memory object representation | |
JP2011180796A (ja) | コンテンツ共有システム | |
CA2686367A1 (en) | Dynamic native editor code view facade | |
US10095528B2 (en) | Interfacing systems and methods | |
US20240020350A1 (en) | Method and system for navigation control | |
Swearngin et al. | Genie: Input Retargeting on the Web through Command Reverse Engineering | |
US11010021B2 (en) | Context menu fragment management | |
US20170286581A1 (en) | Scheme and Design Markup Language for Interoperability of Electronic Design Application Tool and Browser | |
JP5766651B2 (ja) | 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法 | |
US20180113721A1 (en) | Systems and methods for generating a self-updating maintenance page | |
JP6113983B2 (ja) | 画面コントロール表示システムおよび画面コントロール表示プログラム | |
Çalışkan et al. | PrimeFaces cookbook | |
CN114356291A (zh) | 基于配置文件生成表单的方法、装置、设备及介质 | |
JP2014059699A (ja) | デモアプリケーション生成システムおよびデモアプリケーション生成プログラム | |
JP5917350B2 (ja) | 辞書システムおよび辞書呼び出し方法 | |
Van der Westhuizen | Bootstrap for ASP. NET MVC | |
KR20130040167A (ko) | SaaS 환경에서의 홈페이지 제작 시스템, 그 시스템의 기능을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체 | |
Walther | ASP. Net Kick Start | |
Patel | Sitecore Cookbook for Developers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |