数据处理系统、中心装置以及程序的制作方法

文档序号:17305107发布日期:2019-04-05 19:21阅读:216来源:国知局
数据处理系统、中心装置以及程序的制作方法

本发明涉及数据处理系统、中心装置以及程序。



背景技术:

近年来,从业务操作中使用的手持终端到各种家电产品等较多的设备都通过微型计算机来控制。另外,随着因特网技术等通信技术的发展,这些设备中配备了通信功能,从而具有通过网络收发数据的功能。

例如,以手持终端为例,其具有如下功能:基于通过条形码阅读器读入的条形码进行计数处理,并根据指示对配置于中心侧的计算机发送该计数的结果。

另外,其他具有代表性的例子是便携电话机中的imode(注册商标)。在该例子中,在便携电话机中事先安装所谓的网络浏览器、Java(注册商标)执行环境,数据包交换网的中心装置从因特网上的服务器取得以HTML(Hyper Text Markup Language:超文本标记语言)记述的文档,并将该文档原封不动地配送至便携电话机。然后在便携电话机中解析HTML并进行画面显示。

在这样的设备中进一步具有利用HTML,对搭载于设备中的键功能进行切换的设备(专利文献1)。另外,在较多的网购等网站,进行如下操作:服务器侧接收并检验用户在终端侧输入的数据,当检验的结果为输入的数据中有错误等需要再输入的情况下,进一步对终端侧配送用于提醒此情况的HTML文档。

现有技术文献(专利文献)

专利文献1:日本再公表98/006037号公报



技术实现要素:

发明要解决的课题

然而,当在终端侧利用以HTML记述的文档时,在使用一般的网络浏览器的情况下,由于伺机利用网络浏览器漏洞的恶意软件等,在中心侧进行数据处理的服务器装置的URL、访问路径有时会被恶意的利用者知晓,有可能对服务器进行攻击。

本发明鉴于上述实际情况而做出的,目的之一在于提供一种无论网络浏览器有无漏洞都能够降低对服务器装置的攻击可能性的数据处理系统、中心装置以及程序。

用于解决课题的手段

用于解决上述现有技术例的问题点的本发明,为一种数据处理系统,包括:服务器装置,接受对预先确定的URL的访问,执行所请求的数据处理;终端装置,对于所述服务器装置请求数据处理;以及中心装置,与所述服务器装置和所述终端装置相连接,所述中心装置包括:接受数据的输入,向所述终端装置发送将该所输入的数据向中心装置发送的数据输入程序的单元;以及从所述终端装置接收所述服务器装置的所述URL、和成为处理对象的数据,对该接收到的URL进行访问,按HTTP协议对所述服务器装置发送成为处理对象的数据的单元,所述终端装置,根据由所述中心装置发送出的数据输入程序而工作,接收成为处理对象的数据的输入,向所述中心装置发送该接收到的数据、和所述服务器装置的所述URL。

另外,本发明的一方式涉及的中心装置与服务器装置和终端装置连接,该服务器装置接受对预先确定的URL的访问,并执行所请求的数据处理;该终端装置对于所述服务器装置请求数据处理,该中心装置包括:接受数据的输入,向所述终端装置发送将该所输入的数据向中心装置发送的数据输入程序的单元;以及从所述终端装置接收所述服务器装置的所述URL、和成为处理对象的数据,对该接收到的URL进行访问,按HTTP协议对所述服务器装置发送成为处理对象的数据的单元。

并且,本发明的其他方式涉及的程序,由中心装置执行,该中心装置与服务器装置和终端装置连接,该服务器装置接受对预先确定的URL的访问,并执行所请求的数据处理;该终端装置对于所述服务器装置请求数据处理,该程序使所述中心装置作为如下各单元发挥功能:接受数据的输入,向所述终端装置发送将该所输入的数据向中心装置发送的数据输入程序的单元;以及从所述终端装置接收所述服务器装置的所述URL、和成为处理对象的数据,对该接收到的URL进行访问,按HTTP协议对所述服务器装置发送成为处理对象的数据的单元。

附图说明

图1是表示本发明的实施方式涉及的数据处理系统的一例的结构框图。

图2是表示中心装置2的例子的功能框图。

图3是表示中心装置2保持的数据的例子的说明图。

图4是表示通过终端装置3能够解析的数据格式的一例的说明图。

图5是表示指示处理数据的一例的说明图。

图6是表示指示处理数据的其他例子的说明图。

图7是表示本发明的实施方式涉及的数据处理系统中的通信例的流程图。

具体实施方式

[基本处理]

关于本发明的实施方式将一边参照附图一边进行说明。本实施方式涉及的数据处理系统的构成如图1所示,包括服务器装置1、中心装置2以及终端装置3。此外,在此,服务器装置1及终端装置3仅图示出一个,但也可以是多个。另外,尽管服务器装置1和中心装置2通过网络等通信线路连接,作为分体的装置而示出,但也可以安装在同一台计算机上。另外,终端装置3是具备条形码阅读器的手持终端或具备能够读取条形码的摄像头的智能手机等,该终端装置3包含控制部31、存储部32、显示部33、操作部34以及通信部35,并与中心装置2之间能够通信地连接。另外,在本实施方式中,各终端装置3分别保持有固有的终端识别信息(MAC地址、制造编号(IMEI)等)。

[服务器装置]

服务器装置1作为WEB服务器而工作。该服务器装置1保持有对定义至少一个显示画面的信息(画面描述信息)进行了记述的指示处理数据。

该服务器装置1通过网络与中心装置2连接,从该中心装置2接受HTTP(Hyper Text Transfer Protocol)的请求,将该请求涉及的各种数据配送给作为请求方的中心装置2。在本实施方式的一例中,服务器装置1接收多种请求。例如,该服务器装置1接收验收处理的请求、检查处理的请求、入库处理的请求、出库处理的请求等多种请求。在本实施方式的某一例中,可以按照每种请求使所访问的URL不同。也就是说,在进行验收处理的请求时,中心装置2可以对预先确定的第1个URL进行访问,在进行检查处理的请求时,可以对不同于该第1个URL的第2个URL(预先确定的)进行访问。并且,该服务器装置1执行与各个种类的请求相应的处理,对作为请求方的中心装置2配送根据各请求对应当在终端装置3上显示的用户界面进行定义的数据(处理指示数据)。在本实施方式中,服务器装置1被设定为仅与该中心装置2进行通信。作为这种设定的方法,因为能够采用使用认证处理等广为人知的方法,所以省略此处的详细说明。

此外,在此,服务器装置1发送的指示处理数据用XML(eXtensible Markup Language:可扩展标记语言)来记述。另外,以下,将通过画面描述信息在画面上显示的要素中的、受理用户进行的指示操作的要素(按钮或输入栏、菜单等)称为操作引导要素。在本实施方式中,在终端装置3侧显示的应用程序的用户界面是由该服务器装置1提供的画面描述信息所定义的。

[中心装置]

中心装置2是具有CPU以及存储部的一般的服务器电脑,根据预先安装的程序而工作。该程序也可以保存于DVD-ROM等计算机可读的记录介质中来提供,保存于该中心装置2的存储部,并由CPU执行。该中心装置2的CPU通过执行该程序,在功能上具备图2所示的结构。即中心装置2在功能上由控制部21、通信管理部22、通信控制部23、通信部24、HTTP客户端部25、信息转换部26以及请求受理部27构成。

控制部21分别记录从通信管理部22输入的通信管理信息、从通信控制部23输入的表示通信部24的状态的通信部状态信息、以及从HTTP客户端部25输入的表示与服务器装置1的通信状态的服务器侧状态信息。

通信管理部22读出控制部21记录的通信部状态信息,对管理者显示该通信部状态信息。另外,从管理者受理用于设定通信部24状态的指示,将该指示作为通信管理信息输出至控制部21。

通信控制部23接受由通信部24从终端装置3接收到的信息的输入,并将该信息输出至请求受理部27。另外,该通信控制部23从信息转换部26接受终端装置3用的程序等、配送对象的输入,并将该配送对象(可以被加密)输出至通信部24。

在本实施方式的某一例中,终端装置3将小组识别符(gid)与终端识别信息(例如MAC地址、制造编号(IMEI)等)一起存储。另外,中心装置2的存储部中,存储如图3所例示的、将小组识别符(gid)与表示进行哪个处理的请求的请求类别信息(表示对服务器装置1进行哪种请求的信息)进行关联的对应处理信息表。在此,对于多个小组识别符,可以与共同的请求类别信息建立关联,另外,在小组识别符以数值表现时,对于以数值的范围指定的多个小组识别符,也可以与共同的请求类别信息建立关联。该请求类别信息(表示进行哪个处理的请求的信息)具体而言也可以作为与各请求对应的URL(与该请求的种类对应的、服务器装置1侧的URL)。

在本实施方式中,在终端装置3对中心装置2请求通信开始时,将在终端装置3中所存储的小组识别符发送至中心装置2。在通信部24从终端装置3接收通信开始的请求时,通信控制部23取得与该通信开始的请求所包含的终端装置3的终端识别信息建立了关联的终端识别符(_si)和小组识别符。然后,通信控制部23参照对应处理信息表读出与该所取得的小组识别符(gid)建立了关联的URL。通信控制部23将该所读出的URL作为终端装置3所请求的URL输出至请求受理部27,并对服务器装置1进行访问。

此外,在该最初的访问中,对于服务器装置1未发送确定会话(session)的信息(小型文本文件(cookie)等)。

并且,该通信控制部23从信息转换部26接受由服务器装置1所提供的、终端装置3用的程序等、配送对象的输入,并将该配送对象(可以被加密)输出至通信部24。通信控制部23在从服务器装置1接收到的信息中包含有确定会话的信息(cookie等)时,将该确定会话的信息和终端装置3的终端识别符(_si)建立关联并存储。

另外,该通信控制部23在通信部24与终端装置3的通信开始后,通信控制部23在通信部24从终端装置3接收URL(也可以包含作为参数的、通过终端装置3输入的数据)时,将该URL作为终端装置3所请求的URL,和与该终端装置3的终端识别符(_si)建立关联并存储的确定会话的信息一起输出至请求受理部27。

通信控制部23在通信部24从终端装置3接收重新开始通信的请求时,该通信部24参照进行了重新开始通信请求的终端装置3的终端识别符(_si),从而检索与该终端装置3的终端识别符(_si)建立关联并存储的、确定会话的信息。在此,如果有与该终端装置3的终端识别符(_si)建立关联并存储的、确定会话的信息,则将包含该确定会话的信息的请求输出至请求受理部27。由此,即使存在终端装置3和中心装置2的通信部24不能通信的期间,如果再开始通信,也能够从变为不能通信之前所进行的处理起继续进行处理。

例如通信部24是网络接口时,从终端装置3侧受理访问,对从该终端装置3接收到的URL(也可以包含作为参数的、通过终端装置3输入的数据)进行缓存。另外,该通信部24将该进行了缓存的URL输出至通信控制部23。另外,该通信部24对处于访问状态的终端装置3发送从通信控制部23输入的配送对象的数据。作为一例,该通信部24是通过802.11b/g/n等无线LAN标准进行通信的网络接口。

HTTP客户端部25按照HTTP协议向服务器装置1发送与从请求受理部27输入的URL(Uniform Resource Locators)对应的指示处理数据的请求。并且,从服务器装置1接收所请求的指示处理数据,将该接收到的指示处理数据等输出至信息转换部26。

当从HTTP客户端部25输入指示处理数据时,信息转换部26根据该输入的处理指示数据,生成在终端装置3侧能够执行的程序(终端装置3用程序),并输出至通信控制部23。关于该信息转换部26的工作,在后详细叙述。

请求受理部27从通信控制部23接收URL的信息。在本实施方式中,这些URL的信息可以使用AES(Advanced Encryption Standard:高级加密标准)等指定的加密方法来加密。如后所述那样、在进行加密时,信息的加密和解密中使用的密匙预先安装于终端装置3和该中心装置2,终端装置3发送对使用该安装的密钥来加密的URL进行确定的信息及程序取得请求。并且,在请求受理部27使用所安装的密匙对该信息进行解密,并取出URL的信息。

在本实施方式中,通信部24进行一般的TCP/IP的套接字通信,对请求源方的终端装置3送出所生成的程序。

另外,在本实施方式的一例中,中心装置2与终端装置3之间的上述的URL涉及的数据的取得请求与HTTP协议中的不同,另外,设为按每个请求附加固有的识别信息(请求识别信息)。例如该程序取得请求为REQUESTPROGRAM_ri=N等形式。在此“_ri=N”表示请求识别信息(_ri:Request ID)为编号N。

请求受理部27至少保持最后接收到的请求涉及的请求识别信息。并且,该请求受理部27,在接收包含与上次接收到的请求涉及的请求识别信息相同的请求识别信息的请求时,将再次出现上次的请求的信息输出至信息转换部26。

[通信部状态信息以及通信管理信息]

在此,对通信部24中的通信的工作进行说明。在本实施方式中,通信部24执行多个通信线程。具体而言,通信部24接受来自成为通信目的地的终端装置3的通信开始请求,生成与该终端装置3对应的线程。在该通信开始请求中,通信部24从终端装置3取得终端识别符(_si:包括例如MAC地址、制造编号(IMEI)等)。如前所述,在中心装置2中,将该终端识别符与会话的识别信息建立关联并保持,该会话的识别信息是指,由中心装置2从基于来自与该终端识别符对应的终端装置3的请求进行了访问的服务器装置1取得的会话的识别信息。并且,通信开始后,中心装置2基于从终端装置3接收到的请求生成对服务器装置1的请求,并对服务器装置1发送该所生成的请求,同时,将与作为请求方的终端装置3的终端识别符建立关联并保持着的会话的识别信息一并发送至服务器装置1。由此,在服务器装置1侧,基于该会话的识别信息,根据请求确定应当应答哪些信息。并且,将该确定出的信息送出至中心装置2。在中心装置2中基于该信息生成应当对终端装置3发送的信息。

另外,当与终端装置3之间未进行预先规定的时间的通信的情况下,结束执行与该终端装置3对应的线程。

此外,通信控制部23在通信部24执行多个通信线程的情况下,依次取出在各通信线程接收到的信息并输出至请求受理部27。

另外,在此,通信部24也可以按照每个处于通信状态的终端装置3将TCP协议的端口编号、与对应的终端装置3的通信所涉及的状态码(status)以及注释建立关联并存储。在此,状态码可以对成为在线(处于通信状态)还是离线之分进行表示为主。此外,在本实施方式的说明中,设为在通信中使用TCP协议,但不限于此,也可以利用UDP等其他的协议。

[数据输入程序]

接着,对信息转换部26的处理的内容进行说明。信息转换部26基于从HTTP客户端部25输入的指示处理数据所包含的画面描述信息部分,生成终端装置3用的数据输入程序模块(通过终端装置3能够解释的数据格式的指示列)。在本实施方式中,根据分支处理的结果,指示处理数据中能够包含多个画面描述信息。信息转换部26与指示处理数据中所包含的多个画面描述信息分别对应地、生成多个数据输入程序模块。

例如,画面描述信息中能够包含如图4(a)至(f)所示的多个种类的画面要素的定义。图4(a)表示文本显示,(b)表示按钮显示,(c)表示输入栏显示,(d)表示启动画面(只显示一定时间的画面),(e)表示选择菜单,(f)表示提示(hint)显示的要素,分别与作为指示处理数据的XML文档中的(a)<text>控件(tag)、(b)<button>控件、(c)<input>控件、(d)<splash>控件、(e)<select>控件、(f)<hint>控件对应。

信息转换部26在使用了“button”控件作为对在画面上显示的按钮进行指示的XML文档要素的画面要素的记述成为“<button mode=aaa size=bbb x=ccc y=ddd func=fff url=ggg>eee</button>“时,将其作为在终端装置3侧能够解释的记述并转换为预先确定的数据格式,例如为如图4(b)所示的数据流。图4中,示出了与文本、按钮、输入栏、启动画面、选择菜单、提示信息这六种画面要素有关的描述分别由信息转换部26转换为何种指示的说明。

例如,图4(b)为包括如下部分的数据格式:类型(Type)信息为“2”,表示是按钮,接下来,表示按钮显示形态的模式(mode)、尺寸(size)、表示画面上的显示位置坐标的“x”以及“y”、作为按钮标题而显示的文本(在上面的例子中称作“eee”的部分)、表示按钮作用(发送按钮等)的按钮作用(func)、并且表示该按钮被点击时应当读出的URL(如果有的话)的“url”等。另外,文本或URL等、不是固定长度的数据的间隔符为“0xFE0xDC”。

在本实施方式中,在对作为操作引导要素之一的输入栏的界面进行定义的数据格式(以及与之对应的XML的DTD的记述)中包含有:表示条形码输入可否的“method”、确定输入值的最大、最小的“max”以及“min”等的、与应当被操作输入的信息有关的条件(操作条件)、以及根据是否满足操作条件来确定应当进行的处理的信息(goodhint、badhint)(图4(c))。

[分支处理]

另外,本实施方式的信息转换部26使终端装置3执行处理指示数据中包含的分支处理的指示、与分支处理的结果相应的画面的提示处理。在此,分支处理是指根据条件进行不同操作的处理。

在本实施方式的例子中,分支处理被定义为基于在终端装置3输入的值与通过分支处理的指示来指定的值之间的比较进行分支的处理。具体而言,本实施方式的分支处理的指示如图5所示的那样、由“compare控件”定义。该compare控件中,包含至少一个比较要素(以comparegroup控件包围的一系列的记述;P)。并且,各比较要素中,包含成为比较对象的值的组(comparevalue控件;A)和分支指示组(compareoption控件;B)。分支指示组至少包含一条与在终端装置3中所输入的值的比较条件、以及对在满足各比较条件时应当提示的画面涉及的画面描述信息进行确定的信息。也就是说,该分支指示组定义了分支的条件涉及的分支参数,分支指示组相当于该分支参数的排列。

此外在本实施方式中,为了说明,设比较条件为以下的七种。即:

(1)成为比较对象的值与所输入的值相等;

(2)所输入的值比成为比较对象的值大;

(3)所输入的值比成为比较对象的值小;

(4)成为比较对象的值的组中包含所输入的值;

(5)成为比较对象的值的组中不包含所输入的值;

(6)成为比较对象的值对照(比较)完毕;

(7)成为比较对象的值对照(比较)未完毕。

信息转换部26生成终端装置3用的程序(以终端装置3能够解析的数据格式来记述的指示列),该程序执行以下各个步骤:将成为比较对象的值的组作为排列来存储的步骤;对值的输入栏进行显示的步骤;每当值被输入就按包含于分支指示组的顺序、并基于比较条件、对所存储的排列与所输入的值进行比较的步骤;以及基于与按比较顺序最初满足的比较条件对应的画面描述信息来显示画面的步骤。

例如,使用根据图5所示的处理指示数据的一部分来生成包含分支处理的终端装置3用程序的例子,说明该程序的生成处理的内容。

信息转换部26在从处理指示数据中发现<compare>控件时,生成用于比较处理的、进行初始化处理的程序模块(初始化模块)。在初始化处理的程序代码中,例如,与被指定为比较对象的值的组(以<comparevalue>控件指定的值的组)中包含的值的数目相对应地、确保将多个标志信息进行保存的区域以及存储指针值的区域。该多个标志信息表示各个值所涉及的比较处理是否已经完毕,该指针值用于指定成为下一个比较对象的值。另外,按每个输入栏,确保用于存储所输入的值和与之相对的比较处理的结果的区域。

作为具体例,在图5的例子中,指定对成为最初的比较对象的值进行指定的选项(start)作为<compare>控件的选项(在此为“1”)。另外,通过对值的数目进行指定的选项(total),指定应当比较的值的数目(在此为“5”)。于是,信息转换部26生成下一个终端装置3用程序。即,生成执行(a)至(c)的各步骤的初始化模块,其中,(a)确保保存5个标志信息的区域和保存指针信息的区域,(b)设定初始值“1”(在start选项中所指定的值)作为指针信息,(c)作为标志信息,设定表示任一个都还未被比较的值(“未比较”),并进行初始化。

另外,信息转换部26基于与<compare>控件关联的、所记述的画面信息描述(在此为紧随与<compare>控件对应的结束控件(</compare>)之后记述的画面信息描述),生成进行用于使输入栏显示并接收输入的输入界面处理的程序模块(界面处理模块)。另外,在此,将显示的输入栏(与<input>控件对应的画面要素)分别与以在<compare>控件内包含的<comparegroup>控件定义的分支指示组建立关联。在此,设为分别按照记述顺序(出现顺序)进行对应建立。此外,在图5中,包含与<comparegroup>的数目对应地显示第1、第2这两个输入栏的指示(两个<input>控件)。

并且,信息转换部26生成执行比较处理的程序模块(比较处理模块),该比较处理是指,在与显示出的输入栏分别建立对应且各输入栏中已有输入值时,基于与各输入栏对应的<comparegroup>控件中包含的分支指示组(对应分支指示组)的比较处理。在该比较处理模块的程序代码中,对于与被输入了值的输入栏对应的对应分支指示组中包含的多个比较条件,利用所输入的值依次判断是否满足比较条件。

信息转换部26在按终端装置3能够解析的数据格式生成信息之后,将这些信息作为针对终端装置3侧的配送内容进行存储。该按终端装置3能够解析的数据格式所生成的信息包含画面描述信息以及用于进行上述分支处理的信息。

并且,信息转换部26利用预先安装的密匙对所存储的配送内容进行加密,将进行了加密的配送内容输出至通信控制部23。在此的加密方式例如是AES等。另外,该信息转换部26对通信控制部23进行了输出之后也维持存储有配送内容的状态。并且,该信息转换部26在从请求受理部27接收再次有上次的请求的意思的信息时,将该所存储的配送内容再次输出至通信控制部23。另外,信息转换部26在从HTTP客户端部25新输入指示处理数据时,也可以删除该所存储的上次的配送内容。由此,信息重复发送的情况得以抑制,从而无需在服务器装置1侧采取防止重复发送的措施。

此外,通信控制部23也可以取得由请求受理部27在从终端装置3侧接受到程序取得请求时所取得的、包含于该程序取得请求中的请求识别信息_ri,且与对作为请求方的终端装置3进行识别的信息建立关联并存储。并且,通信控制部23可以为,在从信息转换部26接收配送对象时,读出与对该配送内容的配送目的地、即终端装置3进行识别的信息建立关联且存储的请求识别信息_ri,对配送内容附加该所读出的请求识别信息_ri,并向配送目的地、即终端装置3配送。

[信息转换部26的其他的处理]

在本实施方式中,信息转换部26还可以接收终端装置3中的处理的结果的输入并执行基于该处理结果的处理。例如,在终端装置3中,进行上述分支处理的情况下,终端装置3接收与在成为比较对象的值的组中包含的各值对应的判断的结果。信息转换部26接受该判断结果的排列的输入,并将该判断结果的排列经由HTTP客户端部25送出至服务器装置1,供服务器装置1进行统计处理等其他的处理。

[终端装置]

终端装置3的控制部31按照在存储部32中保存的程序来工作,对从通信部35输入的指示进行解释,按照该指示控制各部。该控制部31的具体工作内容在后面详细叙述。

存储部32是RAM(Random Access Memory)、闪存器等、保持程序的、计算机可读取的信息存储介质,也至少包含一部分可进行读写的领域。也可作为存储控制部31的工作中所需的信息的、工作存储器来工作。并且,在本实施方式中,该存储部32保持预先设定的加密或解密所需的密匙的信息、小组识别符等。

操作部34是袖珍键盘或条形码阅读器等,根据用户的操作接收信息输入,并将该接收到的信息输出至控制部31。在本实施方式中,设该操作部34由袖珍键盘(包含0-9数字键等数值输入键)34a和条形码阅读器34b构成。

显示部33是按照从控制部31输入的指示显示信息的显示器。具体而言,该显示部33可以是液晶点阵显示器等,但并不限于此。通信部35将从中心装置2接收的指示输出至控制部31,另外,按照从控制部31输入的指示,对中心装置2发送信息。

接着,对本实施方式中的终端装置3的控制部31的工作进行说明。本实施方式的控制部31使一般的操作系统工作,在该操作系统的管理之下,使网络浏览器等应用程序工作。

另外,在本实施方式的终端装置3中,安装有执行由中心装置2提供的数据输入程序并与中心装置2之间收发数据的解释程序,利用者在与中心装置2之间进行通信并接受通过服务器装置1提供的服务时,启动该解释程序。

按照该解释程序工作的控制部31在启动后进行初始化处理。此时,控制部31对预先设定的中心装置2的地址进行访问。控制部31在进行该访问时,针对每个请求附加固有的请求识别信息。具体而言,控制部31在初始化处理时将表示作为请求识别信息的数值的变量i初始化为“1”。

控制部31对程序取得请求附加作为请求识别信息的字符串“_ri=1”(在此的“1”是变量i表示的值)。然后,控制部31将询问需要加密与否的信息输出至通信部35,并发送至中心装置2。接收到该询问信息的中心装置2根据事前进行过的设定来确定是否进行加密。

中心装置2将该确定的结果发送至询问信息的发送方、即终端装置3。终端装置3的控制部31在从中心装置2接收需要加密的意思的信息时,利用预先安装的加密的密匙(也可以兼作解密时的密匙)对所指定的URL和来自该URL的程序取得请求进行加密。在此的加密的方式例如可以是AES。控制部31将加密并获得的数据作为发送对象保存于存储部32。

另一方面,终端装置3的控制部31在从中心装置2接收意思是不需要加密的信息时,将所指定的URL和来自该URL的程序取得请求作为发送对象保存于存储部32。

另外,控制部31将保存于该存储部32的发送对象输出至通信部35,并对中心装置2发送。

另外,控制部31起动未图示的计时器,当在预先规定的超时时间经过之前从通信部35接收数据时,使表示作为请求识别信息的数值的变量i递增。另外,控制部31将该数据保存于存储部32,并用预先安装的加密解密用的密匙进行解密。并且,控制部31执行解密后的数据中包含的程序。

此外,在从通信部35接收到的数据中,附有过去附在程序取得请求上的请求识别信息_ri。控制部31参照该请求识别信息_ri,对该数值表示的值和变量i(在使变量i递增之前)进行比较。并且,控制部31在这些值一致的情况下,作为已经正常地接收到数据的情况并使变量i递增,将该数据保存在存储部32中,用预先安装的加密解密用的密匙进行解密,执行解密后的数据中包含的程序。

另外,当附加于接收到的数据中的请求识别信息_ri表示的值与变量i表示的值不一致的情况下,作为发生异常的情况,从而显示报告发生了错误的画面。

另一方面,当在预先规定的超时时间经过之前未从通信部35接收到数据的情况下,控制部31显示报告通信错误的画面。在该画面中,事先设为能够指示重试。控制部31在被指示重试时,将保存于存储部32的发送对象再次输出至通信部35,并对中心装置2发送。在该再次输出的发送对象中,请求识别信息为与上次发送过的信息相同的值。

另外,边参照图5所示的例子边对执行解密后的数据中包含的程序的控制部31的处理进行说明。

在控制部31中进行比较处理所用的初始化处理。在该初始化处理中,与被指定为比较对象的值的组(以<comparevalue>控件指定的值的组)中包含的值的个数(在图5的例中为5个)对应地、在存储部32中确保保存表示各值涉及的比较处理是否已完毕的多个标志信息的区域、及保存对成为下一比较对象的值进行指定的指针值的区域。另外,按每个输入栏,在存储部32中确保用于存储所输入的值、及与之对应的比较处理的结果的区域。另外,指针信息初始化为“1”(通过start选项所指定的值),作为标志信息,都会初始化为表示未被比较的“未比较”。

接着,控制部31根据紧接<compare>控件之后记述的画面信息描述,显示输入栏。在图5中,与<comparegroup>的数目对应地显示第1、第2两个输入栏(与<input>控件对应)。

控制部31在该状态等待值的输入。在利用者对操作部34进行操作来输入信息时,控制部31执行与接受到信息输入的输入栏对应的分支处理。

例如,利用者在第1个输入栏中输入“A”时,在控制部31开始与第1个输入栏相对应的处理,首先判断成为比较对象的值与所输入的值“A”是否相等(compareoption option=1)。在此,因为指针信息的值为“1”,所以成为比较对象的值为“A”。在此情况下,该成为比较对象的值与所输入的值相等,所以判断为满足条件。

控制部31在此情况下,进一步等待值的输入。在利用者接着在第2个输入栏输入“1”时,控制部31基于<compare>控件的选项,对当前的第2个输入栏的值(在无特别指定的情况下设为被初始化为“0”)加“1”。在此,加法的结果为“1”。

然后,在控制部31开始与第2个输入栏相对应的处理。在此情况下,因为按照图5所示的记述顺序生成比较处理用的程序码,所以首先,判断写在第2个输入栏的值是否比通过指针信息确定的值(成为比较对象的值)小(compareoption option=3)。在此,指针信息保持“1”不变,所以成为比较对象的值为“10”(第2个<comparegroup>中的<comparevalue>的第1个值)。也就是说,满足该条件。关于该处理,没有特别指定,所以直接原样地等待值的输入。

在利用者进一步在第2个输入栏中输入“9”时,控制部31获得对第2个输入栏的当前的值“1”加上“9”而得到的值“10”。

然后,判断写在第2个输入栏的值是否比通过指针信息确定的值(成为比较对象的值)小(compareoption option=3)。在此,指针信息保持“1”不变,所以成为比较对象的值为“10”。也就是说,不满足该条件。

于是,控制部31参照下一分支指示,判断成为比较对象的值是否与写在第2个输入栏的值相等(compareoption option=1)。在此,因为两者相等,所以满足该条件。控制部31按照与该条件关联的forward选项的指定,将与通过当前的指针信息所示的值对应的标志信息设定为“比较完毕”。然后,使指针信息增加,设为“2”。另外,将输入到各输入栏的值和比较的结果(双方都表示“相等”的信息)保存于在存储部32中确保的区域。

此外,在图5中,判断输入到输入栏的值是否比成为比较对象的值大的选项被指定为compareoption option=2,但在此的例子中未执行。

以下,同样地、对于成为了比较对象的值的组分别执行处理,在获得了与各值的比较处理的结果的时候,控制部31使处理结束,并将所输入的值、比较的结果、及该所输入的值的处理的请求(包含处理服务的URL)对中心装置2发送。此时,控制部31对该处理的请求附加作为请求识别信息的字符串“_ri=N”(在此的N为变量i表示的值)。

然后,控制部31使用预先安装的加密的密匙(也可以兼作解密时的密匙)对包含这些所输入的值、比较的结果以及处理的请求在内的数据进行加密。在此的加密的方式例如可以是AES。控制部31将进行了加密而获得的数据作为发送对象保存于存储部32。另外,控制部31将该发送对象输出至通信部35,并对中心装置2发送。

控制部31起动未图示的计时器,当在预先规定的超时时间经过之前经由通信部35受理来自中心装置2的应答时,使表示作为请求识别信息的数值的变量i递增。另一方面,当在预先规定的超时时间经过之前未能从中心装置2接收应答的情况下,控制部31显示报告通信错误的画面。在该画面中能够指示重试。控制部31在被指示重试时,将保存于存储部32的发送对象再次输出至通信部35,并对中心装置2发送。在该再次输出的发送对象中,请求识别信息为与上次发送过的信息相同的值。

此外,在控制部31中输入的值是否为对照完毕(比较完毕)的判断,如下所述来进行。即,从成为对象的值的组中检索所输入的值,并取得包含该所输入的值的位置(可以是自开头起的位置)。然后,基于所取得的位置的信息,参照与该位置对应的标志信息,参照标志信息的值是否为对照完毕(比较完毕),从而进行判断。

另外,关于所输入的值是否包含于成为比较对象的值的组,从所指定的值的组中检索所输入的值,在发现了的情况下判断为包含,在未发现的情况下判断为不包含。

另外,假定在指针信息为“2”的情况下设利用者在第1个输入栏中输入了“X”时,由于所输入的值与指针信息表示的比较对象的值“B”不相等,所以显示以2.xml或3.xml定义的画面。

在此,在2.xml、3.xml中,与“所输入的值不同”等字符串的显示一起,在下一输入画面中一并显示用于“返回”的按钮、用于将输入栏重置为初始值的按钮等。

此外,该图5的例子中,由于处理可以持续到各值与比较对象的值分别“相等”为止,所以对中心装置2发送的、比较处理的结果的值为“1,1,1,1,1”等表示任一个都进行了条件编号“1”即“相等”的判断的值。

[工作]

接着,对包含本实施方式涉及的中心装置2的数据处理系统的工作进行说明。在本实施方式中,将执行所请求的数据处理的应用程序安装于服务器装置1侧。该应用程序能够以通过HTTP协议配送输入输出用的信息的状态来记述。具体而言,该应用程序除了使用C#、Java(注册商标)以及其JavaServlet以外,也能够通过JavaScript、PHP、ASP(Active Server Pages)等脚本语言来记述。在以下的例子中,对通过Java(注册商标)记述入库处理程序和出库处理程序作为在库管理的应用程序的情况作为数据处理的例子进行说明。在此,入库处理程序为,受理商品的商品编号的信息和其数量的信息,对商品数据库中的与该商品编号的信息建立关联而存储的数量的信息加上所受理的数量,并更新商品数据库的程序,。出库处理程序为,受理商品的商品编号的信息和其数量的信息,从商品数据库中的与该商品编号的信息建立关联而存储的数量的信息中减去所受理的数量并更新商品数据库的程序。

因此在任一个程序中,服务器装置1中安装的指示处理数据都是用来定义用户界面的XML文档。该用户界面中配置有用于进行信息输入的、商品编号和数量的输入栏、“输入”按钮以及“入库”或者“出库”按钮。另外,服务器装置1中,保存进行与各处理对应的处理的Java(注册商标)程序。

定义该界面的XML文档如图6所示。在该图6的例子中,第1个输入栏作为商品编号的输入栏而利用,另外第2个输入栏作为数量的输入栏而利用。

其中,在商品编号的输入栏中,设为能够进行条形码输入(method=2),在数量的输入栏中,设为不能进行条形码输入(method=1)。

另外,如图7所例示、在终端装置3进行了初始化时,将该通信开始的请求对中心装置2发送(S1)。在该通信开始请求中,包含终端装置3所存储的终端识别符(_si)、请求识别信息(_ri)、终端装置3存储的小组识别符(gid)。在该时刻为请求识别信息被初始化的状态,如果是已经叙述过的例子,则请求识别信息以“_ri=1”的字符串表示。

终端装置3还在发送该通信开始的请求时对中心装置2询问是否需要加密。在接受该需要与否的询问时,中心装置2按照事前的设定确定是否需要加密并通知至终端装置3。终端装置3接受该确定的通知,存储该确定的内容(表示是否需要加密的信息)。

也就是说,在此,在中心装置2确定为加密时,终端装置3从中心装置2接收需要加密的应答。在此情况下,终端装置3在以后的通信中生成对请求进行了加密的数据,将该加密过的数据对中心装置2发送。另外,在从中心装置接收不需要加密的应答时,终端装置3在以后的通信中不对请求进行加密就对中心装置2发送。在中心装置2中,通信部24执行的与该终端装置3对应的线程受理并缓存该请求或者加密后的数据。

在本实施方式中,通过这样不是在终端装置3侧而是在中心装置2侧确定是否需要加密,由此不会让对终端装置3进行操作的各个作业员判断是否需要加密,而且虽然在终端装置3不事先进行加密设定,但如果需要加密,就能够进行加密通信。这即是,最初的通信(加密需要与否的询问)尽管未被加密,但对于之后的通信,若系统管理者确定进行加密,则在服务器侧的主导下,通信被设定为加密。

另外,此时,中心装置2取得终端装置3的终端识别符(_si)。并且,中心装置2取得终端装置3的小组识别符(gid),读出与该小组识别符建立了关联的URL(与应当进行的处理对应的URL)。在此的例子中,URL为与入库处理程序对应的服务器装置1的URL或者与出库处理程序对应的服务器装置1的URL中的任一个。这样,在本实施方式中,即使在终端装置3侧不进行任何的设定变更,只要事先在中心装置2做好设定,就能够确定终端装置3为执行哪种处理的终端。

中心装置2对服务器装置1请求以该所读出的URL确定的信息(S2)。该请求通过HTTP协议来进行,由于是初次的通信,所以不包含小型文本文件(cookie)等确定会话(session)的信息。服务器装置1从中心装置2接受不包含确定该会话的信息的请求时,发放确定会话的信息,并且对该HTTP协议的请求进行应答,将表示对应的程序的XML文档和已发行的确定会话的信息配送给作为请求方的中心装置2(S3)。中心装置2将从服务器装置1接收到的、确定会话的信息和请求方即终端装置3的终端识别符(_si)建立关联并存储。另外,中心装置2将从服务器装置1接收到的XML文档转换为通过终端装置3能够执行的程序。然后,中心装置2决定是否对该程序的数据进行加密。该决定与已述例子同样、按照事先的设定来决定是否进行加密。

中心装置2在决定对该程序的数据进行加密的情况下,对该数据进行加密并发送至终端装置3(S4)。另外,在判断为不对该程序的数据进行加密的情况下,在处理S4中,将该程序的数据直接原样地发送至终端装置3。

终端装置3从中心装置2接收数据时,使表示请求识别信息的变量递增。然后,如果该接收到的数据被加密,则终端装置3进行解密并取出程序,将所取出的程序保存于存储部32,使按照该程序的处理开始(S5)。另外,如果该接收到的数据未被加密,则终端装置3在处理S5中,将该数据中包含的程序保存于存储部32,并使按照该程序的处理开始。

该程序基于例如图6所例示的XML。如果是基于图6的例子的程序,则终端装置3的控制部31按照所读取的指示的顺序,首先,将光标移动到最初读取到的作为涉及操作引导要素的指示的、商品编号的输入栏并待机。此外,也可以通过袖珍键盘的操作,使光标能够移动。在此情况下,光标的移动顺序可以为指示中包含的画面要素的顺序。

利用者对操作部33的条形码阅读器进行操作从而读取涉及库存商品的条形码时,对控制部31输出该条形码阅读器读取到的信息。控制部31将该信息显示在第1个输入栏,并且执行根据该所输入的值和成为了比较对象的值的比较的分支处理。并且,此时,即使在第2个输入栏中未输入值,也设预先定义的值(图6的例中为“1”)被输入到第2个输入栏,并进行第2个输入栏涉及的分支处理。

在此,利用者读入“A”以外的商品编号作为商品编号的情况下,通过图6所示的分支处理,作为终端装置3侧的处理能够显示错误。另外,每当读取商品编号“A”,第2个输入栏的值都递增“1”。

然后,在成为了比较对象的各值涉及的分支处理完毕时,控制部31生成数据,该数据包含所输入的值(商品编号以及数量)的列表、比较结果的列表以及数据处理请求。在此,在数据处理请求中,附加“_ri=2”(如前所述因为涉及请求识别信息的变量会被递增,所以请求识别信息变为“2”。)作为请求识别信息的字符串。控制部31基于所存储的信息决定是否需要对这些数据进行加密。然后,如果存储为需要加密,则对这些数据进行加密并经由通信部35发送至中心装置2。另外,在存储为不需要加密的情况下,将这些数据直接原样地经由通信部35发送至中心装置2(S6)。

若从终端装置3接收到的数据被加密,则中心装置2进行解密,并接受该解密后的数据(若未加密则为接收到的数据本身)中包含的、所输入的值的列表和判断的结果的排列的输入,对通过数据处理请求确定的URL(相当于服务器装置1中的数据处理服务的URL)地址发送该所输入的值的列表等,进行与服务器装置1对应的处理(S7)。此时,中心装置2读出与该列表等的数据的出处、即终端装置3的终端识别符(_si)建立关联的、确定会话的信息,将列表等的数据与该读出的确定会话的信息一起对服务器装置1发送。

在服务器装置1中,参照该确定对话的信息,继续进行处理。通过该中心装置2的作用,即使由于终端装置3中的错误等使终端装置3再启动的情况下,与来自终端装置3的一般的浏览器应用程序的访问不同,对与服务器装置1之间的对话进行确定的信息不会变化。因此,在服务器装置1不会保持涉及不连续的会话的信息(无用数据),服务器装置1的负担増加的情况得以防止。

这样,在本实施方式中,代替终端装置3,中心装置2执行与WEB服务器的通信及各种处理,并将该结果发送至终端装置3侧进行显示。此时,终端装置3在与中心装置2之间进行通信,起动并执行用于执行由中心装置2提供的程序的解释程序。

为此,即使例如终端装置3的利用者利用安装于终端装置3的一般的网络浏览器(Internet Explorer等)访问有恶意的站点,例如盗取访问目的地的URL这种恶意软件安装于终端装置3,该解释程序或由中心装置2提供的程序也不会取得通信的URL。即使终端装置3执行的操作系统感染病毒,由于与中心装置2之间的通信为不是HTTP的独自的协议,因此除解释程序以外无法与中心装置2进行通信,所以病毒难以扩散到整个网络。

[变形例]

中心装置2也可以将终端装置3中的、对发送的数据的受理进行拒绝的终端装置3的终端识别符的列表(拒绝列表)事先存储到硬盘驱动器或数据库等的存储单元中。然后,中心装置2的请求受理部27从终端装置3受理数据时,调查该终端装置3的终端识别符是否包含于拒绝列表。

然后,若该终端装置3的终端识别符未包含于拒绝列表,则中心装置2进行基于该数据中包含的请求的处理(对服务器装置1发送数据等)。另外,若该终端装置3的终端识别符包含于拒绝列表中,则将该数据废弃,不进行之后的处理。或者,也可以送出为了使解释程序暂时不能使用的指示。或者,也可以指示执行解释程序的删除命令(以“0”数据覆盖保存有解释的存储区域等),来删除该解释程序。

由此,在终端装置3被盗等可能被非法使用的情况下,也能够防止该非法使用。

另外,在中心装置2中存储的、终端装置3保持的小组识别符可以为,能够通过从服务器装置1侧经由中心装置2发送的指示来改写的小组识别符。具体而言,通过来自服务器装置1的指示,中心装置2可以指示对终端装置3变更小组识别符。此外,该小组识别符也可以为,能够在终端装置3侧变更。这样,通过能够从服务器装置1侧改写由终端装置3保持的小组识别符,不让终端利用者有意识地、就能够切换对应当对终端装置3配送的信息进行确定的URL、以及终端装置3应当执行的业务应用程序。

并且,通过以上说明的本实施方式,与以往的WEB应用程序开发不同,即使使服务器装置1中的开发环境开放化,也不至于使服务器装置1与终端装置3之间的通信也开放,能够有助于安全性的提高。

符号说明

1 服务器装置,

2 中心装置,

3 终端装置,

21、31 控制部,

22 通信管理部,

23 通信控制部,

24 通信部,

25 HTTP客户端部,

26 信息转换部,

32 存储部,

33 显示部,

34 操作部,

35 通信部。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1