用于改变指令记述内容的设备及方法及其存储介质的制作方法

文档序号:6438277阅读:94来源:国知局
专利名称:用于改变指令记述内容的设备及方法及其存储介质的制作方法
技术领域
本发明涉及一种用于改变指令记述内容(instruction descriptioncontent)的设备和方法,并且涉及一种其中存储了用于改变指令记述内容的程序的存储介质,特别地,涉及一种用于改变指令记述内容的设备和方法,该设备和方法改变指令记述内容,该指令记述内容指示将由一执行单元来执行的处理以及该执行单元的位置,并且涉及一种存储介质,在该存储介质中存储了用于改变指令记述内容的程序。
背景技术
已经知道,可以提供分布式处理系统,其通过将一个处理的多个部分转移到多个分布式处理对象,并且组合其结果来执行该处理。将接收该处理的转移并执行该处理的对象称为服务(service)。将转移处理并且处理上述结果的对象称为客户端(client)。
在分布式处理系统中,客户端通常执行一段程序或一称为脚本的指令记述内容,并且调用服务来委托一些操作并取得结果。这并不以该客户端固定地依赖于单个设备或软件为前提;也可以认为,根据指令记述内容的执行进度,执行指令记述内容的客户端功能遍布于多个设备和软件。
正如微软公司的COM/DCOM的情况,传统的分布式处理系统被构造为对各个服务设置唯一的(独特的)名称或者标识符,并且通过参照一个实现服务和名称或者标识符的实体(例如,其中记录了主机名称和程序名称的数据库,在这些主机中执行服务)来执行对服务的访问。
通过这样的结构,一个使用服务的客户端可以使用名称或者标识符来调用服务,并且有可能构造不依赖于单个客户端和服务器的系统。
上述的传统分布式处理系统的方法存在以下的问题。一个问题是,因为服务是由其唯一的名称来确定的,所以必须维护一个记载名称和服务之间关系的数据库。在有些情况下,这种维护操作可能烦杂。
例如,让我们来考虑业务业绩记录服务的情况。在一个具有多个业务部门的事务所等中,对各个部门都有业务业绩记录服务。当必须对业务业绩记录进行个别维护时,将各个业务部门的业务业绩记录服务准备为具有不同的唯一名称的服务。为各个业务部门都提供参照不同服务的多个客户端,或者为各个业务部门都准备一个记录了该唯一名称和服务的数据库并且独立管理各个数据库,或者使用另外的方法。在任何情况下,都可能使得对服务和客户端的管理变复杂。
特别地,当在一共享设备上启动和操作多个客户端时,这样的管理变得极端复杂。

发明内容
基于上面的情况提出了本发明,并且本发明提供了一种用于改变指令记述内容的设备和方法,以及一种存储了用于改变指令记述内容的程序的存储介质。
本发明第一方面的一种用于改变指令记述内容的设备包括接收单元,该接收单元接收指令记述内容,该指令记述内容指示将由一执行单元执行的处理以及该执行单元的位置;判断单元,该判断单元判断所述指令记述内容所指示的位置是否表示一个预定的可用执行单元的位置;以及变更单元,当判断出指令记述内容所指示的位置不表示预定的可用执行单元的位置时,该变更单元将指令记述内容所指示的位置改变为可以执行该指令记述内容所指示的处理的预定的可用执行单元的位置。
即,接收单元接收指令记述内容,该指令记述内容指示一处理以及用于执行该处理的执行单元的位置。
根据预先确定并且可以使用的执行单元的位置,以及接收单元接收到的指令记述内容所指示的执行单元位置,判断单元判断出指令记述内容所指示的位置是否表示预先确定并且可以使用的执行单元的位置。
当判断出指令记述内容所指示的位置不表示预先确定并且可以使用的执行单元的位置时,变更单元将指令记述内容所指示的位置改变为预先确定的、可以使用的、并且可以执行该指令记述内容所指示的处理的执行单元的位置。
这样,即使在指令记述内容所指示的位置不表示预先确定且可以使用的执行单元的位置的情况下,也将指令记述内容所指示的位置改变为预先确定的、可以使用的、并且可以执行指令记述内容所指示的处理的执行单元的位置。因此,即使是一个未指示预先确定且可以使用的执行单元的指令记述内容也可以被使用。
本发明第二方面的一种用于改变指令记述内容的方法具有与上述的第一方面的用于改变指令记述内容的设备相类似的操作和效果。因此,省略对第二方面的方法的说明。另外,本发明第三方面的存储了包括多条指令的程序(所述程序可由计算机执行以实现改变指令记述内容的功能)的存储介质具有与上述的第一方面的用于改变指令记述内容的设备相类似的操作和效果。因此,省略对第三方面的存储介质的说明。
如上所述,根据本发明,即使在指令记述内容所指示的位置不表示预先确定且可以使用的执行单元的位置的情况下,也将指令记述内容所指示的位置改变为预先确定的、可以使用的、并且可以执行该指令记述内容所指示的处理的执行单元的位置。因此,本发明具有如下效果即使是一个未指示预先确定且可以使用的执行单元的指令记述内容也可以被使用。


将基于下列附图来详细说明本发明的实施例,其中图1是示出了关于本发明第一实施例的分布式处理系统的方框图;图2是示出了以WSDL描述的服务规范的示例的图;图3是示出了指令文本的一部分的图;图4是示出了由管理终端执行的指令文本管理处理程序的流程图;图5是用于说明本发明第一实施例的操作的图;
图6是示出了关于本发明第二实施例的分布式处理系统的方框图;图7是用于说明本发明第二实施例的操作的图;图8是示出了当向服务器导入服务时由该服务执行的处理程序的流程图;图9是示出了当向服务器导入服务时由WSDL数据库执行的处理程序的流程图;以及图10是示出了WSDL数据库的内容的图。
具体实施例方式
下面将参照附图详细说明本发明第一实施例。
如图1所示,关于本实施例的分布式处理系统具有作为执行单元的服务器101a(其中安装有服务102a)、服务器101b(其中安装有服务102b)、...;用作为改变指令记述内容的设备的管理终端103,该管理终端103准备指令文本105,该指令文本105记载关于服务102a、102b、...的处理请求等等;以及根据在管理终端103准备的指令文本105a、105b、...来执行处理的客户端104a、104b、...。
服务器101a、101b、...,管理终端103,以及客户端104a、104b、...通过网络106连接。指令文本105a、105b、...存储在客户端104a、104b、...中。构造服务器101a、101b、...,管理终端103,以及客户端104a、104b、...,以使得它们包括CPU,ROM,RAM,显示器,输入设备,存储器,以及连接到网络106的接口等等。
根据Web服务协议来构造服务102a、102b、...,并且使用WSDL(Web服务描述语言)来描述其服务规范。
如图2所示,在该服务规范(Web服务)中,通过SOAPAction 204,SOAP消息的名称空间(name space)202以及参数名称203等来指定服务的请求/响应格式。通过适当地设置SOAPAction 204,SOAP消息的名称空间202以及参数名称203,可以通过所述接口来唯一地识别Web服务的功能(处理内容)。另外,因为Web服务根据http协议来执行请求/响应的通信,所以为每个服务设置一个URL 205(位置信息)。可以参照图2所示的WSDL来获取SOAPAction 204,SOAP消息的名称空间202,参数名称203以及服务URL 205。
另一方面,对于指令文本105a、105b、...,如图3所示(其显示了用于定义指令文本105、105b、...使用的服务的部分),由服务URL 305、SOAPAction 304、SOAP消息的名称空间302以及参数名称303对通过哪个接口使用所述功能以及参数格式是哪种格式进行定义。
通过用适当的XML解析器来解释指令文本105a、105b、...,可以获取SOAPAction 304、SOAP消息的名称空间302、参数名称303,以及服务URL 305等等。反过来,也可以从该信息来重建指令文本。
接下来将说明本实施例的操作。在本实施例中,将说明如下情况在一站点中使用一指令文本,但是该站点并不是原本意图在其中使用该指令文本的站点。在此,例如,将其中使用了由系统积分器(systemintegrator)等准备的指令文本的情况看作为其中在一个并不是原本意图站点的站点使用指令文本的情况。
如图2和图3所示,在系统积分器中和实际使用的环境中,设置有服务的服务器是不同的。因此,不能原样地使用指令文本,并且,必须根据使用环境来改变服务URL 305,即,指令文本内的服务的位置信息。
例如,如图2所示,在服务102的WSDL中,服务URL 205表示“http//server.foo.com/EchobackService”。然而,在图3的指令文本中,URL 305给出“http//server1.some.vender/echoservice”,此即当准备该指令文本时使用的服务器的URL。因此,如果试图通过原样地使用该指令文本来执行处理,则不能从用户的环境使用服务器“server1.some.vender”,且处理会失败。
为了避免这样的处理失败,在管理终端103导入(输入)指令文本时,有必要确认是否能执行该指令文本。当判断出已经导入了外部准备的文本指令时,可以考虑通过如下方式来处理在该指令文本内部的服务位置信息例如,第一,用户编辑该位置信息,或者第二,自动改变该位置信息。以下,将以自动改变位置信息的情况作为示例来进行说明。
图4中示出了指令文本管理处理程序,在向管理终端103导入指令文本时该程序启动。注意,将以如下方式给出说明使用服务器101来代表服务器101a、101b、...,使用客户端104来代表客户端104a、104b、...,以及使用指令文本105来代表指令文本105a、105b、...。
该指令文本管理程序启动时,在步骤22,管理终端103读取由系统积分器等准备的指令文本,并为各服务URL提取要使用的服务102的SOAPAction以及SOAP消息格式。
在步骤24,管理终端103向各服务器101请求设置在该服务器101中的服务102的WSDL位置(参见图5中的标号1)。从各个服务器101都返回设置在该服务器101中的服务102的WSDL位置作为响应(参见图5中的标号2)。因此,管理终端103参照这些响应,并向各服务102请求其WSDL(参见图5中的标号3)。响应于该请求,各服务将其WSDL发送给管理终端103(参见图5中的标号4)。由此执行步骤26。
如上所述,WSDL中记载了服务URL、SOAPAction以及SOAP消息格式。这里,在步骤28,管理终端103把从服务102接收的作为回复的WSDL中的SOAPAction和SOAP消息与指令文本中的SOAPAction以及SOAP消息进行比较。
在步骤30,当基于上述比较结果,不存在可以执行指令文本中的处理的服务时,即,如果不存在与指令文本中记载的SOAPAction和SOAP消息相对应的WSDL,则在步骤32,通知管理终端103的用户不能使用该指令文本,并且例程(routine)结束。
另一方面,如果存在可以执行指令文本中的处理的服务,则在步骤34中,判断是否存在多个可以执行指令文本中的处理的服务。如果存在多个这样的服务,则在步骤36,在管理终端103上显示该事实,管理终端103的用户选择这些服务中的一个,并且例程转到步骤38。注意,如果在步骤34判断出不存在多个可以执行指令文本中的处理的服务,则例程转到步骤38。
在步骤38,判断指令文本中的服务位置信息是否适合于环境。即,判断指令文本中的服务位置信息是否没有表示图1所示环境中的位置。如果指令文本中的服务位置信息不适合于环境,则在步骤40,修正指令文本中的服务位置信息以使之适合于环境。即,自动将该指令文本中的服务位置信息改变为可以执行该指令文本中的处理的服务的位置信息。例如,在上述示例中,自动将“http//server1.some.vender/echoservice”(图3的指令文本中的服务URL 305)改变为“http//server.foo.com/EchobackService”(图2中的服务URL 205)。
之后,在步骤42,将该指令文本传送给客户端(参见图5中的标号5)。
随后,因为客户端104按原样解释和执行在管理终端103准备的指令文本105,所以进行向服务102发布请求和执行处理的操作(参见图5中的标号6和7)。
如上所述,在本实施例中,当指令文本中的服务位置信息不适合于环境时,修正指令文本中的服务位置信息以使之适合于环境。因此,即使一指令文本是为外部使用而准备的,也可以使用该指令文本。
上述实施例设想一改变指令文本的独立管理终端。然而,本发明不限于此,只需客户端和服务中的一个具有上述管理终端的功能即可。在这种情况下,该客户端或者服务对应于改变指令记述内容的设备。
下面将说明本发明的第二实施例。因为本实施例的结构和上述第一实施例的结构基本相同,所以用相同的标号来表示同样的部分,并且省略其说明。仅仅对不同的部分进行说明。
如图6所示,本实施例的分布式处理系统与第一实施例的分布式处理系统的不同之处在于本实施例中设置了一用作管理单元的WSDL数据库107。当在服务器101设置一服务102时,自动地或者通过用户的指令,在该WSDL数据库107中执行对该服务102的WSDL的登记。当管理终端103改变指令文本时可以参照该WSDL数据库107。
接下来将说明本实施例的操作。本实施例的操作和上述第一实施例的操作基本相同。因此,用相同的标号来表示同样的部分,并且省略其说明。仅仅对不同的部分进行说明。
下面对在服务器101上设置服务102时服务102和WSDL数据库107等执行的处理进行说明。
当将服务102设置在服务器101上时,在图8的步骤52,服务102通知WSDL数据库107已经设置了服务102(参见图7中的标号1)。
在图9中的步骤62,已被通知了已设置服务102的WSDL数据库107向设置的服务102发送一WSDL传送请求(参见图7中的标号2)。
在步骤56,已收到该WSDL传送请求(图8中的步骤54)的服务102向WSDL数据库107发送该服务102的WSDL(参见图7中的标号3)。
这样,WSDL数据库107接收服务102的WSDL(图9中的步骤64),并且在步骤66,更新图10所示的数据库。
注意,在导入指令文本时管理终端103执行的处理和上述第一实施例中的基本相同。简单地说读取指令文本,并且为各服务URL提取所使用的服务102的SOAPAction和SOAP消息格式。随后,管理终端103向WSDL数据库107请求所登记的WSDL(参见图7中的标号4)。管理终端103从WSDL数据库107接收所登记的WSDL(参见图7中的标号5)。
如上所述,各WSDL中均记载了服务URL,SOAPAction和SOAP消息格式。管理终端把先前提取的指令文本中的SOAPAction和SOAP消息与从WSDL数据库107返回的WSDL中的SOAPAction和SOAP消息进行比较,将指令文本中的服务URL改变为对应服务102的URL,并且更新指令文本。
注意,与上述第一实施例相同,如果不存在与指令文本中记载的SOAPAction和SOAP消息相对应的WSDL,则通知管理终端103的用户不能使用该指令文本,并且例程结束。
当检测到多个与指令文本中记载的SOAPAction和SOAP消息相对应的WSDL时,在管理终端103上显示该事实,并且由管理终端103的用户进行选择。
将更新的指令文本从管理终端103发送到客户端104。
注意,如下的结构也是可能的在管理终端103,与客户端104共享指令文本,并且可以从客户端104使用该指令文本。
因为客户端104按原样解释和执行在管理终端103准备的指令文本105,所以该客户端进行向服务102发布请求以及执行处理的操作。
因为在指令文本105中记载了服务102的服务规范,所以在向服务102发布请求的过程中,不需要与WSDL数据库107进行通信。
本实施例的分布式处理系统设想一执行指令文本的改变的独立管理终端。然而,与第一实施例中相同地,当然有可能是客户端和服务中的一个具有所述管理终端的功能。在这种情况下,该客户端或者服务对应于用于改变指令记述内容的设备。
如上所述,本发明一个方面的用于改变指令记述内容的设备包括接收单元,该接收单元接收指令记述内容,该指令记述内容指示一处理以及执行该处理的执行单元的位置;判断单元,其用于基于一预先确定且可以使用的执行单元的位置,以及由接收单元接收到的指令记述内容所指示的执行单元位置,来判断指令记述内容所指示的位置是否表示预先确定并且可以使用的执行单元的位置;以及变更单元,其用于当判断出指令记述内容所指示的位置不表示预先确定且可以使用的执行单元的位置时,将指令记述内容所指示的位置改变为预先确定的、可以使用的、并且可以执行指令记述内容所指示的处理的执行单元的位置。
在该用于改变指令记述内容的设备中,可以将接收单元构造为能够从如下单元来接收预先确定且可以使用的执行单元的位置预先确定且可以使用的执行单元;或者管理单元,该管理单元用于管理由预先确定且可以使用的执行单元执行的处理以及该执行单元的位置。
基于由接收单元接收的预先确定并且可以使用的执行单元的位置,以及指令记述内容所指示的执行单元的位置,判断单元可以判断出指令记述内容所指示的位置是否表示预先确定并且可以使用的执行单元的位置。
权利要求
1.一种用于改变指令记述内容的设备,其包括接收单元,该接收单元接收指令记述内容,该指令记述内容指示将由一执行单元来执行的处理以及该执行单元的位置;判断单元,该判断单元判断所述指令记述内容所指示的位置是否表示一预定的可用执行单元的位置;以及变更单元,当判断出所述指令记述内容所指示的位置不表示所述预定的可用执行单元的位置时,该变更单元将所述指令记述内容所指示的位置改变为可以执行所述指令记述内容所指示的处理的所述预定的可用执行单元的位置。
2.根据权利要求1所述的设备,其中,所述接收单元可以从所述预定的可用执行单元、或者管理由所述执行单元执行的处理以及该执行单元的位置的管理单元来接收所述预定的可用执行单元的位置信息,以及所述判断单元根据所接收的位置信息来判断所述指令记述内容所指示的位置是否表示所述预定的可用执行单元的位置。
3.一种用于改变由执行单元执行的指令记述内容的方法,其包括接收所述指令记述内容,该指令记述内容指示一处理以及所述执行单元的位置;判断所述指令记述内容所指示的位置是否表示一预定的可用执行单元的位置;以及当判断出所述指令记述内容所指示的位置不表示所述预定的可用执行单元的位置时,将所述指令记述内容所指示的位置改变为可以执行所述指令记述内容所指示的处理的所述预定的可用执行单元的位置。
4.根据权利要求3所述的方法,其中在所述接收步骤中,进一步从所述预定的可用执行单元、或者管理由所述执行单元执行的处理以及该执行单元的位置的管理单元来接收所述预定的可用执行单元的位置信息,以及在所述判断步骤中,根据所接收的位置信息来判断所述指令记述内容所指示的位置是否表示所述预定的可用执行单元的位置。
5.一种可由计算机读取的存储介质,该存储介质存储了包括多个指令的程序,该程序可由计算机执行以实现改变由一执行单元执行的指令记述内容的功能,所述功能包括接收一指令记述内容,该指令记述内容指示由一执行单元执行的处理以及该执行单元的位置;判断所述指令记述内容所指示的位置是否表示一预定的可用执行单元的位置;以及当判定所述指令记述内容所指示的位置不表示所述预定的可用执行单元的位置时,将所述指令记述内容所指示的位置改变为可以执行所述指令记述内容所指示的处理的所述预定的可用执行单元的位置。
6.根据权利要求5所述的存储介质,其中在所述接收步骤中,进一步从所述预定的可用执行单元、或者管理由所述执行单元执行的处理以及该执行单元的位置的管理单元来接收所述预定的可用执行单元的位置信息,以及在所述判断步骤中,根据所收到的位置信息来判断所述指令记述内容所指示的位置是否表示所述预定的可用执行单元的位置。
全文摘要
本发明提供了一种用于改变指令记述内容的设备。该设备包括接收单元,该接收单元接收指令记述内容,该指令记述内容指示将由执行单元来执行的处理以及该执行单元的位置;判断单元,该判断单元判断指令记述内容所指示的位置是否表示预定的可用执行单元的位置;以及变更单元,当判断出指令记述内容所指示的位置不表示预定的可用执行单元的位置时,该变更单元将指令记述内容所指示的位置改变为可以执行该指令记述内容所指示的处理的预定的可用执行单元的位置。
文档编号G06F15/00GK1645851SQ20041009099
公开日2005年7月27日 申请日期2004年11月11日 优先权日2004年1月23日
发明者道村唯夫, 田中泰夫, 山内智也 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1