(57)【特許請求の範囲】
【請求項１】
外部システムと連携して処理を実行するワークフローサーバであって、
前記外部システムから送信される、処理対象となる案件データに関する処理データを含む処理要求を取得する処理取得部と、
前記処理取得部にて取得した処理データを含む処理要求と、ワークフローの各工程における前記案件データと該処理データとの間の所定の条件とにより、アクセス制御を定義されたアクセス制御定義テーブルを含む工程情報記憶部と、
前記工程情報記憶部のアクセス制御定義テーブルに定義された所定の条件に基づいて、前記案件データに関する処理を実行する案件データ処理部と、
前記ワークフローの各工程における配送判断が前記案件データと前記処理データと間の所定の条件で実行されるように定義された配送判断定義テーブルを含む配送判断情報記憶部と、
前記配送判断情報記憶部の配送判断定義テーブルで定義された所定の条件に基づいて、配送先を判断する配送処理部と、
を備えることを特徴とするワークフローサーバ。
【請求項２】
前記工程情報記憶部は、前記案件データと前記処理データとの間の第１の所定の条件で実行されるように定義されたアクセス制御定義テーブルを含むものであり、
前記配送判断情報記憶部は、前記案件データと前記処理データと間の第２の所定の条件で実行されるように定義された配送判断定義テーブルを含むものであることを特徴とする請求項１に記載のワークフローサーバ。
【請求項３】
前記案件データ処理部は、
前記案件データに含まれるデータ項目への参照または更新の少なくとも一の処理が実行されるように定義されたアクセス制御定義テーブルを用いて前記処理を行い、
前記アクセス制御定義テーブルは、
前記案件データの状態および要求されている処理の組み合わせによりアクセス制御が定義されていることを特徴とする請求項１に記載のワークフローサーバ。
【請求項４】
前記配送処理部は、
次の工程に進む承認処理、または案件を却下する否認処理、直前または任意の工程に戻す差戻し処理、及び移動しない保留処理の少なくとも一の処理が実行されるように定義された配送判断定義テーブルを用いて前記処理を行うことを特徴とする請求項１または２に記載のワークフローサーバ。
【請求項５】
前記案件データ処理部は、
前記案件データを取得する手段と、
前記処理取得部にて取得した処理要求の種別がデータ項目への参照である場合には、取得した案件データのうちの該当するデータ項目のみを抽出して前記外部システムに向けて返信する手段と
を含むことを特徴とする請求項３に記載のワークフローサーバ。
【請求項６】
前記案件データ処理部は、
前記案件データを取得する手段と、
前記処理取得部にて取得した処理要求の種別がデータ項目への更新である場合には、取得した案件データのうちの該当するデータ項目のみをデータベースに更新登録する手段とを含むことを特徴とする請求項２に記載のワークフローサーバ。
【請求項７】
案件のデータ項目を定義するデータ項目定義と、ワークフローの工程を定義するプロセス定義と、前記アクセス制御定義テーブルと、を定義する手段をさらに備え、
前記データ項目定義は、
前記案件データで一意となる項目と、明細形式で扱う複数行を設定することが可能な明細項目を持つことを特徴とする請求項１から６のいずれかに記載のワークフローサーバ。
【請求項８】
前記工程情報記憶部のアクセス制御定義テーブルに定義された所定の条件は、前記案件データと前記処理データを含む不等号の条件であることを特徴とする請求項１から７のいずれかに記載のワークフローサーバ。
【請求項９】
前記配送判断情報記憶部の配送判断定義テーブルで定義された所定の条件は、前記案件データと前記処理データを含む不等号の条件であることを特徴とする請求項１から８のいずれかに記載のワークフローサーバ。
【請求項１０】
外部システムと連携して処理を実行するワークフロー処理方法であって、
前記外部システムから送信される、処理対象となる案件データに関する処理データを含む処理要求を取得する処理取得ステップと、
前記取得した処理要求と、ワークフローの各工程における前記案件データと該処理データとの間の所定の条件とにより、アクセス制御を定義されたアクセス制御定義テーブルを含む工程情報を読み出す工程情報読み出しステップと、
前記工程情報読み出しステップにより読み出されたアクセス制御定義テーブルに定義された所定の条件に基づいて、前記案件データに関する処理を実行する案件データ処理実行ステップと
前記ワークフローの各工程における配送判断が前記案件データと前記処理データと間の所定の条件で実行されるように定義された配送判断定義テーブルを含む配送判断情報を読み出す配送判断情報読み出しステップと、
前記配送判断情報読み出しステップで読み出された配送判断定義テーブルで定義された所定の条件に基づいて、配送先を判断する配送処理ステップと、
を備えることを特徴とするワークフロー処理方法。
【請求項１１】
コンピュータに、請求項１から９のいずれかに記載の各機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローシステムに関する。より詳細には、本発明は、外部システムと連携して処理を行うことが可能なワークフローシステムに関する。
【背景技術】
【０００２】
従来、サーバとクライアントから構成されるワークフローシステムが構築されている。ワークフローシステムは、予め定義された経路やルールに従って様々な業務プロセスを処理するシステムである。一例としては、社内決裁などを電子的に処理する際に用いられ、サーバに格納されるデータを、クライアント端末上で参照したり、更新したりすることで、各権限者による認証処理が各工程で行われる性質を備えたシステムである。このようなワークフローシステムは、システム内で処理が完結しており、システム外で業務を行っている外部システムとの連携性を考慮する必要はなかった。
【０００３】
しかしながら、近年では、企業で様々な業務プロセスがシステム化されており、ＩＴ統制のニーズの高まりもあって、ワークフローシステムと周辺の外部システムとのデータの連携が求められている。
【０００４】
ここで、ワークフローシステムでは、外部のシステムと連携する場合には、各ワークフローの案件に関する案件データの安全性を考慮する必要があり、特に、データ更新時の衝突を回避すること、および参照と更新のセキュリティを確保することを考慮する必要がある。この場合に、外部業務システム側で、連携するワークフローシステムに対応した入力制御を組み込む手法も考えられる。しかしながら、ワークフローシステムとは別の業務システムとして独立してシステム構築がなされている外部業務システム側にこのような入力制御を組み込む場合にはコストがかかる。よって、上記の考慮はワークフローシステム側で定義して、これに基づいて外部業務システム側との入出力を制御することが望まれる。
【０００５】
データ更新の衝突回避やデータの安全性確保に関しては、以下のような従来技術が公開されている。
【０００６】
特許文献１では、業務を作業工程単位でロックすることで当該作業工程での「更新の衝突」回避を行っている。また、各作業工程の作業状況を表示することで、並列作業の効率化を図っている。
【０００７】
特許文献２では、異なるプロセス間での回覧、即ち、プロセスＡからプロセスＢへデータを回覧する場合に、プロセスＡで定義されるデータはプロセスＢでは読み取ることができないように設定することで、秘密事項の漏洩を防ぐ技術について開示されている。
【０００８】
【特許文献１】特開平６−２７４４３０号公報
【特許文献２】特開平１０−４９６０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１では、ある作業工程をロックして排他制御を行うため、同じ工程に対して複数のユーザまたは、複数の外部業務システムが処理を行うような工程では待ち時間が発生するため効率が悪い。特に、外部業務システムと連携をする場合には、長時間にわたり外部業務システムが待ち状態となってしまう可能性がある。また、工程をまたがって同じデータを操作する必要がある場合には対応できないという問題がある。
【００１０】
特許文献２では、データ回覧時に受け渡しする情報を制御できるが、そのための回覧属性情報が回覧データに含まれており、外部システム側にその回覧属性情報を認識して処理するための機能を追加する必要が生じる。
【００１１】
ワークフローシステムでは案件データやフロー状態（工程状態）が刻々と変化するため、参照可能，更新可能、といった条件もこれに合わせて刻々と変化している。外部業務システムと連携する場合、１工程の処理時間が長くかかることも想定される。また、同一工程を複数の外部業務システムが担当する場合、あるいは、並列経路で複数の外部業務システムがワークフロー操作をする場合などでは、外部業務システムの処理中に案件データやフロー状態が変化する可能性が高い。また、上述したように、新たに個々の外部システム側に処理機能を追加することは、対コストの観点から有用ではない。
【００１２】
そこで、本発明においては、外部システムと連携するワークフローシステムにおいて、新たに外部システム側に処理機能を追加することなく、セキュリティに配慮した案件データの参照、更新等の制御を実現することを目的とする。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため、本発明においては、外部業務システムと連携する工程，案件のデータ状態等，によって案件データの参照，更新等を制御できるように経路定義を行い、また、この定義にもとづいたフロー制御を行う。経路定義は、後述するように、アクセス制御を定義するアクセス定義テーブルを含むものである。
【００１４】
本発明においては、外部システムと連携して処理を実行するワークフローサーバを提供する。ワークフローサーバは、前記外部システムから送信される、処理対象となる案件データに関する処理データを含む処理要求を取得する処理取得部と、前記処理取得部にて取得した処理データを含む処理要求と、ワークフローの各工程における前記案件データと該処理データとの間の所定の条件とにより、アクセス制御を定義されたアクセス制御定義テーブルを含む工程情報記憶部と、前記工程情報記憶部のアクセス制御定義テーブルに定義された所定の条件に基づいて、前記案件データに関する処理を実行する案件データ処理部と、前記ワークフローの各工程における配送判断が前記案件データと前記処理データと間の所定の条件で実行されるように定義された配送判断定義テーブルを含む配送判断情報記憶部と、前記配送判断情報記憶部の配送判断定義テーブルで定義された所定の条件に基づいて、配送先を判断する配送処理部と、を備える。かかる構成により、処理要求と、工程情報とを比較して、条件が一致する場合に、所定の処理を行うことが可能となる。つまり、ワークフローサーバ側にて、所定の工程に応じたデータ処理をしたり、あるいは、外部システムに対して必要なデータのみを送信したりすることができる。
【００１５】
また、案件データ処理部は、案件データに含まれるデータ項目への参照または更新の少なくとも一の処理が所定の条件で実行されるように定義されたアクセス制御定義テーブルを用いて処理を行ってもよい。
【００１６】
また、アクセス制御定義テーブルは、案件データの状態および要求されている処理の組み合わせによりアクセス制御が定義されていてもよい。
【００１７】
また、案件データ処理部は、案件データを取得する手段と、処理取得部にて取得した処理要求の種別がデータ項目への参照である場合には、取得した案件データのうちの該当するデータ項目のみを抽出して外部システムに向けて返信する手段とを含んでもよい。
【００１８】
また、案件データ処理部は、案件データを取得する手段と、処理取得部にて取得した処理要求の種別がデータ項目への更新である場合には、取得した案件データのうちの該当するデータ項目のみをデータベースに更新登録する手段とを含んでもよい。
【００１９】
また、案件のデータ項目を定義するデータ項目定義と、ワークフローの工程を定義するプロセス定義と、アクセス制御定義テーブルと、を定義する手段をさらに備えてもよい。データ項目定義は、案件データで一意となる項目と、明細形式で扱う複数行を設定することが可能な明細項目を持つことができる。
【００２０】
また、処理取得部は、取得した要求を解析し、解析結果に応じてその要求を案件データ処理部または定義する手段に分配してもよい。
【発明の効果】
【００２１】
本発明によれば、外部業務システムと連携する工程，案件のデータ状態等，によって案件データの参照，更新を制御する経路定義をすることができる。また、この定義に基づいて案件データの入出力を制御することで、案件データのセキュリティを確保したワークフローシステムと外部業務システムとの連携を実現できる。さらには、ワークフローシステム側に機能を追加するだけで、既存の外部業務システムと連携することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお、以下の図面においては、同種の要素、データ等に関しては同一の符号を付している。
【００２３】
図１は、本発明によるワークフロー構築・運用システムの一実施例の構成を示すシステム構成図である。図１において、ワークフローシステムは少なくとも１つのワークフローサーバ１０４と複数のワークフロークライアント１０５〜１０６がイントラネット１０７を介して接続されている。これらが、従来技術で説明した狭義の意味でのワークフローシステムである。そして、ワークフローサーバ１０４と外部業務システムサーバ１０１〜１０２とがネットワーク１０３を介して接続されている。本明細書では、この外部業務システムサーバも含めた構成についても広義の意味でワークフローシステムと称する場合がある。また、本明細書においては、外部業務システムサーバを外部業務システムと称する場合がある。
【００２４】
ネットワーク１０３の構成は公知であるから詳細な説明は省略するが、ネットワーク１０３としてローカルエリアネットワーク（ＬＡＮ）・ワイドエリアネットワーク（ＷＡＮ）・イントラネット・インターネットなどを利用することができる。なお、イントラネット１０７は企業内ネットワークを想定しているが、ネットワーク１０３と同様にＬＡＮ・ＷＡＮ・イントラネット・インターネットを利用することができる。
【００２５】
ユーザはワークフロークライアント１０５〜１０６から、ワークフローサーバ１０４に対して、ワークフロー操作の要求等を行う。ワークフローサーバ１０４はワークフロークライアント１０５〜１０６からの要求に応じた処理を行い、必要があればワークフロークライアント１０５〜１０６に対して結果等を送信する。
【００２６】
外部業務システム１０１〜１０２はワークフローサーバ１０４に対して処理要求を送り、これに対する応答を受け取って、それぞれの業務システムで処理を行い、業務システムの処理結果をワークフローサーバ１０４に対して登録する処理を要求する。本実施形態では、外部業務システムは、一種のワークフロークライアントとして動作することができる。
【００２７】
管理用クライアント１０８は、後述する定義データを生成する処理を行う装置である。管理用クライアント１０８は、必須の構成ではなく、定義データを生成する機能をクライアント又はサーバに備えてもよい。また、図外のコンピュータ装置などで生成された定義データを単に記憶する記憶媒体を、管理用クライアントに代えて備えてもよい。
【００２８】
図２は、図１に示したワークフローサーバ１０４とワークフロークライアント１０５〜１０６のハードウェア構成の一例を示すブロック図である。図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
【００２９】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、この入力部２０９として、タッチパネル、ボタン、スイッチ等が挙げられる。出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶等が挙げられる。
【００３０】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリコントローラ２０７には、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ、スマートメディア等が挙げられる。
【００３１】
通信Ｉ／Ｆコントローラ２０８は、ネットワーク１０３、もしくはイントラネット１０７を介して外部機器との通信制御処理を実行する。
【００３２】
なお、２１２はハードウェアの如く図示されているが、ハードウェアではなく、本発明を実現するためのプログラムである。このプログラム２１２は、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３３】
＜各処理部の説明＞
図３は、図１に示したワークフローサーバ１０４において実現される機能構成を示すブロック図である。図３において、ワークフローサーバ１０４は、その機能構成として、ワークフロー処理部３０１と、業務定義設定処理部３０２と、案件処理部３０３と、データ項目定義処理部３０４と、経路定義処理部３０５と、案件データ処理部３０６と、配送処理部３０７と、を備え、データとして、定義データ３１１と案件データ３２１とを備える。また、定義データ３１１は、データ項目定義３１２と経路定義３１３とを含む。さらに経路定義３１３は、プロセス定義テーブル３１４と、アクセス制御定義テーブル３１５（アクセス制御定義テーブル）と、配送判断定義テーブル３１６（配送判断定義テーブル）とを含む。以下、各機能等について説明する。なお、各処理部は、例えば図２で示すようなコンピュータに含まれるメモリ等に含まれるプログラムを、ＣＰＵ、メモリ等を用いて処理を実行することで実現される。また、一例として、各処理部を、プログラム言語における関数やメソッドとして本実施形態を実施することができる。
【００３４】
ワークフロー処理部３０１は、管理用クライアント１０８からの業務定義設定の処理要求を受け、業務定義設定処理部３０２に処理要求を送り、業務定義設定処理部３０２の処理結果を呼び出し元の管理用クライアント１０８に返却する。
【００３５】
また、ワークフロー処理部３０１は、ワークフロークライアント１０５〜１０６、または外部業務システムサーバ１０１〜１０２からの案件参照要求または案件更新要求などの案件処理要求を受信する。その後、ワークフロー処理部３０１は、案件処理部３０３に処理要求を送り、案件処理部３０３から受ける処理結果を、呼び出し元のワークフロークライアント１０５〜１０６、または外部業務システムサーバ１０１〜１０２へ返却する。このように、ワークフロー処理部３０１は、処理要求を受信して、その処理要求の内容に応じて、システムの構築・設定に関する定義設定処理を実行するか、あるいは、実際の案件データを取り扱う案件処理を実行するかを判定する。
【００３６】
業務定義設定処理部３０２は、ワークフロー処理部３０１から処理要求を受け取る。そして、処理要求の内容によって、データ項目定義処理部３０４か経路定義処理部３０５を呼び出す。データ項目定義処理部３０４は、データ項目定義３１２の設定、またはデータ項目定義３１２のデータを取得してワークフロー処理部３０１へ返却する。
【００３７】
経路定義処理部３０５は、経路定義３１３の設定、または経路定義３１３のデータを取得して、ワークフロー処理部３０１へ返却する。
【００３８】
なお、経路定義は、工程をキーとする、データのアクセス制御等を行うための工程情報である。定義データ３１１に含まれるデータ項目定義３１２は、データの項目名や種類（文字や数値など）などの、案件データ３２１のテンプレートとなる定義情報を有する。定義データ３１１に含まれる経路定義３１３は、ワークフローの工程定義と工程間のフロー制御ルールを示すプロセス定義３１４と、ワークフロー運用時に特定の工程にて案件データのどの項目に対して参照・更新の操作を行えるかを示すアクセス制御定義３１５と、案件データの内容によって配送方法を決定するルールを示す配送判断定義３１６とを有する。配送とは、承認や否認、差し戻し、保留などのワークフロー工程の操作に対する概念である。例えば、承認は次の工程に進みことを意味し、否認は案件を却下して完了することを意味し、差戻しは直前、または任意の工程に戻すことを意味し、保留は工程を移動しないことを意味する。
【００３９】
アクセス制御定義によって、例えば外部業務システムに対する案件データへのアクセス制御をワークフローサーバ側で制御することが可能となる。例えば、外部業務システムから所定のデータを要求された際には、アクセス制御定義を参照して、所定条件に一致する場合には、そのアクセス制御定義に定義される所定の動作を許可したり実行したりすることができる。このように、運用側（ワークフローサーバ側）の設定によって各種の制御を行うことが可能となる。
【００４０】
案件処理部３０３は、ワークフロー処理部３０１から案件処理要求を受ける。要求が案件参照要求であれば、案件データ処理部３０６に、案件参照要求を送り、案件データ処理部３０６によって返却された案件データをワークフロー処理部３０１へ返却する。一方、要求が案件更新要求であれば、案件データ処理部３０６に、案件更新要求を送り、案件データ処理部３０６によって案件データの更新、およびデータベースへの登録が行われる。続けて案件処理部３０３は配送処理部３０７を呼び出し、配送処理部３０７によって配送処理が行われる。
【００４１】
案件データ処理部３０６は、案件処理部３０３から案件参照要求を受け付けた場合は、アクセス制御定義３１５に従って案件データ３２１から参照可能なデータ項目を取り出して、案件処理部３０３に返却する。なお、案件データ３２１とは、ワークフロー運用時に、データ項目定義３１２を元に、ワークフロークライアントにより登録される実データである。また、案件データ処理部３０６は、案件処理部３０３から案件更新要求を受け付けた場合は、アクセス制御定義３１５に従って案件データ３２１の更新可能なデータ項目を変更して、変更したデータ項目を案件データ３２１に更新登録する。
【００４２】
なお、案件データ処理部３０６の詳細な処理の流れに関しては、後述する図１５〜１９に関連して説明する。
【００４３】
配送処理部３０７は、案件処理部３０３から配送要求を受け付けて、配送判断定義３１６に従って配送内容を特定し、特定された配送処理を行う。
【００４４】
図４は、本発明の実施形態のワークフローを構築する場合のデータ関連の一例を示す図である。図４は、どのデータがどのデータを参照して構築されるかを示す。例えば、経路定義３１３は、組織情報４１０、データ項目定義３１２、および帳票フォーム４０２を参照して構築される。なお、組織情報とは、ワークフローユーザと、ユーザが所属する部門（部署）やロール（役職など）を定義したデータであり、ある工程を実行する担当者・担当部門等を示す情報である。また、帳票フォーム４０２とは、ワークフローを運用する際にワークフローユーザによって使用される帳票のデザインを定義したデータであり、ワークフロー運用時の案件データ３２１の入力・参照画面のことである。
【００４５】
本実施形態においては、処理取得部は、例えばワークフロー処理部３０１、業務定義設定処理部３０２、および案件処理部３０３の少なくとも１つとすることができる。また、案件データ処理部は、案件処理部３０３、案件データ処理部３０６、および配送処理部３０７の少なくとも１つとすることができる。また、定義手段は、業務定義設定処理部３０２、データ項目処理部３０４、および経路定義処理部３０５の少なくとも１つとすることができる。なお、これらは一例であり、他の形態を採ることも可能である。
【００４６】
図５は、本発明の実施形態のワークフローを構築する場合のデータ作成手順の一例を示す図である。まず、図５の組織情報作成ステップＳ５０１で、図４の組織情報４０１を作成する。続いて、図５のデータ項目定義作成ステップＳ５０２で、図４のデータ項目定義３１２を作成する。続いて、図５のフォームの作成ステップＳ５０３で、図４の帳票フォーム４０２を作成する。続いて、図５の経路定義の作成ステップＳ５０４で、図４の経路定義３１３を作成する。経路定義３１３に含まれるプロセス定義３１４には、工程を処理する担当者を設定するため、経路定義３１３は、組織情報４０１を参照する。またプロセス定義３１４には工程で使用する入力フォームを設定するため、経路定義３１３は、帳票フォーム４０２も参照する。
【００４７】
図６は、図５に示した経路定義の作成ステップＳ５０４（プロセス定義３１４、アクセス制御定義３１５、配送判断定義３１６）の一例を示す画面イメージである。６０１では、プロセス定義の一例として「備品購買稟議申請」のワークフローの工程が定義されている。図６の例では、この「備品購買稟議申請」のワークフローの工程は、「申請」、「金額相見積」、「経理承認」の各工程（各プロセス）から構成されている。６０２〜６０４では、「備品購買稟議申請」の「経理承認」の工程についての設定が行われている例を示す。６０２では、工程を処理する担当者の設定が行われている。つまり、組織情報を参照して設定がなされている。６０３では、工程の処理フォームと担当者への通知設定が設定されている。つまり、帳票フォームを参照して設定がなされている。６０４では、工程のアクセス制御定義３１５と配送判断定義３１６の設定が行われている。このように定義された情報を用いてワークフローシステムの運用が行われる。
【００４８】
図７は、本発明の実施形態のワークフローシステムにおいてユーザ（ワークフロークライアント１０５〜１０６）のワークフロー利用手順の一例を示すフロー図である。
【００４９】
図８は、本発明の実施形態のワークフローシステムにおいて外部業務システムサーバ１０１〜１０２のワークフロー利用手順の一例を示すフロー図である。
【００５０】
以下、図７および図８を用い、ユーザ（ワークフロークライアント１０５〜１０６）と外部業務システム１０１〜１０２の利用手順の違いを説明する。
【００５１】
ユーザは、システムにログインし（ステップＳ７０１）、帳票一覧画面にアクセスする（ステップＳ７０２）。次に、図５のＳ５０３で作成された帳票フォーム４０２を起動する（ステップＳ７０３）。次に、起動した帳票フォーム４０２からデータを入力し（ステップＳ７０４）、帳票フォーム４０２の配送ボタンをクリックする（ステップＳ７０５）。その後、配送処理結果を画面上で確認し（ステップＳ７０６）、システムからログアウトする（ステップＳ７０７）。
【００５２】
一方、外務業務システム１０１〜１０２は、システムにログインし（ステップＳ８０１）、ワークフローサーバ１０４から案件データを取得し（ステップＳ８０２）、外部業務システムの処理を行い（ステップＳ８０３）、処理結果をワークフローサーバに登録し（ステップＳ８０４）、システムからログアウトする（ステップＳ８０５）。
【００５３】
このように、ユーザであるワークフロークライアントでは、データの参照、編集、登録に際して、ワークフローシステム専用の帳票フォーム４０２を用いている。つまり、帳票フォーム４０２に定義された処理しか行うことができないため、入出力の制御が帳票フォームを介して行われていることになる。これに対して外部業務システムは、データの参照、編集、登録に、単にデータ入出力インタフェースを介してデータ入力等が行われており、ワークフローシステム専用のツールを用いていない点に留意されたい。つまり、通常のワークフロークライアントにおいては、帳票フォームによって、入出力されるデータの制御が行われることになるが、外部業務システムにおいては、帳票フォームを用いることができない。このため、ワークフローサーバから外部業務システムに対してデータを出力する場合には、出力する際のデータが、いわばフィルタリングがされない状態となって出力されてしまうため、必要以上のデータを開示してしまう危険性がある。そこで、ワークフローサーバ側にて、データアクセスの制御を行う必要が生じることになる。
【００５４】
図９は、図３で示したデータ項目定義３１２のデータ構造を示す図である。データ項目定義３１２は、一例として、項目定義テーブル９００と明細項目定義テーブル９１０に分けられる。なお、明細項目とは、明細形式（表形式）で扱う項目のことをいい、複数行の設定を扱う項目である。
【００５５】
項目定義テーブル９００は、
・項目定義を一意に識別するための情報として、項目ＩＤ ９０１を有する。
・項目定義が明細項目定義を持つかを判断するための情報として、明細グループフラグ９０２を持つ。明細項目定義を持つ場合には、「Ｙ」が設定される。
【００５６】
明細項目定義テーブル９１０は、
・明細項目定義がどの項目定義テーブル９００のデータに紐付いているかを識別するための情報として、項目ＩＤ ９１１を有する。
・項目ＩＤ ９１１と組み合わせて、明細項目定義を一意に識別するための情報として、明細項目ＩＤ ９１２を有する。
【００５７】
なお、図９で示す例のほかに、各項目のデータの種類（文字、数値など）や桁数、説明、設定可能な値の範囲などを設けることが可能であり、項目に入力値の制限を設けることもできる。
【００５８】
図１０は、図３で示した経路定義３１３（プロセス定義３１４、アクセス制御定義３１５、配送判断定義３１６）のデータ構造図の一例を示す図である。
【００５９】
プロセス定義テーブル３１４は、
・プロセス定義テーブル３１４の工程を一意に識別するための情報として、工程ＩＤ １００１を有する。
・工程を処理できる担当者を識別するための情報として、担当者ＩＤ １００２を有する。なお、ワークフローのユーザを直接指定する方法と、部門や役割を指定して、間接的に、ユーザを指定する方法とがある。
・工程で使用する帳票フォーム４０２を識別するための情報としてフォームＩＤ １００３を有する。なお、この帳票フォームは、ワークフロークライアントとワークフローサーバとの間で使用するものであり、外部業務システムとワークフローサーバとの間では使用されない。
・工程を処理する依頼を行うための手段を設定した 通知手段 １００４を有する。通知手段は、工程の担当者に対して、処理依頼（承認依頼）、および配送結果（処理結果）を通知するための手段が設定されている。
【００６０】
アクセス制御定義テーブル３１５は、本実施形態において外部業務システムとの間のアクセス制御を定義するためのテーブルである。アクセス制御テーブル３１５は、
・どの工程に使用されるアクセス制御定義なのかを識別するための情報として、工程ＩＤ １０１１を有する。
・アクセス制御定義を使用できる条件を設定した、条件１０１２を有する。
・工程ＩＤ １０１１、条件１０１２が一致した場合に、操作可能になる対象となる項目を設定した、項目ＩＤ １０１３を有する。
・工程ＩＤ １０１１、条件１０１２が一致した場合に、操作可能になる対象となる項目が明細項目の場合に、操作可能になる対象となる明細項目を設定した、明細項目ＩＤ １０１４を有する。
・工程ＩＤ １０１１、条件１０１２が一致した場合に、実行可能な操作内容を設定した、操作ＩＤ １０１５を有する。
【００６１】
図１０に示すアクセス定義テーブルでは、例えば工程ＩＤが「金額相見積」の場合に、更新指示に含まれる見積履歴の見積金額が０より大きければ、項目ＩＤ「見積履歴」に関連する明細項目ＩＤ「見積金額」および「見積実施者」の項目に関して、操作ＩＤで示される「行追加」の動作を許可する場合の設定である。
【００６２】
配送判断定義テーブル３１６は、
・どの工程に使用される配送判断定義なのかを識別するための情報として、工程ＩＤ １０２１を有する。
・配送判断定義を使用できる条件を設定した、条件１０２２を有する。
・工程ＩＤ １０２１、条件１０２２が一致した場合に、配送可能になる配送の種類を設定した、配送内容ＩＤ １０２３を有する。
【００６３】
図１０に示す配送判断定義テーブルでは、例えば工程ＩＤが「金額相見積」の場合において、案件の最低見積金額が案件の希望金額以下で、かつ２以上の見積履歴がある場合には、かかる条件においては、承認という配送動作がなされることになる。
【００６４】
図１１は、図３で示した案件データ３２１のデータ構造図の具体例を示す図である。案件データ３２１は、項目データを格納するためのテーブルとして、案件項目データテーブル１１００と、明細項目データを格納するためのテーブルとして、案件明細項目データテーブル１１１０とに分かれる。
【００６５】
案件項目データテーブル１１００は、
・案件を特定するための情報として、案件ＩＤ １１０１を有する。
・案件ＩＤ １１０１と組み合わせて、項目を特定するための情報として、項目ＩＤ １１０２を有する。
・項目の値を格納するための、値１１０３を有する。
【００６６】
案件明細項目データテーブル１１１０は、
・案件を特定するための情報として、案件ＩＤ １１１１を有する。
・項目を特定するための情報として、項目ＩＤ １１１２を有する。
・項目のデータ行を特定するための情報として、行番号１１１３を有する。
・明細項目を特定するための情報として、明細項目ＩＤ １１１４を有する。
・明細項目の値を格納するための、値１１１５を有する。
【００６７】
図１２は、図３で案件処理部３０３から案件データ処理部３０６に送られる案件参照要求１２００の構造を示す図である。案件参照要求１２００は、
・処理対象の案件を特定するための情報である案件ＩＤ １２０１を有する。
・処理対象の工程を特定するための情報である工程ＩＤ １２０２を有する。
・処理を実行する実行者を特定するための情報である実行者ＩＤ １２０３を有する。実行者とは、例えばワークフローサーバに対して処理を要求する、ワークフロークライアントや外部業務システムサーバのことである。
【００６８】
図１３は、図３で案件処理部３０３から案件データ処理部３０６に送られる案件更新要求１３００の構造を示す図である。案件更新要求１３００は、
・処理対象の案件を特定するための情報である案件ＩＤ １３０１を有する。
・処理対象の工程を特定するための情報である工程ＩＤ １３０２を有する。
・処理を実行する実行者を特定するための情報である実行者ＩＤ １３０３を有する。
・配送を指示するための情報である配送指示１３０４を有する。なお、配送指示には、承認や差し戻しなどワークフローの工程を動かすための指示が設定される。配送指示を指定しないことも可能である。
・案件データ更新指示の内容である案件更新指示１３０５を有する。
【００６９】
図１４は、図１３で示した案件更新指示１３０５の構造の具体的な一例を示す図である。案件更新指示１３０５は、案件項目データ１１００に対する更新指示１４００と、案件明細項目データ１１１０に対する更新指示１４１０とを複数設定することができる。
【００７０】
案件項目データ１１００に対する更新指示１４００は、
・更新対象の項目を特定するための情報として項目ＩＤ １４０１を有する。
・更新の操作内容を特定するための情報として操作１４０２を有する。
・更新対象の項目に設定される値として、値１４０３を有する。
【００７１】
案件明細項目データ１１００に対する更新指示１４１０は、
・更新対象の項目を特定するための情報として、項目ＩＤ １４１１を有する。
・更新の操作内容を特定するための情報として、操作１４１２を有する。一例としては、「変更」、「行追加」、「行変更」、「行削除」などが設定される。
・操作１４１２が、行変更、行削除の場合に対象とする行を特定するための、行番号１４１３を有する。
・操作１４１２が、「行追加」、「行変更」の場合に、どの明細項目に値を設定するのかを特定するために、明細項目ＩＤ １４１４を有する。
・操作１４１２が、「行追加」、「行変更」の場合に、明細項目に設定する値１４１５を有する。
【００７２】
以上で説明した各データを用いた処理の流れについて、図１５以降を参照にしながら説明する。
【００７３】
＜参照処理の流れ＞
図１５は、図３に示した案件データ処理部３０６の案件参照処理手順を示すフローチャートである。
【００７４】
図１６は、図１５に示した、案件データから参照可能なデータを取得するステップＳ１５０４の処理手順を示すフローチャートである。
【００７５】
以下では、図１５〜図１６を使用して、ワークフローサーバの案件データ処理部３０６が案件処理部３０３から案件参照要求１２００を受け取り、案件データ３２１から取り出した参照可能なデータを案件処理部３０３へ返却する流れを説明する。まず、案件データ処理部３０６が、案件処理部３０３より案件参照要求１２００を受け付けることでフローが開始される（Ｓ１５０１）。ステップＳ１５０２では、案件処理部３０３より受信した案件参照要求１２００の内容を解析し、処理対象の案件ＩＤ１２０１、処理対象の工程ＩＤ１２０２、および実行者ＩＤ１２０３を取り出す。ステップＳ１５０３では、案件項目データテーブル１１００の案件ＩＤ １１０１と処理対象の案件ＩＤ １２０１が一致する案件項目データ、案件明細項目データテーブル１１１０の案件ＩＤ １１１１と処理対象の案件ＩＤ１２０１が一致する案件明細項目データを取得する。ステップＳ１５０４では、ステップＳ１５０３で取得したデータから参照可能なデータを取り出す。Ｓ１５０４の詳細については、後述の図１６で説明する。
【００７６】
ステップＳ１５０５では、ステップＳ１５０４で取り出した参照可能なデータが存在するかを判定し、存在する場合はステップＳ１５０６に進む。存在しない場合は、ステップＳ１５０８に進み参照エラーとしてフロー処理を終了させる（Ｓ１５０７）。なお、ステップＳ１５０５では、参照可能なデータが存在しない場合、参照エラーを出力する処理Ｓ１５０８を処理しているが、参照エラーとせずに参照可能なデータが０件存在するとして扱い、ステップＳ１５０６に処理を進めても良い。ステップＳ１５０６では、ステップＳ１５０４で取り出した参照可能なデータを案件処理部３０３に返却して、ステップＳ１５０７で処理を終了する。
【００７７】
次に、図１６を参照して、Ｓ１５０４の詳細な処理について説明する。ステップＳ１６０１は、ステップＳ１５０４から続けて処理される。ステップＳ１６０２では、アクセス制御定義テーブル３１５の工程ＩＤ １０１１と処理対象の工程ＩＤ １２０２とが一致し、かつ、操作ＩＤ １０１５が「参照」もしくは「行参照」のアクセス制御定義をすべて取得する。取得したアクセス制御定義の数だけ、ステップＳ１６０３〜ステップＳ１６１３を１件ずつ繰り返し処理する。
【００７８】
ステップＳ１６０４では、アクセス制御定義の操作ＩＤ １０１５が「参照」の場合は、項目のアクセス制御判定のステップＳ１６０５に進む。「行参照」の場合は、明細のアクセス制御判定のステップＳ１６０７に進む。
【００７９】
ステップＳ１６０５では、アクセス制御定義の条件１０１２が成り立つかを判定する。成り立つ場合は、項目データ（案件データ中の一部のデータ）を参照可能なデータとして取り出すステップＳ１６０６に進む。成り立たない場合は、データの取り出しをスキップして処理を進める。ステップＳ１６０６では、アクセス制御テーブルの項目ＩＤ １０１３が「＊」（アスタリスク）、もしくは項目・明細項目のいずれであるかを、項目定義テーブル９００の明細グループフラグ９０２を参照して確認する。＊（アスタリスク）であれば、Ｓ１５０３で取得した案件項目データ、案件明細項目データのすべてを取り出す。
項目に関するものであれば、Ｓ１５０３で取得した案件項目データの項目ＩＤ １１０２とアクセス制御定義テーブルの項目ＩＤ １０１３とが一致する案件項目データを取り出す。明細に関するものであれば、Ｓ１５０３で取得した案件明細項目データの項目ＩＤ １１１１とアクセス制御定義テーブルの項目ＩＤ １０１３とが一致する案件明細項目データをすべて取り出す。さらにアクセス制御定義テーブルに明細項目ＩＤ １０１４が指定されている場合は、アクセス制御定義の明細項目ＩＤ １０１４と取り出した案件明細項目データの明細項目ＩＤ １０１４とが一致するものを、取り出した案件明細項目データからさらに絞込み取り出す。
【００８０】
ステップＳ１６０７では、Ｓ１５０３で取得した案件明細項目データの項目ＩＤ ９１１とアクセス制御定義の項目ＩＤ １０１３とが一致する案件明細項目データをすべて取り出す。取得した案件明細項目データを行単位（行番号１１１４が同じものを行として扱う）で、ステップＳ１６０８〜ステップＳ１６１２までを１行ずつ繰り返し処理する。
【００８１】
ステップＳ１６０９では、Ｓ１６０７で取り出した案件明細項目データから１行分（行番号１１１４が同じものを行として扱う）の案件明細項目データを取り出す。ステップＳ１６１０では、アクセス制御定義の条件１０１２が成り立つかを確認する。成り立つ場合は、明細項目データを参照可能なデータとして取り出すＳ１６１１に進む。成り立たない場合は、データの取り出しをスキップして処理を進める。ステップＳ１６１１では、ステップＳ１６０９で取り出した１行分の案件明細項目データを参照可能なデータとして取り出す。もしもアクセス制御定義の明細項目ＩＤ １０１４に設定があれば、参照可能として取り出した案件明細項目データをさらに項目明細ＩＤ １１１５で絞り込み取り出す。ステップＳ１６１４で、処理がＳ１５０４に戻る。
【００８２】
以上が、「参照」の場合における処理の流れの一例である。次に、処理要求が「更新」の場合について、フローチャートを基に説明する。
【００８３】
図１７は、図３に示した、ワークフローサーバの案件処理部３０３の処理手順の一例を示す図である。案件処理部３０３は、処理要求を受け取ると、案件データ更新ステップＳ１７０２を行い、続いて配送処理ステップＳ１７０３を実行する。各処理については、以下で詳細に説明する。
【００８４】
＜更新処理の流れ＞
図１８は、図３に示した、ワークフローサーバの案件データ処理部３０６の案件更新処理手順を示すフローチャートである。
【００８５】
図１９は、図１８に示した案件データのデータ内容を更新するステップＳ１８０４の処理手順を示すフローチャートである。
【００８６】
以下では、図１８および図１９を使用して、案件データ処理部３０６が案件処理部３０３から案件更新要求１３００を受け取り、案件データ３２１を更新する流れを説明する。案件データ処理部３０６が、案件処理部３０３より案件更新要求１３００を受け付けることでフローが開始される（Ｓ１８０１）。ステップＳ１８０２では、案件処理部３０３より受信した案件更新要求１３００の内容を解析し、処理対象の案件ＩＤ １３０１、処理対象の工程ＩＤ １３０２、実行者ＩＤ １３０３、配送指示１３０４、および案件更新指示１３０５（案件項目データに対する更新指示１４００、案件項目明細データに対する更新指示１４１０）を取り出す。ステップＳ１８０３では、案件項目データテーブル１１００の案件ＩＤ １１０１と処理対象の案件ＩＤ １３０１が一致する案件項目データ、および案件明細項目データテーブル１１１０の案件ＩＤ １１１１と処理対象の案件ＩＤ １３０１とが一致する案件明細項目データを取得する。
【００８７】
ステップＳ１８０４では、ステップＳ１８０３で取得した案件データのデータ内容を変更する。詳細は、後述の図１９と関連して説明する。ステップＳ１８０５では、ステップＳ１８０４で変更された案件データを、案件項目データテーブル１１００、および案件明細項目データテーブル１１１０へ更新登録する。そして、ステップＳ１８０６で処理を終了する。
【００８８】
図１９のステップＳ１９０１は、ステップＳ１８０４から続けて処理される。ステップＳ１９０２では、アクセス制御テーブル３１５の工程ＩＤ １０１１と処理対象の工程ＩＤ １３０２が一致し、かつ、操作ＩＤ １０１５が「変更」、「行追加」、「行変更」、または「行削除」のアクセス制御定義をすべて取得する。取得したアクセス制御定義の数だけ、ステップＳ１９０３〜ステップＳ１９１３までを１件ずつ繰り返し処理する。
【００８９】
ステップＳ１９０４では、アクセス制御定義の操作ＩＤ １０１５が「変更」の場合は、「項目」のアクセス制御判定のステップＳ１９０５に進む。「行追加」、「行変更」、または「行削除」の場合は、「明細」のアクセス制御判定のステップＳ１９０７に進む。
【００９０】
ステップＳ１９０５では、アクセス制御定義の条件１０１２が成り立つかを判定する。成り立つ場合には、案件データのデータ内容（項目）を変更するステップＳ１９０６に進む。成り立たない場合には、データ内容変更をスキップして処理を進める。ステップＳ１９０６では、アクセス制御の項目ＩＤ１０１３が「＊」（アスタリスク）、もしくは項目・明細項目のいずれであるかを、項目定義テーブル９００の明細グループフラグ９０２を参照して確認する。
【００９１】
「＊」（アスタリスク）であれば、Ｓ１８０２で取り出した案件更新指示１３０５のすべての更新指示を取り出し、Ｓ１８０３で取得した案件項目データ、案件明細項目データのデータ内容を変更する。
【００９２】
項目に関するものであれば、Ｓ１８０２で取り出した案件項目データに対する更新指示１４００の項目ＩＤ １４０１とアクセス制御の項目ＩＤ １０１３が一致する案件更新指示１４００の１項目分を取り出し、Ｓ１８０３で取得した案件項目データのデータ内容を変更する。
【００９３】
明細に関するものであれば、Ｓ１８０２で取り出した案件明細項目データに関する更新指示１４１０の項目ＩＤ １４１１とアクセス制御の項目ＩＤ １０１３が一致する、案件明細項目データに対する更新指示１４１０をすべて取り出す。Ｓ１８０３で取得した案件明細項目データのデータ内容を、取り出された案件明細項目データに対する更新指示１４１０で変更する。
【００９４】
なお、案件明細項目データに対する更新指示１４１０の操作１４１２が「行追加」「行変更」の場合で、アクセス制御定義に明細項目ＩＤ １０１４が設定されている場合は、アクセス制御定義の明細項目ＩＤ １０１４が一致する、案件明細項目データの明細項目にのみ変更を行う。
【００９５】
ステップＳ１９０７では、Ｓ１８０２で取り出した案件明細項目データに対する更新指示１４１０の項目ＩＤ １４１１とアクセス制御定義の項目ＩＤ １０１３が一致する案件明細項目データに対する更新指示１４１０をすべて取り出す。次に、ステップＳ１９０８〜ステップＳ１９１２までを１行ずつ繰り返し処理する。
【００９６】
ステップＳ１９０９では、Ｓ１９０７で取り出した案件明細項目データに対する更新指示１４１０から１行分の案件明細項目データに対する更新指示１４１０を取り出す。ステップＳ１９１０では、アクセス制御定義の条件１０１２と操作ＩＤ １０１５とが１行分の案件明細項目データに対する更新指示１４１０の値１４１５と操作１４１２に成り立つかを判定する。成り立つ場合は、案件データのデータ内容（明細項目）を変更するステップＳ１９１１に進む。成り立たない場合は、データの更新をスキップして処理を進める。
ステップＳ１９１１では、Ｓ１８０３で取得した案件明細項目データのデータ内容を、取り出された案件明細項目データに対する更新指示１４１０で変更する。
【００９７】
なお、案件明細項目データに対する更新指示１４１０の操作１４１２が「行追加」「行変更」の場合で、アクセス制御定義に明細項目ＩＤ １０１４が設定されている場合は、アクセス制御定義の明細項目ＩＤ １０１４が一致する、案件明細項目データの明細項目にのみ変更を行う。
【００９８】
そして、ステップＳ１９１４で、処理がＳ１８０４に戻る。
【００９９】
＜配送処理の流れ＞
図２０は、図３に示した配送処理部３０７の配送処理手順を示すフローチャートである。図２１は、図２０に示した配送判断定義取得ステップＳ２００５の処理手順を示すフローチャートである。
【０１００】
以下では、図２０〜図２１を使用して、配送処理部３０７が案件処理部３０３から配送要求を受け取り、配送処理を行う流れを説明する。配送要求には、案件更新要求１３００の案件更新指示１３０５以外の内容がすべて含まれている。
【０１０１】
配送処理部３０７が、案件処理部３０３より配送要求を受け付けることでフローが開始される（Ｓ２００１）。ステップＳ２００２では、案件処理部３０３より受信した配送要求の内容を解析し、処理対象の案件ＩＤ １３０１、処理対象の工程ＩＤ １３０２、実行者ＩＤ １３０３、および配送指示１３０４を取り出す。ステップＳ２００３では、配送指示１３０４が指定されているかを判定し、指定されている場合は、配送実行ステップＳ２００７に進む。指定されていない場合は、案件データ３２１の内容で配送内容を決定するステップＳ２００４に進む。
【０１０２】
ステップＳ２００４では、案件項目データテーブル１１００の案件ＩＤ １１０１と処理対象の案件ＩＤ １３０１とが一致する案件項目データ、および案件明細項目データテーブル１１１０の案件ＩＤ １１１１と処理対象の案件ＩＤ １３０１とが一致する案件明細項目データを取得する。ステップＳ２００５では、ステップＳ１８０３で取得した案件データのデータ内容を解析し、条件に一致する配送判断定義３１６を取得する。詳細については、後述する図２１と関連して説明する。ステップＳ２００６では、ステップＳ２００５で取得したに基づいて配送内容が存在するかをチェックし、存在する場合は、配送実行ステップＳ２００７に進む。存在しない場合は、配送実行をスキップして処理を終了するステップＳ２００８に進む。なお、本実施形態においては、配送実行をスキップさせているが、配送判断が行えない場合の処理を別途設定して、配送エラーとするか、あるいは配送実行をスキップするかを決定してもよい。ステップＳ２００７では、Ｓ２００２で取り出した、配送指示１３０４か、Ｓ２００５で取得した配送判断定義３１６の配送内容ＩＤ １０２３かの、いずれかに従って、配送処理を行う。ステップＳ２００８で処理を終了する。
【０１０３】
次に、図２１のステップＳ２１０１は、ステップＳ２００５から続けて処理される。ステップＳ２１０２では、配送判断定義テーブル３１６の工程ＩＤ １０２１と処理対象の工程ＩＤ １３０２とが一致する、配送判断定義をすべて取得する。取得した配送判断定義の数だけ、ステップＳ２１０３〜ステップＳ２３０６までを１件ずつ繰り返し処理する。ステップＳ２１０４では、配送判断定義の条件１０２２が成り立つかを判定する。成り立つ場合は、ステップＳ２００５に進み、条件が成り立つ配送内容を返却する。成り立たない場合は、次の配送判断定義の処理を行う。ステップＳ２３０７で、処理をＳ２００５に戻し、処理をステップＳ２００６に進める。
【０１０４】
図２２は、本発明の実施形態のワークフローシステムにおいてワークフローのプロセス定義の一例を示す図である。２２０１〜２２０３は、業務プロセスのワークフロー工程の一例を示している。申請工程２２０１は、申請に関する工程であり、申請２２０１が担当者によって申請されると業務を開始し、金額相見積２２０２の工程に遷移する。なお、図２２の例では、「担当者：制限なし」２２１１が設定されているので、誰でも申請処理を行うことが可能である。金額相見積工程２２０２は、外部業務システムによって、商品金額の見積が行われ、見積の結果が登録される工程である。一定の条件をクリアした場合には、経理承認工程２２０３に遷移する。経理承認工程２２０３は、経理承認２２０３が経理担当者によって承認されると業務は完了する。
【０１０５】
図２２において、２２１１〜２２１３は、工程を処理することができる役割（もしくはユーザ）を表している。これは、図１０で示すように、プロセス定義テーブルの中の担当者ＩＤ １００２にて示され、また本明細書においては、組織情報としても説明を行っている。２２２１〜２２２２は工程の入力参照を行う帳票フォームを表している。金額相見積２２０２の工程では、外部業務システムが工程を処理するため、帳票フォームが設定されていないことに留意されたい。なお、２２３１は、工程の担当者に対して、承認依頼を通知するための手段が設定されている。
【０１０６】
図２３は、本発明の実施形態のワークフローシステムにおいてワークフローの利用例の一例を示す図である。
【０１０７】
（前提）
図５に示したワークフロー設計手順により、図２２で示すような業務が、図４に示すようなワークフロー設計の定義データ３１１として作成される。作成された定義データ３１１の内容としては、図９で示したデータ項目定義３１２、図１０で示した経路定義３１３（プロセス定義３１４、アクセス制御定義３１５、配送判断定義３１６）が設定されているものとする。さらに、ワークフロー設計の定義データ３１１をもとにワークフローが運用されているものとする。
【０１０８】
また、申請２２０１の工程で、申請者Ａより申請処理が行われ、処理が金額相見積２１０２に移り、通知手段１００４に従って、外部業務システム１０１〜１０２に、処理依頼の通知が行われているものとする。なお、備品購買稟議の申請内容は、案件ＤＢ ３２１にＤ２３０１のような案件データとして登録される。案件ＤＢは、案件データを格納するデータベースサーバであり、ワークフローサーバ（ＷＦサーバ）と同一であってもよいし、別個のサーバであってもよい。
【０１０９】
（金額相見積２２０２の処理）
ステップＳ２３０１では、Ａ社見積システム１０１が、ワークフローサーバ１０４に対して、見積依頼内容を確認するために、図１２のような案件データの参照要求１２００を送る。ステップＳ２３０２では、ワークフローサーバ１０４が、案件ＤＢ ３２１から案件データＤ２３０１を取得する。
【０１１０】
ステップＳ２３０３では、図２３で説明されている案件データＤ２３０１から参照可能なデータを取り出す処理が行われる。参照可能なデータＤ２３０２は、案件項目データ１１００の、
項目ＩＤ １１０２＝商品名：ホワイトボード
である。ステップＳ２３０４では、ワークフローサーバ１０４から、Ａ社見積システム１０１に対して、Ｓ２３０３で取り出された、参照可能な案件データＤ２３０２が返却される。
【０１１１】
ステップＳ２３０５では、Ａ社見積システム１０１が（見積依頼内容を元に見積を行って）、ワークフローサーバ１０４に対してＡ社の見積結果を登録するために、図１３のような案件データの更新要求１３００を送る。案件更新指示１３０５には、Ｄ２３０３のような内容が設定される。
【０１１２】
ステップＳ２３０６では、ワークフローサーバ１０４が、案件ＤＢ ３２１から案件データＤ２３０１を取得する。ステップＳ２３０７では、Ｓ２３０６で取得した案件データＤ２３０１に対して、図１８で説明されている案件データのデータ内容を変更する処理が行われる。Ｄ２３０３には更新不可能な案件更新指示が無いので、すべての変更が適用される。ステップＳ２３０８では、Ｓ２３０７で変更したデータ内容Ｄ２３０４で案件データを更新登録する。ステップＳ２３０９では、図２０、図２１で説明される配送判断が行われるが、本事例の場合には、Ｄ２３０４の案件データ内容に一致する配送判断定義３１６が存在しないため配送処理はスキップされる（Ｓ２００６参照）。ステップＳ２３１０では、ワークフローサーバ１０４からＡ社見積システム１０１に対して、Ｓ２３０５の見積結果登録要求が成功した旨が返される。
【０１１３】
ステップＳ２３１１では、Ｂ社見積システム１０２が、ワークフローサーバ１０４に対して、見積依頼内容を確認するために、図１２のような案件データの参照要求１２００を送る。ステップＳ２３１２では、ワークフローサーバ１０４が、案件ＤＢ ３２１から案件データＤ２３０４を取得する。ステップＳ２３１３では、図２３で説明されている案件データＤ２３０４から参照可能なデータを取り出す処理が行われる。参照可能なデータＤ２３０５は、案件項目データ１１００の、
項目ＩＤ １１０２＝商品名：ホワイトボード
である。ステップＳ２３１４では、ワークフローサーバ１０４から、Ｂ社見積システム１０２に対して、Ｓ２３１３で取り出された参照可能な案件データＤ２３０５が返却される。
【０１１４】
ステップＳ２３１５では、Ｂ社見積システム１０２が（見積依頼内容を元に見積を行い）、ワークフローサーバ１０４に対してＢ社の見積結果を登録するために、図１３のような案件データの更新要求１３００を送る。案件更新指示１３０５には、Ｄ２３０６のような内容が設定される。ステップＳ２３１６では、ワークフローサーバ１０４が、案件ＤＢ ３２１から案件データＤ２３０４を取得する。ステップＳ２３１７では、Ｓ２３１６で取得した案件データＤ２３０４に対して、図１８で説明されている案件データのデータ内容を変更する処理が行われる。
【０１１５】
Ｄ２３０６の[見積履歴]行追加の更新指示は、適用される。しかしながら、Ｄ２３０６の案件見積金額の更新指示が、アクセス制御定義３１５の条件に成り立たないため、案件見積金額の変更のみ適用されない。つまり、Ｂ社の見積金額は、￥９７，０００円であるのに対して、Ａ社の見積金額は、￥９６，０００円であるために、Ｂ社の見積金額の方が少ないために、見積金額の更新は行われない。これに対して、見積履歴についての条件には、合致するために、見積更新履歴には、データが追加更新される。
【０１１６】
より詳細に説明すると、アクセス制御定義３１５の工程ＩＤ １０１１は「金額相見積」で、操作ＩＤ １０１５は「変更」の場合には、図１０で示す、
条件１０１２ 案件.最低見積金額 ＞ 更新指示.最低見積金額 が成り立たない。したがって、項目ＩＤ １０１３の「最低見積金額」の更新はできないことになる。
【０１１７】
ステップＳ２３１８では、Ｓ２３０７で変更したデータ内容で案件データを更新登録する。更新後の案件データはＤ２３０７のようになる。ステップＳ２３１９では、図２０、図２１で説明される配送判断が行われ、配送判断定義３２１と案件データＤ２３０７の内容から、「承認」処理が決定される。具体的には、配送判断定義３１６の工程ＩＤが「金額相見積」で、条件の
(見積金額(\96,000) <= 希望金額(\100，000)) and count(見積履歴) >= 2 
が成り立つ。したがって、配送内容ＩＤ １０２３の「承認」が配送内容として決定される。ステップＳ２３２０では、Ｓ２３１９で決定した配送内容「承認」を実行する。ステップＳ２３２１では、ワークフローサーバ１０４からＢ社見積システム１０２に対して、Ｓ２３１５の見積結果登録要求が成功した旨が返される。
【０１１８】
以上、示したように本発明によれば、外部業務システムと連携する工程，案件のデータ状態，によって案件データの参照，更新を制御する経路定義をすることができる。また、この定義に基づいて案件データの入出力を制御することで、案件データの安全性を確保したワークフローシステムと外部業務システムとの連携を実現できる。
【０１１９】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【図面の簡単な説明】
【０１２０】
【図１】本発明によるワークフロー構築・運用システムの一実施例の構成を示すシステム構成図である。
【図２】図１に示すワークフローサーバ１０４とワークフロークライアント１０５〜１０６のハードウェア構成の一例を示すブロック図である。
【図３】図１に示すワークフローサーバ１０４において実現される機能構成を示すブロック図である。
【図４】本発明の実施形態のワークフローを構築する場合のデータ関連の一例を示す図である。
【図５】本発明の実施形態のワークフローを構築する場合のデータ作成手順の一例を示す図である。
【図６】図５に示す経路定義の作成ステップＳ５０４（プロセス定義３１４、アクセス制御定義３１５、配送判断定義３１６）の一例を示す画面イメージである。
【図７】本発明の実施形態のワークフローシステムにおいてユーザ（ワークフロークライアント１０５〜１０６）のワークフロー利用手順の一例を示すフロー図である。
【図８】本発明の実施形態のワークフローシステムにおいて外部業務システムサーバ１０１〜１０２のワークフロー利用手順の一例を示すフロー図である。
【図９】図３で示すデータ項目定義３１２のデータ構造を示す図である。
【図１０】図３で示す経路定義３１３（プロセス定義３１４、アクセス制御定義３１５、配送判断定義３１６）のデータ構造図である。
【図１１】図３で示す案件データ３２１のデータ構造図である。
【図１２】図３で案件処理部３０３から案件データ処理部３０６に送られる案件参照要求の構造を示す図である。
【図１３】図３で案件処理部３０３から案件データ処理部３０６に送られる案件更新要求の構造を示す図である。
【図１４】図１３で示す案件更新指示１３０５の構造の一例を示す図である。
【図１５】図３に示す案件データ処理部３０６の案件参照処理手順を示すフローチャートである。
【図１６】図１５に示す案件データから参照可能なデータを取得ステップＳ１５０４の処理手順を示すフローチャートである。
【図１７】図３に示す案件処理部３０３の処理手順を示すフローチャートである。
【図１８】図３に示す案件データ処理部３０６の案件更新処理手順を示すフローチャートである。
【図１９】図１８に示した案件データのデータ内容を更新ステップＳ１８０４の処理手順を示すフローチャートである。
【図２０】図３に示す配送処理部３０７の配送処理手順を示すフローチャートである。
【図２１】図２０に示した配送判断定義取得ステップＳ２００５の処理手順を示すフローチャートである。
【図２２】本発明の実施形態のワークフローシステムにおいてワークフローのプロセス定義の一例を示す図である。
【図２３】本発明の実施形態のワークフローシステムにおいてワークフローの利用例の一例を示す図である。
【符号の説明】
【０１２１】
１０１〜１０２  外部業務システムサーバ
１０３  ネットワーク
１０４  ワークフローサーバ
１０５〜１０６  ワークフロークライアント
１０７  イントラネット
３０１  ワークフロー処理部
３０２  業務定義設定処理部
３０３  案件処理部
３０４  データ項目定義処理部
３０５  経路定義処理部
３０６  案件データ処理部
３０７  配送処理部
３１１  定義データ
３１２  データ項目定義
３１３  経路定義
３１４  プロセス定義
３１５  アクセス制御定義
３１６  配送判断定義
３２１  案件データ
【図１】
0005265957.tif 000002
【図２】
0005265957.tif 000003
【図３】
0005265957.tif 000004
【図４】
0005265957.tif 000005
【図５】
0005265957.tif 000006
【図６】
0005265957.tif 000007
【図７】
0005265957.tif 000008
【図８】
0005265957.tif 000009
【図９】
0005265957.tif 000010
【図１０】
0005265957.tif 000011
【図１１】
0005265957.tif 000012
【図１２】
0005265957.tif 000013
【図１３】
0005265957.tif 000014
【図１４】
0005265957.tif 000015
【図１５】
0005265957.tif 000016
【図１６】
0005265957.tif 000017
【図１７】
0005265957.tif 000018
【図１８】
0005265957.tif 000019
【図１９】
0005265957.tif 000020
【図２０】
0005265957.tif 000021
【図２１】
0005265957.tif 000022
【図２２】
0005265957.tif 000023
【図２３】
0005265957.tif 000024