(57)【要約】【課題】  ワークフローに利用する記入フォームを簡便に作成することが可能なワークフローシステムおよびワークフローに利用する記入フォームの設計方法を提供する。【解決手段】  ワークフローシステムは、ワークフローの処理構成単位であるアクティビティに入力する入力情報の種別をアクティビティ入力情報種別保管モジュールに保管し、前記アクティビティから出力する出力情報の種別をアクティビティ出力情報種別保管モジュールに保管し、前記アクティビティ入力情報種別保管モジュールおよび前記アクティビティ出力情報種別保管モジュールが保管するアクティビティの入力情報および出力情報の種別により、複数のアクティビティで構成されるワークフローで必要となる入力情報を判定し、前記判定したワークフローで必要となる入力情報を入力するための入力フォームを設計するための設計環境を提供し、前記設計環境で設計された入力フォームを作成する。【選択図】図１
2010170555.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローの処理構成単位であるアクティビティを保管するアクティビティ保管手段と、
前記アクティビティ保管手段が保管するアクティビティに入力する入力情報の種別を保管する入力種別保管手段と、
前記アクティビティ保管手段が保管するアクティビティから出力する出力情報の種別を保管する出力種別保管手段と、
前記入力種別保管手段および前記出力種別保管手段が保管するアクティビティの入力情報および出力情報の種別により複数のアクティビティで構成されるワークフローで必要となる入力情報を判定する情報判定手段と、
前記情報判定手段が判定する入力情報を入力するための入力フォームを作成するフォーム作成手段と、
前記フォーム作成手段により作成する入力フォームを設計するための環境を提供するフォーム設計操作手段と、
を有することを特徴とするワークフローシステム。
【請求項２】
さらに、各種の入力情報を入力するための部品の候補を保管する部品保管手段と、
前記情報判定手段が判定するワークフローの入力情報を入力するための部品の候補を前記部品保管手段から判定する部品判定手段と、を有し、
前記フォーム作成手段は、前記部品判定手段が判定する部品の候補を配置する入力フォームを作成する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項３】
さらに、前記情報判定手段が判定する入力情報に対する属性を判定する属性判定手段を有し、
前記フォーム作成手段は、前記情報判定手段が判定する入力情報に対する属性を示す入力フォームを作成する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項４】
さらに、外部のシステムが実行する外部サブワークフローで利用する情報を保管する外部種別保管手段を有し、
前記情報判定手段は、さらに、前記外部種別保管手段が保管する情報により外部サブワークフローで必要となる入力情報を判定する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項５】
さらに、ワークフローに関する情報のステータスを判定するステータス判定手段を有し、
前記フォーム作成手段は、前記ステータス判定手段が判定するステータスに応じた入力情報を入力するための入力フォームを作成する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項６】
さらに、前記フォーム作成手段が作成した入力フォームを提示する方法に応じた体裁の情報で保管するフォーム体裁保管手段を有する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項７】
さらに、ワークフローを構成する各アクティビティの入力情報間で情報種別の整合性を判定する整合性判定手段を有し、
前記フォーム設計操作手段は、前記整合性判定手段で判定した入力情報間の整合性を示す情報を提示する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項８】
さらに、既存のデータが入力フォームに必要となる入力情報に流用可能であるかを判定する既存データ判定手段を有し、
前記フォーム作成手段は、前記既存データ判定手段が流用可能と判定した既存のデータを配置した入力フォームを作成する、
ことを特徴とする前記請求項１に記載のワークフローシステム。
【請求項９】
ワークフローに利用する記入フォームの作成方法であって、
ワークフローの処理構成単位であるアクティビティに入力する入力情報の種別と前記アクティビティから出力する出力情報の種別を保管し、
前記保管するアクティビティの入力情報および出力情報の種別により複数のアクティビティで構成されるワークフローで必要となる入力情報を判定し、
前記判定したワークフローで必要となる入力情報を入力するための入力フォームを設計するための設計環境を提供し、
前記設計環境で設計された入力フォームを作成する、
ことを特徴とするワークフローに利用する記入フォームの設計方法。
【請求項１０】
さらに、各種の入力情報を入力するための部品の候補を保管し、
前記判定されたワークフローの入力情報を入力するための部品の候補を前記保管する部品の候補から判定し、
前記入力フォームの作成は、前記判定した部品の候補を配置した入力フォームを作成する、
ことを特徴とする前記請求項９に記載の記入フォームの設計方法。
【請求項１１】
コンピュータに
ワークフローの処理構成単位であるアクティビティを保管させるアクティビティ保管機能と、
前記アクティビティ保管機能が保管するアクティビティに入力する入力情報の種別を保管させる入力種別保管機能と、
前記アクティビティ保管機能が保管するアクティビティから出力する出力情報の種別を保管させる出力種別保管機能と、
前記入力種別保管機能および前記出力種別保管機能が保管するアクティビティの入力情報および出力情報の種別により複数のアクティビティで構成されるワークフローで必要となる入力情報を判定させる情報判定機能と、
前記情報判定機能が判定する入力情報を入力するための入力フォームを作成させるフォーム作成機能と、
前記フォーム作成機能により作成する入力フォームを設計するための環境を提供させるフォーム設計操作機能と、
を実行させるためのプログラム。
【請求項１２】
コンピュータに、さらに、各種の入力情報を入力するための部品の候補を保管させる部品保管機能と、
前記情報判定機能が判定するワークフローの入力情報を入力するための部品の候補を前記部品保管機能から判定させる部品判定機能と、を実行させ、
前記フォーム作成機能は、前記部品判定機能が判定する部品の候補を配置する入力フォームを作成させる、
ことを特徴とする前記請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、デジタル複合機（ＭＦＰ）などの画像処理装置を使用して記入フォームに記入された入力情報を取得し、取得した入力情報を用いてワークフローの処理を実行するワークフローシステムに関するものである。
【背景技術】
【０００２】
従来、デジタル複合機および外部サーバなどにより実現されるワークフローシステムがある。ワークフローシステムでは、デジタル複合機および外部サーバがワークフローにおける各処理を実行および管理する。ワークフローシステムは、たとえば、ユーザが情報を記入した紙ドキュメントをスキャンし、スキャンした（電子データ化した）ドキュメント画像を解析（ＯＣＲなど）し、適切な送信先に画像を送信する。たとえば、ワークフローシステムの技術を開示したものとして、たとえば、特許文献１がある。
【０００３】
また、従来のワークフローシステムでは、ユーザが情報を入力するための紙ドキュメントをデジタル複合機が印刷する。デジタル複合機は、入力情報を入力するための入力欄を配置した記入フォームを用紙に印刷することにより紙ドキュメントを作成する。ワークフローシステムにおいて、紙ドキュメントが介在する処理を適切に実施するには、ユーザの利便性が高い記入フォームのレイアウトを設計する必要がある。
【０００４】
ワークフローシステムでは、ユーザが情報を入力するための紙ドキュメントは、ワークフローの種類に応じて多様な種類が必要となることがある。多数の種類のワークフロー毎に記入フォームのレイアウトを設計することは、設計者に大きな負担がかかる。このため、ユーザが情報を入力するための紙ドキュメントは、事前に設計しておくのが容易ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明の一形態は、ワークフローに利用する記入フォームを簡便に作成することが可能なワークフローシステムおよびワークフローに利用する記入フォームの設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の一形態としてのワークフローシステムは、ワークフローの処理構成単位であるアクティビティを保管するアクティビティ保管手段と、前記アクティビティ保管手段が保管するアクティビティに入力する入力情報の種別を保管する入力種別保管手段と、前記アクティビティ保管手段が保管するアクティビティから出力する出力情報の種別を保管する出力種別保管手段と、前記入力種別保管手段および前記出力種別保管手段が保管するアクティビティの入力情報および出力情報の種別により複数のアクティビティで構成されるワークフローで必要となる入力情報を判定する情報判定手段と、前記情報判定手段が判定する入力情報を入力するための入力フォームを作成するフォーム作成手段と、前記フォーム作成手段により作成する入力フォームを設計するための環境を提供するフォーム設計操作手段とを有する。
【発明の効果】
【０００７】
この発明の一形態によれば、ワークフローに利用する記入フォームを簡便に作成することが可能なワークフローシステムおよびワークフローに利用する記入フォームの設計方法を提供できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、ワークフローシステムが適用される画像処理システムの概略構成を示す図である。
【図２】図２は、第１の実施の形態に係るワークフローシステムの構成例を示す図である。
【図３】図３は、既存のワークフローと情報種別とを対応づけたテーブルの構成例を示す図である。
【図４】図４は、記入フォームの設計例を示す図である。
【図５】図５は、記入フォームの設計手順を説明するためのフローチャートである。
【図６】図６は、第２の実施の形態に係るワークフローシステムの構成例を示す図である。
【図７】図７は、外部サブワークフローを含むワークフローに利用する記入フォームの設計手順を説明するためのフローチャートである。
【図８】図８は、第３の実施の形態に係るワークフローシステムの構成例を示す図である。
【図９】図９は、第４の実施の形態に係るワークフローシステムの構成例を示す図である。
【図１０】図１０は、第５の実施の形態に係るワークフローシステムの構成例を示す図である。
【図１１】図１１は、第６の実施の形態に係るワークフローシステムの構成例を示す図である。
【図１２】図１２は、コード生成モジュールにより生成したコード情報を付与した記入フォームの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明の実施の形態について図面を参照して詳細に説明する。  
本実施の形態に係るワークフローシステムは、特定の目的に応じた一連の処理（業務）を１つのワークフローとして実行する。ワークフローシステムは、デジタル複合機（ＭＦＰ）に接続された１つ又は複数のサーバを含む画像処理システムにおいて実現される。ワークフローシステムは、ドキュメントの処理を含む一連の処理をデジタル複合機およびサーバにより実行するシステムである。
【００１０】
図１は、ワークフローシステムが適用される画像処理システムの概略構成を示す図である。  
図１に示すように、ワークフローシステムが適用される画像処理システムは、デジタル複合機１、サーバ３、ユーザ端末４、および、ローカルエリアネットワーク５により構成する。また、ローカルエリアネットワーク５は、セキュリティサーバ６を介して外部のネットワークに接続される。セキュリティサーバ６は、ローカルエリアネットワーク５から外部のネットワークに接続するためのサーバであり、外部からのローカルエリアネットワーク５へのアクセスを制御する機能を有する。なお、ローカルエリアネットワーク５には、複数のサーバ３、あるいは、複数のユーザ端末４が接続されていても良い。
【００１１】
上記デジタル複合機（ＭＦＰ）１は、画像形成装置あるいは画像読取装置として機能する。上記デジタル複合機１は、スキャナ機能、プリンタ機能、ネットワーク通信機能、およびファクシミリ機能などを有する。サーバ３は、サーバコンピュータである。デジタル複合機１およびサーバ３は、制御ユニット（ＣＰＵ）がメモリに保存したアプリケーションプログラムを実行することにより実現される様々の処理機能を有する。ユーザ端末４は、各ユーザが使用する端末機器である。サーバ３およびユーザ端末４は、各ローカルエリアネットワーク５を介してデジタル複合機１とデータ通信を行う機能を有する。
【００１２】
上記デジタル複合機１は、スキャナ（画像読取部）１１、プリンタ（画像形成部）１３、操作パネル１７、およびシステム制御部２０を有する。さらに、デジタル複合機１には、ファクシミリデータを送受信するためのファクシミリインターフェースなどを搭載するようにしても良い。
【００１３】
上記スキャナ１１は、原稿面を光学的に走査することにより原稿面上の画像を読取る。上記スキャナ１１は、原稿面の画像をカラー画像データ（多値の画像データ）あるいはモノクロ画像データに変換する。上記スキャナ１１は、走査機構、光電変換部および自動原稿送り装置（ＡＤＦ）などを有する。
【００１４】
上記プリンタ１３は、カラー画像データ（多値の画像データ）あるいはモノクロ画像データに基づく画像を用紙上に形成するユニットである。プリンタ１３は、特定の画像形成方式に限定されるものではない。たとえば、プリンタ１３は、電子写真方式の画像形成装置、インクジェット方式あるいは熱転写方式などの印刷方式であっても良い。
【００１５】
操作パネル１７は、ユーザインターフェースである。操作パネル１７は、たとえば、各種の操作キーおよびタッチパネル内蔵の表示部（表示部）１７ａを有する。操作パネル１７は、ユーザが操作指示を入力するための操作部、および、ユーザに対する案内などを表示する表示部として機能する。
【００１６】
システム制御部２０は、デジタル複合機１内の各部を統括的に制御する。たとえば、システム制御部２０は、スキャナ１１およびプリンタ１３を制御する。システム制御部２０は、操作パネル１７からユーザによる指示を取得する。システム制御部２０は、ＣＰＵ２１、メインメモリ２２、ＦＲＯＭ２３、画像処理部２４、ネットワークインターフェース２５、ページメモリ２６、および、ＨＤＤ２８などを有する。
【００１７】
ＣＰＵ２１は、デジタル複合機１の制御を司る制御ユニットである。ＣＰＵ２１は、ＦＲＯＭ２３あるいはＨＤＤ２８に記憶されている制御プログラムを実行することにより各種の処理機能を実現する。メインメモリ２２は、ランダムアクセスメモリ（ＲＡＭ）などにより構成する。メインメモリ２２は、ワーキングメモリとして機能する。ＦＲＯＭ２３は、書換え可能な不揮発性メモリで構成する。ＦＲＯＭ２３は、デジタル複合機１の動作を司る制御プログラムおよび制御データなどを記憶する。また、ＦＲＯＭ２３は、制御データあるいは設定情報などが書き込まれる。ＦＲＯＭ２３には、各種の動作状態を示す各種のフラグを記憶するようにしても良い。
【００１８】
画像処理部２４は、スキャナ１１で読取った画像データ、あるいは、ネットワーク経由でユーザ端末４から受信した画像データに対して画像処理する。ネットワークインターフェース２５は、ローカルエリアネットワーク５を介して外部装置と通信を行うためのＬＡＮインターフェースである。ページメモリ２６は、プリント用の画像データを展開するためのメモリである。ページメモリ２６は、少なくとも１ページ分の画像データを展開する領域が確保できる。ＨＤＤ２８は、データ記憶用の大容量のメモリである。ＨＤＤ２８は、たとえば、印刷対象とする画像データを蓄積する。
【００１９】
次に、サーバ３の構成について説明する。  
上記サーバ３は、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、ネットワークインターフェース（Ｉ／Ｆ）３４、およびＨＤＤ３５を有する。  
上記ＣＰＵ３１は、サーバ３全体の制御を司る制御ユニットである。上記ＣＰＵ３１は、上記ＲＯＭ３３および上記ＨＤＤ３５に記憶されている制御プログラムに基づいて様々な処理機能を実現する。ＲＡＭ３２は、ワーキングメモリである。上記ＲＯＭ３３は、当該サーバ３の基本的な動作を司る制御プログラム及び制御データなどを記憶する。上記ＨＤＤ３５は、データ記憶用の記憶装置である。上記ネットワークインターフェース３４は、ローカルエリアネットワーク５内の各装置とのデータ通信を行うためのＬＡＮインターフェースである。たとえば、上記サーバ３は、ネットワークインターフェース３４によりローカルエリアネットワーク５を介してデジタル複合機１とのデータの送受信が可能である。
【００２０】
また、ユーザ端末４は、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ネットワークインターフェース（Ｉ／Ｆ）４４、ＨＤＤ４５、表示部４６、および操作部４７を有する。  
上記ＣＰＵ４１は、上記ＲＯＭ４３および上記ＨＤＤ４５に記憶されている制御プログラムに基づいて様々な処理機能を実現する。ＲＡＭ４２は、ワーキングメモリである。上記ＲＯＭ４３は、当該ユーザ端末４の基本的な動作を司る制御プログラム及び制御データなどを記憶する。上記ＨＤＤ４５は、データ記憶用の記憶装置である。上記ネットワークインターフェース４４は、ローカルエリアネットワーク５内の各装置とのデータ通信を行うためのＬＡＮインターフェースである。たとえば、上記ユーザ端末４は、ネットワークインターフェース４４によりローカルエリアネットワーク５を介してデジタル複合機１とのデータの送受信が可能である。
【００２１】
以下、上記のような画像処理システムで実現される第１〜第６の実施の形態のワークフローシステムについて説明する。  
なお、後述する各実施の形態としてのワークフローシステムは、図２、図６、図８、図９、図１０および図１１に示すように、複数のモジュールにより構成される。これらの各モジュールは、たとえば、サーバ３に配置される。各モジュールのうち一部または全部は、デジタル複合機１に配置されるようにしても良い。また、各モジュールは、たとえば、複数のサーバ３に配置されるようにしても良い。さらに、モジュールのうちの一部は、外部のネットワーク（例えば、デジタル複合機１が設置されている企業内のＬＡＮではなく、インターネットなどの企業外部のネットワーク）上のサーバに配置されていてもよい。すなわち、ワークフローシステムは、デジタル複合機１、１つ又は複数のサーバ３あるいは外部のネットワークのサーバに配置された各モジュールにより一連の処理であるワークフローを実現する。
【００２２】
また、各保管モジュールは、メモリにより構成される。各実施の形態において、各保管モジュールは、たとえば、サーバ３内のメモリ（例えばＨＤＤ３５）あるいはデジタル複合機内１のメモリ（例えばＨＤＤ２８）により実現される。また、保管ジュール以外の各モジュール（制御モジュール）は、制御ユニットがプログラムを実行することにより実現される機能である。各実施の形態において、各制御モジュールは、サーバ３内のＣＰＵ３１あるいはデジタル複合機１内のＣＰＵ２１がプログラムを実行することにより実現される。
【００２３】
各制御モジュールを実現するためのプログラムは、サーバ３のＣＰＵ３１あるいはデジタル複合機１のＣＰＵ２１が読取り可能なメモリに保持される。また、各制御モジュールを実現するプログラムは、コンピュータが読取り可能な記憶媒体に保持され、当該記憶媒体を介してサーバ３あるいはデジタル複合機１のシステム制御部２０にインストールされるようにしても良い。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００２４】
まず、第１の実施の形態について説明する。  
図２は、第１の実施の形態に係るワークフローシステムの構成例を示す図である。  
図２に示すように、第１の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュール（入力種別保管モジュール）Ｃ、アクティビティ出力情報種別保管モジュール（出力種別保管モジュール）Ｄ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュール（情報判定モジュール）Ｆ、記入フォーム設計モジュール（フォーム作成モジュール）Ｇ、記入フォーム設計操作モジュール（フォーム設計操作モジュール）Ｈ、記入フォーム部品判定モジュール（部品判定モジュール）Ｉ、記入フォーム部品保管モジュール（部品保管モジュール）Ｊ、情報種別属性判定モジュール（属性判定モジュール）Ｋ、および記入フォーム保管モジュールＸを有する。
【００２５】
アクティビティ保管モジュール（アクティビティ保管手段）Ａは、ワークフローの処理構成の単位である各種のアクティビティを保管する。アクティビティは、ワークフローの一部となりえる各種の処理を実現するためのプログラム（ソフトウエアの集合）である。ワークフローは、アクティビティ保管モジュールＡに保存されている複数のアクティビティを組み合わせにより構成される。つまり、複数のアクティビティを組合せ実行することにより、ワークフローが実行される。
【００２６】
図２に示す構成例では、アクティビティ保管モジュールＡは、申請者情報取得アクティビティａ１、承認者情報取得アクティビティａ２、振込先情報取得アクティビティａ３、および証憑情報取得アクティビティａ４を保管する。
【００２７】
申請者情報取得アクティビティａ１は、ワークフローの申請者であるユーザを特定するための情報（例えば、「申請者氏名」あるいは「申請者所属」）を入力とし、それらの情報からディレクトリサービスなどを利用して申請者であるユーザを特定した上でワークフロー内部にて流通可能な情報（例えば、ユーザによって一意に特定可能な「社員ＩＤ番号」）に変換し、その情報を「申請者情報」として出力する。
【００２８】
承認者情報取得アクティビティａ２は、ワークフローの承認者であるユーザを特定するための情報（例えば、「申請者氏名」および「申請者所属」）を入力とし、それらの情報からディレクトリサービスなどを利用して承認者であるユーザを特定した上でワークフロー内部にて流通可能な情報（例えば、ユーザによって一意に特定可能な「社員ＩＤ番号」）に変換し、その情報を「承認者情報」として出力する
振込先情報取得アクティビティａ３は、振込先を特定するための情報（例えば、「金融機関名」、「支店ＩＤ」、「口座ＩＤ」、および「口座名義」）を入力とし、それらの情報から振込先を特定した上でワークフロー内部にて流通可能な情報（例えば、取引先マスタによって管理され一意に特定可能な「振込先番号」）に変換し、その情報を「振込先情報」として出力とする。なお、口座名義は、申請者氏名と同一である場合には省略可能である。  
証憑情報取得アクティビティａ４は、領収書などの証憑を確認するための情報（例えば、スキャナによって電子化された「領収書画像」）を入力とし、その情報を「証憑情報」として出力とする。
【００２９】
ワークフロー構成保管モジュール（ワークフロー構成保管手段）Ｂは、アクティビティ保管モジュールＡで保管されている各アクティビティによって構成されたワークフローに関する情報を保管する。ワークフロー構成保管モジュールＢは、ワークフローを構成する各アクティビティを特定する情報、各アクティビティの実行順に関する情報、および、ワークフロー名などの情報を保管する。
【００３０】
アクティビティ入力情報種別保管モジュール（アクティビティ入力情報種別保管手段）Ｃは、各アクティビティに入力される情報種別に関する情報を保管する。例えば、アクティビティ入力情報種別保管モジュールＣは、申請者情報取得アクティビティａ１の入力情報がワークフローの申請者であるユーザを特定するための情報（例えば、「申請者氏名」あるいは「申請者所属」）であることを示す情報を保管する。
【００３１】
アクティビティ出力情報種別保管モジュール（アクティビティ出力情報種別保管手段）Ｄは、各アクティビティから出力される情報種別に関する情報を保管する。例えば、アクティビティ出力情報種別保管モジュールＤは、申請者情報取得アクティビティａ１の出力情報がワークフロー内部にて流通可能な情報としての申請者ユーザ情報（例えば、ユーザによって一意に特定可能な「社員ＩＤ番号」）であることを示す情報を保管する。
【００３２】
ワークフロー実行モジュール（ワークフロー実行手段）Ｅは、ワークフロー構成保管モジュールＢに保管されているワークフローの構成を示す情報に従って各アクティビティを順に実行することによりワークフローを実行する。たとえば、ワークフロー実行モジュールＥは、ユーザが入力情報を記入した記入フォームから入力情報を取得することにより、一連の処理（ワークフロー）を実行する。
【００３３】
ワークフロー情報種別判定モジュール（ワークフロー情報種別判定手段）Ｆは、ワークフローを構成する各アクティビティがどのような種別の情報を入出力するかを判定する。たとえば、ワークフロー情報種別判定モジュールＦは、ワークフロー構成保管モジュールＢに保管されているワークフローを構成するアクティビティを特定する。ワークフロー情報種別判定モジュールＦは、特定したアクティビティがどのような種別の情報を入出力するかを判定する。
【００３４】
また、ワークフロー情報種別判定モジュールＦは、既存のワークフローを構成する各々のアクティビティにおける入出力データの種別を管理するようにしても良い。たとえば、図３は、既存のワークフローと情報種別とを対応づけたテーブルの構成例を示す図である。図３に示す例では、既存の各種のワークフローに対して、紙ドキュメント、電子ドキュメント、ページ画像情報、領域座標情報、領域画像情報、領域タイプ情報、領域意味情報、領域テキスト情報、および、領域他言語テキスト情報が対応するか否かを示している。
【００３５】
記入フォーム設計モジュール（記入フォーム設計手段）Ｇは、ワークフロー情報種別判定モジュールＦにより判定されるワークフローを実行するために必要な入力情報をユーザに入力させるための記入フォームを設計する。例えば、記入フォーム設計モジュールＧは、申請者情報取得アクティビティａ１を使用するワークフローである場合、「申請者氏名」、「申請者所属」といった入力情報を記入するための欄をレイアウトした記入フォームを設計する。
【００３６】
記入フォーム設計操作モジュール（記入フォーム設計操作手段）Ｈは、記入フォーム設計モジュールＧが実行する記入フォームの設計のための環境をユーザに提供する。例えば、記入フォーム設計操作モジュールＨは、ＧＵＩを持ったアプリケーションとしてユーザに記入フォームの設計環境を提供する。たとえば、記入フォーム設計操作モジュールＨは、記入フォームに配置すべき入力欄などの構成部品と設計中の記入フォームを用紙に印刷した場合のプレビューとを表示する設計環境を提供する。このような設計環境によれば、ユーザは、簡便に設計作業を行うことができる。
【００３７】
記入フォーム部品判定モジュール（記入フォーム部品判定手段）Ｉは、記入フォーム設計モジュールＧが設計する記入フォームを構成する部品を判定する。例えば、記入フォーム部品判定モジュールＩは、申請者情報取得アクティビティａ１の入力情報としての「申請者氏名」および「申請者所属」を記入するための入力欄が必要である場合、「申請者氏名」および「申請者所属」の入力欄としてテキストを記入するためのボックス部品が必要であると判定する。
【００３８】
記入フォーム部品保管モジュール（記入フォーム部品保管手段）Ｊは、記入フォーム部品判定モジュールＩにより選択される記入フォームを構成する部品を保管する。例えば、記入フォーム部品保管モジュールＪは、テキストを記入するためのボックス部品として１文字ずつ記入が可能なように区切られた罫線を持つ矩形部品などを保管する。
【００３９】
情報種別の属性判定モジュール（情報種別の属性判定手段）Ｋは、ワークフロー情報種別判定モジュールＦにより判定されるワークフローを実行するために必要な各情報に対する属性を判定する。例えば、情報種別の属性判定モジュールＫは、申請者情報取得アクティビティａ１の入力情報としての「申請者氏名」および「申請者所属」に対して、「申請者氏名」が必須の情報であることを示す属性と判定し、「申請者所属」が任意の情報であることを示すオプション属性であると判定する。また、記入フォーム保管モジュールＸは、記入フォーム設計モジュールＧにより設計された記入フォームを保管する。
【００４０】
次に、ワークフローに利用する記入フォームの設計例について説明する。  
図４は、記入フォームの設計例を示す図である。図４は、証憑（領収書画像）付きの旅費申請のワークフローに利用される記入フォームの設計例を示している。図４に示すような、証憑（領収書画像）を添付して旅費を申請するためのワークフローでは、入力情報を処理するためのアクティビティとして、申請者情報取得アクティビティａ１、承認者情報取得アクティビティａ２、振込先情報取得アクティビティａ３、および証憑情報取得アクティビティａ４を有する。
【００４１】
申請者情報取得アクティビティａ１は、申請者氏名と申請者所属とが入力情報である。このため、記入フォームには、申請者氏名と申請者所属とを入力するための入力欄（テキストボックス）５１ａ、５１ｂを含む部品５１が申請者情報を取得するフォーム部品として必要であると判定される。
【００４２】
承認者情報取得アクティビティａ２は、承認者氏名と承認者所属とが入力情報である。このため、記入フォームには、承認者氏名と承認者所属とを入力するための入力欄（テキストボックス）５２ａ、５２ｂを含む部品５２が承認者情報を取得するフォーム部品として必要であると判定される。
【００４３】
振込先情報取得アクティビティａ３は、振込先を示す金融機関名、支店番号（支店ＩＤ）、口座番号（口座ＩＤ）および口座名義が入力情報である。このため、記入フォームには、金融機関名、支店番号（支店ＩＤ）、口座番号（口座ＩＤ）および口座名義を入力するための入力欄（テキストボックス）５３ａ、５３ｂ、５３ｃ、５３ｄを含む部品５３が振込先情報を取得するフォーム部品として必要であると判定される。  
証憑情報取得アクティビティａ４は、領収書の画像が入力情報である。このため、記入フォームには、領収書の画像を添付するための添付欄を含む部品５４が証憑情報を取得するフォーム部品として必要であると判定される。
【００４４】
記入フォーム設計モジュールＧは、記入フォーム部品判定モジュールＩによりワークフローの仕様に基づいて選択されるアクティビティに従って記入フォームに必要な部品（各入力情報の入力欄）５１〜５４を判定する。記入フォームに必要な部品を決定すると、記入フォーム設計操作モジュールＨは、それらの部品５１〜５４をユーザが記入フォーム５５にレイアウトするための環境を提供する。
【００４５】
たとえば、記入フォーム設計操作モジュールＨは、図４に示すように、各入力情報に対応する部品と各部品がレイアウトされる記入フォームの枠をユーザ端末４の表示部４６に表示させる。設計者は、ユーザ端末４の表示部４６に表示される各部品５１〜５４を記入フォーム５５の枠内にドラックアンドドロップすることにより各部品のレイアウトを指定する。また、記入フォーム設計モジュールＧあるいは記入フォーム設計操作モジュールＨは、必要な入力情報に対する部品をレイアウトした記入フォームを自動的に生成し、生成した記入フォームに対して設計者が部品のレイアウトを変更できるようにしても良い。
【００４６】
また、記入フォーム部品判定モジュールＩは、１つの入力情報に対して複数の部品候補を記入フォーム部品保管モジュールＪから抽出するようにしても良い。たとえば、入力情報がテキスト情報である場合、記入フォーム部品判定モジュールＩは、「下線付きの記入エリア」、「自由記述のボックス矩形」、および「フォーマット記述用の罫線付きボックス矩形」などを部品の候補として抽出する。各入力情報に対して複数の部品候補を抽出する場合、記入フォーム設計操作モジュールＨは、各入力情報に対する複数の部品候補を一覧で表示し、表示した部品候補から記入フォームに採用する部品をユーザが選択するようにしても良い。
【００４７】
また、記入フォーム部品判定モジュールＩは、各入力情報の属性を示す情報を付加した入力欄を部品としても選出するようにしても良い。たとえば、情報種別属性判定モジュールＫは、各入力情報が必須の情報か任意の情報かを示す属性を判定するようにしても良い。この場合、必須の入力情報に対しては必須の入力情報であることを示す入力欄を部品を選出する。たとえば、図４に示す例では、必須と判定された入力情報の入力欄にはマークＭが付与されている。
【００４８】
次に、ワークフローシステムにおける記入フォームの設定手順の例について説明する。  
図５は、記入フォームの設計手順を説明するためのフローチャートである。ここでは、具体例として、図４に示すような「証憑（領収書画像）付きの旅費申請ワークフロー」に利用する記入フォームを設計する手順を想定して説明する。
【００４９】
まず、設計者は、ワークフローの仕様に応じて当該ワークフローに利用する記入フォームにはどのような情報が必要であるかを分析する。設計者は、分析結果としての記入フォームに必要な情報をユーザ端末４にて指定する。たとえば、「証憑付き（領収書画像）旅費申請のワークフロー」に利用する記入フォームを設計する場合、設計者は、旅費申請を行うための仕様に応じて、旅費申請を行うための記入フォームに必要な情報を分析する。旅費申請は、申請者を特定するための情報（申請者情報）、承認者を特定するための情報（承認者情報）、旅費の振り込み先を示す情報（振込先情報）、および領収書などの証憑を示す情報（証憑情報）が必要であるものとする。
【００５０】
ワークフローに利用する記入フォームに必要な情報を取得する（ＡＣＴ１１）。ワークフロー情報種別判定モジュールＦは、当該ワークフローに利用する記入フォームに必要な情報の種別を判定する（ＡＣＴ１２）。ワークフロー情報種別判定モジュールＦは、アクティビティ入力情報種別保管モジュールＣが管理する入力情報の種別およびアクティビティ出力情報種別保管モジュールＤが管理する出力情報の種別を参照することにより、記入フォームに必要な各情報の種別を判定する。また、ワークフロー情報種別判定モジュールＦは、記入フォームに必要な全ての情報が当該ワークフローシステムで取り扱い可能な情報であるか否かを判定する（ＡＣＴ１３）。
【００５１】
記入フォームに必要な全ての情報が当該ワークフローシステムで取り扱い可能な情報であると確認した場合（ＡＣＴ１３、ＹＥＳ）、記入フォームに必要な情報に対応するアクティビティを選択する（ＡＣＴ１４）。アクティビティ入力情報種別保管モジュールＣは、アクティビティ保管モジュールＡが保管するアクティビティに対応づけて入力情報の種別を管理する。このため、記入フォームに必要な情報の種別に対応するアクティビティは、アクティビティ入力情報種別保管モジュールＣが管理する情報に基づいて選択される。たとえば、「証憑付き旅費申請のワークフロー」では、申請者情報に取得するための申請者情報取得アクティビティａ１、承認者情報を取得するための承認者情報取得アクティビティａ２、振込先情報を取得するための振込先情報取得アクティビティａ３、および証憑情報を取得するための証憑情報取得アクティビティａ４が選択される。
【００５２】
申請者情報取得アクティビティａ１は、「申請者氏名」および「申請者所属」を入力情報として、申請者であるユーザを一意に特定可能な申請者情報を出力する。たとえば、申請者情報取得アクティビティａ１は、ディレクトリサービスなどを利用することにより入力情報を申請者情報に変換する。例えば、当該ワークフローシステムにおいてユーザを一意に特定可能な情報として「社員ＩＤ番号」が流通可能であれば、申請者情報取得アクティビティａ１は、「申請者氏名」および「申請者所属」を入力情報とし、申請者情報としての「社員ＩＤ番号」を出力する。
【００５３】
承認者情報取得アクティビティａ２は、申請者情報取得アクティビティａ１と同様に、「承認者氏名」および「承認者所属」を入力情報とし、ワークフローシステム内で流通可能な承認者情報を出力する。
【００５４】
振込先情報取得アクティビティａ３では、「金融機関名」、「支店ＩＤ」、「口座ＩＤ」および「口座名義」を入力情報として、振込先を一意に特定する振込先情報を出力する。たとえば、振込先情報取得アクティビティａ３は、図示しない取引先マスタを参照することにより入力情報を振込先情報に変換する。当該ワークフローシステム内において振込先を一意に特定可能な情報として「振込先番号」が流通可能であれば、振込先情報取得アクティビティａ３は、「金融機関名」、「支店ＩＤ」、「口座ＩＤ」および「口座名義」を入力情報とし、振込先情報としての「振込先番号」を出力する。
【００５５】
証憑情報取得アクティビティａ４では、領収書（証憑）の画像を入力情報として、証憑を確認するための証憑情報を出力する。領収書の画像は、たとえば、デジタル複合機１のスキャナによって領収書の画像を電子化した画像情報である。証憑情報取得アクティビティａ４では、領収書の画像を電子化した画像情報を「証憑情報」として出力する。
【００５６】
当該ワークフローを構成するアクティビティが選択されると、記入フォーム設計モジュールＧは、選択された各アクティビティに対する入力情報をユーザが入力するための記入フォームを設計する（ＡＣＴ１５）。ワークフロー全体における入力情報は、ワークフロー情報種別判定モジュールＦにより判定されている。すなわち、ワークフロー情報種別判定モジュールＦが当該ワークフローにおける各入力情報を判定すると、記入フォーム設計モジュールＧは、ワークフロー情報種別判定モジュールＦが判定した各入力情報をユーザが入力するための記入フォームを設計する。
【００５７】
また、記入フォームを設計する場合、情報種別属性判定モジュールＫは、ワークフロー情報種別判定モジュールＦが判定する各入力情報に対して属性を判定するようにしても良い。たとえば、情報種別属性判定モジュールＫは、ワークフロー情報種別判定モジュールＦにより入力情報と判定される各情報が必須の情報か任意の情報かを示す属性を判定する（ＡＣＴ１６）。
【００５８】
記入フォーム部品判定モジュールＩは、各入力情報に対応する入力欄（記入フォームの部品）として使用する部品の候補を判定する（ＡＣＴ１７）。例えば、申請者情報取得アクティビティａ１における入力情報は、「申請者氏名」と「申請者所属」とである。「申請者氏名」と「申請者所属」とは、共に「テキスト情報」である。このため、記入フォーム部品判定モジュールＩは、「申請者氏名」と「申請者所属」とを「テキスト情報」として記入するための部品が必要であると判定する。
【００５９】
記入フォームの設計に必要な部品は、記入フォーム部品保管モジュールＪに保管されている。たとえば、記入フォーム部品保管モジュールＪは、「テキスト情報」を記入するための記入フォームの部品として、「下線付き記入エリア」、「自由記述ボックス矩形」、「フォーマット記述用の罫線付きボックス矩形」などを保管する。
【００６０】
記入フォーム部品判定モジュールＩは、記入フォーム部品保管モジュールＪから入力情報に適した入力欄としての部品の候補を判定する。さらに、記入フォーム部品判定モジュールＩは、情報種別の属性判定モジュールＫが判定する入力情報に対する属性を示す部品の候補を判定しても良い。この場合、記入フォーム部品判定モジュールＩは、情報種別の属性判定モジュールＫが必須の情報と判定した入力情報と任意の情報と判定した入力情報とが識別できるような部品の候補を判定する。図４に示す例では、必須の入力情報の入力欄にはマークＭを付与した部品を候補とし、任意の入力情報の入力欄にはマークを付与しない部品を候補としている。
【００６１】
当該ワークフローにおける各入力情報に対応する部品の候補を判定すると、記入フォーム部品判定モジュールＩは、記入フォーム部品保管モジュールＪから判定した部品の候補を記入フォーム設計モジュールＧに通知する（ＡＣＴ１８）。記入フォーム設計モジュールＧは、記入フォーム部品判定モジュールＩから供給された各入力情報に対する部品の候補を記入フォーム設計操作モジュールＨへ与える。
【００６２】
記入フォーム設計操作モジュールＨは、記入フォーム設計モジュールＧから与えられる情報（各入力情報に対応する部品の候補）を用いて当該ワークフローに利用する記入フォームを設計する環境を設計者に提供する（ＡＣＴ１９）。記入フォーム設計操作モジュールＨは、設計者が記入フォームを設計する設計環境としてＧＵＩを持ったアプリケーションを提供する。たとえば、記入フォーム設計操作モジュールＨは、記入フォーム設計モジュールＧが取得した部品の候補一覧から選択する部品をユーザ端末４での操作によって記入フォームに配置できるようなアプリケーションを提供する。
【００６３】
記入フォーム設計操作モジュールＨが提供する記入フォームの設計環境により、設計者は、部品の候補一覧から所望の部品を選択したり、選択した部品を設計者自身の意図する位置に配置したりすることが可能となる。また、記入フォーム設計操作モジュールＨは、自動的に一番適切と判定する部品（あるいはデフォルトで設定されている部品）を順に配置した記入フォームを提示し、設計者が提示された記入フォームの確認および調整を行うようにしても良い。
【００６４】
記入フォーム設計操作モジュールＨが提供する記入フォームの設計環境で記入フォームが設計されると、記入フォーム設計モジュールＧは、設計された記入フォームを記入フォーム保管モジュールＸに保管する（ＡＣＴ２０）。記入フォーム保管モジュールＸに保管された記入フォームは、ワークフローを実行するユーザの操作により適宜読み出され、用紙に印刷される。
【００６５】
上記のような第１の実施の形態のワークフローシステムでは、複数のアクティビティの組合せにより自由な構成が可能なワークフローに対しても各ワークフローで利用する記入フォームを簡単に設計することが可能となる。また、第１の実施の形態のワークフローシステムでは、ワークフローに必要となる入力情報を入力するための入力欄を部品の候補として提示するため、記入フォームを簡単に設計できる。また、第１の実施の形態のワークフローシステムでは、各入力情報の属性を判定する機能を有するため、記入フォームに配置する部品の候補に対して入力情報の属性を示すことが可能となる。
【００６６】
次に、第２の実施の形態について説明する。  
ワークフローの一部又は全部は、ネットワークを介して接続される外部のシステムで実行することが可能である。たとえば、近年では、ＳＯＡあるいはＳａａＳのように、ワークフローの一部又は全部をネットワークを介して接続される外部のシステムで実行する環境が整ってきている。ワークフローの一部を外部のシステムで実行することを外部サブワークフローと称するものとする。第２の実施の形態では、外部サブワークフローを含むワークフローに利用する記入フォームを設計する機能を有するワークフローシステムについて説明する。
【００６７】
図６は、第２の実施の形態に係るワークフローシステムの構成例を示す図である。  
図６に示すように、第２の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、外部サブワークフロー実行モジュールＬ、および外部サブワークフロー情報種別保管モジュール（外部種別保管モジュール）Ｍを有する。
【００６８】
アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、および情報種別属性判定モジュールＫは、第１の実施の形態で説明したものと同様なもので実現可能である。
【００６９】
外部サブワークフロー実行モジュール（外部サブワークフロー実行手段）Ｌは、外部のシステムに外部サブワークフローを実行させる。外部サブワークフロー実行モジュールＬは、ワークフローにおいてアクティビティ保管モジュールＡに保管されていないアクティビティを外部システムと連携して実行する。外部サブワークフローは、例えば、ＳＯＡ、ＡＳＰあるいはＳａａＳによって提供されるネットワーク環境により外部システムで処理を実行する。
【００７０】
外部サブワークフロー実行モジュールＬは、アクティビティ保管モジュールＡに保管されている外部サブワークフローコネクタアクティビティａ５により外部サブワークフローを実現する。外部サブワークフローコネクタアクティビティａ５は、ワークフローの一部としての外部サブワークフローを実行する外部システムに接続する処理を行う。つまり、外部サブワークフローコネクタアクティビティａ５は、ワークフローの一部を外部のシステムに実行させるための切替を行うアクティビティである。
【００７１】
外部サブワークフロー情報種別保管モジュール（外部サブワークフロー情報種別保管手段）Ｍは、外部サブワークフロー実行モジュールＬにより実行される外部サブワークフローで利用する情報種別を管理する。例えば、外部サブワークフローとしては、振込先情報のチェックなどを含む決済サービスが想定される。ワークフローにおける外部サブワークフローとして決済サービスを利用する場合、外部サブワークフロー情報種別保管モジュールＭは、決済サービスの外部サブワークフローで必要な入力情報として、「金融機関名」、「支店ＩＤ」および「口座ＩＤ」を保管する。つまり、外部サブワークフロー情報種別保管モジュールＭにより外部サブワークフローで必要な入力情報が判定できるようになっている。
【００７２】
次に、外部サブワークフローを含むワークフローに利用する記入フォームの設計について説明する。
【００７３】
図７は、外部サブワークフローを含むワークフローに利用する記入フォームの設計手順を説明するためのフローチャートである。なお、ＡＣＴ３１−３２およびＡＣＴ３５−４２の処理は、第１の実施の形態で説明した図５に示すＡＣＴ１１−２０の処理とほぼ同様な処理で実現可能である。このため、ＡＣＴ３１−３２およびＡＣＴ３５−４２の処理について詳細な説明を省略するものとする。
【００７４】
すなわち、ワークフロー情報種別判定モジュールＦは、ワークフローを構成するアクティビティのうちアクティビティ保管モジュールＡが保管するアクティビティの入出力情報の情報種別を、アクティビティ入力情報種別保管モジュールＣおよびアクティビティ出力情報種別保管モジュールＤを参照することにより判定する。
【００７５】
外部サブワークフローで必要となる情報は、外部サブワークフロー情報種別保管モジュールＭに保管される。このため、外部サブワークフローを含むワークフローである場合（ＡＣＴ３３、ＹＥＳ）、ワークフロー情報種別判定モジュールＦは、外部サブワークフロー情報種別保管モジュールＭを参照することにより外部サブワークフローに必要な情報の種別を判定する（ＡＣＴ３４）。外部サブワークフロー情報種別保管モジュールＭが保管する情報は、外部サブワークフローのインタフェース仕様として予め設定されるものである。例えば、外部サブワークフロー情報種別保管モジュールＭが保管する情報は、Ｗｅｂサービスの外部仕様記述であるＷＳＤＬなどによって記述される。
【００７６】
また、ワークフロー情報種別判定モジュールＦは、第１の実施の形態で説明したように、外部サブワークフロー以外のワークフローにおける入力情報の情報種別を判定する。つまり、外部サブワークフローを含むワークフロー全体における全ての入力情報は、ワークフロー情報種別判定モジュールＦにより判定される。外部サブワークフローを含むワークフロー全体における全ての入力情報が当該ワークフローシステムで利用可能な情報であれば（ＡＣＴ３５、ＹＥＳ）、記入フォーム設計モジュールＧは、ワークフロー情報種別判定モジュールＦが入力情報と判定した各情報をユーザが入力するための記入フォームを設計する（ＡＣＴ３６−４２）。
【００７７】
なお、ＡＣＴ３９において、外部サブワークフローにおける入力情報に対する記入フォームの部品は、外部サブワークフロー情報種別保管モジュールＭから得られた入力情報の情報種別に基づいて判定する。たとえば、外部サブワークフローにおける入力情報に対する記入フォームの部品は、外部サブワークフロー情報種別保管モジュールＭが情報種別と共に定義するようにしても良いし、情報種別のデータ形式（「テキスト情報」など）を一般的な情報のデータ型と捉えることにより記入フォーム部品判定モジュールＩが記入フォーム部品保管モジュールＪから利用可能な部品を判定するようにしても良い。
【００７８】
上記のような第２の実施の形態のワークフローシステムでは、外部サブワークフローを含むワークフローについても必要な入力情報を判定して各入力情報に対する部品の候補を提示することができるため、当該ワークフローで利用する記入フォームを簡単に設計することが可能となる。
【００７９】
次に、第３の実施の形態について説明する。  
図８は、第３の実施の形態に係るワークフローシステムの構成例を示す図である。  
図８に示すように、第３の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、およびワークフローステータス判定モジュール（ステータス判定モジュール）Ｎを有する。
【００８０】
アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、および情報種別属性判定モジュールＫは、第１の実施の形態で説明したものと同様な機能を有する。
【００８１】
ワークフローステータス判定モジュール（ワークフローステータス判定手段）Ｎは、実行するワークフローに関する情報のステータスを判定する。ワークフローステータス判定モジュールＮは、ワークフロー実行モジュールＥがワークフローを実行する際に、当該ワークフローに関する情報のステータスを判定する。記入フォーム設計モジュールＧは、ワークフローステータス判定モジュールＮが判定する情報のステータスに応じた記入フォームを設計することが可能である。
【００８２】
例えば、ワークフローステータス判定モジュールＮは、承認者情報取得アクティビティａ２を含むワークフローを実行する場合、承認者情報取得アクティビティａ２が出力する「承認者情報」のステータスを判定する。ワークフローステータス判定モジュールＮは、「承認者情報」のステータスとして、当該承認者が承認を行える状態であるか否かを判定する。承認者が承認を行える状態であるか否かは、承認者の権限、あるいは、承認者の所在などにより判定する。
【００８３】
ワークフローステータス判定モジュールＮは、承認者（ユーザ）が有する権限を示す情報を管理するサーバ（図示しない）を参照することにより、承認者が承認の権限を有するか否か（承認が行える状態であるか否か）を判定しても良い。承認者が有する権限を示す情報は、ワークフローステータス判定モジュールＮがアクセス可能なサーバに記憶する。たとえば、承認者が有する権限を示す情報を記憶するサーバとしては、Ｍｉｃｒｏｓｏｆｔ社のＡｃｔｉｖｅＤｉｒｅｃｔｏｒｙによるユーザアカウント管理サーバなどが適用可能である。
【００８４】
また、ワークフローステータス判定モジュールＮは、承認者が不在であれば、当該承認者が承認を行える状態でないと判定しても良い。承認者の所在情報は、スケジュール管理データベース（図示しない）あるいはカレンダー管理データベース（図示しない）などから確認するようにしても良い。ワークフローステータス判定モジュールＮは、承認者のスケジュールを管理するサーバを参照することにより、承認者が不在であるか否かを判定しても良い。たとえば、承認者のスケジュールを管理するサーバとしては、Ｍｉｃｒｏｓｏｆｔ社のＳｈａｒｅＰｏｉｎｔサーバのスケジュール管理機能を持ったサーバなどが適用可能である。
【００８５】
さらに、ワークフローステータス判定モジュールＮは、承認者の権限と承認者の所在とを組み合わせることにより、当該承認者が承認を行える状態である否かを判定するようにしても良い。つまり、ワークフローステータス判定モジュールＮは、承認者が承認の権限を有し、かつ、不在でない場合、当該承認者が承認を行える状態であると判定するようにしても良い。
【００８６】
承認者が承認を行える状態でないと判定した場合、ワークフローステータス判定モジュールＮは、代理の承認者が必要であると判定するようにしても良い。すなわち、第３の実施の形態のワークフローシステムでは、ワークフローを実行する際、ワークフローステータス判定モジュールＮが「承認者」不在と判定すれば代理者が「承認者」に代わって承認を行うような記入フォームを提供する運用形態が可能である。
【００８７】
このような運用形態では、ワークフローステータス判定モジュールＮは、「承認者」が不在であることを確認した場合、代理の承認者が必要であることを記入フォーム設計モジュールＧに通知する。記入フォーム設計モジュールＧは、ワークフローステータス判定モジュールＮからの「承認者が不在である」旨の判定結果に応じて、代理者情報を入力するための入力欄を含む記入フォームを設計する。代理者情報の入力欄を含む記入フォームの設計は、たとえば、上記第１あるいは第２の実施の形態で説明した手順で行える。なお、代理者情報は、たとえば、承認者情報と同様に、「代理者氏名」および「代理者所属」を入力情報としても良い。
【００８８】
ワークフローステータス判定モジュールＮが判定するスタータスに応じた記入フォームは、予め設計しておいても良いし、ワークフローを実行する毎に設計するようにしても良い。たとえば、ワークフローを実行する毎に記入フォームを設計する場合、記入フォーム設計モジュールＧは、ワークフローの実行の開始前に、ワークフローステータス判定モジュールＮが判定するスタータスに応じた記入フォームを設計する。ステータスに応じた記入フォームの設計は、たとえば、上記第１あるいは第２の実施の形態で説明した手順により記入フォーム全体を設計するようにしても良い。
【００８９】
また、ステータスに応じた記入フォームの設計は、予め準備しておいたひな形のテンプレートを確認及び修正することによりステータスに応じた記入フォームを設計するようにしても良い。たとえば、記入フォーム設計モジュールＧは、承認者情報が不在であるというステータスに応じて、予め準備しておいたひな形のテンプレートに代理者情報の入力欄を追加することにより、ステータスに応じた記入フォームを生成するようにしても良い。
【００９０】
なお、第３の実施の形態では、ワークフローを実行する際に、ワークフローに用いる情報のステータスを確認することを想定している。従って、第３の実施の形態のワークフローシステムは、ワークフローを実行するために、ステータスに応じて設計された記入フォームをデジタル複合機１により印刷する。
【００９１】
上記のような第３の実施の形態のワークフローシステムでは、ワークフローを実行する場合に、当該ワークフローに関する情報のステータスを判定し、各情報のステータスに応じた記入フォームを都度設計する。このため、第３の実施の形態のワークフローシステムによれば、ワークフローを実行するときの状態に応じた適切な記入フォームを簡単に提供できる。
【００９２】
第４の実施の形態について説明する。  
図９は、第４の実施の形態に係るワークフローシステムの構成例を示す図である。  
図９に示すように、第４の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、ワークフローステータス判定モジュールＮ、および記入フォーム体裁保管モジュール（フォーム体裁保管モジュール）Ｏを有する。
【００９３】
アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、および情報種別属性判定モジュールＫは、第１の実施の形態で説明したものと同様な機能を有する。また、ワークフローステータス判定モジュールＮは、第３の実施の形態で説明したものと同様な機能を有する。
【００９４】
記入フォーム体裁保管モジュール（記入フォーム体裁保管手段）Ｏは、記入フォーム設計モジュールＧが設計した記入フォームをユーザに提供する方法（記入フォームの出力形態）に応じた体裁の情報で保管する。第４の実施の形態では、記入フォームをユーザに提供する方法として、記入フォームを用紙に印刷して提供する方法以外に、記入フォームをユーザが閲覧可能な表示部に表示させて提供する方法を想定する。また、記入フォームを表示部に表示して提供する方法としては、たとえば、ＷｅｂブラウザなどによりＷｅｂサーバを介して記入フォームを提供する方法が考えられる。
【００９５】
記入フォームを用紙に印刷する出力形態とする場合、記入フォーム体裁保管モジュールＯは、記入フォーム部品判定モジュールＩが判定した記入フォームの部品をレイアウトした画像情報を実際に用紙に印刷可能なデータ形式で保管する。記入フォームをＷｅｂブラウザなどによりＷｅｂサーバを介して提供する出力形態とする場合、記入フォーム体裁保管モジュールＯは、記入フォーム部品判定モジュールＩが判定した記入フォームの部品、および各部品のレイアウトを示す情報をＨＴＭＬのコードに変換したデータ形式で保管する。すなわち、記入フォーム体裁保管モジュールＯは、記入フォームの部品および各部品のレイアウトを示す情報を記入フォームの出力形態に応じたデータ形式で保管する。
【００９６】
また、記入フォーム体裁保管モジュールＯは、第３の実施の形態で説明したような記入フォームのひな形のテンプレートを保管するようにしても良い。すなわち、記入フォーム体裁保管モジュールＯは、記入フォームのひな形のテンプレートを、実際に用紙に印刷する画像イメージデータとして保管しても良いし、ユーザが閲覧する表示部に表示可能なデータとして保管しても良い。表示部に表示可能なデータは、たとえば、ユーザがブラウザで閲覧できるように、ＨＴＭＬとして記述されてＷｅｂサーバで配信される。
【００９７】
上記のような第４の実施の形態のワークフローシステムでは、記入フォーム体裁保管モジュールＯには、記入フォームをユーザに提示する方法に応じた体裁の情報で記入フォームの設計情報を保存する。このため、第４の実施の形態のワークフローシステムでは、運用形態に応じた様々な提示方法でユーザに記入フォームを提示することができる。
【００９８】
次に、第５の実施の形態について説明する。  
図１０は、第５の実施の形態に係るワークフローシステムの構成例を示す図である。  
図１０に示すように、第５の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、外部サブワークフロー実行モジュールＬ、外部サブワークフロー情報種別保管モジュールＭ、ワークフローステータス判定モジュールＮ、記入フォーム体裁保管モジュールＯ、情報種別整合性判定モジュール（整合性判定モジュール）Ｐおよび外部サブワークフロー情報種別整合性判定モジュール（外部整合性判定モジュール）Ｑを有する。
【００９９】
アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、外部サブワークフロー実行モジュールＬ、外部サブワークフロー情報種別保管モジュールＭ、ワークフローステータス判定モジュールＮ、記入フォーム体裁保管モジュールＯは、第１、第２、第３、及び第４の実施の形態で説明したものと同様なもので実現可能である。
【０１００】
情報種別整合性判定モジュール（情報種別整合性判定手段）Ｐは、異なるアクティビティあるいは外部サブワークフローで用いられる入出力情報の情報種別の整合性を判定する。例えば、情報種別整合性判定モジュールＰは、申請者情報取得アクティビティａ１の「申請者氏名」と振込先情報取得アクティビティａ３の「口座名義」とが同一の情報であることを判定する。また、情報種別整合性判定モジュールＰは、「申請者」と「承認者」とが同じ会社に属するユーザであれば、申請者情報取得アクティビティａ１の「申請者氏名」と承認者情報取得アクティビティａ２の「承認者氏名」とがディレクトリサービスなどを利用して「社員ＩＤ番号」に変換でき、組織情報なども識別可能な情報であると判定する。
【０１０１】
外部サブワークフロー情報種別整合性判定モジュール（外部サブワークフロー情報種別整合性判定手段）Ｑは、外部サブワークフロー情報種別保管モジュールＭが保管する外部サブワークフローで利用する入出力情報の情報種別の整合性を判定する。
【０１０２】
たとえば、振込先情報取得アクティビティａ３に必要とされる入力情報としては、「口座名義」もある。証憑付き旅費申請のワークフローにおいては、「口座名義」は「申請者氏名」と同一であることが考えられる。この場合、情報種別整合性判定モジュールＰは、申請者情報取得アクティビティａ１の「申請者氏名」と振込先情報取得アクティビティａ３の「口座名義」とが同一の情報であると判定する。このような判定結果に基づいて、情報種別整合性判定モジュールＰは、記入フォームを構成する部品としては「申請者氏名」と「口座名義」とのどちらか一方が記入されていれば十分であると判定する。
【０１０３】
各入力情報間の整合性の判定結果は、情報種別整合性判定モジュールＰからワークフロー情報種別判定モジュールＦへ通知される。情報種別整合性判定モジュールＰから入力情報の整合性に関する情報を受けたワークフロー情報種別判定モジュールＦは、ワークフローに必要な入力情報とともに、各入力情報間の整合性を示す情報を記入フォーム設計モジュールＧに通知する。
【０１０４】
各入力情報間の整合性を示す情報を受けた記入フォーム設計モジュールＧは、記入フォーム設計操作モジュールＨにより各入力情報の部品を提示するとともに、各入力情報間の整合性を提示可能となる。たとえば、「申請者氏名」と「口座名義」とが同一の情報であると判定された場合、記入フォーム設計操作モジュールＨは、「申請者氏名」と「口座名義」とのどちらか一方の構成部品を配置すれば良い旨を提示できる。
【０１０５】
上記のような第５の実施の形態のワークフローシステムでは、ワークフローを構成する複数のアクティビティの入力情報間で整合性を確認して入力情報間の整合性を提示することが可能となる。また、第５の実施の形態のワークフローシステムでは、外部サブワークフローにおいても入力情報間の整合性を確認して各入力情報間の整合性を提示できる。
【０１０６】
次に、第６の実施の形態について説明する。  
図１１は、第６の実施の形態に係るワークフローシステムの構成例を示す図である。  
図１１に示すように、第６の実施の形態のワークフローシステムは、アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、外部サブワークフロー実行モジュールＬ、外部サブワークフロー情報種別保管モジュールＭ、ワークフローステータス判定モジュールＮ、記入フォーム体裁保管モジュールＯ、情報種別整合性判定モジュールＰ、外部サブワークフロー情報種別整合性判定モジュールＱ、既存保管データ判定モジュール（既存データ判定モジュール）Ｒ、およびコード生成モジュールＳを有する。
【０１０７】
アクティビティ保管モジュールＡ、ワークフロー構成保管モジュールＢ、アクティビティ入力情報種別保管モジュールＣ、アクティビティ出力情報種別保管モジュールＤ、ワークフロー実行モジュールＥ、ワークフロー情報種別判定モジュールＦ、記入フォーム設計モジュールＧ、記入フォーム設計操作モジュールＨ、記入フォーム部品判定モジュールＩ、記入フォーム部品保管モジュールＪ、情報種別属性判定モジュールＫ、外部サブワークフロー実行モジュールＬ、外部サブワークフロー情報種別保管モジュールＭ、ワークフローステータス判定モジュールＮ、記入フォーム体裁保管モジュールＯは、第１、第２、第３、及び第４の実施の形態で説明したものと同様なもので実現可能である。
【０１０８】
既存保管データ判定モジュール（既存保管データ判定手段）Ｒは、流通可能な既存のデータが記入フォームに必要な入力情報として利用可能であるか否かを判定する。流通可能な既存のデータとは、ワークフローシステムがアクセス可能な保存データである。たとえば、流通可能な既存のデータとしては、ワークフローシステムがアクセス可能なデータサーバに保存されているデータ、あるいは、ワークフローシステムがアクセス可能な携帯端末に保存されている情報などである。例えば、既存保管データ判定モジュールＲは、ユーザが所持する携帯端末に保存されている所有者情報が申請者情報取得アクティビティａ１の入力情報の「申請者氏名」として利用可能であると判定する。
【０１０９】
コード生成モジュールＳは、テキストデータなどのデータをＱＲコードなどのコード情報に変換する。コード生成モジュール（コード生成手段）Ｓは、既存保管データ判定モジュールＲが判定する既存のデータを読み取り可能なコード情報に変換することが可能である。たとえば、コード生成モジュールＳは、既存保管データ判定モジュールＲにより申請者情報取得アクティビティａ１の申請者情報として利用可能と判定されたユーザの携帯端末に保存されている所有者情報をコード情報に変換する。このコード生成モジュールＳがコード化した所有者情報は、記入フォーム設計操作モジュールＨにより記入フォームの構成部品として提示できる。
【０１１０】
たとえば、ワークフローにおいては、申請を行う申請者氏名などが記入フォームにおいて必須の入力情報となることが多い。申請者氏名などの申請者情報は、当該申請者が所持する携帯電話などの携帯端末に保存されている所有者情報と本質的に同様である。従って、申請者の携帯端末に保存されている所有者情報を活用すれば、記入フォームにおける申請者氏名の入力を簡略化できる。たとえば、携帯端末に保存している所有者情報をコード生成モジュールＳがコード情報に変換し、そのコード情報を申請者情報として記入フォームに配置することにより申請者情報の入力が省略可能な記入フォームが設計できる。
【０１１１】
すなわち、第６の実施の形態のワークフローシステムは、既存のデータを用いて情報の入力を簡略化できる記入フォームを設計する機能を有する。たとえば、携帯電話などの携帯端末では、所有者情報を保持しておくことができ、通信手段を用いてデータを送信することができる。既存保管データ判定モジュールＲは、携帯端末から送信された所有者情報とワークフローにおける入力情報との対応づけを判定する。
【０１１２】
携帯端末から受信した所有者情報にワークフローの入力情報としての申請者情報（申請者氏名および申請者所属）が含まれると判定した場合、コード生成モジュールＳは、携帯端末から受信した所有者情報をＱＲコードなどのコード情報に変換する。所有者情報には「申請者氏名」および「申請者所属」が含まれるため、「申請者氏名」および「申請者所属」の入力欄を記入フォームに配置するかわりに、コード生成モジュールＳが生成した所有者情報のコード情報を記入フォームに付与することができる。このような記入フォームによれば、ユーザが「申請者氏名」および「申請者所属」を入力する手間を省くことができる。
【０１１３】
さらに、コード生成モジュールＳは、ワークフローシステムがアクセス可能なデータサーバに保存した画像情報に対するＵＲＬなどのアクセス先を示す情報をコード化するようにしても良い。たとえば、証憑の領収書画像は、ワークフローシステムがアクセス可能なデータサーバ（図示しない）に保存する。コード生成モジュールＳは、データサーバに保存した証憑の領収書画像のアクセス先を示す情報（例えば、ＵＲＬ情報）をコード情報に変換する。このコード情報に変換したアクセス先を示す情報は、証憑情報取得アクティビティａ４の領収書画像の添付欄を配置する代わりに、記入フォームに付与することが可能である。このような記入フォームによれば、ユーザが添付欄に領収書を添付する手間を省くことができる。
【０１１４】
図１２は、コード生成モジュールＳにより生成したコード情報を付与した記入フォームの例を示す図である。図１２では、図４に示す記入フォーム５５と記入フォーム５５の一部をコード化した記入フォーム６０の例を示している。  
図１２に示す記入フォーム６０では、申請者の欄にコード情報６１が付与され、証憑添付欄にコード情報６２が付与されている。コード情報６１は、ユーザが所持する携帯端末７１から取得する所有者情報をコード化した情報である。コード情報６２は、データサーバ７２に保存されている画像情報にアクセスするためのＵＲＬ情報をコード化した情報である。
【０１１５】
すなわち、既存保管データ判定モジュールＲがユーザが所持する携帯端末７１に保存されている所有者情報を記入フォームの申請者情報として利用可能であると判定した場合、コード生成モジュールＳは、ユーザが所持する携帯端末７１から取得する所有者情報を二次元バーコードのコード情報６１に変換する。
【０１１６】
また、既存保管データ判定モジュールＲがデータサーバ７２に保存されている画像情報を記入フォームにおける領収書画像（証憑情報）として利用可能であると判定した場合、コード生成モジュールＳは、データサーバ７２に保存されている画像情報のＵＲＬ情報を二次元バーコードのコード情報６２に変換する。データサーバ７２は、ユーザがデジタルカメラ７３などにより撮影した領収書画像が保存でき、当該領収書画像がＵＲＬで参照できるようになっている。
【０１１７】
上記のような第６の実施の形態のワークフローシステムでは、既存のデータ（携帯端末に保管されたデータあるいはサーバに保管されたデータ）が記入フォームにおける入力情報として利用可能であるかを判定し、利用可能な既存のデータあるいは既存のデータにアクセスするための情報を記入フォームに付与することができる。さらに、第６の実施の形態のワークフローシステムでは、既存のデータあるいは既存のデータにアクセスするための情報をコード情報に変換し、コード情報を記入フォームに付与することもできる。このような第６の実施の形態のワークフローシステムによれば、既存のデータを流用することにより入力事項が低減された記入フォームを設計することが可能となる。
【符号の説明】
【０１１８】
Ａ…アクティビティ保管モジュール、Ｂ…ワークフロー構成保管モジュール、Ｃ…アクティビティ入力情報種別保管モジュール、Ｄ…アクティビティ出力情報種別保管モジュール、Ｅ…ワークフロー実行モジュール、Ｆ…ワークフロー情報種別判定モジュール、Ｇ…記入フォーム設計モジュール、Ｈ…記入フォーム設計操作モジュール、Ｉ…記入フォーム部品判定モジュール、Ｊ…記入フォーム部品保管モジュール、Ｋ…情報種別属性判定モジュール、Ｘ…記入フォーム保管モジュール、ａ１…申請者情報取得アクティビティ、ａ２…承認者情報取得アクティビティ、ａ３…振込先情報取得アクティビティ、ａ４…証憑情報取得アクティビティ、Ｌ…外部サブワークフロー実行モジュール、Ｍ…外部サブワークフロー情報種別保管モジュール、ａ５…外部サブワークフローコネクタアクティビティ、Ｎ…ワークフローステータス判定モジュール、Ｏ…記入フォーム体裁保管モジュール、Ｐ…情報種別整合性判定モジュール、Ｑ…外部サブワークフロー情報種別整合性判定モジュール、Ｒ…既存保管データ判定モジュール、Ｓ…コード生成モジュール、１…デジタル複合機、１１…スキャナ、１３…プリンタ、１７…操作パネル、１７ａ…表示部、２０…システム制御部、２１…ＣＰＵ、２２…メインメモリ、２３…ＦＲＯＭ、２４…画像処理部、２５…ネットワークインターフェース、２６…ページメモリ、２８…ＨＤＤ、３１…ＣＰＵ、３２…ＲＡＭ、３３…ＲＯＭ、３４…ネットワークインターフェース、３５…ＨＤＤ、４１…ＣＰＵ、４２…ＲＡＭ、４３…ＲＯＭ、４４…ネットワークインターフェース、４５…ＨＤＤ、４６…表示部、４７…操作部。
【先行技術文献】
【特許文献】
【０１１９】
【特許文献１】特開２００８−１５８６３２号公報
【図１】
2010170555.tif 000003
【図２】
2010170555.tif 000004
【図３】
2010170555.tif 000005
【図４】
2010170555.tif 000006
【図５】
2010170555.tif 000007
【図６】
2010170555.tif 000008
【図７】
2010170555.tif 000009
【図８】
2010170555.tif 000010
【図９】
2010170555.tif 000011
【図１０】
2010170555.tif 000012
【図１１】
2010170555.tif 000013
【図１２】
2010170555.tif 000014