CN101582921A - 服务流程处理设备和方法 - Google Patents

服务流程处理设备和方法 Download PDF

Info

Publication number
CN101582921A
CN101582921A CNA2009101386287A CN200910138628A CN101582921A CN 101582921 A CN101582921 A CN 101582921A CN A2009101386287 A CNA2009101386287 A CN A2009101386287A CN 200910138628 A CN200910138628 A CN 200910138628A CN 101582921 A CN101582921 A CN 101582921A
Authority
CN
China
Prior art keywords
service
processing apparatus
flow processing
service flow
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009101386287A
Other languages
English (en)
Other versions
CN101582921B (zh
Inventor
岩崎晋吾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN101582921A publication Critical patent/CN101582921A/zh
Application granted granted Critical
Publication of CN101582921B publication Critical patent/CN101582921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种服务流程处理设备和方法。该服务流程处理设备根据第一服务流程描述文档中所指定的第一处理,从网络上的服务接收消息,并且在要通过其它服务流程处理设备处理所接收到的消息的情况下,从第一服务流程描述文档中提取要使用所接收到的消息而执行的第二处理的描述。该服务流程处理设备将包含第二处理的描述的第二服务流程描述文档和所接收到的消息发送至其它服务流程处理设备。

Description

服务流程处理设备和方法
技术领域
本发明涉及一种服务流程处理设备和方法。
背景技术
已知如下传统技术:加载用于顺序执行web服务的web服务流程描述文档(结构化文档),然后根据该描述的规范顺序执行那些web服务。例如,以WSBPEL(web服务业务流程执行语言)写web服务流程描述文档。
当根据web服务流程描述文档中所描述的规范顺序调用大量未指定数量的web服务时,流程处理设备通常根据下面所述的流程执行处理。
首先,流程处理设备向web服务发送SOAP消息,接收来自该web服务的应答作为SOAP消息,并且从所接收到的SOAP消息提取数据或者处理该消息。然后将该处理的结果作为SOAP消息发送到下一web服务。
对于基于这类web服务执行顺序而顺序执行的处理,开发的重点在于如何有效生成多个web服务的执行顺序这一问题。
日本特开2004-361993号公报公开了通过用于执行比较小的处理的子流程的灵活组合,动态创建要执行的单个和整个逻辑web服务流程。同时,日本特开2005-173892号公报公开了一种技术,该技术用于基于描述了各个服务的过程的多个手册,生成指定要执行什么组合处理的手册。
然而,利用上述传统技术,存在下面的可能性:作为来自流程处理设备所调用的web服务的应答,将返回非常大的SOAP消息。当实际返回非常大的SOAP消息时,必须在流程处理设备内处理该SOAP消息,并且提取和处理该消息的数据等。换句话说,存在SOAP消息超出了处理资源的大小的可能性,此时,不可能提供该处理,从而导致不能使处理进入web服务流程描述文档中所指定的后续处理的问题。还可以想象得到,当返回非常大的SOAP消息时,根据该处理的具体细节,不可能提供该处理,或者需要长时间来完成该处理。
然而,作为针对各种可能问题的措施,通过在web服务流程描述文档内使用许多条件表达式来指定特定处理内容,这同样存在web服务流程描述文档本身变得肥大和复杂的问题。
发明内容
本发明提供一种能够将流程处理传送至其它服务流程处理设备的流程处理设备和方法。
根据本发明的一个方面,提供一种服务流程处理设备,该设备包括:接收单元,其根据第一服务流程描述文档中所描述的第一处理,从网络上的服务接收消息;提取单元,其在要通过其它服务流程处理设备处理所接收到的消息的情况下,从所述第一服务流程描述文档中提取使用所接收到的消息而执行的第二处理的描述;以及发送单元,其将包含所述第二处理的描述的第二服务流程描述文档和由所述接收单元所接收到的消息发送至所述其它服务流程处理设备。
根据本发明的另一方面,提供一种服务流程处理方法,该方法包括以下步骤:接收步骤,用于根据第一服务流程描述文档中所描述的第一处理,从网络上的服务接收消息;提取步骤,用于在要通过其它服务流程处理设备处理所接收到的消息的情况下,从所述第一服务流程描述文档中提取使用所接收到的消息而执行的第二处理的描述;以及发送步骤,用于将包含所述第二处理的描述的第二服务流程描述文档和所接收到的消息发送至所述其它服务流程处理设备。
通过以下(参考附图)对典型实施例的说明,本发明的其它特征将变得明显。
附图说明
图1是示出根据实施例的web服务流程处理部分传送处理的图;
图2是示出图1所示的web服务流程处理设备(流程处理设备)的结构的例子的图;
图3A~3C是示出web服务流程描述文档的结构的例子的图;
图4是示出应答SOAP消息的具体例子的图;
图5A~5C是示出web服务流程处理描述文档的具体例子的图;
图6A~6C是示出用于生成WSDL的方法的图;
图7是示出根据第一变型例的web服务流程处理设备(流程处理设备)的结构的例子的图;
图8是示出信息处理设备的硬件结构的例子的图。
具体实施方式
下面参考附图详细说明用于实现本发明的优选实施例。
首先,将说明web服务流程处理部分传送处理的概况,其中,通过该web服务流程处理部分传送处理,web服务流程处理设备将其不能处理的从外部服务(web服务)接收到的S OAP消息传送到其它web服务流程处理设备。下面,将web服务流程处理设备简称为“流程处理设备”。
图1是示出根据本实施例的web服务流程处理部分传送处理的图。
在图1中,附图标记101表示打印机。同时,附图标记102为流程处理设备,该流程处理设备能够根据web服务流程描述文档中的规范顺序执行web服务,并被设置在打印机101中。流程处理设备102是解释服务流程描述文档并基于服务流程描述文档中的规范执行流程处理的服务流程处理设备。在图1中,示出具有用于处理web服务流程的功能的打印机101。尽管本实施例说明了打印机包括web服务流程处理设备的方案,但是本发明不是要局限于这一方案。
附图标记103是web服务流程处理部分传送单元,该单元在从web服务接收到不能被处理的SOAP消息时,将该SOAP消息传送至设置在后面将说明的多功能外围设备112中的流程处理设备。在这种情况下,也将要通过参考该SOAP消息而处理的web服务流程描述文档的部分传送至其它流程处理设备。
附图标记104是组合了文档105和109~111以及表示端点信息的多功能外围设备端点信息113的包,其中,该端点信息表示用作web服务流程处理的传送目的地的多功能外围设备112的位置。附图标记105是指定多个web服务流程的web服务流程描述文档。附图标记109是搜索处理服务WSDL(web服务描述语言),并且是用于公开搜索处理服务106的web服务接口描述。
注意,搜索处理服务106例如是新闻搜索服务或书籍搜索服务等。此外,这里使用WSDL作为被描述为用于识别web服务的接口的文档。
同时,附图标记110是布局处理服务WSDL,并且是用于公开布局处理服务107的web服务接口描述文档。最后,附图标记111是存储处理服务WSDL,并且是用于公开存储处理服务108的web服务接口描述文档。搜索处理服务106、布局处理服务107和存储处理服务108是外部服务。
附图标记112是包括复制、扫描和打印等多种功能的多功能外围设备。附图标记114是设置在多功能外围设备112内的流程处理设备。
附图标记115是个人计算机等的客户端,并且提供用以开始web服务流程处理的指令。附图标记116是由打印机101所公开的基于打印机的web服务流程处理服务WSDL。
下面,采用如上所述的结构来说明通过web服务流程处理部分传送单元103所进行的处理。
首先,设置在打印机101内的流程处理设备102加载包括在包104中的各文件,并且根据web服务流程描述文档105准备开始web服务流程处理。打印机101通过网络(未示出)加载包括在包104中的各文件。然后,客户端115通过使用基于打印机的web服务流程处理服务WSDL 116向打印机101发送包括必要关键词的请求消息,来指示开始web服务流程处理。
基于该开始指令,流程处理设备102使用web服务流程描述文档105中所描述的规范,开始执行web服务流程处理。然后流程处理设备102生成包括从客户端115所接收到的关键词的请求SOAP消息A(请求消息)117,将该消息发送至搜索处理服务106,并接收应答SOAP消息A(应答消息)118作为搜索结果。换句话说,流程处理设备102在正执行流程处理的同时,响应于对搜索处理服务106进行的请求,接收应答消息。此后,流程处理设备102生成包括所接收到的搜索结果的请求SOAP消息B(请求消息)119,将该消息发送至布局处理服务107,并接收应答SOAP消息B(应答消息)120作为布局结果。
这里,布局处理服务107布置该搜索结果,并且将其作为PDF文件或SVG文件等输出。在本实施例中,假定输出PDF文件。由于在该例子中包括PDF文件,因而存在大小非常大的情况,因此在打印机101中可能发生以下状况:加载时的应答SOAP消息的大小超过了打印机101能够处理的存储量,从而使得不可能继续进行此后的流程处理。
由于该原因,web服务流程处理部分传送单元103接收应答,以使得即使返回大的应答SOAP消息,流程处理设备102也可以继续进行流程处理。然后,web服务流程处理部分传送单元103在测量应答SOAP消息的大小的同时导入该应答SOAP消息,并在判断为该应答将超过其本身能够处理的存储量时,将要执行的下一流程处理传送至多功能外围设备112。
换句话说,web服务流程处理部分传送单元103判断所接收到的消息的处理大小是否大于或等于设置值。在所接收到的消息大于或等于设置值的情况下,将要执行的下一流程处理传送至其它服务流程处理设备114。
预先在web服务流程处理部分传送单元103中设置表示应该传送流程处理的应答SOAP消息大小。在多功能外围设备端点信息113中设置作为流程处理被传送至的其它服务流程处理设备的多功能外围设备112的地址。
更具体地,在web服务流程描述文档105内识别预期要使用从布局处理服务107所接收到的应答消息120来处理的流程处理的部分,并且生成包括所识别出的流程处理规范的web服务部分流程描述文档121。还生成执行web服务部分流程描述文档121中的规范所需的以及启动多功能外围设备112所需的基于多功能外围设备的web服务流程处理服务WSDL 122。换句话说,web服务流程处理部分传送单元103从web服务流程描述文档105提取用于使用应答消息120进行处理的部分流程描述。
将所生成的文档121和WSDL 122、以及判断为下一流程处理必需的WSDL 110和111发送给多功能外围设备112。换句话说,将所提取的部分流程描述作为为结构化文档的web服务部分流程描述文档121发送给多功能外围设备112。
另一方面,通过接收和加载这些文档,多功能外围设备112进入可以处理包含在web服务部分流程描述文档121中的规范的状态,并且等待要发送的应答消息120。打印机101内的流程处理设备102(具体地,web服务流程处理部分传送单元103)将应答消息120发送至多功能外围设备112。换句话说,web服务流程处理部分传送单元103将应答消息120传送到能够执行部分流程描述的多功能外围设备112。
这里,多功能外围设备112按照web服务部分流程描述文档121中所描述的规范开始流程处理,并且生成包括PDF文件的请求SOAP消息C(请求消息)123,其中该PDF文件是包括在应答消息120中的布局结果。然后,多功能外围设备112将所生成的消息发送至存储处理服务108(其存储所接收到的数据等)。此后,在接收到包括存储完成通知的应答SOAP消息C(应答消息)124时,多功能外围设备112向打印机101返回该应答消息124。
同时,当打印机101接收到应答消息124时,流程处理设备102不执行已被传送至多功能外围设备112的流程处理,而是跳过流程处理的该部分,并执行下一处理。然后流程处理设备102将web服务流程处理的最终结果返回到客户端115。
如上所述,即使接收到大小较大的应答消息120,也不在中途中断流程处理,而是可以完整地执行流程处理。
注意,应答消息120的大小根据来自客户端115的请求消息中所包含的关键词而不同。因此,根据那些关键词,存在可以通过web服务流程处理设备102自身执行该处理的情况和不能通过web服务流程处理设备102自身执行该处理的情况。因此,每当从客户端115接收到请求消息时,web服务流程处理设备102判断是否将处理传送至web服务流程处理设备114。
这里,基于应答SOAP消息的大小,判断是否将处理传送至web服务流程处理设备114。然而,用于判断是否将处理传送至web服务流程处理设备114的依据不局限于应答SOAP消息的大小。还可以基于web服务流程处理设备102和114各自的能力,判断为web服务流程处理设备102不能够执行处理,或者判断为最好将处理传送至web服务流程处理设备114。
接着,使用图2说明设置在图1所示的打印机101中的流程处理设备102中的web服务流程处理部分传送单元103的结构的细节。
图2是示出图1所示的web服务流程处理设备(流程处理设备)的结构的例子的图。如图2所示,流程处理设备102具有web服务流程处理部分传送单元103、web服务流程处理单元201和信息存储区域202。将包104、web服务流程描述文档、WSDL和这类必需的其它信息存储在信息存储区域202中,并且在web服务流程处理单元201和web服务流程处理部分传送单元103之间共享信息存储区域202。
下面说明web服务流程处理部分传送单元103的结构和所进行的处理。web服务流程处理部分传送单元103配置有消息大小上限设置处理单元211、消息接收处理单元212、消息大小判断处理单元213、部分流程描述提取处理单元214和传送处理单元215。
首先,消息大小上限设置处理单元211从信息存储区域202等加载上限值设置文件203,并且将此设置为其本身能够在处理期间使用的存储量的上限值。设置256MB或512MB等数值作为该设置值。
消息接收处理单元212接收来自web服务(例如布局处理服务107)的应答S OAP消息作为流,并且将该消息输出到消息大小判断处理单元213。消息大小判断处理单元213从消息大小上限设置处理单元211获取上限值,从该流加载应答SOAP消息,并在缓冲该消息的同时确认消息大小。在缓冲期间判断为该消息超过所获取的上限值(或者大于或等于设置值)的情况下,停止缓冲,并且将该流程处理传送至其它流程处理设备114。在这种情况下,如后面所述,继续从布局处理服务107接收应答消息120,并且将已缓冲的应答消息120并行发送至其它流程处理设备114。
部分流程描述提取处理单元214从web服务流程处理单元201获取表示直到此时为止流程处理进行了多少的内容221,并且从信息存储区域202获取指定当前所执行的流程处理的内容的web服务流程描述文档222。然后,使用所接收到的应答SOAP消息,识别并提取要处理的流程处理描述的下一部分,并且生成新的web服务部分流程处理描述。为了执行web服务部分流程描述文档的内容,该处理是必需的。同时,还生成启动流程处理设备所必需的web服务流程处理服务WSDL,其中,将该处理作为执行流程处理的web服务传送至该流程处理设备。
同时,不执行所提取的部分流程处理,而将用以跳至下一处理的指令223发送至web服务流程处理单元201。然后,web服务流程处理单元201等待,监视是否已将来自传送目的地的应答SOAP消息写入了信息存储区域202中。
接着,传送处理单元215将由部分流程描述提取处理单元214所生成的web服务部分流程处理描述和web服务流程处理服务WSDL发送至其它web服务流程处理设备114。注意,从信息存储区域202获取执行部分流程所必需的WSDL和识别传送目的地流程处理设备的位置的端点信息等。使用该信息,传送处理单元215将应答SOAP消息随同已被部分加载的缓冲的内容和由消息大小判断处理单元213部分读取的剩余流一起,作为流发送至其它流程处理设备114。
其它流程处理设备114执行部分流程处理,并且当作为该处理的结果返回应答消息124时,消息接收处理单元212接收该消息,并且消息大小判断处理单元213进行其处理。如果该应答SOAP消息的大小没有超过上限值,则将该应答SOAP消息存储在信息存储区域202中。然而,当将来自传送目的地的应答SOAP消息写入信息存储区域202中时,web服务流程处理单元201使用所写入的消息进行下一处理。
通过实现上述处理的流程,可以防止web服务流程处理单元由于所接收到的应答SOAP消息的大小而不能够进行其处理。
接着,使用web服务流程描述文档的具体例子说明由web服务流程处理部分传送单元103所进行的处理的细节。
图3A~3C是示出web服务流程描述文档的结构的例子的图。
在图3A~3C中,附图标记301是web服务流程描述文档105中的描述的例子。在图3A所示的例子中,附图标记301由描述程序中所使用的变量声明等的声明部分302和描述流程处理的逻辑等的逻辑部分303构成。
在声明部分302中,附图标记304是用于识别web服务流程描述文档301的信息和用于识别要调用的各web服务的WSDL109、110和111的信息。附图标记305是web服务流程处理中所使用的变量的信息。
同时,在图3B和3C所示的逻辑部分303中,附图标记306是用于从客户端接收请求消息的处理的内容。附图标记307是下面的处理的内容:从所接收到的客户端请求消息中提取搜索关键词,并且基于搜索处理服务WSDL 109的信息以添加搜索关键词的形式生成向搜索处理服务106的请求消息117。附图标记308是下面的处理的内容:使用所生成的请求消息117调用搜索处理服务106,执行搜索处理,并接收应答消息118作为搜索的结果。
附图标记309是下面的处理的内容:从接收自搜索处理服务106的应答消息118中提取搜索结果,并基于布局处理服务WSDL 110的信息以添加该搜索结果的形式生成向布局处理服务107的请求消息119。附图标记310是下面的处理的内容:使用所生成的请求消息119调用布局处理服务107,执行布局处理,并接收布局结果的应答消息120。附图标记311是下面的处理的内容:从接收自布局处理服务107的应答消息120中提取布局结果,并基于存储处理服务WSDL 111的信息以添加该布局结果的形式生成向存储处理服务108的请求消息。
附图标记312是下面的处理的内容:使用所生成的请求消息调用存储处理服务108,执行存储处理,并接收应答消息作为存储处理的结果。附图标记313是下面的处理的内容:从接收自存储处理服务108的应答消息中提取存储处理结果,并以添加该结果的形式生成向客户端的应答消息。附图标记314是用于使用所生成的应答消息对客户端做出应答的处理的内容。
同时,附图标记315是基于web服务流程描述文档的典型描述301的具体web服务流程描述文档。在该例子中,以用于将web服务处理流程作为XML文档而写入的被称为WSBPEL的标准化规范格式来写该描述。WSBPEL是Web Service Business ProcessExecution Languag(web服务业务流程执行语言)的首字母缩略词,而XML是eXtensible Markup Language(可扩展标记语言)的首字母缩略词。这里,将web服务流程描述文档的典型描述301与web服务流程描述文档315进行比较。
附图标记316对应于信息304中的规范,并且将用于识别web服务流程描述文档315的信息、以及用于识别要调用的各web服务的WSDL 109、110和111的信息作为<process>标签的属性值写入名称空间。附图标记317对应于变量信息305中的规范,并且将执行流程处理时所使用的消息变量型信息写为<variable>标签。
附图标记318对应于处理内容306的规范,并且将用于从客户端接收请求消息的处理内容写为<receive>标签。附图标记319对应于处理内容307中的规范,并且将下面的处理的内容写为<assign>标签:基于搜索处理服务WSDL 109的信息以添加搜索关键词的形式,生成向搜索处理服务106的请求消息117。附图标记320对应于处理内容308的规范,并且将下面的处理内容写为<invoke>标签:使用所生成的请求消息117调用搜索处理服务106,执行搜索处理,并接收应答消息118作为搜索结果。
附图标记321~325分别对应于处理内容309~313的规范。附图标记326对应于处理内容314的规范,并且将用于向客户端返回应答消息的处理内容写为<reply>标签。
如上所述,将与逻辑部分303中的规范相对应的<receive>、<assign>、<invoke>和<reply>标签称为WSBPEL中的“活动”。这些标签是web服务流程处理的抽象表现。例如,<receive>标签表示消息接收,<assign>标签表示消息处理和转换,<invoke>标签表示外部web服务的调用,并且<reply>标签表示消息返回。
接着,使用应答SOAP消息的具体例子说明由消息大小判断处理单元所进行的处理。
图4是示出应答消息120的具体例子的图。附图标记401是应答SOAP消息的具体例子,并且web服务流程处理设备102使用由附图标记402所表示的、<Body>标签后的部分。以Base64二值格式,将通过布局处理服务107所布置和生成的PDF信息嵌入由403所表示的部分中。
这里,如附图标记404所示,向消息大小判断处理单元213提供SOAP消息作为流,并且从该消息的上部开始,将该流写入缓冲器405中(406)。
附图标记407表示上限设置值,并且当缓冲该流直到附图标记408所表示的位置为止时,如附图标记409所示,所使用的缓冲量达到上限设置值407,因此此时消息大小判断处理单元213判断为web服务流程处理设备102不能继续进行该处理。然后,传送处理单元215从缓冲器405读出SOAP消息,并且将该消息发送至web服务流程处理设备114。由于不需要将发送至web服务流程处理设备114的SOAP消息存储在该缓冲器中,因而可以将新接收到的SOAP消息存储在该缓冲器中。还将新接收到的SOAP消息顺序发送至web服务流程处理设备114。换句话说,传送处理单元215将缓冲器405的内容409和包含在流410中的剩余信息作为流,发送至作为传送目的地的web服务流程处理设备114。
这里,使用图5A~5C说明由部分流程描述提取处理单元214所进行的处理的具体内容。
图5A~5C是示出web服务流程处理描述文档的具体例子的图。在图5A中,附图标记501与由315所示的web服务流程描述文档的具体例子相同。
web服务流程处理单元201顺序执行该web服务流程描述文档501的内容。然后,如附图标记502所示,在用于调用布局处理服务107的invoke活动处理中,返回超过上限设置值407的应答SOAP消息401,因此指示部分流程描述提取处理单元214进行用于通过消息大小判断处理单元213提取部分流程描述文档的处理。
基于该指令,部分流程描述提取处理单元214识别与预期通过invoke活动处理502接收的由layoutoutput变量503所表示的数据有关的处理部分,并且识别要部分提取的流程描述文档。
在这种情况下,将由附图标记503所表示的layoutoutput变量定义为如附图标记504所表示的messageType为layoutwsdl:Response。另外,该类型的layoutoutput变量503的前缀或layoutwsdl指定如附图标记505所表示的名称空间http://www.sample.com/LayoutService.wsdl。因此,可以根据该名称空间识别必要的WSDL,并且还可以理解Response类型。
基于该信息,可以判断为与将消息数据从layoutoutput变量复制到storageinput变量的assign活动处理相关联。此外,可以判断为还与使用storageinput变量的invoke活动处理相关联,其中,将消息数据复制到storageinput变量。通过附图标记506表示这些相关处理。
由于该处理利用附图标记506所表示的invoke活动处理临时移动至外部,因而判断为可以提取直到该点为止的部分作为部分流程描述。web服务流程处理单元201等待,同时确认是否已将附图标记507所表示的消息变量的信息存储在信息存储区域202。通过web服务流程处理设备114将该信息存储在信息存储区域202中。
在识别出部分流程描述部分时,部分流程描述提取处理单元214生成用以使传送目的地或者例如其它流程处理设备114执行附图标记506所表示的部分流程描述的内容所必需的信息。
首先,如图5B中的附图标记508所示,生成该部分流程描述部分作为新的web服务流程描述文档。在该例子中,将附图标记506所表示的部分流程描述写入附图标记509所表示的部分中;在此之前添加附图标记510所表示的处理,并且在此之后添加附图标记511所表示的处理。
在附图标记510中,添加用于在该消息的传送目的地处接收消息的receive活动处理和用于复制layoutoutput变量中的消息数据的assign活动处理。
另一方面,在附图标记511中,添加用于复制通过由附图标记509所表示的invoke活动处理所接收到的消息数据的assign活动处理和用于向消息传送源返回由附图标记509所表示的处理的结果的reply活动处理。
然后,通过添加用于执行由附图标记512所表示的这些处理所需要的信息,生成新的web服务流程描述文档。
此外,同步于文档的生成,还自动生成由附图标记513所表示的web服务流程处理服务WSDL,该web服务流程处理服务WSDL是使传送目的地作为要进行流程处理的web服务而启动所必需的。例如,该WSDL对应于图1中所示的基于多功能外围设备的web服务流程处理服务WSDL 122。
接着说明部分流程描述提取处理单元214自动生成由附图标记513所表示的web服务流程处理服务WSDL的处理。
为了使得图1所示的多功能外围设备112能够从打印机101接收用以执行部分流程的指令作为web服务请求,使用WSDL513。
通过部分流程描述提取处理单元214将必要的信息插入到预先准备的模板中,生成WSDL 513。预先准备除图6A中的附图标记601所表示的虚线长方形所包围的部分以外的部分作为模板。
在本实施例中,为了向模板插入值,使用图1所示的布局处理服务WSDL 110和存储处理服务WSDL 111。在图6B和6C中,附图标记602表示布局处理服务WSDL 110的描述的具体例子,而附图标记603表示存储处理服务WSDL 111的具体例子。
当由布局处理服务所返回的应答消息120较大时,将传送接着进行的涉及存储处理服务108的处理;因此,首先在布局处理服务WSDL 602中,参考附图标记604中所描述的用于声明返回值的类型的部分。部分流程描述提取处理单元214将由附图标记605所表示的返回值的类型解释为Base64二值。换句话说,可以判断为由布局处理服务107所进行的处理的结果为布局PDF等的二值数据。因此,将与附图标记605相同的类型插入声明请求时的类型的附图标记606中,从而使得图1所示的web服务流程处理设备114接收包含在该二值数据中的SOAP消息,作为请求。
然后,将由存储处理服务108所进行的处理的结果返回到图1所示的打印机101,因此,参考用于声明存储处理服务WSDL603的附图标记607所描述的返回值的类型的部分。部分流程描述提取处理单元214将由附图标记608所表示的返回值的类型解释为串(string)。因此,将与附图标记608相同的类型插入声明应答时的类型的附图标记609中,从而使得图1所示的web服务流程处理设备114返回包含在该串中的SOAP消息,作为应答。
部分流程描述提取处理单元214将用于识别WSDL 601的名称空间确定为其它值,并且将其插入附图标记610中。
通过上述处理,部分流程描述提取处理单元214自动生成图5C所示的WSDL 513。
根据本实施例,在接收到大的SOAP消息时,具有有限资源(例如,硬盘空间和存储器等)的装置可以将其部分处理传送至具有大量资源的其它装置。这使得可以按照原样继续进行一系列web服务流程处理,而不是停止该处理。
接着,说明关于本实施例的第一变型例。在本实施例中,上限值设置文件203中所设置的值为256MB或512MB等常数。然而,在第一变型例中,说明这样一种情况,在该情况下,在上限值设置文件203中所设置的值为20%或30%等百分比,这使得可以根据当时的装置硬件资源的使用状况来改变流程处理期间所处理的消息的上限。
图7是示出根据第一变型例的web服务流程处理设备(流程处理设备)的结构的例子的图。注意,对与图2所示的结构中的元件相同的元件赋以相同的附图标记,并且省略对其的说明。
在上限值设置文件203中设置例如30%的百分比。消息大小上限设置处理单元211在来自消息大小判断处理单元213的用以确认上限值的指令到达时,进行用于确认在信息存储区域202中剩余多少空间的处理(671)。假定信息存储区域202的整个容量为512MB,当前正在使用412MB,并且剩余空间为100MB,则判断为可以使用100MB的30%,因此将通过相加30MB和412MB所获得的442MB设置为上限值。
根据第一变型例,可以根据当时的装置硬件资源的使用状况,改变流程处理期间所处理的消息大小的上限。
接着,说明关于本实施例的第二变型例。在本实施例中,说明了这样一个例子,在该例子中,将消息大小判断处理单元213如何判断消息的处理大小以Base64二值格式或者换句话说作为文本信息插入消息中。然而,第二变型例说明了以文本以外的二值格式将信息插入该消息中的情况。
在例如将压缩后的二值信息嵌入消息中的情况下,在这种状态下不能判断大小。因此,消息大小判断处理单元213首先对压缩后的二值信息进行解压缩,然后通过测量解压缩后的二值信息的大小来判断消息的处理大小。
根据第二变型例,还可以将二值信息作为文本以外的消息的处理大小而进行处理。
尽管说明了将web服务流程处理部分传送单元设置在打印机等具有有限资源的装置中的例子,但是还可以将web服务流程处理部分传送单元设置在个人计算机等的信息处理设备中。在这种情况下,向该信息处理设备提供存储了实现本发明的上述功能的软件的程序代码的存储介质,并且使该信息处理设备的计算机(CPU或MPU)读出并执行存储在该存储介质中的程序代码。
图8是示出信息处理设备的硬件结构的例子的图。如图8所示,该信息处理设备包括输入装置701、显示装置702、存储介质驱动装置703、ROM 705、RAM 706、CPU或MPU 707、接口装置708和HD(硬盘)709。
输入装置701由信息处理设备的操作者操作的键盘或鼠标等构成,并且用于向信息处理设备输入各种操作信息。显示装置702由信息处理设备的操作者所使用的显示器等构成,并且用于显示各种信息(或画面)。接口装置708是用于将该信息处理设备与网络等连接的接口。通过CD-ROM等存储介质704向信息处理设备提供属于上述处理流程的程序,或者通过网络等下载该程序。将存储介质704放置在存储介质驱动装置703中,并且通过存储介质驱动装置703将程序从存储介质704安装到HD 709上。ROM 705存储在接通信息处理设备的电源时首先加载的程序等。RAM 706是信息处理设备的主存储器。CPU 707从HD 709读出程序,将其存储在RAM 706中,并且执行程序,从而实现上述处理内容。此外,例如,除程序外,HD 709还存储web服务流程描述文档和WSDL文档等。
注意,本发明可以应用于由多个装置(例如,主计算机、接口装置、读取器和打印机等)构成的系统或者可以应用于由单个装置(例如,复印机和传真装置等)构成的设备。
此外,作为另一方面,向系统或设备提供存储了实现上述实施例的功能的软件的程序代码的存储介质,并使该系统或设备读出并执行存储在该存储介质中的程序代码。
根据这一方面,从计算机可读存储介质读出的程序代码自身实现上述实施例的功能,并且存储该程序代码的存储介质构成本发明。
尽管参考典型实施例说明了本发明,但是应该理解,本发明不局限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。

Claims (10)

1.一种服务流程处理设备,包括:
接收单元,其根据第一服务流程描述文档中所描述的第一处理,从网络上的服务接收消息;
提取单元,其在要通过其它服务流程处理设备处理所接收到的消息的情况下,从所述第一服务流程描述文档中提取使用所接收到的消息而执行的第二处理的描述;以及
发送单元,其将包含所述第二处理的描述的第二服务流程描述文档和由所述接收单元所接收到的消息发送至所述其它服务流程处理设备。
2.根据权利要求1所述的服务流程处理设备,其特征在于,所述发送单元将还包含第三处理的描述的所述第二服务流程描述文档发送至所述其它服务流程处理设备,其中,所述第三处理向所述服务流程处理设备返回所述其它服务流程处理设备执行所述第二处理的结果。
3.根据权利要求1所述的服务流程处理设备,其特征在于,所述发送单元将包含所述第二处理的描述的所述第二服务流程描述文档发送至所述其它服务流程处理设备,其中,所述第二处理由所述其它服务流程处理设备基于所接收到的消息使用所述网络上的服务来进行。
4.根据权利要求3所述的服务流程处理设备,其特征在于,所述发送单元将用于使用所述网络上的服务的服务接口描述文档发送至所述其它服务流程处理设备。
5.根据权利要求1所述的服务流程处理设备,其特征在于,所述发送单元基于所接收到的消息的大小,确定是否将所述第二服务流程描述文档发送至所述其它服务流程处理设备。
6.一种服务流程处理方法,包括以下步骤:
接收步骤,用于根据第一服务流程描述文档中所描述的第一处理,从网络上的服务接收消息;
提取步骤,用于在要通过其它服务流程处理设备处理所接收到的消息的情况下,从所述第一服务流程描述文档中提取使用所接收到的消息而执行的第二处理的描述;以及
发送步骤,用于将包含所述第二处理的描述的第二服务流程描述文档和所接收到的消息发送至所述其它服务流程处理设备。
7.根据权利要求6所述的服务流程处理方法,其特征在于,所发送的第二服务流程描述文档还包含向所述服务流程处理设备返回所述其它服务流程处理设备执行所述第二处理的结果的第三处理的描述。
8.根据权利要求6所述的服务流程处理方法,其特征在于,所发送的第二服务流程描述文档包含由所述其它服务流程处理设备基于所接收到的消息使用所述网络上的服务所进行的所述第二处理的描述。
9.根据权利要求8所述的服务流程处理方法,其特征在于,在所述发送步骤中,将用于使用所述网络上的服务的服务接口描述文档发送至所述其它服务流程处理设备。
10.根据权利要求6所述的服务流程处理方法,其特征在于,基于所接收到的消息的大小,确定是否将所述第二服务流程描述文档发送至所述其它服务流程处理设备。
CN2009101386287A 2008-05-12 2009-05-12 服务流程处理设备和方法 Active CN101582921B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008124972 2008-05-12
JP2008124972 2008-05-12
JP2008-124972 2008-05-12

Publications (2)

Publication Number Publication Date
CN101582921A true CN101582921A (zh) 2009-11-18
CN101582921B CN101582921B (zh) 2013-01-02

Family

ID=41267787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101386287A Active CN101582921B (zh) 2008-05-12 2009-05-12 服务流程处理设备和方法

Country Status (3)

Country Link
US (1) US20090282150A1 (zh)
JP (1) JP2009301538A (zh)
CN (1) CN101582921B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5224964B2 (ja) * 2008-07-31 2013-07-03 キヤノン株式会社 受信装置の受信方法及び受信装置並びにプログラム
US9369528B2 (en) * 2013-04-08 2016-06-14 Xerox Corporation Multi-function device application catalog with integrated discovery, management, and application designer
US9563613B1 (en) * 2015-01-23 2017-02-07 Sprint Communications Company L.P. System and method for dynamic portable document file generation
US10597234B2 (en) 2016-10-20 2020-03-24 Intelligrated Headquarters, Llc Carton unloader tool for jam recovery
US10597235B2 (en) 2016-10-20 2020-03-24 Intelligrated Headquarters, Llc Carton unloader tool for jam recovery

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321605A (en) * 1990-06-01 1994-06-14 Motorola, Inc. Process flow information management system
JP3747133B2 (ja) * 1999-04-14 2006-02-22 キヤノン株式会社 携帯端末及びその制御方法及びその記憶媒体
US7102773B1 (en) * 2000-07-19 2006-09-05 Sharp Laboratories Of America, Inc. Method for multicast of documents
US20040158655A1 (en) * 2003-02-12 2004-08-12 Karl Heinz Kremer Automatic insertion of special pages into black & white digital printing jobs
US7528976B2 (en) * 2003-09-25 2009-05-05 Ricoh Co., Ltd. Stand alone printer with hardware/software interfaces for sharing multimedia processing
EP1643374A3 (en) * 2004-09-29 2007-03-21 Sap Ag A data processing system and method for automatic entry of user data
JP4677355B2 (ja) * 2006-03-03 2011-04-27 キヤノン株式会社 Webサービス装置及び順次処理移譲方法
JP4958481B2 (ja) * 2006-06-01 2012-06-20 キヤノン株式会社 Webサービス実行方法及び情報処理装置
US8161096B2 (en) * 2007-02-21 2012-04-17 Canon Kabushiki Kaisha Method of executing service on a network, and flow processing apparatus with document that describes a flow for controlling services on the network

Also Published As

Publication number Publication date
US20090282150A1 (en) 2009-11-12
CN101582921B (zh) 2013-01-02
JP2009301538A (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
CN103168288B (zh) 打印应用
CN102844749B (zh) 对文件执行转写请求
CN101582921B (zh) 服务流程处理设备和方法
CN104050211A (zh) 文档处理装置和文档处理方法
CN103116586A (zh) 文档阅读实现方法、终端、文档转换服务器和处理系统
US10367962B2 (en) Information processing system, information processing apparatus, and information processing method
US20170255495A1 (en) Information processing system, information processing apparatus, and information processing method
US20090219570A1 (en) Printing apparatus
CN102053952A (zh) 电子书数据格式转换的方法、装置及便携式电子书阅读器
CN110855555B (zh) 邮件发送方法、装置、设备及计算机可读存储介质
US10616434B2 (en) Information processing system, information processing apparatus, and information processing method
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
US20120050802A1 (en) Interaction system, image processing apparatus and interaction control method
US20180060131A1 (en) Information processing system, information processing apparatus, and information processing method
US20010002471A1 (en) System and program for processing special characters used in dynamic documents
CN102270216A (zh) 云计算系统及文档处理方法
US8760699B2 (en) Printing system, printing control method for printing system, printing apparatus and server
CN101571946A (zh) 图像处理装置、图像处理方法及存储介质
TWI298841B (zh)
CN101515982A (zh) 图像形成装置、信息处理方法、以及存储信息处理程序的计算机可读记录介质
US20020181804A1 (en) System and method for transferring scanned imaging data to a personal imaging repository
CN103220441A (zh) 信息处理设备及其控制方法
US8073827B2 (en) Processing device and processing method
US9591092B2 (en) Relaying device, image processing device, and system comprising image processing device, relaying device and service server
US8902462B1 (en) System and control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant