(57)【要約】【課題】プロセスの途中でデータの処理単位が変わるビジネスプロセスを実行できるプロセス管理方法を提供する。【解決手段】第１の数のデータを処理する第１のタスクと、第１の数と異なる第２の数のデータを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理方法であって、ビジネスプロセスを、第１のタスクを含む親プロセスと、第２のタスクを含み、親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、ビジネスプロセスが起動される度に親プロセスのインスタンスを生成し、サブプロセスを呼び出した親プロセスのインスタンスを、１つのサブプロセスのインスタンスに紐付け、１つの前記サブプロセスのインスタンスに、第２の数の親プロセスのインスタンスが紐付けられた場合に、１つのサブプロセスのインスタンスを開始させる、処理をコンピュータが実行する。【選択図】図７
2020013188.tif 000002
【特許請求の範囲】
【請求項１】
第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理方法であって、
前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、
前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、
前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる、
処理をコンピュータが実行するプロセス管理方法。
【請求項２】
前記１つの前記サブプロセスのインスタンスの処理が終了すると、前記処理の終了と、前記サブプロセス内に定義されたタスクの処理結果とを、前記１つの前記サブプロセスのインスタンスに紐付けられた前記親プロセスのインスタンスのそれぞれに送信する、
請求項１記載のプロセス管理方法。
【請求項３】
前記サブプロセスは、前記親プロセス内で定義されている前記第１のタスクから独立して完了可能なサブプロセスである、
請求項１又は２に記載のプロセス管理方法。
【請求項４】
前記ビジネスプロセスのビジネスプロセス定義は、少なくとも前記サブプロセスのインスタンスの生成条件を定義可能なノードを含み、
前記ノード内には、前記親プロセスのプロセス定義とは別に登録された前記サブプロセスのプロセス定義の画像が表示される、
請求項１〜３のいずれか１項記載のプロセス管理方法。
【請求項５】
第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理プログラムであって、
前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、
前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、
前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる、
処理をコンピュータに実行させるプロセス管理プログラム。
【請求項６】
第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理装置であって、
前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義を記憶する記憶部と、
前記ビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる処理部と、
を備えるプロセス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス管理方法、プロセス管理プログラム、及びプロセス管理装置に関する。
【背景技術】
【０００２】
業務の流れ（ビジネスプロセス）を管理するBusiness Process Management System（ＢＰＭＳ）が知られている。ＢＰＭＳでは、ビジネスプロセスモデリング表記法（Business Process Model and Notation：BPMN）によりプロセスのフローが記述されており、記述された通りにプロセスが実行される（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８６０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ＢＰＭＮではデータフローは記述されないため、プロセスの途中でデータの処理単位が変わっても、ＢＰＭＮ上に表現することができない。例えば、図１２（Ａ）に示すプロセスにおいて、申請者がＡ伝票を起票するタスクＴ１でのデータの処理単位は１件であり、庶務担当がＡ伝票をＣＳＶファイルにまとめるタスクＴ２でのデータの処理単位が１０件である場合、ＢＰＭＮ上では、データの処理単位の違いを表現することができない。
【０００５】
そのため、従来のＢＰＭＳで図１２（Ａ）に示す業務プロセスを実現しようとすると、図１２（Ｂ）に示すように、データの処理単位が異なるプロセスを、サブプロセスとして定義し、かつ、サブプロセスと親プロセスとを連携させるプログラム（サブプロセス連携プログラム）をＢＰＭＳの外部に実装しなければならない。所定条件（例えば、親プロセスからのサブプロセスの呼出回数が１０回以上）が満たされるまで、サブプロセスのインスタンスを生成しないよう制御する必要があるためである。さらに、親プロセスとサブプロセスとの親子関係をＢＰＭＳの外部で管理しなければならない。また、サブプロセスの完了通知をメール又はメッセージ等で受信するタスク（図１２（Ｂ）のＴ６）の追加が必要となる。このような理由から、プロセスの途中でデータの処理単位が変わる業務プロセスのシステム化は煩雑であった。
【０００６】
そこで、１つの側面では、プロセスの途中でデータの処理単位が変わるビジネスプロセスを実行できるプロセス管理方法、プロセス管理プログラム、及びプロセス管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、プロセス管理方法は、第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理方法であって、前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる、処理をコンピュータが実行する。
【発明の効果】
【０００８】
プロセスの途中でデータの処理単位が変わるビジネスプロセスを実行できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るビジネスプロセス管理システムの構成を概略的に示す図である。
【図２】図２は、実施形態に係るプロセス管理装置のハードウェア構成の一例を示す図である。
【図３】図３は、プロセス管理装置の機能ブロック図である。
【図４】図４は、実施形態に係るプロセス管理装置におけるプロセス定義の一例を示す図である。
【図５】図５は、プロセスインスタンスの生成について説明するための図である。
【図６】図６は、呼出回数管理テーブルの一例を示す図である。
【図７】図７は、プロセス管理装置において実行されるプロセス制御処理を示すフローチャートである。
【図８】図８（Ａ）及び図８（Ｂ）は、管理テーブルの一例を示す図である。
【図９】図９は、プロセス管理装置において実行されるサブプロセス完了処理を示すフローチャートである。
【図１０】図１０は、サブプロセス終了時点での管理テーブルの一例を示す図である。
【図１１】図１１（Ａ）は、比較例に係るプロセス管理装置におけるプロセス定義の一例を示す図であり、図１１（Ｂ）は、比較例に係るプロセス管理装置におけるプロセス定義の別例を示す図である。
【図１２】図１２（Ａ）は、データの処理単位が途中で変わるビジネスプロセスについて説明する図であり、図１２（Ｂ）は、図１２（Ａ）のビジネスプロセスのシステム化の一例について説明する図である。
【発明を実施するための形態】
【００１０】
以下、ビジネスプロセス管理システムの一実施形態について、図１〜図１０に基づいて詳細に説明する。
【００１１】
図１には、一実施形態に係るビジネスプロセス管理システム１００の構成が概略的に示されている。図１に示すように、ビジネスプロセス管理システム１００は、プロセス管理装置１０と、クライアント端末２０−１〜２０−ｎと、を備える。プロセス管理装置１０と、クライアント端末２０−１〜２０−ｎとはインターネット、Local Area Network（ＬＡＮ）、Wide Area Network（ＷＡＮ）等、有線又は無線のネットワークＮＷを介して接続されている。なお、以後の説明において特に区別する必要がない限り、クライアント端末２０−１〜２０−ｎをクライアント端末２０と記載する。
【００１２】
クライアント端末２０は、例えば、パーソナルコンピュータであり、ユーザにより使用される。クライアント端末２０において、ユーザがビジネスプロセスを起動すると、ビジネスプロセスの起動がクライアント端末２０からプロセス管理装置１０に通知される。
【００１３】
プロセス管理装置１０は、クライアント端末２０からビジネスプロセスの起動が通知されると、起動されたビジネスプロセスのプロセス定義に基づいてインスタンス（プロセスインスタンス）を生成し、ビジネスプロセスの実行を制御する。
【００１４】
図２は、プロセス管理装置１０のハードウェア構成の一例を示す図である。尚、上述したクライアント端末２０も、基本的にプロセス管理装置１０と同様のハードウェア構成を有するため、説明を省略する。
【００１５】
図２に示すように、プロセス管理装置１０は、少なくともハードウェアプロセッサとしてのCentral Processing Unit（ＣＰＵ）１００Ａ、Random Access Memory（ＲＡＭ）１００Ｂ、Read Only Memory（ＲＯＭ）１００Ｃ及びネットワークＩ／Ｆ（インタフェース）１００Ｄを含んでいる。プロセス管理装置１０は、必要に応じて、Hard Disk Drive（ＨＤＤ）１００Ｅ、入力Ｉ／Ｆ１００Ｆ、出力Ｉ／Ｆ１００Ｇ、入出力Ｉ／Ｆ１００Ｈ、ドライブ装置１００Ｉの少なくとも１つを含んでいてもよい。ＣＰＵ１００Ａからドライブ装置１００Ｉまでは、内部バス１００Ｊによって互いに接続されている。すなわち、プロセス管理装置１０はコンピュータによって実現することができる。尚、ＣＰＵ１００Ａに代えてMicro Processing Unit（ＭＰＵ）をハードウェアプロセッサとして利用してもよい。
【００１６】
入力Ｉ／Ｆ１００Ｆには、入力装置７１０が接続される。入力装置７１０としては、例えばキーボードやマウスなどがある。出力Ｉ／Ｆ１００Ｇには、表示装置７２０が接続される。表示装置７２０としては、例えば液晶ディスプレイがある。入出力Ｉ／Ｆ１００Ｈには、半導体メモリ７３０が接続される。半導体メモリ７３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ１００Ｈは、半導体メモリ７３０に記憶されたプログラムやデータを読み取る。入力Ｉ／Ｆ１００Ｆ及び入出力Ｉ／Ｆ１００Ｈは、例えばＵＳＢポートを備えている。出力Ｉ／Ｆ１００Ｇは、例えばディスプレイポートを備えている。
【００１７】
ドライブ装置１００Ｉには、可搬型記録媒体７４０が挿入される。可搬型記録媒体７４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置１００Ｉは、可搬型記録媒体７４０に記録されたプログラムやデータを読み込む。ネットワークＩ／Ｆ１００Ｄは、例えば通信回路及びＬＡＮポートを備えている。ネットワークＩ／Ｆ１００Ｄは上述したネットワークＮＷと接続される。
【００１８】
上述したＲＡＭ１００Ｂには、ＲＯＭ１００ＣやＨＤＤ１００Ｅに記憶されたプログラムがＣＰＵ１００Ａによって一時的に格納される。ＲＡＭ１００Ｂには、可搬型記録媒体７４０に記録されたプログラムがＣＰＵ１００Ａによって一時的に格納される。格納されたプログラムをＣＰＵ１００Ａが実行することにより、ＣＰＵ１００Ａは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００１９】
次に、図３を参照して、上述したプロセス管理装置１０の機能構成について説明する。
【００２０】
図３は、プロセス管理装置１０の機能ブロック図の一例である。図３に示すように、プロセス管理装置１０は、親プロセス実行制御部１０１、サブプロセス実行制御部１０３、プロセス定義ＤＢ１１１、管理テーブル１１２、インスタンス管理テーブル１１３、及び呼出回数管理テーブル１１４を備える。
【００２１】
親プロセス実行制御部１０１及びサブプロセス実行制御部１０３は、例えば上述したＣＰＵ１００Ａによって実現することができる。プロセス定義ＤＢ１１１、管理テーブル１１２、インスタンス管理テーブル１１３、及び呼出回数管理テーブル１１４は、例えば上述したＨＤＤ１００Ｅによって実現することができる。
【００２２】
プロセス定義ＤＢ１１１は、各ビジネスプロセスを定義したプロセス定義を格納する。各プロセス定義は、プロセス定義ＩＤによって一意に識別される。ここで、図４を用いて、本実施形態に係るプロセス管理装置１０における、データの処理単位がプロセスの途中で変化するビジネスプロセスのプロセス定義について説明する。
【００２３】
図４に示すように、プロセス定義は、ビジネスプロセスを、ノードと矢印とにより表現する。ノードはプロセス定義の構成要素の１つであり、プロセスの開始点、終了点、分岐点、タスク、制御等を表す。矢印は、あるノードから他のノードへ向かうプロセスの流れを表す。なお、タスクとは、プロセス内でユーザ又はアプリケーションによって実施される作業（処理）を示すものである。
【００２４】
図４に示すプロセス定義は、ノードＮ１〜Ｎ６を含んでいる。ノードＮ１は、プロセスの開始を示す開始ノードであり、ノードＮ６は、プロセスの終了を示す終了ノードである。ノードＮ２、Ｎ４はユーザのタスクを示すノードであり、ノードＮ５は、アプリケーションのタスクを示すノードである。ノードＮ３は、サブプロセス並びにサブプロセスの生成条件及び開始条件を定義可能なノードであり、以後、ＣＥＳＰ（Conditional Embedded Sub-Process）ノードと記載する。
【００２５】
プロセス定義時、ＣＥＳＰノード内には、様々なノード（図４ではＮ３１〜Ｎ３４）や矢印を配置することができる。ＣＥＳＰノード内に定義されたプロセスは、親プロセスのプロセス定義（親プロセス定義）保存時に、親プロセス定義で定義されたタスクからは独立して完了させることができるChained SubProcess（ＣＳＰ）として、そのプロセス定義（ＣＳＰプロセス定義）が、親プロセス定義とは別にプロセス定義ＤＢ１１１に登録される。ＣＳＰプロセス定義がプロセス定義ＤＢ１１１に登録されると、ＣＥＳＰノード内には、登録されたＣＳＰプロセス定義の画像（イメージ）が表示される。また、ＣＥＳＰノードは、ＣＥＳＰノード内に定義されたＣＳＰのインスタンスの生成条件、及び、生成されたインスタンスの開始条件を定義可能となっている。
【００２６】
図４のプロセス定義では、ノードＮ２、Ｎ４、及びＮ５がデータの処理単位が例えば１件のタスクを示し、ＣＥＳＰノードＮ３に定義された、ノードＮ３２及びＮ３３が、データの処理単位が例えば１０件のタスクを示している。このように、プロセス管理装置１０では、プロセスの途中でデータの処理単位が変わるビジネスプロセスを、１つのプロセス定義上に表現できるようになっている。
【００２７】
図３に戻り、親プロセス実行制御部１０１は、例えばクライアント端末２０においてビジネスプロセスが起動されると、ビジネスプロセスのプロセス定義に基づいて、当該ビジネスプロセスのインスタンスを生成し、インスタンス管理テーブル１１３に登録する。親プロセス実行制御部１０１は、図５に示すように、ビジネスプロセスが起動される度に、ビジネスプロセスのインスタンスを生成する。親プロセス実行制御部１０１は、ビジネスプロセスのインスタンスの状態や、変数等を、インスタンス管理テーブル１１３により管理する。なお、以後の説明において、サブプロセスを含むビジネスプロセスのインスタンスを、親プロセスのインスタンスと記載する。
【００２８】
サブプロセス実行制御部１０３は、親プロセスのインスタンスにおいてサブプロセスが呼び出されると、サブプロセスのインスタンスを生成し、インスタンス管理テーブル１１３に登録する。サブプロセス実行制御部１０３は、サブプロセスのインスタンスの状態や、変数等を、インスタンス管理テーブル１１３により管理する。
【００２９】
管理テーブル１１２は、親プロセスのインスタンスと、サブプロセスのインスタンスとの紐付けを管理するテーブルであり、詳細は後述する。
【００３０】
呼出回数管理テーブル１１４は、ＣＥＳＰノードを含むプロセス定義に基づいて生成された親プロセスのインスタンスから、サブプロセスが呼び出された回数（ＳＰ呼出回数）を管理するテーブルである。図６に示すように、呼出回数管理テーブル１１４は、「プロセス定義ＩＤ」及び「ＳＰ呼出回数」のフィールドを備える。プロセス定義ＩＤには、ＣＥＳＰノードを含むプロセス定義を一意に識別する識別子が登録される。ＳＰ呼出回数には、プロセス定義ＩＤで識別されるプロセス定義に基づき生成された親プロセスのインスタンスから、サブプロセスが呼び出された回数が格納される。なお、ＳＰ呼出回数にはデフォルト値として「０」が登録されている。
【００３１】
次に、図４のように定義されたビジネスプロセスが起動された場合の処理について、図７のフローチャートを用いて説明する。
【００３２】
なお、図４において、ＣＥＳＰノードＮ３に定義されたサブプロセスのインスタンス生成条件及び生成されたインスタンスの実行開始条件は、「サブプロセスが所定回数（ここでは、１０回と仮定する）呼び出される」であるものとする。
【００３３】
図７の処理は、親プロセスのインスタンスの状態が、ノードＮ２からＣＥＳＰノードＮ３に遷移すると（サブプロセスが呼び出されると）開始される。
【００３４】
図７の処理では、まず、サブプロセス実行制御部１０３が、呼出回数管理テーブル１１４に保存されているＳＰ呼出回数が０か否かを判断する（ステップＳ１１）。より具体的には、サブプロセス実行制御部１０３は、呼出回数管理テーブル１１４（図６参照）において、親プロセスのインスタンス生成の元となったプロセス定義のプロセス定義ＩＤに対するＳＰ呼出回数が０か否かを判断する。
【００３５】
ＳＰ呼出回数が０の場合（ステップＳ１１／ＹＥＳ）、サブプロセス実行制御部１０３は、ＳＰ呼出回数を１インクリメントし（ステップＳ１３）、ＣＥＳＰノード内に定義されたＣＳＰのインスタンス（以後、ＣＳＰインスタンスと記載）を生成する（ステップＳ１５）。このとき、親プロセスと同一のプロセス変数を、ＣＳＰインスタンスにマッピングする。これにより、変数マッピングを容易に行うことができる。そして、サブプロセス実行制御部１０３は、生成したＣＳＰインスタンスの状態を開始ノードに遷移させ、待機させる（ステップＳ１７）。
【００３６】
次に、サブプロセス実行制御部１０３は、ＣＳＰを呼び出した親プロセスのインスタンスのＩＤ（親プロセスＩＤ）と、ＣＳＰインスタンスのＩＤ（サブプロセスＩＤ）とを紐付け（ステップＳ１９）、処理を終了する。具体的には、図８（Ａ）に示すように、サブプロセス実行制御部１０３は、親プロセスＩＤと、サブプロセスＩＤとを紐付けて、管理テーブル１１２に記録する。
【００３７】
図８（Ａ）は、管理テーブル１１２の一例を示す図である。管理テーブル１１２は、例えば、「親プロセスＩＤ」、「サブプロセスＩＤ」、「Ｎｏ．」、「処理結果」のフィールドを有する。「親プロセスＩＤ」のフィールドには、ＣＳＰを呼び出した親プロセスのインスタンスのＩＤが格納される。「サブプロセスＩＤ」のフィールドには、親プロセスＩＤと紐付けられるＣＳＰインスタンスのＩＤが格納される。「Ｎｏ．」のフィールドには、ＳＰ呼出回数の値が格納される。「処理結果」のフィールドには、ＣＳＰインスタンスの実行開始後に行われるタスク「総務担当による一括審査」の結果が格納される。
【００３８】
図７に戻り、ＳＰ呼出回数が０でない場合（ステップＳ１１／ＮＯ）、サブプロセス実行制御部１０３は、ＳＰ呼出回数を１インクリメントする（ステップＳ２１）。
【００３９】
次に、サブプロセス実行制御部１０３は、ＳＰ呼出回数が所定回数（１０回）か否かを判断する（ステップＳ２３）。ＳＰ呼出回数が所定回数ではない場合（ステップＳ２３／ＮＯ）、サブプロセス実行制御部１０３は、生成済みのＣＳＰインスタンスに、親プロセスのインスタンスを紐付ける（ステップＳ１９）。具体的には、サブプロセス実行制御部１０３は、図８（Ｂ）に示すように、管理テーブル１１２において、１つのＣＳＰインスタンス（サブプロセスＩＤ：４０００２２２２）に親プロセスのインスタンスを紐付ける。
【００４０】
一方、ＳＰ呼出回数が所定回数である場合（ステップＳ２３／ＹＥＳ）、サブプロセス実行制御部１０３は、生成済みのＣＳＰインスタンスに、親プロセスのインスタンスを紐付け（ステップＳ２５）、ＣＳＰインスタンスの開始ノードを次のノードに遷移させる（ステップＳ２７）。これにより、待機状態にあったＣＳＰインスタンスが開始され、庶務担当に伝票の取り纏め処理を開始させることができる。
【００４１】
ステップＳ２７の終了後、サブプロセス実行制御部１０３は、ＳＰ呼出回数を０に戻し（ステップＳ２９）、図７の処理を終了する。
【００４２】
以上の処理により、プロセス管理装置１０では、ＳＰ呼出回数が所定回数となるまで、ＣＳＰインスタンスが新規に生成されないため、親プロセスのインスタンスが登録される度にＣＳＰインスタンスが生成されてしまうことを防止できる。そして、ＳＰ呼出回数が所定回数となった場合に、ＣＳＰインスタンスの状態を開始ノードから次のノードへ遷移させるため、所定数のデータが蓄積されたタイミングで、サブプロセスを開始させることができる。すなわち、例えば、伝票が１０件登録された段階で、庶務担当に伝票の取り纏め処理を開始させることができる。
【００４３】
次に、本実施形態に係るプロセス管理装置１０における、ＣＳＰインスタンスの完了処理について図９のフローチャートを参照して説明する。
【００４４】
図９の処理は、ＣＳＰインスタンスの状態が終了ノードに遷移すると開始される。ＣＳＰインスタンスの状態が終了ノードに遷移したとき、管理テーブル１１２の「処理結果」のフィールドには、図１０に示すように、データが登録されている。
【００４５】
図９の処理において、まず、サブプロセス実行制御部１０３は、Ｎ＝１とする（ステップＳ５１）。
【００４６】
次に、管理テーブル１１２に登録されているＮ番目のレコード（すなわち、「Ｎｏ．」のフィールドの値がＮであるレコード）の親プロセスＩＤで識別される親プロセスのインスタンスに、サブプロセスの終了と処理結果を通知する（ステップＳ５３）。
【００４７】
次に、サブプロセス実行制御部１０３は、管理テーブル１１２内に未処理のレコードが存在するか否か判断する（ステップＳ５５）。未処理のレコードが存在する場合（ステップＳ５５／ＹＥＳ）、サブプロセス実行制御部１０３は、Ｎを１インクリメントし（ステップＳ５７）、ステップＳ５３からの処理を実行する。
【００４８】
一方、未処理のレコードがない場合（ステップＳ５５／ＮＯ）、サブプロセス実行制御部１０３は、サブプロセスを終了する（ステップＳ５９）。
【００４９】
これにより、それぞれの親プロセスのインスタンスでは、処理結果に応じたタスク（図４では、ノードＮ４及びＮ５に定義されたタスク）を実行することができる。サブプロセスから処理結果が通知されない場合、親プロセスでは分岐処理が行えないため、申請が承認されたか否かに関わらず申請者が結果確認を行わなければならない。
【００５０】
（比較例）
ここで、本実施形態に係るプロセス管理装置１０が備えるＣＥＳＰノードが実装されていない、比較例に係るプロセス管理装置１０´において、データの処理単位がプロセスの途中で変化するビジネスプロセスを定義する場合について説明する。
【００５１】
図１１（Ａ）は、プロセス管理装置１０´におけるプロセス定義の一例を示す図である。
【００５２】
図１１（Ａ）に示すプロセス定義は、ノードＮ１１〜Ｎ１５を含んでいる。ノードＮ１１は、プロセスの開始を示す開始ノードであり、ノードＮ１５は、プロセスの終了を示す終了ノードである。ノードＮ１２、Ｎ１４はユーザのタスクを示すノードである。また、ノードＮ１３は、ノード内にサブプロセスを直接定義可能なEmbedded Sub-Process（ＥＳＰ）ノードである。ＥＳＰノードは、ＣＥＳＰノードと同様に、ノード内に様々なノード（図１１（Ａ）ではＮ１３１〜Ｎ１３４）や矢印を含むことができるが、サブプロセスのインスタンスの生成条件や開始条件を定義することができない。また、ＣＥＳＰノードと異なり、ＥＳＰノード内に定義されたプロセスについては、親プロセスのプロセス定義保存時に、プロセス定義が生成されない。また、図１１（Ａ）に示すプロセスの実行時、親プロセスは、ＥＳＰノード内に定義されたサブプロセスが完了してその結果が戻されるまで待機する。
【００５３】
ここで、図１１（Ａ）の例では、ＥＳＰノードＮ１３内に、伝票の取纏及び一括審査のタスクを含むプロセスが直接定義されている。ＥＳＰノードＮ１３では、サブプロセスのインスタンスの生成条件及び開始条件を定義できないため、プロセス管理装置１０´のサブプロセス実行制御部１０３´は、親プロセスのインスタンスの状態がノードＮ１２からＥＳＰノードＮ１３に遷移すると（サブプロセスが呼び出されると）、サブプロセスのインスタンスを生成する。したがって、ＥＳＰノードを使用すると、申請者が伝票を１件起票する度にサブプロセスのインスタンスが生成されてしまい、「伝票が１０件蓄積されてから庶務担当に処理を依頼する」というプロセスを実現できない。
【００５４】
図１１（Ｂ）は、プロセス管理装置１０´におけるプロセス定義の別例を示す図である。図１１（Ｂ）に示すプロセス定義では、ＣＳＰを呼び出し可能なＣＳＰノードＮ１３５がＥＳＰノードＮ１３内に配置されている。図１１（Ｂ）に示すプロセス定義を用いると、プロセスの途中でデータの処理単位が変化するプロセスを実行することができる。しかしながら、ＣＳＰノードＮ１３５により呼び出されるＣＳＰのプロセス定義は、親プロセスのプロセス定義とは別に定義されるため、それぞれのプロセス定義を別画面で確認することになる。そのため、親プロセス内でＣＳＰのプロセス定義を確認することができず、ＣＳＰと親プロセスとの間の親子関係の視認性が悪い。
【００５５】
一方、本実施形態に係るプロセス管理装置１０は、例えば、１件（第１の数）のデータを処理するタスク（第１のタスク）と、１０件（第２の数）のデータを処理するタスクと、を含むビジネスプロセスを管理するプロセス管理装置であって、親プロセス実行制御部１０１と、サブプロセス実行制御部１０３と、を備える。親プロセス実行制御部１０１は、ビジネスプロセスを、１件のデータを処理するタスクを含む親プロセスと、１０件のデータを処理するタスクを含み、親プロセス内に定義されたサブプロセスと、により定義したプロセス定義に基づいて、ビジネスプロセスが起動される度に親プロセスのインスタンスを生成する。サブプロセス実行制御部１０３は、サブプロセスを呼び出した親プロセスのインスタンスを、１つのサブプロセスのインスタンスに紐付け、１つのサブプロセスのインスタンスに、１０個の親プロセスのインスタンスが紐付けられた場合に、１つのサブプロセスのインスタンスを開始させる（開始ノードから次のノードに遷移させる）。すなわち、サブプロセス実行制御部１０３は、１回目にサブプロセスが呼び出されたときに、サブプロセスのインスタンスを生成するが、サブプロセスのインスタンスの状態を開始ノードで待機させる。そして、サブプロセスが所定回数呼び出されるまで、サブプロセスのインスタンスを新規に生成せず、サブプロセスが所定回数呼び出された場合に、サブプロセスのインスタンスを開始ノードから次のノードに遷移させる。これにより、データの処理単位がプロセスの途中で変化するビジネスプロセスを実行できる。また、データの処理単位がプロセスの途中で変化するビジネスプロセスをシステム化する場合にも、例えば、図１２（Ｂ）に示すように、ユーザプログラム（サブプロセス連携プログラム）を作成する必要がなくシステム化が容易となる。
【００５６】
さらに、本実施形態において、サブプロセス実行制御部１０３は、１つのサブプロセスのインスタンスの処理が終了すると、処理の終了と、サブプロセス内に定義されたタスクの処理結果とを、１つのサブプロセスのインスタンスに紐付けられた親プロセスのインスタンスのそれぞれに送信する。これにより、親プロセスは、処理結果に応じたタスクを自動的に実行することができる。
【００５７】
また、本実施形態において、プロセス定義は、少なくともサブプロセスのインスタンスの生成条件を定義可能なＣＥＳＰノードを含み、ＣＥＳＰノード内には、親プロセスのプロセス定義とは別に登録されたサブプロセスのプロセス定義の画像が表示される。すなわち、同一のプロセス定義上で、親プロセスとサブプロセスとが表示される。これにより、親プロセスとサブプロセスとの間の親子関係の確認が容易になる。
【００５８】
なお、上記実施形態では、サブプロセスのインスタンスを最初に生成していたが、これに限られるものではない。サブプロセス実行制御部１０３は、サブプロセスの呼出回数が所定回数となった場合に、サブプロセスのインスタンスを生成するようにしてもよい。この場合、管理テーブル１１２において、親プロセスＩＤを仮のサブプロセスＩＤと紐付け、サブプロセスのインスタンスが生成された時点で、仮のサブプロセスＩＤを生成されたサブプロセスのインスタンスのＩＤで置換するようにしてもよい。この場合、サブプロセス実行制御部１０３は、仮のサブプロセスＩＤを置換した後、生成したインスタンスを開始（生成したインスタンスの状態を開始ノードから次のノードに遷移）させればよい。
【００５９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００６０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６２】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００６３】
なお、以上実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理方法であって、前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる、処理をコンピュータが実行するプロセス管理方法。
（付記２）  前記１つの前記サブプロセスのインスタンスの処理が終了すると、前記処理の終了と、前記サブプロセス内に定義されたタスクの処理結果とを、前記１つの前記サブプロセスのインスタンスに紐付けられた前記親プロセスのインスタンスのそれぞれに送信する、付記１記載のプロセス管理方法。
（付記３）  前記サブプロセスは、前記親プロセス内で定義されている前記第１のタスクから独立して完了可能なサブプロセスである、付記１又は２に記載のプロセス管理方法。
（付記４）  前記ビジネスプロセスのビジネスプロセス定義は、少なくとも前記サブプロセスのインスタンスの生成条件を定義可能なノードを含み、前記ノード内には、前記親プロセスのプロセス定義とは別に登録された前記サブプロセスのプロセス定義の画像が表示される、付記１〜３のいずれかに記載のプロセス管理方法。
（付記５）  第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理プログラムであって、前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる、処理をコンピュータに実行させるプロセス管理プログラム。
（付記６）  第１の数のデータを処理する第１のタスクと、前記第１の数と異なる第２の数の前記データを処理する第２のタスクと、を含むビジネスプロセスのプロセス管理装置であって、前記ビジネスプロセスを、前記第１のタスクを含む親プロセスと、前記第２のタスクを含み、前記親プロセス内に定義されたサブプロセスと、により定義したビジネスプロセス定義を記憶する記憶部と、前記ビジネスプロセス定義に基づいて、前記ビジネスプロセスが起動される度に前記親プロセスのインスタンスを生成し、前記サブプロセスを呼び出した前記親プロセスのインスタンスを、１つの前記サブプロセスのインスタンスに紐付け、前記１つの前記サブプロセスのインスタンスに、前記第２の数の前記親プロセスのインスタンスが紐付けられた場合に、前記１つの前記サブプロセスのインスタンスを開始させる処理部と、を備えるプロセス管理装置。
（付記７）  前記処理部は、前記１つの前記サブプロセスのインスタンスの処理が終了すると、前記処理の終了と、前記サブプロセス内に定義されたタスクの処理結果とを、前記１つの前記サブプロセスのインスタンスに紐付けられた前記親プロセスのインスタンスのそれぞれに送信する、付記６記載のプロセス管理装置。
（付記８）  前記サブプロセスは、前記親プロセス内で定義されている前記第１のタスクから独立して完了可能なサブプロセスである、付記６又は７に記載のプロセス管理装置。
（付記９）  前記ビジネスプロセスのビジネスプロセス定義は、少なくとも前記サブプロセスのインスタンスの生成条件を定義可能なノードを含み、前記ノード内には、前記親プロセスのプロセス定義とは別に登録された前記サブプロセスのプロセス定義の画像が表示される、付記６〜８のいずれかに記載のプロセス管理装置。
【符号の説明】
【００６４】
１０  プロセス管理装置
２０−１〜２０−ｎ  クライアント端末
１００  ビジネスプロセス管理システム
１０１  親プロセス実行制御部
１０３  サブプロセス実行制御部
１１１  プロセス定義ＤＢ
【図１】
2020013188.tif 000003
【図２】
2020013188.tif 000004
【図３】
2020013188.tif 000005
【図４】
2020013188.tif 000006
【図５】
2020013188.tif 000007
【図６】
2020013188.tif 000008
【図７】
2020013188.tif 000009
【図８】
2020013188.tif 000010
【図９】
2020013188.tif 000011
【図１０】
2020013188.tif 000012
【図１１】
2020013188.tif 000013
【図１２】
2020013188.tif 000014