JP5084355B2 - フロー処理実行装置、フロー処理実行方法及びプログラム - Google Patents

フロー処理実行装置、フロー処理実行方法及びプログラム Download PDF

Info

Publication number
JP5084355B2
JP5084355B2 JP2007152124A JP2007152124A JP5084355B2 JP 5084355 B2 JP5084355 B2 JP 5084355B2 JP 2007152124 A JP2007152124 A JP 2007152124A JP 2007152124 A JP2007152124 A JP 2007152124A JP 5084355 B2 JP5084355 B2 JP 5084355B2
Authority
JP
Japan
Prior art keywords
flow process
flow
switching
processing
network
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.)
Expired - Fee Related
Application number
JP2007152124A
Other languages
English (en)
Other versions
JP2008305205A (ja
JP2008305205A5 (ja
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
Priority to JP2007152124A priority Critical patent/JP5084355B2/ja
Priority to EP08009392A priority patent/EP2000965A3/en
Priority to US12/124,444 priority patent/US20080307421A1/en
Priority to CN2008101108037A priority patent/CN101320452B/zh
Publication of JP2008305205A publication Critical patent/JP2008305205A/ja
Publication of JP2008305205A5 publication Critical patent/JP2008305205A5/ja
Application granted granted Critical
Publication of JP5084355B2 publication Critical patent/JP5084355B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、フロー処理を動的に切り替えることが可能な技術に関するものである。
業務や作業における一連の流れをワークフローという。また、ワークフローを逐次実行していく処理のことをフロー処理と呼ぶ。フロー処理は、コンピュータ及びコンピュータネットワークを用いて自動化され、情報や業務が円滑に流れるように業務支援を行ってきた。
例えば、企業内の特定部門及びメンバを巡回していた書類を電子化し、コンピュータネットワークを用いて情報を送受信することで、業務を効率化することが可能となる。また近年、フロー処理はコンピュータ及びコンピュータネットワークに加え、Webサービス技術も用いられるようになり、適用範囲を拡大している。
フロー処理では、情報がどのメンバに送信され処理されるのかを記述したフロー処理記述文書を事前に定義する必要がある。コンピュータ及びコンピュータネットワークを用いて自動化されたフロー処理では、フロー処理記述文書を解析可能なフロー処理実行装置に読み込ませることでフロー処理を実現している。
上述のフロー処理では、フロー処理記述文書を記述する言語として、BPEL4WS(Business Process Execution Language for Web Services)が広く用いられている。
BPEL4WSは、拡張可能なマークアップ言語であるXML(eXtensible Markup Language)によって記述されたフロー処理記述言語である。BPEL4WSの仕様は、OASIS(Organization for the Advancement of Structured Information Standards)のOASIS Web Services Business Process Execution Language TCで管理されている。
なお、BPEL4WSでは、Webサービスを識別するインタフェースとして、WSDL(Web Services Description Language)を用いている。WSDLは、Webサービスのインタフェースを記述するために用いる言語であり、仕様はwwwコンソーシアム(W3C)によって公開されている。内容はhttp://www.w3.org/TR/wsdlにて参照可能である。
以降の説明において、フロー処理はコンピュータ、コンピュータネットワーク及びWebサービス技術を用いて自動化されたものとする。
フロー処理記述文書を用いてフロー処理を実行する場合、フロー処理実行装置は、フロー処理記述文書に記述されていない処理や、異なるフロー処理を結合させて一時的に実行することは不可能である。そのため、フロー処理記述文書に記述されていない処理や、異なるフロー処理を結合して実行したい場合、一時的であっても、フロー処理記述文書を記述しなおさなくてはならないという問題があった。また、様々な事態を想定してフロー処理記述文書に記述しようとした場合、条件判断を多用することとなり、フロー処理記述文書が複雑になってしまうという問題もあった。
上述した問題を解決するものとして、フロー処理の動的切り替え技術がある。フロー処理の動的切り替え技術が例えば特許文献1に開示されている。これは、フロー処理を予め意味的な処理の流れを定義した上位レベルでのフロー処理と、個々の処理の実現方法を定義した下位レベルでのフロー処理とに分割して定義している。そして、上位レベルのフロー処理が必要とする下位レベルのフロー処理を適宜呼び出して、全体のフロー処理を形成するというものである。
また、異なる例が特許文献2に開示されている。これは、フロー処理実行中に例外が発生した際に、実行中のフロー処理を定義したフロー処理記述文書内に該当する例外処理が記述されていない場合、フロー処理の動的切り替えを行うものである。具体的には、現在実行中のフロー処理実行装置で過去に実行された、異なるフロー処理の経験に基づき、実行すべき例外処理を推定し実行するというものである。
特開2004−361993号公報 特開2006−302032号公報
しかし、特許文献1に開示されるような従来方法では、動的に切り替えることを前提としたフロー処理記述文書が必要である。そのため、動的に切り替えることを前提としていない既存のフロー処理記述文書では、フロー処理の動的切り替えを利用できなかった。
また、特許文献2に開示されるような従来方法では、切り替え先のフロー処理を決定は、フロー処理実行装置が過去に実行したフロー処理の経験に基づいて自動的に行われる。そのため、利用者が意図したフロー処理へ切り替えることができなかった。
そこで、本発明の目的は、フロー処理記述文書に予め記述されていない他のフロー処理に切り替えて実行可能とすることにある。
また、本発明の他の目的は、利用者が意図した他のフロー処理に切り替えることを可能とすることにある。
本発明のフロー処理実行装置は、ネットワークに接続されたフロー処理実行装置であって、前記ネットワークを介して通信端末から、第1のフロー処理における分岐点位置を付加した、前記第1のフロー処理呼び出すためのメッセージを受信する受信手段と、前記第1のフロー処理における前記分岐点位置に至るまで前記第1のフロー処理を順次実行し、前記分岐点位置に至ると、前記第1のフロー処理を一時停止し、フロー処理の切り替えを確認するためのメッセージを前記ネットワークを介して前記通信端末に送信するフロー処理実行手段と、第2のフロー処理への切り替え指示を前記ネットワークを介して前記通信端末から受け付ける受付手段とを有し、前記フロー処理実行手段は、前記切り替え指示を前記受付手段が受け付けると、前記第1のフロー処理から前記第2のフロー処理に実行するフロー処理を切り替えることを特徴とする。
本発明においては、第2のフロー処理への切り替え指示を通信端末から受け付けると、第1のフロー処理から第2のフロー処理に実行するフロー処理を切り替えるように構成している。従って、本発明によれば、フロー処理記述文書に予め記述されていない他のフロー処理に切り替えて実行することが可能となる。
また、本発明においては、第2のフロー処理を指定することが可能であるため、利用者が意図した他のフロー処理に切り替えることができる。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
<第1の実施形態>
先ず、本発明の第1の実施形態について説明する。
初めに、BPEL4WSを用いたフロー処理記述文書について説明する。BPEL4WSでは、フロー処理を定義する要素として、変数、プロセス識別子、変数及びプロセス識別子のカプセル化、Webサービスとの関係、イベント発生時の振る舞い、例外時の振る舞い、異常時の振る舞い等がある。また、BPEL4WSでは、処理の単位をアクティビティとして定義する。アクティビティには、処理アクティビティと構造化アクティビティとが存在する。
フロー処理を定義する要素によって処理の流れを定義した後、実際に行う処理を処理アクティビティとして記述していく。処理アクティビティには、外部メッセージ受信、応答の返信、Webサービスの実行、データ処理、処理待ち、例外発生の通知、異常発生の通知、具体的な処理をしない空処理が定義されている。
また、処理の流れを構造化するための構造化アクティビティとして、順次処理、並行処理、繰り返し、外部入力による判断を定義している。なお、処理アクティビティは、構造化アクティビティの子要素として記述されるものである。
図2は、BPEL4WSを用いたフロー処理記述文書の例を示す図である。
図2のフロー処理記述部は、フロー処理記述文書の全体を表し、<process>要素がルート要素となっている。<process>要素の属性であるtargetNamespase属性は、フロー処理記述文書を一意に定義付けるための名前空間である。フロー処理記述部には、大きく分けてフロー処理定義記述部と実行処理記述部との2つの記述部が存在する。
フロー処理定義記述部では、各種フロー処理を定義する要素が記述される。本例では、Webサービスとの関連及び変数定義を記述している。Webサービス関連付け記述部では、フロー処理記述文書とフロー処理が実行する処理の外部関係とを記述している。記述方法としては、<partnerLinks>要素を用いて定義する。変数定義記述部では、フロー処理内で用いる変数を<variables>要素を用いて定義している。
実行処理記述部では、構造化アクティビティと処理アクティビティとを用いて記述する。本例では、順次処理を表す構造化アクティビティである<sequence>要素を用いて定義した。<receive>要素では、外部メッセージの受信の定義が記述されている。<assign>要素では、データ処理の定義が記述されている。<invoke>要素では、Webサービスの実行の定義が記述されている。<reply>要素では、応答の返信の定義が記述されている。
これら、<receive>要素、<assign>要素、<invoke>要素、<reply>要素は、<sequence>要素の子要素として記述されていることにより、上から順次実行されていくと定義されていることとなる。
図1は、本実施形態に係るシステム構成を示す図である。
本実施形態に係るシステムでは、フロー処理実行装置210と、フロー処理サービス利用者が使用するPC等の通信端末220と、フロー処理記述文書記憶部230とで構成され、それぞれがネットワークに接続されている。以下の説明においては、フロー処理サービスが使用するPC等の通信端末220を、「フロー処理サービス利用者220」と称する。また、フロー処理実行装置210は、本発明のフロー処理構築装置の一適用例である。
フロー処理実行装置210は、フロー処理実行モジュール211、切り替え分岐点解析モジュール212、切り替え処理実行モジュール213を有している。
また、フロー処理実行装置210は、図17で示すような構成を持つコンピュータ装置によって構成される。フロー処理実行装置210は、単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにLAN(Local Area Network)等で接続されている。
図17において、1901は、コンピュータ装置1900全体を制御するCPU(Central Processing Unit)である。1902は、変更を必要としないプログラムやパラメータを格納するROM(Read Only Memory)である。1903は、外部装置等から供給されるプログラムやデータを一時記憶するRAM(Random Access Memory)である。1904は、コンピュータ装置1900に固定して設置されたハードディスクやメモリカード等の外部記憶装置である。外部記憶装置の他の適用例としては、コンピュータ装置1900から着脱可能なフレキシブルディスク(FD)やCD(Compact Disc)等の光ディスク、磁気や光カード、ICカード、メモリカード等がある。1905は、ユーザの操作を受け、データを入力するポインティングデバイスやキーボード1909等の入力デバイスとのインタフェースである。1906は、コンピュータ装置1900の保持するデータや供給されたデータを表示するためのモニタ1910とのディスプレイインタフェースである。1907は、インターネット1911等のネットワーク回線に接続するためのネットワークインタフェイスである。1908は、1901〜1907の各ユニットを通信可能に接続するシステムバスである。
フロー処理実行モジュール211、切り替え分岐点解析モジュール212、切り替え処理実行モジュール213は、図17で示すコンピュータ装置1900におけるCPU1901上で動作するプログラムである。フロー処理実行モジュール211、切り替え分岐点解析モジュール212、切り替え処理実行モジュール213は、外部記憶装置1904に格納され、必要に応じてRAM1903にロードされてCPU1901により実行される。
フロー処理実行モジュール211は、フロー処理記述文書をRAM1903等のメモリ上に展開し、フロー処理定義実体を生成する機能と、フロー処理定義実体のフロー処理を順次実行する機能とを備える。その他にフロー処理実行モジュール211は、フロー処理の動的切り替えに対応するために、以下の機能を有している。
即ち、フロー処理実行モジュール211は、フロー処理の自動実行中にフロー処理における処理単位の任意の箇所でフロー処理を一時停止、再開する機能と、フロー処理を実行中にフロー処理定義実体を再構築する機能とを備える。またその他に、フロー処理実行モジュール211は、フロー処理における処理単位の任意の箇所で外部と切り替えを行うかを判断するメッセージを送受信する機能を備える。
切り替え分岐点解析モジュール212は、フロー処理記述文書をメモリ上に展開する際に、フロー処理実行開始時に指定される分岐点指定位置を解析し、フロー処理定義実体に分岐点情報を付加する機能を有している。また、切り替え分岐点解析モジュール212は、分岐点情報を含んだ状態で、メモリ上に展開されたフロー処理定義実体をフロー処理実行モジュール211に通知する機能を有する。
切り替え処理実行モジュール213は、後述する切り替え指示定義文書に基づき、切り替え先のフロー処理をメモリ上に展開し、フロー処理定義実体を生成する機能を有している。また、切り替え処理実行モジュール213は、切り替え元のフロー処理で扱っていたデータと切り替え先のフロー処理で扱うデータとのマッピングを行う機能と、切り替え先のフロー処理定義実体をフロー処理実行モジュール211に通知する機能とを有している。
上述したフロー処理サービス利用者220は、フロー処理実行モジュール211で実行されるフロー処理によって成されるサービス利用者の通信端末である。サービス利用者は、フロー処理が切り替え分岐点に至った際に、フロー処理の切り替えを行うかを判断する役割を担うものである。なお、サービス利用者は、フロー処理を実行する役割とフロー処理切り替え判断する役割とを分割して、2つに分けて実現することは構わない。
フロー処理記述文書記憶部230は、フロー処理記述文書を格納する機能を有している。フロー処理記述文書記憶部230は、フロー処理実行装置210の外部に存在し、フロー処理実行装置210に直接接続されていても、フロー処理実行装置210とネットワークを介して接続されていてもよい。また、フロー処理記述文書記憶部230は、フロー処理実行装置210の内部に存在していても構わない。また、フロー処理記述文書記憶部230は、図17中の1904の外部記憶装置に該当するものである。
図3は、本実施形態に係るシステムの処理の流れを示す図である。図3を用いて本実施形態のシステムにおける処理の流れを説明する。
まず、フロー処理サービス利用者220がフロー処理実行装置210に後述する分岐点情報を付加したフロー処理呼び出しメッセージを送信する(301)。すると、フロー処理実行装置210がメッセージを受信し、301で送信されたメッセージの一部である分岐点情報を、フロー処理実行装置210上の切り替え分岐点解析モジュール212に送信する(302)。なお、301により送信されたメッセージをフロー処理実行装置210が受信する処理は、本発明の第1の受付手段の処理例である。
切り替え分岐点解析モジュール212は、302で受信した分岐点情報を基に、予め分岐点情報を含まないフロー処理記述文書に、分岐点情報を含めた状態でメモリ上へ展開してフロー定義実体を生成する(303)。この303の処理は、本発明の生成手段の処理例である。
切り替え分岐点解析モジュール212は、メモリ上に展開した後、フロー処理実行モジュール211に対して、303でメモリに展開した実行すべきフロー処理を通知する(304)。
その後、フロー処理実行モジュール211によってフロー処理が実行されていき(305)、フロー処理の実行を進めていくと、301で指定された切り替え分岐点に処理が至る。
切り替え分岐点に処理が到達した際、フロー処理実行モジュール211は、フロー処理を一時停止する(306)。その後、フロー処理実行モジュール211は、フロー処理サービス利用者220に対して、フロー切り替え処理を行うかどうかの判断を要求するメッセージを送信する(307)。306の処理は、本発明の一時停止手段の処理例であり、307の処理は、本発明の問合せ手段の処理例である。
上記メッセージを受信したフロー処理サービス利用者220は、フロー処理の切り替えを行う場合、切り替え指示及び後述する切り替え定義文書を切り替え処理実行モジュール213に送信する(308)。なお、この切り替え定義文書は、この切り替え指示、すなわち、切り替え元フロー処理に切り替え先フロー処理を結合させる要求内に記述されるか、その要求内で指定される。一方、フロー処理の切り替えを行わない場合、フロー処理サービス利用者220は、フロー処理を切り替えない指示のみを送信する。
切り替え指示及び切り替え定義文書を受信した切り替え処理実行モジュール213は、切り替え指示に従い、指定されたフロー処理記述文書からフロー処理をメモリ上に展開する(309)。この308の切り替え指示及び後述する切り替え定義文書を処理実行モジュール213が受信する処理は、本発明の第2の受付手段の処理例である。
その後、切り替え処理実行モジュール213は、308で受信した切り替え定義文書に基づき、切り替え元のフロー処理で扱っていたデータと切り替え先で扱うデータとのデータマッピングを行う(310)。これにより、切り替え先のフロー処理の準備が整ったので、フロー処理実行モジュール211に切り替え先のフロー処理を通知する(311)。
311での通知を受けたフロー処理実行モジュール211は、切り替え元フロー処理において一時停止される前に実行が終了しているメモリツリーに、切り替え先フロー処理のメモリツリーを結合することでフロー処理の再構築を行う(312)。すなわち、切り替え元フロー処理の切り替え分岐点位置に切り替え先フロー処理を結合して、フロー処理の再構築を行う。そして、フロー処理実行モジュール211は一時停止していたフロー処理を再開する(313)。これにより、フロー処理の動的切り替えが完了したこととなる。なお、312のフロー処理の再構築は、本発明の再構築手段の処理例である。
図4は、301でフロー処理サービス利用者220からフロー処理実行モジュール211に送信されたフロー処理呼び出しメッセージを示す図である。
フロー処理呼び出しメッセージは、SOAP(Simple Object Access Protocol)メッセージを用いる。SOAPメッセージは、XMLで記述された文書であり、全体がエンベローブ部として構成されている。また、エンベローブ部の子要素として、ヘッダ部とボディ部が存在している。SOAPの仕様は、wwwコンソーシアム(W3C)によって公開されている。内容はhttp://www.w3.org/TR/SOAPにて参照可能である。
フロー処理呼び出しメッセージでは、SOAPメッセージのヘッダ部を用いて分岐点情報を記述し、ボディ部に実際にフロー処理を呼び出すためのパラメータを格納する。
ヘッダ部の分岐点情報は、XPath(XML Path Language)によって記述されている。XPathは、XML文書中の任意の場所を指定するための言語である。そのため、XMLで記述されたフロー処理文書の任意の場所を指定することが可能である。なお、XPathの仕様は、wwwコンソーシアム(W3C)によって公開されている。内容はhttp://www.w3.org/TR/xpathにて参照可能である。
図5は、分岐点解析結果を示す図である。分岐点解析方法は、SOAPメッセージのヘッダ部に記述されてきた分岐点情報を抽出し、フロー処理記述文書に適用する。XPathで記述された分岐点情報process/sequence/invoke[position()=2]は、XML文書の<process>要素内の<squence>要素内の2番目の<invoke>要素の位置を指し示すこととなる。結果、分岐点の位置は図5に示す位置となる。
図6は、切り替え定義文書の例を示す図である。切り替え定義文書は、独自に定義された構造を持つXMLで記述された文書である。切り替え定義文書は、ルート要素は<switch>要素であり、<switch>要素は子要素を2つ持つ。
<switch>要素の1種類目の子要素は<flow>要素である。<flow>要素は、切り替え先のフロー処理記述文書を指定するための要素である。本例では、<flow>要素内に直接新規のフロー処理記述文書を記述することで、切り替え先のフロー処理記述文書を指定している。しかし、<flow>要素内にフロー処理記述文書を直接記述するのではなく、フロー処理記述文書記憶部230内にあるフロー処理記述文書をURI等、フロー処理記述文書を一意に決定できる手法を用いて指定しても構わない。この場合、切り替え処理実行モジュール213は、URI等に基づいてフロー処理記述文書を取得する。なお、URIは、Uniform Resource Identifierの略称である。
<switch>要素の2種類目の子要素は、<datadelivery>要素である。<datadelivery>要素は、切り替え元と切り替え先とで用いられている変数のデータマッピング情報を記述するための要素である。また、移行したい変数の数だけ<datadelivery>要素は存在することになる。<datadelivery>要素では、切り替え元と切り替え先の、フロー処理記述文書のtargetNamespaceを属性として持つ。切り替え元と切り替え先のフロー処理記述文書のtargetNamespaceを属性として持つことで、切り替え元、切り替え先のそれぞれのフロー処理記述文書で定義された変数を指定することが可能となる。<datadelivery>要素は、<source>要素と<target>要素の2つの子要素を持つ。<source>要素によって切り替え元の変数を指定し、<target>要素によって切り替え先の変数を指定している。
切り替え定義文書を切り替え処理実行モジュールが読み込むことで、切り替え先のフロー処理記述文書を特定し、切り替え元と切り替え先のフロー処理の間でデータマッピングを可能としている。
図7は、フロー処理実行モジュール211で行うフロー処理の動的切り替えを行う際の処理を示すフローチャートである。
最初に、フロー処理実行モジュール211は、S701でフロー処理内の処理を実行する。フロー処理実行モジュール211は、1つの処理が終了する度にS702で分岐点かどうかの判断を行う。分岐点が存在しない場合、処理はS703に移る。S703では、フロー処理実行モジュール211は、フロー処理が終了かを判断する。判断の結果、フロー処理が終了であった場合、フロー処理を終了する。一方、フロー処理が終了でない場合、フロー処理実行モジュール211は次の処理を実行するためS701を実行する。
フロー処理実行モジュール211は、S702で分岐点があると判断した場合、S711でフロー処理を一時停止する。その後、フロー処理実行モジュール211は、S712にて、フロー処理サービス利用者220へフロー処理を切り替えるかを判断するメッセージを送信する。続いて、フロー処理実行モジュール211は、上記メッセージの返信に基づいて、実際にフロー処理の切り替えを行うかをS713で判断する。S713の判断の結果、切り替え指示があった場合、フロー処理実行モジュール211は、S714でフロー処理を再構築し、フロー処理を動的に切り替える。
その後、フロー処理実行モジュール211は、S711でフロー処理を一時停止した状態であったものをS715で再開する。一方、S713の判断の結果、切り替え指示がなかった場合、フロー処理実行モジュール211は、S714の処理を実行せずにS715でフロー処理を再開させる。S715でフロー処理を再開した後、S701へ戻り、フロー処理実行モジュール211は次の処理を実行する。
図8は、フロー処理記述文書の例を示す図である。801はBPEL4WSを用いて記述されたフロー処理記述文書である。802は、801のフロー処理記述文書をフローチャート化して示したものである。
図9は、切り替え定義文書の例を示す図である。901はXML及び独自定義を用いて記述した切り替え定義文書である。902は切り替え定義文書内の切り替え先フロー処理を指定した部分である。切り替え先フロー処理902は直接BPEL4WSを記述している。905は、902の切り替え先フロー処理記述文書をフローチャート化したものである。
図10は、802で示したフロー処理から905で示したフロー処理に動的切り替えを行った後の処理を示すフローチャートである。
802で示したフローチャートに、分岐点情報/process/sequence/invoke[position()=2]を与えた結果、切り替え分岐点を付加したフローチャートが1010である。1010において、フロー処理実行モジュール211がSTARTから順次処理を行っていき、切り替え分岐点に処理が差し掛かる。その際に、フロー処理実行モジュール211が、フロー処理サービス利用者220に切り替え確認のメッセージを送信する。その応答として、フロー処理サービス利用者220から901で示した切り替え定義文書が送信される。すると、切り替え処理実行モジュールにて、905で示した切り替え先フロー処理記述文書が実体化される。これが1011である。その後、901の切り替え定義文書内の<datadelivery>要素内で記述された、データマッピング情報を用いて、切り替え元と切り替え先とのデータマッピングを行う。具体的には、903と904とで示したデータマッピング情報を用いる。
903内の<source>要素では、1010で利用していたvariable11を指定し、<target>要素では、1011で利用するvariable21を指定している。その結果、1010で利用していたvariable11の値を、1011で利用するvariable21の値にコピーすることとなる。同様に、904内の<source>要素と<target>要素の情報を基に、1010で利用していたvariable12の値を、1011で利用するvariable22の値にコピーすることとなる。
その後、フロー処理実行装置210にて、1010と1011とのフロー処理から1000のフロー処理を再構築する。その結果、1010に示すフロー処理を実行中に1011に示すフロー処理へと動的切り替えが行われることになる。
つまり、従来の方法では、Receive、Assign11、Invoke11、Assign12、Invoke12、Replyの順で処理されていたフロー処理が、Receive、Assign11、Invoke11、Assign12、Assign21、Invoke21、Assign22、Invoke22、Replyの順で処理されることとなる。
従来技術で処理される旅行予約システムの例を図18に示す。また、本実施形態を旅行予約システムに適用した例を図11に示す。
従来技術では、フロー処理を実行するために、フロー処理サービス利用者1110が、フロー処理記述文書1140に基づいたフロー処理を、フロー処理実行装置1120上で動作させるという方法であった。
具体的には、フロー処理サービス利用者1110は、旅行予約に必要なパラメータを含むフロー処理開始メッセージを、フロー処理実行装置1120に送信する。すると、フロー処理実行装置1120は、飛行機予約サービス1131を利用して飛行機の予約を行う。続いて、フロー処理実行装置1120は、フロー処理実行装置1120がホテル予約サービス1132を利用し、ホテルの予約を行う。最後にフロー処理実行装置1120は、飛行機の予約とホテルの予約との結果をフロー処理サービス利用者1110に送信する。
従来技術では、フロー処理記述文書1140にレンタカー予約サービス1133を呼び出す記述がない。そのため、フロー処理サービス利用者1110が新たにフロー処理の中でレンタカーの予約を希望した場合、レンタカー予約サービス1133を利用することをできなかった。従って、フロー処理の中でレンタカー予約サービス1133を利用するためには、フロー処理記述文書1140内にレンタカー予約サービス1133を利用する記述を追加する必要があった。
本実施形態を適用した旅行予約システムにおいて、フロー処理サービス利用者が新たにフロー処理の中でレンタカー予約を希望した場合について図11を用いて説明する。
フロー処理サービス利用者1210が新たにレンタカー予約を希望する場合、フロー処理実行装置1220にフロー処理開始を指示する際、フロー処理記述文書1240の「3.結果送信」の位置を指す切り替え分岐点指定情報を同時に送信する。切り替え分岐点指定情報が含まれる開始メッセージを受信したフロー処理実行装置1220は、フロー処理記述文書1240をメモリ上に展開する際に、分岐点情報を含むフロー処理定義実体を生成する。その後、フロー処理実行装置1220はフロー処理記述文書1240に従ってフロー処理を実行していく。まず、飛行機予約サービス1231を利用して飛行機の予約を行い、次に、ホテル予約サービス1232を利用してホテルの予約を行う。すると、フロー処理実行装置1220が実行すべき処理が切り替え分岐点に至ったため、フロー処理実行装置1220はフロー処理サービス利用者1210にフロー処理を切り替えるかを確認するメッセージを送信する。
フロー処理サービス利用者1210は、切り替えを行うという情報と共に、フロー処理記述文書1240で扱っているデータとフロー処理記述文書1241で扱うデータとのデータマッピング情報を含む、切り替え定義文書を送信する。
切り替え定義文書を受信したフロー処理実行装置1220は、フロー処理記述文書1241のフロー処理定義実体を生成する。その後、フロー処理実行装置1220は、フロー処理記述文書1240に記述されているフロー処理を実行していた際のデータと、フロー処理記述文書1241に記述されているフロー処理を実行する際に必要なデータとのデータマッピングを行う。
そして、フロー処理実行装置1220は、フロー処理記述文書1240に記述されているフロー処理からフロー処理記述文書1241に記述されているフロー処理へ、1250で示すように、フロー処理の動的切り替えを行う。その結果、レンタカー予約サービス1233を利用してレンタカーの予約を行うことが可能となる。最後にフロー処理実行装置1220は、飛行機予約情報、ホテル予約情報と共にレンタカー予約の情報も含んだ旅行予約の結果を、フロー処理サービス利用者1210に送信する。
上記実施形態では、フロー処理記述文書を記述する言語に、サービス連携記述言語としてBPEL4WSを用いたが、WSCI(Web Service Choreography Interface)等、他のサービス連携記述言語を用いても構わない。なお、その際には、フロー処理記述言語としてXMLが用いられていること、及びサービスの対象がWebサービスであるものを採用する。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
図12は、本発明の第2の実施形態に係るシステム構成を示す図である。図12に示すように、本実施形態によるシステム全体は、フロー処理サービス利用者1300、多機能モノクロプリンタ1310、多機能カラープリンタ1320、データサーバ1330によって構成されている。多機能モノクロプリンタ1310は、フロー処理実行装置として用いた。
多機能モノクロプリンタ1310は、フロー処理実行モジュール1311、切り替え分岐点解析モジュール1312、切り替え処理実行モジュール1313、フロー処理記述文書記憶部1314、モノクロ出力実行部1315を備える。多機能カラープリンタ1320は、カラー出力実行部1321を備え、データサーバ1330はレイアウトデータ記憶部1331を備える。
次に、図12に示すシステムを用いて、フロー処理の動的切り替えの例を説明する。図12に示すシステムでは、通常時は図13に示すようなフロー処理を実行可能な状態になっている。図13に示したフロー処理は、前述のBPEL4WSを用いて記述されたフロー処理記述文書をフローチャート化したものである。通常時は、図13のフロー処理に従い、フロー処理実行モジュール1311がSTARTから順次処理を行っていく。
まず、フロー処理実行モジュール1311は、Receive処理として、フロー処理サービス利用者1300からのメッセージを受信する(S1401)。次に、フロー処理実行モジュール1311は、受信したメッセージに格納されたデータを変数に格納する(S1402)。
続いて、フロー処理実行モジュール1311は、データサーバ1330からレイアウトデータを取得し(S1403)、データサーバ1330から取得したデータを変数に格納する(S1404)。
続いて、フロー処理実行モジュール1311は、変数内のデータをページレイアウトする(S1405)。次に、フロー処理実行モジュール1311は、生成したページを多機能モノクロプリンタ1310上で画面出力し(S1406)、多機能モノクロプリンタ1310で印刷出力する(S1407)。最後に、フロー処理実行モジュール1311は、Reply処理として、フロー処理サービス利用者1300へ応答を返す(S1408)。
通常は、要求の度に図13に示したフロー処理を呼び出すことでサービスを実現するが、一時的に出力結果を多機能カラープリンタで出力するという要求があった場合を考える。
従来のフロー処理方法では、一時的な変更であったとしてもフロー処理記述文書に記述されていないフロー処理は実行することができなかった。そのため、一時的な変更にも拘わらず、図13で示したフロー処理とは別に、新たに多機能カラープリンタで出力することを記述したフロー処理記述文書を新規作成するか、図13に示したフロー処理自体を変更する必要があった。
本実施形態に係るシステムにおいては、一時的な変更を行う際には、多機能カラープリンタを組み込んだフロー処理記述文書を新規に作成する必要はない。また、図13に示すフロー処理を変更する必要もない。以下、本実施形態に係るシステムにおいて、一時的にカラー出力にする方法について説明する。
本実施形態に係るシステムでは、まずフロー処理サービス利用者1300が図13に示したフロー処理を呼び出すフロー処理呼出メッセージを送信する際に、切り替え分岐点情報を同時に送信する。具体的には、今回の例では多機能モノクロプリンタ1310で出力する処理の前にフロー処理を切り替える必要がある。そのため、図14で示すようなフロー処理呼出メッセージを送信する。分岐点情報記述部に記述されたprocess/sequence/invoke[position=4]を基に、前述の切り替え分岐点解析方法を用いて、図15に示す切り替え分岐点1600を指定する。なお、図15において、図13と同一符号の処理ステップでは、図13と同じ内容の処理が実行される。
その後、多機能モノクロプリンタ1310上のフロー処理実行モジュール1311によって切り替え分岐点に差し掛かるまで順次処理が実行されていく。そして、切り替え分岐点1600に処理が差し掛かると、フロー処理実行モジュール1311は、実行していたフロー処理を一時停止し、フロー処理サービス利用者1300へフロー処理を切り替えるかどうかの確認を行う。
モノクロ出力からカラー出力へと一時的にフロー処理を切り替えたい場合、フロー処理サービス利用者1300は、フロー処理の切り替え指示及びフロー処理切り替え定義文書を切り替え処理実行モジュール1313に送信する。フロー処理切り替え定義文書では、図6で示した切り替え先フロー処理情報記述部において、多機能カラープリンタで出力するステップと応答を返すステップとを含む処理フローを記述したフロー処理記述文書を指定する。その後、図6で示したフロー処理切り替え定義文書内のデータマッピング情報記述部を基に、切り替え元フロー処理文書と切り替え先フロー処理文書との間で前述のデータマッピング処理を行う。
その後、切り替え処理実行モジュール1313が切り替え先のフロー処理をフロー処理実行モジュール1311に通知する。通知されたフロー処理実行モジュール1311は、切り替え元フロー処理において一時停止される前に実行が終了しているメモリツリーに、切り替え先フロー処理のメモリツリーを結合することでフロー処理の再構築を行う。そして、フロー処理実行モジュール1311は、一時停止していたフロー処理を再開することで、フロー処理の動的切り替えを完了する。
図16は、フロー処理の動的切り替えを実行した後の処理を示すフローチャートである。
フロー処理の動的切り替えを行ったことで、フロー処理実行モジュール1311は、Receive処理として、フロー処理サービス利用者1300からのメッセージを受信する(S1801)。
続いて、フロー処理実行モジュール1311は、受信したメッセージに格納されたデータを変数に格納する(S1802)。次に、フロー処理実行モジュール1311は、データサーバからレイアウトデータを取得し(S1803)、データサーバから取得したデータを変数に格納する(S1804)。
続いて、フロー処理実行モジュール1311は、変数内のデータをページレイアウトし(S1805)、生成したページを多機能モノクロプリンタ1310上で画面出力する(S1806)。そして、フロー処理実行モジュール1311は、フロー処理の動的切り替え処理を行い(S1807)、多機能カラープリンタ1320で印刷出力する(S1808)。最後に、フロー処理実行モジュール1311は、Reply処理として、フロー処理サービス利用者1300へ応答を返す(S1809)。以上のように、通常は多機能モノクロプリンタにしか出力できないフロー処理において一時的に多機能カラープリンタで出力することが可能となる。
上記実施形態では、フロー処理記述文書を記述する言語に、サービス連携記述言語としてBPEL4WSを用いた。その他に、WSCI(Web Service Choreography Interface)等、他のサービス連携記述言語を用いても構わない。なお、その際には、フロー処理記述言語としてXMLが用いられていること、及びサービスの対象がWebサービスであるものを採用する。
上述した実施形態においては、フロー処理記述文書に予め記述されていない他のフロー処理についても、フロー処理を切り替えて実行することが可能となる。そのため、従来のように、フロー処理を全て一つのフロー処理記述文書に記述する必要がなくなる。その結果、いくつかの関係性が強い処理毎にフロー処理記述文書を作成することが可能となり、フロー処理の一部を再利用しやすくすることが可能となる。
また、フロー処理記述文書の記述者と利用者が異なり、フロー記述を変更できない場合も有効である。例えば、複数のフロー処理を連携させて実行する場合等が該当する。フロー処理の切り替え分岐点を後から設定可能且つ切り替え先を任意に指定可能なため、フロー処理記述文書を書き換えることなく、利用者がフロー処理自体を変更可能となり、フロー処理利用の幅が広がる。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム等のコンピュータが記憶媒体からプログラムコードを読み出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに接続された機能拡張ユニット等に備わるメモリに書込まれた後、そのプログラムコードの指示に基づきCPU等が実際の処理を行い、前述した実施形態の機能が実現される場合も含まれる。
さらに、プログラムコードをインターネット等の通信媒体を介してコンピュータに供給される構成も本発明の範疇に含まれる。
本発明の第1の実施形態に係るシステム構成を示す図である。 BPEL4WSを用いたフロー処理記述文書の例を示す図である。 本発明の第1の実施形態に係るシステムの処理の流れを示す図である。 フロー処理サービス利用者からフロー処理実行モジュールに送信されたフロー処理呼び出しメッセージを示す図である。 分岐点解析結果を示す図である。 切り替え先フロー処理情報記述部を示す図である。 フロー処理実行モジュールで行うフロー処理の動的切り替えを行う際の処理を示すフローチャートである。 フロー処理記述文書の例を示す図である。 切り替え定義文書の例を示す図である。 図8の802で示したフロー処理から図9の905で示したフロー処理に動的切り替えを行った後の処理を示すフローチャートである。 本発明の第1の実施形態を旅行予約システムに適用した例を示す図である。 本発明の第2の実施形態に係るシステム構成を示す図である。 本発明の第2の実施形態に係るシステムの通常時における処理の流れを示すフローチャートである。 フロー処理呼出メッセージの例を示す図である。 本発明の第2の実施形態に係るシステムの切り替え分岐点を含む処理の流れを示すフローチャートである。 フロー処理の動的切り替えを実行した後の処理を示すフローチャートである。 コンピュータ装置の構成を概略的に示す図である。 従来技術で処理される旅行予約システムの例を示す図である。
符号の説明
210、1220 フロー処理実行装置
211 フロー処理実行モジュール
212 切り替え分岐点解析モジュール
213 切り替え処理実行モジュール
220、1210 フロー処理サービス利用者
230 フロー処理記述文書記憶部
1231 飛行機予約サービス
1232 ホテル予約サービス
1233 レンタカー予約サービス
1240 フロー処理記述文書
1241 フロー処理記述文書
1250 フロー処理動的切り替え処理

Claims (6)

  1. ネットワークに接続されたフロー処理実行装置であって、
    前記ネットワークを介して通信端末から、第1のフロー処理における分岐点位置を付加した、前記第1のフロー処理呼び出すためのメッセージを受信する受信手段と、
    前記第1のフロー処理における前記分岐点位置に至るまで前記第1のフロー処理を順次実行し、前記分岐点位置に至ると、前記第1のフロー処理を一時停止し、フロー処理の切り替えを確認するためのメッセージを前記ネットワークを介して前記通信端末に送信するフロー処理実行手段と、
    第2のフロー処理への切り替え指示を前記ネットワークを介して前記通信端末から受け付ける受付手段とを有し、
    前記フロー処理実行手段は、前記切り替え指示を前記受付手段が受け付けると、前記第1のフロー処理から前記第2のフロー処理に実行するフロー処理を切り替えることを特徴とするフロー処理実行装置。
  2. 前記第1のフロー処理で扱っているデータと前記第2のフロー処理で扱うデータとをマッピングする切り替え処理実行手段を更に有することを特徴とする請求項に記載のフロー処理実行装置。
  3. ネットワークに接続されたフロー処理実行装置によるフロー処理方法であって、
    受信手段が、前記ネットワークを介して通信端末から、第1のフロー処理における分岐点位置を付加した、前記第1のフロー処理呼び出すためのメッセージを受信し、
    フロー処理実行手段が、前記第1のフロー処理における前記分岐点位置に至るまで前記第1のフロー処理を順次実行し、前記分岐点位置に至ると、前記第1のフロー処理を一時停止し、フロー処理の切り替えを確認するためのメッセージを前記ネットワークを介して前記通信端末に送信し、
    受付手段が、第2のフロー処理への切り替え指示を前記ネットワークを介して前記通信端末から受け付け、
    前記フロー処理実行手段が、前記切り替え指示を前記受付手段が受け付けると、前記第1のフロー処理から前記第2のフロー処理に実行するフロー処理を切り替えることを特徴とするフロー処理実行方法。
  4. 切り替え処理実行手段が、前記第1のフロー処理で扱っているデータと前記第2のフロー処理で扱うデータとをマッピングすることを特徴とする請求項に記載のフロー処理実行方法。
  5. ネットワークに接続されたコンピュータに、
    前記ネットワークを介して通信端末から、第1のフロー処理における分岐点位置を付加した、前記第1のフロー処理呼び出すためのメッセージを受信する受信手順と、
    前記第1のフロー処理における前記分岐点位置に至るまで前記第1のフロー処理を順次実行する実行手順と、
    前記分岐点位置に至ると、前記第1のフロー処理を一時停止する一時停止手順と、
    フロー処理の切り替えを確認するためのメッセージを前記ネットワークを介して前記通信端末に送信する送信手順と、
    第2のフロー処理への切り替え指示を前記ネットワークを介して前記通信端末から受け付ける受付手順と、
    前記切り替え指示を前記受付手順で受け付けると、前記第1のフロー処理から前記第2のフロー処理に実行するフロー処理を切り替える切り替え手順とを実行させるためのプログラム。
  6. 前記第1のフロー処理で扱っているデータと前記第2のフロー処理で扱うデータとをマッピングする手順を更にコンピュータに実行させることを特徴とする請求項に記載のプログラム。
JP2007152124A 2007-06-07 2007-06-07 フロー処理実行装置、フロー処理実行方法及びプログラム Expired - Fee Related JP5084355B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007152124A JP5084355B2 (ja) 2007-06-07 2007-06-07 フロー処理実行装置、フロー処理実行方法及びプログラム
EP08009392A EP2000965A3 (en) 2007-06-07 2008-05-21 Flow process execution method, apparatus and program
US12/124,444 US20080307421A1 (en) 2007-06-07 2008-05-21 Flow process execution method, apparatus and program
CN2008101108037A CN101320452B (zh) 2007-06-07 2008-06-10 流程处理执行方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007152124A JP5084355B2 (ja) 2007-06-07 2007-06-07 フロー処理実行装置、フロー処理実行方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2008305205A JP2008305205A (ja) 2008-12-18
JP2008305205A5 JP2008305205A5 (ja) 2010-07-15
JP5084355B2 true JP5084355B2 (ja) 2012-11-28

Family

ID=39760846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007152124A Expired - Fee Related JP5084355B2 (ja) 2007-06-07 2007-06-07 フロー処理実行装置、フロー処理実行方法及びプログラム

Country Status (4)

Country Link
US (1) US20080307421A1 (ja)
EP (1) EP2000965A3 (ja)
JP (1) JP5084355B2 (ja)
CN (1) CN101320452B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US9720693B2 (en) * 2015-06-26 2017-08-01 Microsoft Technology Licensing, Llc Bulk allocation of instruction blocks to a processor instruction window
CN116720715B (zh) * 2023-08-08 2023-11-28 华航信航空科技(浙江)有限公司 应用于程序管制条件下的电子进程单管控方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137947A (ja) * 1994-11-11 1996-05-31 Hitachi Ltd ワークフロー管理システム
US5754857A (en) * 1995-12-08 1998-05-19 Sun Microsystems, Inc. Distributed asynchronous workflow on the net
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
US7406424B2 (en) * 2001-08-29 2008-07-29 Hewlett-Packard Development Company, L.P. Migration of a workflow system to changed process definitions
JP3947136B2 (ja) * 2003-05-30 2007-07-18 株式会社東芝 ウェブサービスシステム、フロー展開支援装置およびフロー展開支援プログラム
US20050144137A1 (en) * 2003-12-24 2005-06-30 Kumar B. V. Protocol processing device and method
JP4574197B2 (ja) * 2004-03-16 2010-11-04 キヤノン株式会社 データ処理方法、プログラム、及び、装置
JP4102354B2 (ja) * 2004-11-02 2008-06-18 富士通株式会社 アプリケーションフロー制御装置
JP4772368B2 (ja) * 2005-04-21 2011-09-14 株式会社エヌ・ティ・ティ・データ ビジネスプロセス例外処理生成支援装置およびプログラム
JP4380585B2 (ja) * 2005-04-28 2009-12-09 ソニー株式会社 映像再生装置
JP4903012B2 (ja) * 2005-05-26 2012-03-21 株式会社リコー ワークフローシステム、ワークフロー処理方法およびワークフロー処理プログラム
JP2007035021A (ja) * 2005-06-24 2007-02-08 Japan Science & Technology Agency サーバー装置及びデータ取得方法
GB0514191D0 (en) * 2005-07-12 2005-08-17 Ibm Methods, apparatus and computer programs for optimized parsing and service invocation
JP2007047874A (ja) * 2005-08-05 2007-02-22 Ricoh Co Ltd ユーザインターフェース装置、ソフトウェア部品管理方法、及びソフトウェア部品管理プログラム
US8185423B2 (en) * 2005-12-22 2012-05-22 Canon Kabushiki Kaisha Just-in time workflow
US20070265895A1 (en) * 2006-05-09 2007-11-15 Sap Ag Ad-hoc workflow as a business process template

Also Published As

Publication number Publication date
CN101320452B (zh) 2013-06-05
EP2000965A3 (en) 2012-04-25
JP2008305205A (ja) 2008-12-18
CN101320452A (zh) 2008-12-10
US20080307421A1 (en) 2008-12-11
EP2000965A2 (en) 2008-12-10

Similar Documents

Publication Publication Date Title
US7539996B2 (en) Computer program and method for supporting implementation of services on multiple-server system
JP2010009520A (ja) フロー処理装置及びメッセージ変換方法
JP2019012553A (ja) ロケーションニュートラルソフトウェアの需要増大に伴う展開に対するシステム及び方法
JP2010511214A (ja) サーバ・リソースに依存せずにクライアント環境内で用いるポートレットの集約
Zhu Web services provide the power to integrate
KR100677635B1 (ko) 네트워크에서의 기기 제어 방법 및 시스템과 그 방법을수행하는 프로그램이 기록된 기록 매체
Georgantas et al. Service-oriented distributed applications in the future internet: The case for interaction paradigm interoperability
US20100220352A1 (en) Image forming apparatus, image forming system, and information processing method
JP5084355B2 (ja) フロー処理実行装置、フロー処理実行方法及びプログラム
JP2010027007A (ja) 処理装置、要求装置、及びそれらの処理方法
US20070002739A1 (en) Data processing method, program, device, message structure, message generation method, and message transmission method
JP2007293503A (ja) デバイス、その制御方法、及びプログラム
JP5371613B2 (ja) サービス連携装置
Heydarnoori et al. Towards an automated deployment planner for composition of web services as software components
JP4291174B2 (ja) Webサービス委譲処理方法及び実施装置並びに処理プログラム
JP4667299B2 (ja) プロセス間通信方法
JP5251197B2 (ja) メッセージ処理方法、メッセージ処理装置、及びプログラム
CN110471778B (zh) 插件管理***及方法
US8166150B2 (en) Systems and methods enabling interoperability between network-centric operation (NCO) environments
US7529837B2 (en) Device and method for changing instruction description, and storage medium storing program for changing instruction
CN116136765A (zh) 代码部署、执行方法、设备及***
JP2005085061A (ja) メッセージ通信仲介装置、メッセージ通信仲介プログラムおよびメッセージ通信仲介方法
JP2007108956A (ja) 通信装置及びその制御方法
JP2008134913A (ja) 複合サービス提供システムおよび方法
JP2007304994A (ja) 情報処理装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R151 Written notification of patent or utility model registration

Ref document number: 5084355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees