网络应用服务器支持程序及服务器的制作方法

文档序号:6422273阅读:141来源:国知局
专利名称:网络应用服务器支持程序及服务器的制作方法
技术领域
本发明是关于向客户端发送网络信息的同时,接收来自客户端的对于网络信息的回复信息,并根据回信进行一系列的处理的服务器与用于此服务器的支持程序。
背景技术
对于与互联网等网络连接的网络服务器,当客户端要求发送网络信息(例如HTML文件)时,如图22所示,网络服务器30通过URL将作为要求对象的网络信息31发送至特定的客户端32,对应客户端32的要求进行信息的提供。
如今,并不是单纯地按照客户端32的发送要求发送网络信息31,而大多是使用如图23所示,可按照客户端32要求进行一系列处理的网络应用服务器33。网络应用服务器33具备位于所谓的前端(客户端23)与后端(数据库管理系统等)的中间位置的一种支持程序(中间件),该支持程序整理一系列的处理所需的处理环境,在有效地控制各种处理流程方面发挥着作用。而且,通过使用网络应用服务器33,如果是具备浏览器的客户端32,因为可以在网络应用服务器33中进行几乎所有的处理,所以,不需要依存客户端32的硬件能力,就可以进行处理(例如参照日经BP社出版局编《数码用语词典2002-2003版》,日经BP社发行,2002年3月18日第3版,431页)。
但是,在现有的网络应用服务器33中,已经预先准备了用于生成一系列处理所需的HTML文件的程序(以下称为视图),网络应用服务器33会根据客户端32的HTML文件的发送要求生成依次处理所需的HTML文件发送给客户端32,并通过接收来自客户端32的根据该HTML文件的输入表单输入的数据来获得一系列处理所需的数据。
例如在进行如图24所示的商品订购处理的网络应用服务器33中,预先准备了生成用于在客户端32处进行订购输入的订单输入画面的视图(以下称为“视图A”)、对于订购输入画面,根据来自客户端的订购数据,生成让客户端32进行该订购数据的确认的订购确认画面的视图(以下称为“视图B”)与根据订购确认画面中的订购了解数据,生成显示订购处理结束的订购结束画面的视图(以下称为“视图C”)。网络应用服务器33在收到来自客户端32的订购数据或者订购了解数据后,要把订购内容(例如名称、数量、合计金额、发送地等)存储在数据库34中,根据数据库34中存储的订购内容,进行商品发送处理等工作。
但是,在网络应用服务器34中,视图A~视图C通过网络一直处于可以访问的状态,所以,客户端32可以在与订购处理的流程无关的情况下访问视图A~视图C。在图24所示的订购处理中,实际的处理是否按照从视图A至视图C的顺序进行,要根据客户端32的信息发送要求。
因此,如图25所示,对于客户端向视图A的应答,使下一个的信息发送要求方为视图B,而在视图A中存储下一个的信息发送要求方,该信息发送要求方是否为视图B取决于客户端32的送信要求,即使规定在视图A后由视图B发送,但是,根据情况,有时客户端要求不由视图B发送而是由视图C发送时,会导致网络应用服务器33可能不向客户端32发送视图B生成HTML文件,而是发送视图C生成HTML文件。
而且,如图26所示,客户端32在发送视图B的订购确认用的HTML文件,然后,发送利用视图C生成的订购处理完毕的HTML文件,订购处理完毕后,按下浏览器的“返回”按钮,可以再次显示缓冲存储器中存储的视图B的HTML文件的画面。客户端32恐怕会有根据缓冲存储器中存储的视图B的画面,再次向网络应用服务器33回复订购了解数据的危险,再次向网络应用服务器33回复订购了解数据时,会产生两次重复订购处理的问题。
而且还存在以下问题如图27所示,客户端32向网络应用服务器33回复符合视图A的订购数据前,存在具有恶意的第三方客户端35冒充客户端32发送其他的订购数据的危险。此时,由于使用原来的网络应用服务器33,将不能判断传来的订购数据是来自哪个客户端根据哪个HTML文件回复的,有时将接收的信息判断为从客户端32传来的订购数据,进行订购处理,这样在客户端32与网络应用服务器33之间将很难进行安全的订购处理。
此外还存在下述的问题在一般的HTML文件中,在视图A~视图C的各个视图中,由于直接记述了客户端32需要输入的项目,所以因处理的变更等原因增减输入项目时,必须在每个视图中变更各个视图的项目,在变更处理方面需要花费大量的人力。

发明内容
本发明鉴于上述问题进行了解决,其课题为提供一种服务器与用于该服务器的支持程序,其中,在向客户端发送网络信息的同时,接收来自客户端的对于网络信息的回复信息,并在根据回复信息进行一系列处理的服务器中,服务器通过掌握一系列处理的过程,可以防止不按照处理步骤进行的处理,而且,可以很容易地变更一系列处理中使用的网络信息的内容。
发明内容为了解决上述课题,本发明的网络应用服务器支持程序,用于利用通信装置向客户端发送网络信息,使该通信装置接收来自上述客户端的对于上述网络信息的回复信息,并将该回复信息存储在存储装置中,根据上述存储装置中存储的一系列处理的处理步骤,进行根据上述回复信息的处理的网络应用服务器的控制部。上述控制部执行下列处理信息附加处理,在该网络信息中附加用于特定上述客户端的客户端特定信息与用于特定上述网络信息的网络特定信息;信息发送处理,在特定的上述处理步骤中,利用上述的通信装置,向上述客户端发送附加了上述客户端特定信息与上述网络特定信息的上述网络信息;信息存储处理,在向上述客户端发送上述网络信息时,使上述存储装置存储上述网络信息中附加的上述客户端特定信息及上述网络特定信息,与向上述客户端发送上述网络信息时的上述处理步骤相关处理信息;信息接收处理,使上述通信装置接收上述客户端回复的回复信息;回复信息检测处理,检测接收的回复信息中是否包括客户端特定信息与网络特定信息;业务执行处理,从上述回复信息检测出客户端特定信息及网络特定信息,并且当检测出的上述客户端特定信息及上述网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同时,利用上述存储装置求得并执行从上述存储装置中存储的上述处理信息中求得的处理步骤的下一处理步骤;从上述回复信息中检测出客户端特定信息及网络特定信息,并且当检测出的上述客户端特定信息与上述存储装置中存储的上述客户端特定信息相同,而检测出的上述网络特定信息与上述存储装置中存储的上述网络特定信息不同时,将再次执行从上述存储装置中存储的上述处理信息中求得的处理步骤。
此外,上述的存储装置具备作为成员变数的不同设置项目的作用域,在上述一系列的处理中使用的数据声明部、与在上述一系列的处理中按照上述每个设置项目存储上述回复信息中所包含数据的数据存储部。对于上述控制部,在上述网络信息中包含为了上述使客户端输入数据的数据输入表单时,从上述数据声明部中判断向上述客户端发送该网络信息时利用上述数据输入表单输入数据的设置项目的种类,在上述信息存储处理过程中,把上述客户端特定信息、上述网络特定信息、上述处理信息都存储在上述存储装置中。从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,而且从上述回复信息中检测出的输入数据的设置项目种类与上述存储装置中存储的输入数据的设置项目种类相同时,在上述业务执行处理过程中,可以按照每个设置项目把检测出的上述输入数据存储在上述数据存储部中。
而且,上述网络信息中包含有多个上述数据输入表单,并且按照上述数据输入表单输入数据的设置项目种类重复时,使上述控制部在上述每个数据输入表单中附加用于进行设置项目种类重复的输入数据的识别的标识符,并执行上述网络信息中包含的标识符的增加处理的同时,在上述信息存储处理过程中,将上述数据输入表单中输入数据的设置项目种类与上述标识符联系起来,与上述客户端特定信息、上述网络特定信息、上述处理信息一起存储在上述存储装置中。在上述业务执行处理过程中,从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,并且从上述回复信息中检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目种类按照每个相同的标识符都一致时,可以根据在上述存储装置中存储的标识符区分检测出的上述输入数据的设置项目,并按照每个设置项目存储在上述数据存储部中。
此外,本发明的网络应用服务器支持程序,在利用通信装置向上述客户端发送包含使客户端输入数据的数据输入表单的网络信息,在该通信装置中接收上述客户端作为回复信息回复的按照上述数据输入表单输入的数据,将上述输入数据存储于具备有具备有作为成员变数的不同设置项目的作用域使用的数据声明部与按照上述每个设置项目存储上述回复信息中所包含数据的数据存储部的存储装置的网络应用服务器的控制部中,执行信息附加处理,在该网络信息中附加用于使客户端输入数据的数据输入表单;信息发送处理,利用上述通信装置,向上述客户端发送附加了上述数据输入表单的上述网络信息;信息存储处理,从上述存储装置中存储的上述数据声明部中判断利用上述数据输入表单输入数据的设置项目种类,在向上述客户端发送上述网络信息时,将其存储在上述存储装置中;信息接收处理,使上述通信装置接收上述客户端回复的信息;回复信息检测处理,使其检测接收的回复信息中是否包含有上述输入数据;业务执行处理,从上述回复信息中检测出上述输入数据,且检测出的输入数据的设置项目种类与上述存储装置中存储的设置项目种类相同时,按照每个设置项目在上述数据存储部中存储检测出的上述输入数据。
在此网络应用服务器支持程序中,当上述网络信息中含有多个上述数据输入表单、并且根据上述数据输入表单输入数据的设置项目种类重复时,在使上述控制部在上述每个数据输入表单上附加为了进行设置项目种类重复的输入数据的识别的标识符,执行上述网络信息中包含的标识符的增加处理的同时,在上述信息存储处理过程中,将上述数据输入表单中所输入数据的设置项目种类与上述标识符联系起来,存储在上述存储装置中,在上述业务执行处理过程中,从上述回复信息检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目种类按照每个相同的标识符都一致时,可以根据上述存储装置存储的标识符区分检测出的上述输入数据的设置项目,并且按照每个设置项目存储在上述数据存储部中。
在上述网络应用服务器支持程序中,较佳是在上述信息存储处理结束后,在上述存储装置中保存进行上述信息接收处理所需的信息,并使上述控制部进行其他的处理,在通过上述信息接收处理接收上述回复信息时,可以通过使上述保存的信息复位,使上述控制部再次开始上述回复信息检测处理,在上述网络应用服务器中实现同时处理。
而且,既可以为具备利用上述网络应用服务器支持程序实现的功能的网络应用程序,也可以为具备利用网络应用服务器支持程序实现的功能的操作系统。
而且,本发明的服务器,为利用通信装置向客户端发送网络信息,利用该通信装置接收来自上述客户端的对于上述网络信息的回复信息,并将该回复信息存储在存储装置中,按照上述存储装置中存储的一系列处理的处理步骤,进行根据上述回复信息的执行处理的服务器,上述控制部执行信息附加处理(在该网络信息中附加为了特定上述客户端的客户端特定信息与为了特定上述网络信息的网络特定信息)、信息发送处理(在特定的上述处理步骤中,利用上述的通信装置,向上述客户端发送附加了上述客户端特定信息与上述网络特定信息的上述网络信息)、信息存储处理(在向上述客户端发送上述网络信息时,在上述存储装置中存储上述网络信息中附加的上述客户端特定信息及上述网络特定信息、与向上述客户端发送上述网络信息时的上述处理步骤相关处理信息)、信息接收处理(使上述通信装置接收上述客户端回复的回复信息)、回复信息检测处理(检测接收的回复信息中是否包括客户端特定信息与网络特定信息)、业务执行处理(从上述回复信息中检测出客户端特定信息及网络特定信息,且当检测出的上述客户端特定信息及上述网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同时,利用上述存储装置求得并执行从上述存储装置中存储的上述处理信息中求得的处理步骤的下一处理步骤,并加以执行;从上述回复信息中检测出客户端特定信息及网络特定信息,并且当检测出的上述客户端特定信息与上述存储装置中存储的上述客户端特定信息相同,而从上述回复信息中检测出的上述网络特定信息与上述存储装置中存储的上述网络特定信息不同时,将再次执行从上述存储装置中存储的上述处理信息中求得的处理步骤)。
此外,上述的存储装置具备作为成员变数的不同设置项目的作用域在上述一系列的处理中使用的数据声明部、与在上述一系列的处理中按照上述每个设置项目存储上述回复信息中包含数据的数据存储部,在上述网络信息中包含用于使上述客户端输入数据的数据输入表单时,上述控制部将从上述数据声明部中判断向上述客户端发送该网络信息时利用上述数据输入表单所输入数据的设置项目种类,在上述信息存储处理过程中,把上述客户端特定信息、上述网络特定信息、上述处理信息都存储在上述存储装置中,当从上述回复信息中检测出的客户端特定信息及网络特性信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,而且从上述回复信息中检测出的输入数据的设置项目种类与上述存储装置中存储的输入数据的设置项目种类相同时,在上述业务执行处理过程中,可以按照每个设置项目把检测出的上述输入数据存储在上述数据存储部中。
而且,当上述网络信息中含有多个上述数据输入表单,而且按照上述数据输入表单输入数据的设置项目种类重复时,上述控制部在每个上述数据输入表单中附加用于进行设置项目种类重复的输入数据的识别的标识符,执行上述网络信息中包含的标识符的增加处理的同时,在上述信息存储处理过程中,将上述数据输入表单中所输入数据的设置项目种类与上述标识符联系起来,与上述客户端特定信息、上述网络特定信息、上述处理信息一起存储在上述存储装置中,在上述业务执行处理过程中,当从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,并且从上述回复信息中检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目种类按照每个相同的标识符一致时,可以根据上述存储装置存储的标识符区分检测出的上述输入数据的设置项目,并按照每个设置项目存储在上述数据存储部中。
此外,本发明的服务器,为一种使具备利用通信装置向上述客户端发送包含为了使客户端输入数据的数据输入表单的网络信息,在该通信装置中接收上述客户端作为回复信息传来的按照上述数据输入表单输入的数据,作为成员变数的不同设置项目的作用域使用的数据声明部、与按照上述每个设置项目存储上述回复信息中所包含数据的数据存储部的存储装置存储上述输入数据,并具有控制部的服务器中,上述控制部执行信息附加处理(在该网络信息中附加为了使客户端输入数据的数据输入表单)、信息发送处理(利用上述通信装置,向上述客户端发送附加了上述数据输入表单的上述网络信息)、信息存储处理(从上述存储装置中存储的上述数据声明部中判断利用上述数据输入表单输入数据的设置项目种类,在向上述客户端发送上述网络信息时,将其存储在上述存储装置中)、信息接收处理(使上述通信装置接收上述客户端回复的信息)、回复信息检测处理(检测接收的回复信息中是否包含有上述输入数据)、业务执行处理(从上述回复信息中检测出上述输入数据,且检测出的输入数据的设置项目种类与上述存储装置中存储的设置项目的种类相同时,按照每个设置项目在上述数据存储部中存储检测出的上述输入数据)的服务器。
在上述的服务器中,当上述网络信息中含有多个上述数据输入表单,并且根据上述数据输入表单输入数据的设置项目种类重复时,上述控制部将在每个上述数据输入表单中附加为了进行设置项目种类重复的输入数据的识别的标识符,执行上述网络信息中包含的标识符的增加处理的同时,在上述信息存储处理过程中,将上述数据输入表单中所输入数据的设置项目种类与上述标识符联系起来,存储在上述存储装置中,在上述业务执行处理过程中,从上述回复信息中检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目种类按照每个相同的标识符都一致时,可以根据上述存储装置存储的标识符区分检测出的上述输入数据的设置项目,并按照每个设置项目存储在上述数据存储部中。
如上述说明所示,通过使用本发明,可以一边利用服务器确认服务器执行的一系列处理步骤的处理情况,一边执行该处理。
此外,在本发明中,控制部可以判断回复信息中所包含的输入数据的设置项目种类是否符合在已发送的网络信息的输入表单中可以输入的设置项目的种类,输入数据的设置项目与存储的设置项目一致时,将该输入数据与数据声明部联系起来,自动存储在数据存储部中,所以防止无意图的输入数据作为客户端的回复数据存储在数据存储部,并反映在其后的处理中。
而且,因为只有在发送网络信息及接收回复信息时,才可以读取(使其复位)存储部存储的所需数据,使控制部进行必要的处理,所以控制部可以容易地实现同时执行多个一系列处理的多任务环境。


图1表示与本发明相关的服务器的软件结构的方框图。
图2表示与本发明相关的服务器的硬件结构的方框图。
图3表示与本发明相关的服务器与客户端之间的数据发送接收关系的数据流程图。
图4表示牡蛎料理的订购处理的处理步骤的流程程序的程序明细图。
图5表示用于牡蛎料理的订购处理的类定义程序的程序明细的第1图。
图6表示用于牡蛎料理的订购处理的类定义程序的程序明细的第2图。
图7表示用于牡蛎料理的订购处理的HTML文件的数据定义的图。
图8表示牡蛎料理的订购处理步骤2中使用的HTML文件的显示画面的第1图。
图9表示牡蛎料理的订购处理步骤2中使用的HTML文件的显示画面的第2图。
图10表示牡蛎料理的订购处理步骤3中使用的HTML文件的显示画面的第1图。
图11表示牡蛎料理的订购处理步骤3中使用的HTML文件的显示画面的第2图。
图12表示与牡蛎料理的订购处理中的调味料种类相关的错误显示的HTML文件的显示画面的图。
图13表示牡蛎料理的订购处理步骤5中使用的HTML文件的显示画面的图。
图14表示分2组表示牡蛎料理订购处理过程中牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明项目的HTML文件显示画面的图。
图15表示具有三个窗口的HTML文件的显示画面概略的图。
图16表示用于制作具有三个窗口的HTML文件的流程程序的程序明细的图。
图17表示用于制作具有三个窗口的HTML文件所使用的页面定义的图。
图18表示具有三个窗口的HTML文件的显示画面的图。
图19表示使用标识符区分由牡蛎的名称、说明所构成的多个组的设置项目,并存储在存储部中,从回复信息中提取与每个标识符对应的输入数据的设置项目,并分别存储在数据存储部的处理的模式图。
图20表示无论有无流程程序,使存储部存储设置项目,从回复信息中提取对应的设置项目,并存储在数据存储部的处理的模式图。
图21表示将累计信息转换为时间信息,存储在存储部中,从回复信息中提取对应的时间信息,恢复为累计信息,并存储在数据存储部中的处理的模式图。
图22表示网络服务器与客户端之间的网络信息的发送接收方法的概略图。
图23表示以前的网络应用服务器与客户端之间的网络信息的发送接收方法的概略图。
图24表示网络应用服务器与客户端之间的商品订购处理方法的概略图。
图25表示客户端向网络应用服务器提出与订购处理的流程无关的网络信息发送要求时的图纸。
图26表示对于网络应用服务器,客户端进行双重订购处理时的图纸。
图27表示对于网络应用服务器,第三方的客户端发送订购数据时的图纸。
具体实施例方式
以下,利用

本发明的实施形态。
请参阅图1所示,是表示与本发明相关的网络应用服务器的软件结构的方框图。此服务器是由Windows(注册商标)、Linux等的OS(操作系统,operating system)2、0S2中工作的cgios3以及根据cgios3执行的应用软件4构成的。
cgios3是一种执行cgios用中记载的应用软件4的中间件,具有为了在作为以前的OS的OS2上运行应用软件4的仿真程序的作用。而且,cgios3由于添加了作为网络服务器用应用软件的功能及CGI(Common GatewayInterface)功能,具备了下述的cgios特有的功能,所以,也具有作为网络应用服务器用的支持软件(网络应用服务器支持程序)的作用。通过使用此cgios3,即使程序设计人员没有在应用软件4用的程序中直接记述在cgios 3中实现的处理,cgios3也会自动执行,所以,可以实现减轻制作程序的人力。
请参阅图2所示,是表示服务器1的硬件结构的概略的方框图。服务器1具备与客户端之间发送接收各种数据(信息)的信息发送接收部8、由CPU构成的控制部9、由硬盘构成的存储部10及数据库11。
客户端7是具备有个人电脑、PDA(Personal Digital Assistance)或者移动电话等浏览器的通信仪器。信息发送接收部8由NIC(网络适配卡,Network Interface Card)等构成,通过使用此信息发送接收部8,服务器1可以通过网络12与客户端7之间进行数据的发送与接收。网络12既可以是向外部开放的互联网等开放型网络,也可以是不向外部开放的LAN等网络。而且,在图2中,客户端7只使1台与网络12连接,当然也可以使多台与网络12连接。
在存储部10中存储着利用cgios3用的程序语言编写的应用软件4。应用软件4是通过编译流程程序与类定义程序而生成的。服务器1根据该应用软件4,进行例如受理来自客户端的商品订购的受理处理等一系列的窗口处理(关于相对于前端的后端接口处理)。
在这里,在流程程序中记述了该窗口处理的整体流程,在类定义程序中记述了窗口处理的各个阶段中的具体的处理。而且,流程程序引用了此类定义程序,进行窗口处理。此外,cgios3由于具有按照每个类定义程序的实例(意指对象指向程序技术中一般使用的实例,与类表示对象的形式相对,实例表示对象的实体。)管理类定义程序中使用的成员变数的功能,控制为从某个类定义程序的实例向客户端7发送的成员变数在回复时回复至该实例的成员变数(产生成员变数的实例与吸收成员变数的实例是同一个实例),所以,流程程序引用类定义程序中记载的处理命令时,在流程程序中不需要把成员变数作为直接自变数记载。据此,无论引用的处理命令属于不同的类还是属于相同的类,在流程程序中都可以不被该类中的成员变数所左右,而显示出处理步骤。
此外,表示窗口处理中的处理阶段的处理步骤信息、后述的会话值(客户端特定信息)及随机数值(网络特定信息)存储(保存)在存储部10中。在这里,所谓的处理步骤信息,更加具体地来说是指存储了控制部9进行处理时参照的程序计数器的地址值的信息。而且,存储部10中设置了在窗口处理过程中输入来自客户端7的数据时,按照每个与此时的处理相关的实例把输入数据作为设置项目分开存储的数据存储部。
向数据库11输入在窗口处理过程中处理确定的输入数据。在这方面,数据库11与在窗口处理过程中临时保存所输入数据的数据存储部不同。数据库11中存储的设置项目与在类定义程序中声明的成员变数的设置项目同步,如果在类定义程序中变更设置项目,cgios3会自动变更同步的设置项目。
控制部9为构成服务器1的计算机的CUP,除了按照应用软件4进行各种处理以外,还进行为了按照cgios3的核心(实现cgios的基本功能的部分)指示实现cgios3特有功能的处理。以下,按照cgios3的指示说明利用控制部9执行的cgios3特有的功能。
请参阅图3所示,为表示从服务器1向客户端7发送的HTML文件(网络信息)及从客户端7向服务器1回复的信息之间的发送接收信息关系的数据流程图。
客户端提出交易开始页面的HTML文件的发送要求(访问交易开始页面的URL的要求)时,控制部9将生成会话值与随机数值。这里的会话值是指服务器1为了识别为特定的客户端7进行的一系列的窗口处理所使用的值,控制部9通过使用此会话值,特定该窗口处理的内容及客户端7。随机数值是为了特定服务器1向客户端7发送的HTML文件所使用的数值。而且,在本实施形态中,为了特定HTML文件而使用了随机数值,但是只要是具有可以特定HTML文件的识别信息的功能的数值,都可以使用,不必限定于随机数值。此外,服务器1通过从类定义程序中引用流程程序中记述的第1处理步骤中的处理命令,生成用于第1处理步骤的HTML文件(以下作为第1HTML文件)。
然后,控制部9把生成的会话值与随机数值加密,使用HTML的HIDDEN参数把加密的会话值与随机数值附加在第1HTML文件中,从信息发送接收部中发送给客户端。而且,控制部9在发送第1HTML文件的同时,把会话值、随机数值、处理步骤信息存储(保存)在存储部10中,而且,在第1HTML文件中设置了用于使客户端输入数据的输入表单时,会根据每种实例存储可以利用输入表单输入的设置项目信息。然后从窗口处理中释放控制部9。
如果在客户端7中接收来自服务器1发送的第1HTML文件,在客户端7的网络浏览器画面上将会显示第1HTML文件。客户端7可以按照第1HTML文件的输入表单输入数据(输入数据),完成输入处理后按下“下一步”等按钮,会再次进行访问交易开始页面的URL的要求,同时作为回复信息向服务器1回复进行了输入处理的输入数据、与加密的会话值及随机数值。而且,服务器1的cgios3会根据会话值及随机数值进行客户端及HTML文件的特定,所以,要求从客户端7访问服务器1的URL只是交易开始页面的URL。在这一点,服务器1与把按照窗口处理的每项处理内容不同的URL作为要求访问方进行指定的以前的网络应用服务器是不相同的。
向服务器1的信息发送接收部8回复信息后,控制部9会再次开始一系列的窗口处理。在控制部9中,会进行回复信息中是否包含已加密的会话值及随机数值的检测,当不包含会话值及随机数值时,将把接收的回复信息判断为与服务器1发送的HTML文件无关的回复信息。
当从回复信息中检测出已加密的会话值及随机数值时,控制部9将会提取已加密的会话值及随机数值并将其解密,同时读取存储部10中存储的会话值及随机数值,并将解密后的会话值及随机数值与存储部10中存储的会话值及随机数值进行比较。当解密后的会话值与存储部10中存储的会话值相同时,控制部9将判断为发送HTML文件的客户端与回复信息的客户端是同一个客户端。另一方面,比较的会话值不同时,控制部9将判断为客户端不同,并将废弃接收到的回复信息。
当比较的会话值相同时,控制部9会进一步比较解密的随机数值与发送第1HTML文件时存储部10中存储的随机数值是否相同,相同时,将判断其为客户端7按照第1HTML文件的输入表单输入的数据并作为回复信息回复的信息,不同时,将判断其为按照与第1HTML文件不同的HTML文件处理的回复信息。
经过比较会话值与随机数值,控制部9判断接收的回复信息为根据第1HTML文件的输入表单的回复信息时,会比较存储部10中存储的类定义程序中每种实例的设置项目信息与回复信息的每种实例的输入数据的设置项目信息,并将与存储部10中存储的设置项目一致的输入数据按照该实例中使用的每个设置项目分开,存储在数据存储部中。如此,通过将客户端输入的数据按照类定义程序中使用的每种实例的成员变数的设置项目存储在数据存储部,当流程程序在后面的处理步骤中引用类定义程序中记载的处理命令时,将会把数据存储部中存储的每种实例的输入数据作为每种设置项目的默认值用于后面的处理中。与存储部10中存储的设置项目不一致的输入数据将会被废弃。然后,控制部9将会从存储部10中存储的处理步骤信息中判断在流程程序中表示的一系列的窗口处理中至哪个处理步骤为止处理结束,并执行判断的处理步骤的下一步步骤,即第2处理步骤的处理。
在第2处理步骤中,控制部9通过执行流程程序第2处理步骤中引用的处理命令,生成第2处理步骤中使用的HTML文件(以下作为第2HTML文件。)。然后,控制部9生成用于特定其为第2HTML文件的其他的随机数值,与第1处理步骤中生成的会话值一起加密,附加在第2HTML文件中。
控制部9通过信息发送接收部8向客户端发送第2HTML文件,而且在发送第2HTML文件的同时,将会话值、随机数值、处理步骤信息、第2HTML文件的输入表单中使用的每个类定义程序的设置项目信息存储(保存)在存储部10中,重复进行与第1处理步骤中说明的处理相同的处理。
第1处理步骤中回复的信息中包含已加密的会话值及随机数值,并且已加密的会话值与存储部10中存储的会话值相同,而随机数值不同时,可以判断其不是客户端对于第1HTML文件回复的回复信息,所以要再次重复执行利用存储部10中存储的处理步骤信息特定的处理。再次重复进行处理时,控制部9会废弃接收的回复信息,再次制作第1HTML文件,并将上述的会话值与用于特定新制作的第1HTML的新的随机数值加密,附加在第1HTML文件中。然后,控制部9通过信息发送接收部10,再次向客户端7发送第1HTML文件。再次发送第1HTML文件时,控制部9只变更存储部10中存储的随机数值,并再次在存储部10中存储(保存)会话值、处理步骤信息等各种信息。
控制部9会重复上述的处理,依次执行流程程序中存储的处理步骤,在进行了把一系列处理结束后在存储部10的数据存储部中更新存储的输入数据作为一系列的窗口处理中确定的数据在数据库中注册的处理后,制作表示窗口处理结束的HTML文件,发送给客户端7后,处理结束。
下面,使用简单的流程程序及类定义程序,更加具体地说明服务器1与客户端7之间的数据的发送接收方法。
请参阅图4~图7所示,是表示牡蛎料理的订购处理中执行程序的程序明细,图4为流程程序,图5、6为关于牡蛎料理的订购的类定义程序,图7为表示按照图4表示的流程程序制作的HTML文件的页面定义的程序。
牡蛎料理的订购处理基本上根据5道处理步骤完成。步骤1为进行使用的类的声明及生成的实例中使用的设置项目的初始值设置的处理步骤。
步骤2为客户端进行牡蛎的名称、烹调方法、添加的调味料三种设置项目的数据输入与说明的输入的处理步骤,为了进行此项处理,需要从服务器1向客户端7发送订购输入画面(以下作为页面A1)的HTML文件。图8及图9是表示符合页面A1的画面显示的图。
步骤3是使客户端7确认输入的牡蛎名称、烹调方法、添加的调味料、说明的内容的处理步骤。为了进行此项处理,要从服务器1向客户端7发送使客户端确认显示在步骤1中输入的订购内容的订购确认画面(以下作为页面B1)的HTML文件。图10及图11是表示符合页面B1的画面显示的图。而且,在步骤3中,要执行检查客户端输入的调味料的种类是否在两种以下的错误处理。三种以上时,在画面中会显示如图12所示的错误信息。
步骤4是在数据库11中存储进行订购确认的设置值信息的处理。
步骤5是根据步骤3中确认的内容通知接受牡蛎料理的订购的处理步骤,为了进行此项处理,会从服务器1向客户端7发送显示步骤3中确认的订购内容及订购处理完成的订购完成画面(以下作为页面C1)的HTML文件。图13是符合页面C1的画面显示。
图7(a)中表示的程序表示为了制作页面A1的HTML文件的页面定义,(b)中表示的程序表示为了制作页面B1的HTML文件的页面定义,(c)中表示的程序表示为了制作页面C1的HTML文件的页面定义。图7(a)~(c)中表示的程序利用HTML(Hypertext Markup Language)编写,<h3>~</h3>是为了在HTML文件的显示画面中显示标题的标签。而且,<inputtype=submit action=”next”label=“下一步”>是显示为“下一步”的按钮的标签,客户端点击此按钮时,作为回复信息,会向服务器回复“next”的回复值。<#slot>是表示根据在流程程序的规定处理过程中读取的类定义程序的处理命令,显示内容产生变化的标签。
下面说明图5、6中所示的类定义程序。此类定义程序总结了牡蛎料理的订购中使用的每个设置项目的成员变数的声明与使用该设置项目信息进行处理的处理命令,收集了进行与牡蛎料理的订购相关的处理时所需的信息。在图5、6中所示的类定义程序中,如package OysterOrder;所示,定义了OysterOrder这一类。
类定义程序由利用#BEGIN#DECLARE~#END#DECLARE中间的部分表示的设置项目的数据声明部p1与利用sub~{~~}表示的处理命令部p2~p7构成。
在数据声明部p1中,进行了每个与数据库11对应的设置项目的成员变数的声明,进行了为了输入订购ID、表示牡蛎的名称的编号、表示烹调方法的编号、调味料的编号的附带符号的整数性的成员变数声明、与为了输入关于烹调方法的说明的文本输入用成员变数声明。如果类定义程序被编译,则会在数据库中制作与编译时声明的成员变数对应的设置项目。因此,在类定义程序中变更成员变数的设置项目后,也会在编译类定义程序时,自动地变更数据库11中的设置项目。
处理命令部p2是一种通过在存储部10的数据存储部中确保类中使用的每个设置项目的存储部,生成实例的处理命令。
处理命令部p3是生成在数据库11中注册数据存储部中存储的输入数据时使用的顺序编号的处理命令,通过执行该处理命令,可以在数据库11中注册数据时,防止在已经注册的数据上保存。
处理命令部p4是进行实例中使用的设置项目的初始化的处理命令。如果在流程程序中引用、执行此处理命令,为了输入牡蛎名称的名称编号的实例的成员变数{brand}会代替表示岩牡蛎的设置值1,为了输入烹调方法编号的成员变数{recipe}会代替表示生食的设置值1,为了输出调味料编号的成员变数{trimming}会代替只表示柠檬的设置值2,输入烹调方法的说明的成员变数{comment}设置在空栏中。
处理命令部p5是为了制作页面A1中设置的订购输入表单的处理命令。如果在流程程序中引用、执行此处理命令,会制作出如图8所示的HTML文件(页面A1)。按照cgios3的指示,控制部9会把客户端按照制作的页面A1可以输入数据的设置项目与制作页面A1时引用的实例联系起来,存储在存储部10中。客户端7在根据页面A1进行了牡蛎名称的种类等的输入数据20的设置后,点击画面上的“下一步”按钮21,会向服务器1发送回复信息。在接收回复信息的服务器1中,控制部9将判断回复信息中包含的输入数据的设置项目是否符合存储部10中存储的设置项目,当有符合的设置项目时,将会把储存部10的数据存储部中存储的每个设置项目的输入数据自动更新为回复信息中包含的输入数据,不符合时,会废弃回复信息中包含的输入数据。
处理命令部p6是一种当回复信息中包含与调味料编号相关联的设置项目的输入数据,存储部10中也存储有与调味料编号相关的设置项目时,而且,设置项目相互一致,但是输入编号的数据值不是允许的数据值时,例如调味料编号同时选择了3种时,在页面A1上显示错误信息的处理命令。
处理命令p7为制作页面B1中显示的订购确认项目与页面C1中显示的订购完成项目的处理命令。页面B1与页面C1只是画面最上部显示的标题的显示与画面最下部显示的按钮的种类不同,牡蛎的名称、烹调方法、调味料、说明所组成的显示项目是相同的,所以可以在制作步骤2中的订购确认画面及步骤4中的订购完成画面的双方的HTML文件时使用。
下面说明流程程序。流程程序是一种通过引用类定义程序中记载的处理命令,记述一系列的窗口处理流程的程序。通过使用此流程程序,可以把网络应用中的执行处理顺序作为“一个单位的可执行程序编码”进行记录。
图4所示的流程程序由top、first、second、third、fourth五个处理步骤构成,此处理步骤的信息作为处理步骤信息存储在存储部10中。
首先,在ustream input_Order($o)[#订购输入流程~~]中,在说明该流程程序为订购输入流程的同时,还声明了此订购输入流程中使用的类只是用$o表示的一个实例。
从top$o=new<APP>::OysterOrder($s);中,通过执行new处理命令(处理命令部p2),确保利用OysterOrder表示的类用存储部,在该区域中生成$o表示的实例。而且,利用$o->default;执行处理命令的default(处理命令部p4),进行利用$o表示的实例的设置项目的初始值设置。
而且,在此流程程序中,只使用了一个实例$o,使用多个实例进行一系列的处理时,也可以如Streaminput-Order($o1,$o2)[#订购输入流程top$o1=new<APP>..=OysterOrder($s);$o1->default;$o2=new<APP>:..OysterOrder($s);$o2->default;所示,使用相同的类声明多个实例$o1、$o2。
在下一个处理步骤first中,利用图7(a)中所示的页面定义,制作图8中所示的页面A1。在这里记载为$V->[SLOT]=[slot=>$o->input];,所以图7(a)的<#slot>的标签部分中会显示出利用实例$o的input处理命令(处理命令部分p5)制作的订购输入表单被嵌入。虽然在处理步骤first的程序中没有记载,但是在first的处理步骤中制作的页面A1中,加密、附加了会话值与随机数值,而且在存储部10中存储了会话值、随机数值、处理步骤信息(这里指表示处理步骤为first的信息)的同时,还将input处理命令中使用的设置项目信息,具体来说为牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明四项设置项目与实例$o联系、存储。此外,从if($V->[action]eq“next”)[goto second;]goto first;中点击页面A1中图8所示的“下一步”按钮21,控制部9的处理将会移至流程程序中的下一个处理步骤second。
而且,如果点击页面A1的“下一步”按钮21,控制部9的处理将会移至处理步骤second,但是在处理移动之前,如上述说明所示,控制部9将收到来自客户端7的回复信息,并对会话值、随机数值、输入数据中的设置项目信息进行提取、比较处理。从回复信息中未检测出会话值及随机数值时,以及会话值不一致时,控制部9会废弃回复信息。此外,当检测出的会话值与存储部10中存储的会话值相同,而检测出的随机数值与存储部10中存储的随机数值不同时,客户端按下浏览器的“返回”按钮22,显示出缓冲存储器中存储的旧的HTML文件后,可以根据旧的HTML文件判断被回复的信息。根据旧的HTML文件判断为被回复的信息时,控制部9会再次执行处理步骤first的处理,当检测出的会话值及随机数值与存储部10中存储的会话值与随机数值一致时,会从回复信息中检测出客户端7输入数据的设置项目,并将符合的输入数据更新存储在数据存储部的设置项目中。对于不符合项目的输入数据,要在废弃该数据后,把处理移至下一的处理步骤second。
在下一处理步骤second中,在制作页面B之前,要检查控制部9的回复信息的内容有无错误。利用if($o->[ERROR]=$o->check)[goto first;]执行实例$o的check处理命令(处理命令部p6)的处理,当客户端7选择了三种调味料时,要返回至处理步骤first,并如图12所示,显示错误。
在处理步骤second中,当如图8所示,只选择了一种调味料时,利用图7(b)所示的页面定义,制作如图10所示的页面B1。此外,如图9所示,选择了两种以下的调味料时,制作如图11所示的页面B1。
制作此页面B1时,会执行实例$o的print处理命令(处理命令部p7)的处理,在处理步骤first中,作为回复信息将显示客户端7向服务器1回复的页面A1的输入数据。在页面B1中,与页面A1不同,将显示“执行订购”按钮与“返回”按钮。如果在这里点击“执行订购”按钮,将进入下一处理步骤third中的处理;如果点击“返回”按钮,将返回上一处理步骤first的处理。
在下一处理步骤third中,对于实例$o中使用的成员变数{ofid},通过执行nextoid处理命令(处理命令部p3)代替顺序编号,利用$$S[DA]->saveObject($o);把输入了顺序编号的成员变数{orid}作为主键,把实例$o的每个设置项目的输入数据存储在数据库11中。
然后,处理步骤会进入fourth,利用图7(c)中显示的页面定义制作图13中表示的页面C1。利用处理步骤fourth会结束一系列的牡蛎料理的订购处理,通过点击视图C1中显示的“返回至首页”按钮,可以再次重复处理步骤first的处理。
如上述说明,本发明相关的服务器1可以在服务器1中确认的服务器1执行的一系列的窗口处理的处理状况的同时,执行该处理步骤。因此,与委托客户端确认一系列的窗口处理是否按照步骤进行的以前的网络应用服务器相比,本发明的服务器1可以控制向服务器7发送的HTML文件的显示内容,使一系列的窗口处理按照处理步骤执行,通过在服务器1一侧的适当处理中进行窗口处理,可以防止无意图的处理的转换。
此外,制作执行程序的程序设计人员只是制作流程程序,即使没有把客户端的特定及每个处理步骤的回复信息等的处理编写在程序中,也会确实地执行客户端的特定、回复信息中的输入数据的保存等操作,所以可以减轻程序制作的人力的同时,很容易进行程序的修改、变更处理。
而且,在本发明相关的服务器1中,控制部9会根据cgios3的指示,判断回复信息中包含的输入数据的设置项目种类是否为与已发送的HTML文件的输入表单中可以输入的设置项目种类相对应的信息,当输入数据的设置项目与存储的设置项目不同时,会将该输入数据废弃,一致时,会将该输入数据与实例联系起来,自动存储在存储部10的数据存储部中。因此,在本发明相关的服务器1中,可以防止无意图的输入数据作为来自客户端7的回复信息被存储起来,并反映在其后的处理中。
此外,程序设计人员不需要在程序中规定进行回复信息中包含的输入数据是否为适当的数据的判断的处理,所以在可以实现降低程序制作人力的同时,可以很容易地实现服务器1的稳定性的提高。
而且,只有在发送HTML文件及接收回复信息时,才可以读取(使其复位)存储部10存储的所需数据,使控制部9进行必要的处理,所以,控制部9可以很容易地实现使用多个流程程序的多任务处理。
此外,总结了按照每个类定义程序在一系列的窗口处理中使用的每个设置项目的成员变数与使用该设置项目的处理命令,由于在其他的类定义程序与流程程序中没有记载成员变数,所以即使在一系列的窗口处理中使用的成员变数产生变更,也可以只变更类定义程序中的成员变数的声明内容。因此,不会变更类定义程序及流程程序等,只是变更类定义程序中记载的成员变数的设置项目与处理命令,可以很容易地进行规格的变更,可以构筑富有灵活性的系统。特别是在cgios3中,即使是在同一流程程序中使用从同一类中生成的多个实例时,cgios3也会按照各个实例的每个设置项目管理类的成员变数,所以,即使在流程中使用的成员变数的设置项目重复时,程序设计人员也可以在程序中不明确其区别,而制作流程程序。
例如,如图14所示,在第1画面中制作显示2组牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明的项目的页面D时,在流程程序中,通过声明$o1与$o2的两个实例,使用由$o1与$o2构成的标识符区分OysterOrder类中使用的成员变数的每个设置项目的数据并分别存储。向客户端7发送视图D时,要区分数据格式中的实例$o1的设置项目(牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明)与实例$o2的设置项目(牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明),存储在存储部10中,从回复信息中检测输入数据时,也要区分、提取实例$o1的输入数据的设置项目(牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明)与实例$o2的输入数据的设置项目(牡蛎的名称、牡蛎的烹调方法、添加的调味料、说明),并且作为各个输入数据分别存储在各个数据存储部中。
具体来说,利用图19,只关注图14所示的输入表单的设置项目中“牡蛎的名称”一栏与“说明”一栏,说明上述处理。如图19所示,服务器1的控制部9使用cgios3,利用两个标识符$o1与$o2分别区分“牡蛎的名称”、“说明”的设置项目,设计了用于区分的连续编号(例如“a”、“b”、“c”......)并存储在存储部10中。控制部9把作为实例$o1的设置项目的,从与牡蛎的名称相关的数据1~3中选择的选择形式数据“a”与和说明相关的数据的文本形式数据“b”作为输入表单台帐存储在存储部10中。同样,控制部9把作为实例$o2的设置项目、从与牡蛎的名称相关的数据1~3中选择的选择形式数据“c”与和说明相关的数据文本形式数据“e”作为输入表单台帐存储在存储部10中。
然后,控制部9制作包含两个输入表单20的HTML文件并发送给客户端7。客户端发出与输入表单相对应的回复信息后,控制部9会判断回复信息的设置项目是否符合存储部10中存储的输入表单台帐的设置项目。符合时,控制部9会判断回复信息中包含的数据“a”为与实例$o1的“牡蛎的名称”相关的数据,数据“b”为与实例$o1的“说明”相关的数据,数据“c”为与实例$o2的“牡蛎的名称”相关的数据,数据“d”为与实例$o2的“说明”相关的数据,并将这些数据存储在数据存储部中。
如此,即使在HTML文件中制作由重复的设置项目构成的输入表单时,通过准备一个与各个设置项目对应的处理命令,使用相同的类生成多个实例,可以在cgios中自动进行各个设置项目的区分,只是单纯地变更类定义程序的处理命令,可以很容易地进行输入表单的显示形式、设置项目等的规格变更。而且,类定义程序中使用的成员变数将不会依存于其他的类定义程序与流程程序等,所以即使类定义程序的设置项目等产生变更,也可以降低由于变更引起的系统整体的错误产生。
而且,cgios3把表示一系列的窗口处理流程的流程程序、此流程程序中使用实例的成员变数及利用使用该成员变数的处理命令总结的类定义程序组合起来并进行程序构成,所以可以很容易地制作出利用至今为止的HTML文件的制作方法很难制作的输入表单。例如在HTML文件中制作订购数据的一览表时,利用实例的处理命令按照特定的输出形式制作表的外框、标题、各种设置项目等,通过在流程程序中引用制作的一览表,可以把一览表插入粘贴在HTML文件中,所以,可以简单地制作出各行都具有输入表单的一览表。而且,由于可以从流程程序中调出其他的流程程序,所以,也可以在表示上述牡蛎料理订购处理的流程程序中,调出制作一览表的一览表制作流程,在此一览表制作流程中从实例中引用制作一览表的处理命令,制作一览表。在完成一览表的制作后,会在牡蛎烹调的订购处理的流程中返回处理。而且,通过应用制作一览表的方法,除了HTML文件中的一览表以外,还可以对于Microsoft excel(注册商标)向一览表形式中输出数据。
此外,通过活用在流程程序中调出其他的流程程序的方法与为了制作HTML文件的页面定义,可以利用服务器1进行网页中的窗口管理。在以前的网络应用中,基本上在一个网页中只能执行一项处理,进行多项处理时,一般要使用客户端7使用的浏览器的框架功能。但是,浏览器的框架功能的操作基本上要委托客户端7进行,所以有时不能显示服务器希望形式的窗口。在cgios3中,可以利用HTML文件的页面定义决定窗口的显示形式,在各个窗口中个别执行流程程序,把作为各个流程程序的执行结果输出的HTML文件粘贴在符合的窗口中,生成1个网页,所以可以不必依存浏览器的框架功能,进行窗口管理。
而且,由于可以按照每个窗口执行的各个流程程序的处理进行存储部10中存储的数据的读取(复位)、存储(保存),所以可以简单地实现使用多窗口的多任务处理。
下面利用图16中所示的流程程序与图17中所示页面定义,说明使用cgios3制作具有图15中所示的三个窗口的HTML文件的制作方法。首先,利用图16(a)中所示的启动流程程序执行在未进行窗口设置的网页(启动流程程序的p_fork(“-”、“//”,“this”)的“this”表示了此意思)中图16(b)所示的窗口启动流动流程,利用p_wait( )进行启动流程程序的处理的待机。
如果在启动流程程序中执行窗口启动流程程序,会形成三个使用如图17(a)中表示的页面定义的、如图15所示的窗口,在此窗口的“menu”部分中执行图16(c)所示的菜单流程程序。
执行菜单流程程序,会在窗口的“menu”部分中显示图17(b)中所示的页面定义的菜单显示,在菜单显示中点击订购输入,将会在窗口的view部分执行与牡蛎料理的订购处理相关的流程程序,制作如图18中所示的与牡蛎料理的订购相关的输入表单。此外,如果在菜单显示中点击显示订购一览,会执行显示订购一览的流程程序。
如此,通过活用多个页面定义与多个流程程序,可以根据一系列的窗口处理的内容灵活运用显示输入表单等的窗口。而且,由于可以不必依存于客户端7的浏览器中的框架功能,进行窗口的管理,所以可以在客户端7的网页上显示服务器1一侧希望的窗口显示。
以上,说明了与本发明相关的服务器,但是与本发明相关的服务器并不只限定于上述发明的实施形态中表示的这些。例如在本发明的实施形态中,把cgios3作为OS上运行的中间件进行了说明,但是,该软件也可以是一种网络服务器用应用软件(例如Apache等)中执行的支持软件(支持程序)。而且,cgios3本身是一种操作系统,也是一种在操作系统中实现cgios特有的功能的软件。
此外,服务器1利用cgios3的功能进行处理时,不一定需要使用流程程序,也可以不使用流程程序,把向客户端发送的输入表单的设置项目作为输入表单台帐存储在存储部10中,把来自客户端7的回复信息的设置项目与存储部10中存储的设置项目进行比较,判断接收的设置项目的种类是否相同。
例如如图20中所示,控制部9对输入表单中客户端7可以输入的项目分别按“a”~“c”进行编号后作为输入表单台怅存储在存储部10中。此时控制部9把和牡蛎名称相关、通过从1~3中进行选择的选择型数据,作为数据“a”,把文本形式的说明相关的数据作为数据“b”,把向客户端7发送的HTML文件中所设置的按钮按下时的事件数据“c”存储在存储部10中。
然后,控制部9接收来自客户端7的回复信息,从回复信息中提取符合数据“a”~“c”的信息,比较存储部10中作为输入表单台帐存储的设置项目种类与回复信息的“a”~“c”的设置项目种类,一致时,在数据存储部中存储牡蛎的名称、说明的数据,不一致时,废弃接收的回复信息。例如当回复信息中包含的输入“a”的值为9时,控制部9将根据输入表单台帐判断数据“a”是否为从1~3的数值中选择的选择形式数据,当判断出数据“a”为9的回复信息不合适时,将会废弃回复信息。
如此,无论流程程序的有无,服务器1通过把向客户端7发送的HTML文件的输入表单的设置项目存储在存储部10中,并判断从客户端7接收的回复信息的设置项目是否与存储部10中存储的输入数据的设置项目是同一种类,可以防止无意图的输入数据作为回复信息存储在数据存储部中,并反映在以后的处理中。
此外,服务器1也可以利用cgios3的功能,把存储在存储部10中的输入表单的信息从适合服务器1处理的数据形式加工、变更为适合客户端7输入数据的数据形式后,发送给客户端7,并且将接收的回复信息复员为加工变更前的形式后,在服务器1中进行处理。
例如UNIX使用从1970年1月1日0时0分0秒累计的秒数进行一般的时间管理。因此,在输入表单中使客户端7分别分开选择“年”、“月”、“日”、“分”时,可以在cgios3中,利用进行利用累计秒数表示的日期时间信息(以下作为累计信息)与利用“年”、“月”、“日”、“分”等单位表示的日期时间信息(以下作为时间信息)的转换的“calendar标签”处理模块,进行累计信息与时间信息的转换。具体来说,如图21中所示,把从作为与“年”相关的数据、标记为阳历的2000、2001......的数值中选择的选择形式的数据作为数据“a”,把从作为与“月”相关的数据的、1~12的数值中选择的选择形式数据作为“b”,把从作为与“日”相关的数据的、1~31的数值中选择的选择形式的数据作为数据“c”,存储在存储部10中,向客户端7发送作为输入表单、添加了日期时间信息的HTML文件。
客户端7回复了回复信息后,服务器1会从接收的回复信息中判断数据“a”、“b”、“c”的设置项目是否与存储部10中存储的设置项目是同一种类,不同时将废弃回复信息,相同时,将利用cgios3的“calendar标签”处理模块把回复信息中包含的时间信息转换为累计信息,并存储在数据存储部中。
如此,在cgios3中,把适合在服务器1中处理的数据形式转换为符合输入表单的设置项目的数据,并把转换后的数据作为输入表单台帐存储在存储部10中的同时,比较来自客户端7的回复信息的设置项目与存储部10中存储的设置项目,当设置项目的种类一致时,通过把回复信息转换为适合服务器1的处理的数据形式,程序设计人员可以不制作回复信息中包含的输入数据的转换处理程序,而把回复信息的数据按照适合服务器1的数据形式使用。
另外,如果输入表单的项目中包含单选框,除了输入表单中的设置项目,还要将单选框设为选中状态,并将此状态的情况一同存储到存储部10中。
具体来说,在发送到客户端7的HTML文件中设置单选框,并在做成时就设置为已经被选中的状态,然后发送到客户端7。此时,除了输入表单中的设置项目,控制部9还要将描述设置项目中的单选框处于被选中状态的数据一同存储到存储部10中。
然后,控制部9会比较客户端7回复的回复信息的设置项目与输入表单台帐的设置项目,判断在输入表单台帐中,与作为已选中的状态存储的单选框的设置项目对应的信息是否包含在回复信息中。通常,单选框选中后,与客户端7回复的单选框相关的信息会包含在回复信息中被回复,但是,单选框未被选中时(包含已选中的单选框被变更为未选中时),将不包含在回复信息中。因此,控制部9会参照输入表单台帐的信息的同时,判断回复的回复信息的设置项目中是否包含与已选中的单选框相关的信息。回复信息中未包含与作为已选中而存储的单选框相关的信息时,控制部9会判断该信息为客户端7有意图地不选中单选框的信息。
如此,通过作为输入表单台帐在存储部10中存储单选框的设置项目种类与设置为已选中的单选框的设置项目,当在回复信息中未包含与存储部10中作为已选中而存储的单选框相关的信息时,可以判断为客户端7故意不选的信息,可以积极地获得未选中单选框的信息。此外,通过使用cgios3的功能,将不需要利用程序实现未选中单选框的判断,所以这些判断可以实现程序的制作人力、制作工序的减少。
权利要求
1.一种网络应用服务器支持程序,用于利用通信装置向客户端发送网络信息,在该通信装置中接收来自上述客户端的对于上述网络信息的回复信息,并将该回复信息存储在存储装置中,按照上述存储装置中存储的一系列处理的处理步骤,执行根据上述回复信息的处理的网络应用服务器的控制部,其特征在于在上述控制部中执行把为了特定上述客户端的客户端特定信息与为了特定上述网络信息的网络特定信息附加在该网络信息中的信息附加处理;在特定的上述处理步骤中,利用上述通信装置向上述客户端发送附加了上述客户端特定信息与上述网络特定信息的上述网络信息的信息发送处理;每次向上述客户端发送上述网络信息时,把附加在上述网络信息中的上述客户端特定信息、上述网络特定信息、以及与向上述客户端发送上述网络信息时的上述处理步骤相关的处理信息存储在上述存储装置中的信息存储处理;在上述通信装置中接收上述客户端回复的回复信息的信息接收处理;检测接收的回复信息中是否包含客户端特定信息与网络特定信息的回复信息检测处理;从上述回复信息中检测出客户端特定信息与网络特定信息,且在检测出的上述客户端特定信息及上述网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同时,利用上述存储装置求得并执行从上述存储装置中存储的上述处理信息中求得的处理步骤的下一处理步骤;从上述回复信息中检测出客户端特定信息与网络特定信息,并且当检测出的上述客户端特定信息与上述存储装置中存储的上述客户端特定信息相同,而从上述回复信息中检测出的网络特定信息与上述存储装置中存储的上述网络特定信息不同时,将再次执行从上述存储装置中存储的上述处理信息中求得的处理步骤的业务执行处理。
2.根据权利要求1所述的网络应用服务器支持程序,其特征在于上述存储装置具备作为成员变数的各设置项目别的作用域,在上述一系列的处理中使用的数据声明部、在上述一系列的处理过程中按照上述每个设置项目存储上述回复信息中所包含数据的数据存储部;对于上述控制部,上述网络信息中包含为了使上述客户端输入数据的数据输入表单时,从上述数据声明部判断向上述客户端发送该网络信息时利用上述数据输入表单输入的数据的设置项目种类,在上述信息存储处理过程中与上述客户端特定信息、上述网络特定信息、上述处理信息一起存储在上述存储装置中;以及从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,且从上述回复信息中检测出的输入数据的设置项目的种类与上述存储装置中存储的输入数据的设置项目的种类相同时,在上述业务执行处理过程中,在上述数据存储部中按照每个设置项目存储检测出的上述输入数据。
3.根据权利要求2所述的网络应用服务器支持程序,其特征在于上述网络信息中包含多个上述数据输入表单,且按照上述数据输入表单输入的数据的设置项目种类重复时;在上述控制部中,在上述每个数据输入表单中附加为了进行设置项目的种类重复的输入数据的识别的标识符,并执行上述网络信息中包含的标识符的增加处理的同时;在上述信息存储处理过程中,将上述数据输入表单中输入的输入数据的设置项目种类与上述标识符联系起来,存储在上述存储装置中;以及在上述业务执行处理过程中,从上述回复信息中检测出的上述输入数据的设置项目的种类与上述存储装置中存储的设置项目的种类按照每个标识符都一致时,根据上述存储装置中存储了检测出的上述输入数据的设置项目的标识符进行区分,按照每个设置项目存储在上述数据存储部中。
4.根据权利要求1所述的网络应用服务器支持程序,其特征在于进行上述信息存储处理后,将为了进行上述信息接收处理所需的信息保存至上述存储装置中,并使上述控制部进行其他的处理;以及利用上述信息接收处理接收上述回复信息时,通过将上述保存的信息复位,使上述控制部中再次开始上述回复信息检测处理,在上述网络应用服务器中实现同时处理。
5.一种网络应用服务器支持程序,用于利用通信装置向上述客户端发送包含为了使上述客户端输入数据的数据输入表单的网络信息,在该通信装置中接收上述客户端作为回复信息发送的根据上述数据输入表单输入的输入数据,并将上述输入数据存储于具备有作为不同成员变数的设置项目的作用域使用的数据声明部与按照上述每个设置项目存储上述回复信息中包含的数据的数据存储部的存储装置中的网络应用服务器的控制部,其特征在于对上述控制部执行在该网络信息中附加为了上述客户端输入数据的数据输入表单的信息附加处理;利用上述通信装置向上述客户端发送附加了上述数据输入表单的上述网络信息的信息发送处理;从上述存储装置中存储的上述数据声明部中判别利用上述数据输入表单输入的数据的设置项目种类,在每次向上述客户端发送上述网络信息时存储在上述存储装置中的信息存储处理;在上述通信装置中接收由上述客户端回复的回复信息的信息接收处理;检测接收的回复信息中是否包含上述输入数据的回复信息检测处理;以及从上述回复信息中检测出上述输入数据,且检测出的输入数据的设置项目的种类与上述存储装置中存储的设置项目的种类相同时,按照每个设置项目把检测出的上述输入数据存储在上述数据存储部中的业务执行处理。
6.根据权利要求5所述的网络应用服务器支持程序,其特征在于上述网络信息中包含多个上述数据输入表单、而且按照上述数据输入表单输入的数据的设置项目种类重复时,在上述控制部中,在上述每个数据输入表单中附加为了进行设置项目种类重复的输入数据的识别的标识符,并执行上述网络信息中包含的标识符的增加处理的同时;在上述信息存储处理过程中,将上述数据输入表单中输入的输入数据的设置项目种类与上述标识符联系起来,存储在上述存储装置中;以及在上述业务执行处理过程中,从上述回复信息中检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目种类按照每个标识符都一致时,根据上述存储装置中存储了检测出的上述输入数据的设置项目的标识符进行区分,按照每个设置项目存储在上述数据存储部中。
7.根据权利要求5所述的网络应用服务器支持程序,其特征在于进行了上述信息存储的处理后,将上述存储装置中为了进行上述信息接收处理所需的信息保存至上述存储装置中,并使上述控制部进行其他的处理;利用上述信息接收处理接收上述回复信息时,通过将上述保存的信息复位,使上述控制部再次开始上述回复信息检测处理,在上述网络应用服务器中实现同时处理。
8.一种服务器,为利用通信装置向客户端发送网络信息,在该通信装置中接收来自上述客户端的对于上述网络信息的回复信息,并将该回复信息存储在存储装置中,按照上述存储装置中存储的一系列处理的处理步骤,在控制部执行根据上述回复信息的处理的服务器,其特征在于在上述控制部执行把为了特定上述客户端的客户端特定信息与为了特定上述网络信息的网络特定信息附加在该网络信息中的信息附加处理;在特定的上述处理步骤中,利用上述通信装置向上述客户端发送附加了上述客户端特定信息与上述网络特定信息的上述网络信息的信息发送处理;每次向上述客户端发送上述网络信息时,把上述网络信息中附加的上述客户端特定信息及上述网络特定信息、与向上述客户端发送上述网络信息时的上述处理步骤相关的处理信息存储在上述存储装置中的信息存储处理;使上述通信装置接收上述客户端的回复信息的信息接收处理;检测接收的回复信息中是否包含客户端特定信息与网络特定信息的回复信息检测处理;从上述回复信息中检测出客户端特定信息与网络特定信息,而且检测出的上述客户端特定信息及上述网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同时,利用上述存储装置求得并执行从上述存储装置中存储的上述处理信息中求得的处理步骤的下一处理步骤;从上述回复信息中检测出客户端特定信息与网络特定信息,并且当检测出的上述客户端特定信息与上述存储装置中存储的上述客户端特定信息相同,而从上述回复信息中检测出的网络特定信息与上述存储装置中存储的上述网络特定信息不同时,将再次执行从上述存储装置中存储的上述处理信息中求得的处理步骤的业务执行处理。
9.根据权利要求8所述的服务器,其特征在于上述存储装置具备作为成员变数的不同设置项目的作用域在上述一系列的处理中使用的数据声明部、与在上述一系列处理的处理过程中,按照上述每个设置项目存储上述回复信息中所包含数据的数据存储部,上述控制部,在上述网络信息中包含为了使上述客户端输入数据的数据输入表单时,从上述数据声明部中判断向上述客户端发送该网络信息时利用上述数据输入表单输入数据的设置项目种类,在上述信息存储处理过程中与上述客户端特定信息、上述网络特定信息、上述处理信息一起存储在上述存储装置中;以及在从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,且从上述回复信息中检测出的输入数据的设置项目种类与上述存储装置中存储的输入数据的设置项目种类相同时,在上述业务执行处理过程中,把检测出的上述输入数据按照每个设置项目存储在上述数据存储部中。
10.根据权利要求8所述的服务器,其特征在于上述网络信息中包含多个上述数据输入表单、并且按照上述数据输入表单输入的数据的设置项目种类重复时;上述控制部,在上述每个数据输入表单中附加为了进行设置项目种类重复的输入数据的识别的标识符,并执行上述网络信息中包含的标识符的增加处理的同时;在上述信息存储处理过程中,将上述数据输入表单中输入的输入数据的设置项目种类与上述标识符联系起来,与上述客户端特定信息、上述网络特定信息、上述处理信息一起存储在上述存储装置中;以及在上述业务执行处理过程中,从上述回复信息中检测出的客户端特定信息及网络特定信息与上述存储装置中存储的上述客户端特定信息及上述网络特定信息相同,且从上述回复信息中检测出的上述输入数据的设置项目种类与上述存储装置中存储的设置项目的种类按照每个相同的标识符都一致时,根据上述存储装置中存储的标识符区分检测出的上述输入数据的设置项目,并按照每个设置项目存储在上述数据存储部中。
全文摘要
本发明是有关于一种网络应用服务器支持程序及服务器,使用本发明的网络应用服务器支持程序,可以在服务器侧完全的控制网络应用中含有多数个画面的处理流程的执行处理顺序,而能够将该处理流程作为“一个单位的可执行程序编码”进行记录。通过使用网络应用服务器支持程序可将发送至客户端的含有HTML文件的输入表单的各项目等在服务器中作为表单台帐而逐一记录,当从客户端接收对应该输入表单的输入数据时,比较并验证表单台帐,而不需要依靠应用程序就能够自动的废弃不正确的输入。
文档编号G06F13/00GK1695133SQ20038010076
公开日2005年11月9日 申请日期2003年12月18日 优先权日2002年12月20日
发明者泽田研一 申请人:泽田研一
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1