(57)【特許請求の範囲】
【請求項１】
特定の機能に対応づけられた工程を実行する複数の拡張プロバイダを組み合わせてジョブを処理する情報処理装置であって、
複数の拡張プロバイダを組み合わせた所定のジョブを実行させるためのワークフロー定義ファイルを作成する際、前記複数の拡張プロバイダに含まれる第１の拡張プロバイダが、設定画面を表示する表示工程を含むかどうかを判定する第１の判定手段と、
前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照するかどうかを判定する第２の判定手段と、
前記第１の判定手段で前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定手段で前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照しないと判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程よりも先行して実行させるワークフロー定義ファイルを作成し、前記第１の判定手段で前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定手段で前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照すると判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記第１の拡張プロバイダの設定画面を表示する際に結果を参照すると判定された先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程より後に実行させるワークフロー定義ファイルを作成する作成手段
を備えることを特徴とする情報処理装置。
【請求項２】
前記設定画面を表示する表示工程に対して、当該設定画面を表示しない設定が選択されている場合、前記作成手段は、前記設定画面を表示する表示工程を呼び出さないワークフロー定義ファイルを作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定の機能に対応づけられた工程には、原稿をスキャンする工程と、当該スキャンした原稿の画像に文字認識を実行する工程と、当該文字認識された情報を送信ファイル名とする工程とを含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、画像形成装置、複合画像形成装置を含むことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
特定の機能に対応づけられた工程を実行する複数の拡張プロバイダを組み合わせてジョブを処理する情報処理装置のデータ処理方法であって、  複数の拡張プロバイダを組み合わせた所定のジョブを実行させるためのワークフロー定義ファイルを作成する際、前記複数の拡張プロバイダに含まれる第１の拡張プロバイダが、設定画面を表示する表示工程を含むかどうかを判定する第１の判定工程と、  前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照するかどうかを判定する第２の判定工程と、  前記第１の判定工程において前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定工程において前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照しないと判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程よりも先行して実行させるワークフロー定義ファイルを作成し、前記第１の判定工程において前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定工程において前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照すると判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記第１の拡張プロバイダの設定画面を表示する際に結果を参照すると判定された先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程より後に実行させるワークフロー定義ファイルを作成する作成工程と、  を備えることを特徴とする情報処理装置のデータ処理方法。
【請求項６】
請求項５に記載の情報処理装置のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置のデータ処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、オフィスに設置される画像形成装置には、画像形成装置の機能を拡張できるシステムが普及している。拡張する機能（以降、拡張機能）は、ソフトウェアプログラム（以降、拡張ソフト）によって実現され、工場出荷時だけでなく、設置後の運用段階でも追加することが可能である。この種のシステムとしてはキヤノン株式会社のＭＥＡＰ（登録商標）などがあげられる。
また、ユーザが選択した拡張ソフトを外部サーバからダウンロードし、インストールすることで、画像形成装置の機能の拡張を可能とする技術が知られている（例えば、特許文献１）。
【０００３】
特に、ある特定の目的のために作られた拡張ソフトは、アプリケーションソフトウェア（以降、アプリ）と呼ばれる。アプリは、画像形成装置が備えるファクシミリ、スキャナ、プリンタといった機能を利用することで目的の処理を実現している。画像形成装置は、ユーザの目的に応じて複数のアプリをインストールできるように構成されている。
【０００４】
また入力、変換、出力を独立した拡張ソフトで構成し、拡張ソフトの組み合わせで一連の処理（以降、ワークフロー）を行い、拡張ソフトとパラメータの組み合わせで課金を行うものもある。（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０３９４３９号公報
【特許文献２】特開２０１４-１３４８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、ワークフローを実行するため、ワークフローの定義ファイルを用いて画像形成装置上の複数の機能を連結するよう構成されている。また、各拡張ソフトは自身が実行する処理に対する設定画面を持つように構成されている。
【０００７】
しかしながら、複数の拡張ソフトを繋げたワークフローを実行する場合、ワークフローの途中で拡張ソフトの持つ設定画面が表示されてしまい、ユーザの利便性が低下するという課題があった。
例えば「スキャン」、「ＯＣＲ」、「送信」という３つの拡張ソフトを組み合わせたワークフローの場合、スキャン実行が完了してからでないと、送信設定画面が表示されないため、ユーザはスキャンが完了するまで、画像形成装置の前で待機していなければならなかった。
そこで、拡張ソフトの設定画面を表示する工程をすべてまとめて最初に表示することが考えられる。ところが、１つの拡張ソフトの実行結果がその後実行される他の拡張ソフトの設定に影響を与える場合もあり、この場合には、一律に各拡張ソフトの設定画面を先にまとめて表示したのでは、その後の拡張ソフトの実行に影響がある。
【０００８】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数の拡張ソフトを組み合わせたワークフローを作成する際に、拡張ソフトの設定画面を表示する表示工程を、先行する拡張ソフトの結果を参照するか否かに応じて、先行する拡張ソフトの実行より先行させるか否かを自動的に決定し、ワークフローを作成する仕組みを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
特定の機能に対応づけられた工程を実行する複数の拡張プロバイダを組み合わせてジョブを処理する情報処理装置であって、複数の拡張プロバイダを組み合わせた所定のジョブを実行させるためのワークフロー定義ファイルを作成する際、前記複数の拡張プロバイダに含まれる第１の拡張プロバイダが、設定画面を表示する表示工程を含むかどうかを判定する第１の判定手段と、前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照するかどうかを判定する第２の判定手段と、前記第１の判定手段で前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定手段で前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照しないと判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程よりも先行して実行させるワークフロー定義ファイルを作成し、前記第１の判定手段で前記第１の拡張プロバイダが、設定画面を表示する表示工程を含むと判定され、かつ、前記第２の判定手段で前記第１の拡張プロバイダの設定画面を表示する際、先行する拡張プロバイダの結果を参照すると判定された場合、前記第１の拡張プロバイダに対応する設定画面を表示する表示工程を、前記第１の拡張プロバイダの設定画面を表示する際に結果を参照すると判定された先行する拡張プロバイダが実行する特定の機能に対応づけられた実行工程より後に実行させるワークフロー定義ファイルを作成する作成手段を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の拡張ソフトを組み合わせたワークフローを作成する際に、拡張ソフトの設定画面を表示する表示工程を、先行する拡張ソフトの結果を参照するか否かに応じて、先行する拡張ソフトの実行より先行させるか否かを自動的に決定し、ワークフローを作成することができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理システムのシステム構成の一例を示す図である。
【図２】ＭＦＰの構成を示すブロック図である。
【図３】サーバおよびＰＣの構成を示すブロック図である。
【図４】ＭＦＰにおけるソフトウェア構成図である。
【図５】ＰＣにおけるソフトウェア構成を示す図である。
【図６】機能プロバイダＩ／Ｆ情報テーブルの一例を示す図である。
【図７】ＰＣ上で動作するフロー作成ツールが表示する画面例を示す図である。
【図８】ワークフロー定義ファイルの第１の記述例を示す図である。
【図９】ワークフロー定義ファイルの第２の記述例を示す図である。
【図１０】ワークフロー定義ファイルの第３の記述例を示す図である。
【図１１】情報処理装置におけるデータ処理例を示すフローチャートである。
【図１２】ワークフローの実行の流れの一例を示したシーケンス図である。
【図１３】機能プロバイダ情報テーブルの一例を示す図である。
【図１４】機能プロバイダインターフェース定義を示す図の例である。
【発明を実施するための形態】
【００１２】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１３】
図１は、本実施形態の画像処理システムのシステム構成の一例を示す図である。本システムは、ＬＡＮ１１０を介して接続される情報処理装置であるＭＦＰ１０１、データ処理装置であるＰＣ１０３と、ＷＡＮ１２０を介して接続されるサーバ１０２から構成される。ＬＡＮ１１０上の装置とＷＡＮ１２０上の装置はお互いのネットワークを通して、相互に通信可能である。図１は典型的なネットワーク構成の例であり、各装置がＬＡＮ１１０またはＷＡＮ１２０のどちらにあっても構わない。
【００１４】
図１において、所定のジョブを実行するＭＦＰ１０１は、スキャナ、プリンタを有する複合画像形成装置である。加えて、装置上で動作する拡張ソフト（拡張プロバイダ）を追加、実行させるためのソフトウェアプラットホームを持つ。ＰＣ１０３は、業務用の端末装置であり、ＭＦＰ１０１で動作するワークフローの定義ファイルを作成するためのソフトウェア（以降、フロー作成ツール）が動作している。サーバ１０２は、ＭＦＰ１０１と連携して各種処理を行うサーバである。例えば、ＭＦＰ１０１から画像データを受信するファイルサーバであったり、ＭＦＰ１０１から処理依頼を受けてＯＣＲ（光学文字認識）処理を実行するＷｅｂアプリケーションサーバであったりする。サーバは一台とは限らず、目的に応じて複数のサーバが存在してもよい。
【００１５】
図２は、図１に示したＭＦＰ１０１の構成を示すブロック図である。
図２において、ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２やＨＤＤ２１４に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データやインストールされた拡張ソフトを含む各種プログラムを記憶する。
操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
【００１６】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ２２０に転送され、プリンタ２２０において記録媒体上に印刷される。
【００１７】
スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上またはＷＡＮ１２０上の他の装置との間で各種情報を送受信する。
【００１８】
図３は、図１に示したサーバ１０２およびＰＣ１０３の構成を示すブロック図である。
図３において、ＣＰＵ３１１を含む制御部３１０は、装置全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２やＨＤＤ３１４に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、各種のプログラムやデータを記憶する。
【００１９】
表示部Ｉ／Ｆ３１５は、表示部３１８と制御部３１０とを接続する。キーボードＩ／Ｆ３１６は、キーボード３１９と制御部３１０とを接続する。ＣＰＵ３１１は、キーボード３１９を介したユーザからの指示を認識し、認識した指示に応じて表示部３１８に表示する画面を遷移させる。
【００２０】
ネットワークＩ／Ｆ３１７は、制御部３１０をＬＡＮ１１０またはＷＡＮ１２０に接続する。ネットワークＩ／Ｆ３１７は、ＬＡＮ１１０上またはＷＡＮ１２０上の他の装置との間で各種情報を送受信する。
【００２１】
図４は、図１に示したＭＦＰ１０１におけるソフトウェア構成図である。
なお、ＭＦＰ１０１のＨＤＤ２１４に記憶されているプログラム（ソフトウェア）を、ＣＰＵ２１１がＲＡＭ２１３に読み出し、解析、実行することで、後述の処理が実行される。
図４において、拡張ソフト管理部４１０は、ＭＦＰ１０１上で拡張ソフトを動作させるためのソフトウェアプラットホームである。図４では、拡張ソフトとして５つの拡張ソフト４１１〜４１５が機能プロバイダとしてＭＦＰ１０１にインストールされている。なお、以下の説明において、特定の機能、例えばスキャン機能プロバイダが複数ある場合、それらを代表する用語（ＯＣＲプロバイダ、スキャンプロバイダ等）を用いて説明を行う場合がある。さらに、特定の機能を総称する場合は、機能プロバイダという用語を用いて説明する。
【００２２】
機能プロバイダは、拡張ソフトの一種であるが、アプリではない。アプリは単体で入力から出力までの一連の完結した処理を備えている。一方、単体の機能プロバイダは入力なら入力、出力なら出力といった特定の機能を提供する拡張ソフトを示すものであり、入力から出力までの一連の完結した処理を行うためには、複数の機能プロバイダを組み合わせる必要がある。
【００２３】
例えば、「スキャンしてプレビュー表示の後、送信する」という機能をユーザに提供する場合、アプリであれば「スキャン」、「プレビュー」、「送信」の３つの機能を１つのアプリで実現する。
一方、機能プロバイダの場合、「スキャン機能を実現する機能プロバイダ」、「プレビュー機能を実現する機能プロバイダ」、「送信機能を実現する機能プロバイダ」の３つの機能プロバイダが必要になる。さらに、それら３つの機能プロバイダを一連の処理として実行するためには、後述するワークフロー処理部４３０が必要になる。
【００２４】
また、アプリは、ＭＦＰ１０１が元々備えている機能（例えばコピー機能やファクス送信機能）を呼び出すためのメニュー画面に、それらの機能と横並びで表示されるようにアプリ自身を登録する。また、アプリは、メニュー画面からユーザの指示によって呼び出される。
一方、機能プロバイダはメニュー画面ではなく、後述する機能プロバイダ管理部４２０に、機能プロバイダ自身を登録する。機能プロバイダは、機能プロバイダ管理部４２０経由でワークフロー処理部４３０の指示によって呼び出される。なお、ワークフローを実行するためには、メニュー画面にワークフロー処理部４３０が後述のワークフロー定義ファイルに対応して表示するメニュー項目を用いる。
【００２５】
さらに、機能プロバイダは、機能プロバイダ管理部４２０が規定するルール（以降、機能プロバイダインターフェース）を満たすようにプログラミングされている。機能プロバイダインターフェースは、ソフトウェア間のやり取りを行う際のルールを決めたソフトウェアインターフェースである。
機能プロバイダインターフェースは、機能プロバイダが提供する機能の種類（以降、機能タイプ）ごとに定められている。機能プロバイダは、機能プロバイダインターフェースに基づいてワークフロー処理部４３０から呼び出される。
【００２６】
なお、１つの機能プロバイダは目的に応じて、複数種類のインターフェースを持つ場合がある。例えば、スキャン機能を実現する機能プロバイダであれば、「スキャン設定画面の表示」の目的のためと「スキャンジョブの実行」の目的のためといったように、目的別に複数種類のインターフェースを用意することができる。
【００２７】
また、複数種類の機能プロバイダをＭＦＰ１０１にインストールすることができる。異なる機能タイプの機能プロバイダを複数種類インストールしてもよいし、同じ機能タイプの機能プロバイダを複数種類インストールしてもよい。同じ機能タイプの機能プロバイダは同じ機能プロバイダインターフェースを持つため、拡張ソフトは、同じ機能タイプの機能プロバイダであれば、同じようにソフトウェア間のやり取りを行うことができる。
【００２８】
標準スキャンプロバイダ４１１と簡単スキャンプロバイダ４１２は、ともにスキャン機能を提供する機能プロバイダ（機能タイプ＝スキャン）である。機能タイプが「スキャン」の機能プロバイダを総称してスキャンプロバイダと呼ぶ。スキャンプロバイダは、機能タイプが「スキャン」の機能プロバイダのために定義された機能プロバイダインターフェース（スキャンプロバイダインターフェース）を実現する。標準スキャンプロバイダ４１１は、一般的なユーザ向けのスキャン設定画面を持つ。一方、簡単スキャンプロバイダ４１２は、ＭＦＰ１０１の操作に不慣れな初心者向けのスキャン設定画面を持つ。
【００２９】
組込ＯＣＲプロバイダ４１３とＷｅｂ  ＯＣＲプロバイダ４１４は、ともにＯＣＲ機能を提供する機能プロバイダ（機能タイプ＝ＯＣＲ）である。機能タイプが「ＯＣＲ」の機能プロバイダを総称してＯＣＲプロバイダと呼ぶ。ＯＣＲプロバイダは、機能タイプが「ＯＣＲ」の機能プロバイダのために定義された機能プロバイダインターフェース（ＯＣＲプロバイダインターフェース）を実現する。組込ＯＣＲプロバイダ４１３は、ＭＦＰ１０１上で文字認識処理を行うことでＯＣＲ機能を提供する。一方、Ｗｅｂ  ＯＣＲプロバイダ４１４は、外部のＷｅｂサーバ（例えばサーバ１０２）が提供する文字認識処理を、Ｗｅｂブラウザー４５０を介して呼び出すことでＯＣＲ機能を提供する。
【００３０】
標準送信プロバイダ４１５は、送信機能を提供する機能プロバイダ（機能タイプ＝ファイル送信）である。標準送信プロバイダ４１５は、機能タイプが「ファイル送信」の機能プロバイダのために定義された機能プロバイダインターフェース（ファイル送信プロバイダインターフェース）を実現する。
各機能プロバイダは、ＭＦＰ１０１に同じ機能タイプを持つ機能プロバイダが他に存在しなくても、自身の機能タイプ用に定義された機能プロバイダインターフェースを実現する。
以上で説明した標準スキャンプロバイダ４１１〜標準送信プロバイダ４１５の５つの機能プロバイダは一例であり、ＭＦＰ１０１には、拡張ソフトとして様々な機能プロバイダを追加・削除することが可能である。
【００３１】
機能プロバイダ管理部４２０は、ＭＦＰ１０１にインストールされている機能プロバイダを管理するソフトウェアである。機能プロバイダ管理部４２０は、機能プロバイダ登録部４２１、機能プロバイダ検索部４２２、機能プロバイダ情報テーブル４２３、機能プロバイダインターフェース定義４２４を持つ。
【００３２】
機能プロバイダ登録部４２１は、各機能プロバイダからの依頼を受けて、機能プロバイダ情報テーブル４２３に、各機能プロバイダの機能タイプや設定可能な値などの情報を登録する。各機能プロバイダはＭＦＰにインストールされ実行状態になった時に機能プロバイダ登録部４２１に対して自身の登録を行う。
【００３３】
機能プロバイダ検索部４２２は、後述するワークフロー処理部４３０から機能プロバイダの検索条件を受け取り、機能プロバイダ情報テーブル４２３の情報をもとに機能プロバイダを特定する。機能プロバイダ検索部４２２は、検索結果として機能プロバイダをひとつに特定するため、検索条件に一致する機能プロバイダが複数存在した場合は、最も優先順位の高い機能プロバイダを検索結果とする。機能プロバイダインターフェース定義４２４は、機能プロバイダインターフェースを定義している。
【００３４】
ワークフロー処理部４３０は、後述するワークフロー定義ファイル４４０に従って複数の機能プロバイダを組み合わせて一連の処理として実行する。なお本実施形態では、ワークフローとは複数の機能プロバイダを組み合わせた一連の処理を示すものとする。
【００３５】
ワークフロー定義ファイル４４０は、ワークフロー処理部４３０が呼び出す機能プロバイダの検索条件や、呼び出し順序、呼び出した機能プロバイダに適用する設定値など、機能プロバイダの呼び出しに関する情報を定義する。なお、図４ではワークフロー定義ファイルを例として１つ定義しているが、１つに限定するものではなく、ＭＦＰ１０１上に複数のワークフロー定義ファイルが存在してもよい。
【００３６】
図１３は、図４に示した機能プロバイダ情報テーブル４２３の一例を示す図である。
図１３において、機能プロバイダ情報テーブル４２３は、機能プロバイダを一意に特定する機能プロバイダＩＤ、機能プロバイダの名称、機能タイプ、機能プロバイダインターフェースなど、機能プロバイダに関する情報を保持する。
【００３７】
図１４は、図４に示した機能プロバイダインターフェース定義４２４の一例を示す図の例である。なお、後述する機能プロバイダインターフェース定義５４０も同様の構成である。本実施形態では機能プロバイダインターフェースはプログラムのソースコード形式で表現されているが、これに限定されるものではなく、他の形式であってもよい。
【００３８】
図１４において、１４０１はスキャンプロバイダインターフェースの定義で、「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」「ｄｏＳｃａｎ」という２つのインターフェースを定義している。スキャンプロバイダは、１４０１で定義している２つのインターフェースを必ず備えている。
【００３９】
「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」はスキャン設定画面を表示するためのインターフェースで、Ｐａｒａｍｅｔｅｒを受け取り、結果をｂｏｏｌｅａｎ（真偽値）で返す。ユーザがスキャン設定を確定するとｔｒｕｅ（真）を返し、ユーザがスキャン設定をキャンセルするとｆａｌｓｅ（偽）を返す。
Ｐａｒａｍｅｔｅｒは、インターフェースを呼び出す際の設定値で、ワークフロー定義ファイル４４０で定義される。「ｄｏＳｃａｎ」はスキャン実行のためのインターフェースで、Ｐａｒａｍｅｔｅｒを受け取り、結果をＤｏｃｕｍｅｎｔというデータ形式で返す。「ｄｏＳｃａｎ」は「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」でユーザが設定した値またはＰａｒａｍｅｔｅｒで指定された設定値でスキャンを実行する。
【００４０】
同様に、１４０２はＯＣＲプロバイダインターフェースの定義、１４０３はファイル送信プロバイダインターフェースの定義である。このように、機能プロバイダインターフェース定義では、各機能プロバイダが備えるインターフェース（名称、入力、出力）を定義している。
【００４１】
図５は、図１に示したＰＣ１０３におけるソフトウェア構成を示す図である。なお、ＰＣ１０３のＨＤＤ３１４に記憶されているプログラム（ソフトウェア）を、ＣＰＵ３１１がＲＡＭ３１３に読み出し、解析、実行することで、後述の処理が実行される。
【００４２】
図５において、画面制御部５１０は、フロー作成ツールの画面表示を制御する。ワークフロー定義ファイル作成部５２０は、ＭＦＰ１０１で使用するワークフロー定義ファイルを作成する。機能プロバイダＩ／Ｆ情報テーブル５３０は、各機能プロバイダが持つ機能プロバイダインターフェースに関する情報を格納したテーブルで、ＨＤＤ３１４に記憶されている。機能プロバイダインターフェース定義５４０は、ＭＦＰ１０１の機能プロバイダインターフェース定義４２４と同じ定義である。
【００４３】
図６は、図５に示した機能プロバイダＩ／Ｆ情報テーブル５３０の一例を示す図である。
図６において、機能プロバイダＩ／Ｆ情報テーブル５３０は、機能プロバイダの機能タイプＩＤ、機能タイプの名称、機能プロバイダインターフェース、設定インターフェース、実行インターフェースなど、機能プロバイダインターフェースに関する情報を保持する。設定インターフェースは機能プロバイダのもつ設定画面を呼び出すための機能プロバイダインターフェースである。実行インターフェースは機能プロバイダのもつ実行処理を呼び出すための機能プロバイダインターフェースである。
【００４４】
図６の例では、スキャンプロバイダと送信プロバイダは設定インターフェースと実行インターフェースを持っていて、ＯＣＲプロバイダは実行インターフェースのみを持っている旨を定義している。
【００４５】
図７は、図１に示したＰＣ１０２上で動作するフロー作成ツールが表示する画面の例を示す図である。
図７において、領域７１０は、機能プロバイダＩ／Ｆ情報テーブル５３０に定義されている機能プロバイダ（機能タイプ）の一覧を表示する領域である。なお、図７では個々の機能プロバイダは、ボタンとして表現されているが、別の形式で表現してもよい。
【００４６】
領域７２０は、ワークフローの流れを定義する領域である。領域７１０に表示されているボタンの中からワークフローに必要な機能プロバイダを並べることで、ワークフローの流れを定義する。図７では「スキャン」後に「ＯＣＲ」して「送信」するワークフローが定義されている。
【００４７】
領域７３０は、個々の機能プロバイダの設定を行う領域である。領域７２０に並べられた機能プロバイダのうち、選択中の機能プロバイダの設定画面が表示される。図７では例として送信プロバイダの設定画面が表示されている。領域７３０の中にはチェックボックス７３１が存在する。チェックボックス７３１は、対象の機能プロバイダをＭＦＰ１０１で実行する際に、ＭＦＰ１０１に設定画面を表示しないようにするための設定である。
チェックボックス７３１をＯＮにした機能プロバイダはワークフローの実行において、設定画面を表示せずに、領域７３０で設定した設定値で実行を行う。なお、チェックボックス７３１は、設定インターフェースを持つ機能プロバイダの場合のみ表示する。
テキストフィールド７４１は、ワークフロー名称を入力する領域である。ボタン７４２は、ワークフロー定義ファイルの生成を指示するためのボタンである。
【００４８】
図８は、図４に示したワークフロー定義ファイル４４０の第１の記述例を示す図である。本例は、フロー作成ツールで次のように設定した場合の例である。なお、図７の領域７２０における機能プロバイダの並びは「スキャン」、「ＯＣＲ」、「送信」の順である。
また、スキャンプロバイダと送信プロバイダの設定において、チェックボックス７３１はＯＦＦである。ＯＣＲプロバイダは設定インターフェースを持たないため、チェックボックス７３１は非表示である。
本実施形態ではワークフロー定義ファイルはＸＭＬ形式のファイルとして表現されているが、ＸＭＬ形式に限定されるものではなく、他の形式のファイルであってもよい。
【００４９】
Ｗｏｒｋｆｌｏｗタグ８１０は、以下の記述がワークフローの定義であることを示している。Ｗｏｒｋｆｌｏｗタグ８１０のｎａｍｅ属性は、ワークフロー名称を定義しており、図７のテキストフィールド７４１の入力を値として使用する。
【００５０】
ＦＰタグ８２０は、Ｗｏｒｋｆｌｏｗタグ８１０の子要素で、ワークフローで実行する機能プロバイダに関する情報を定義している。ＦＰタグ８２０のｎｏ属性は、ワークフローにおける機能プロバイダの並びを定義しており、値は図７の領域７２０で設定したワークフローの流れに沿って順番づけた値である。「ｎｏ＝"１"」は先頭の機能プロバイダであることを示している。ＦＰタグ８２０のｔｙｐｅ属性は、機能プロバイダの機能タイプを定義しており、「ｔｙｐｅ＝"ＳＣＡＮ"」はスキャンプロバイダであることを示している。
【００５１】
同様に、ＦＰタグ８３０でワークフローの２番目に並ぶ機能プロバイダがＯＣＲプロバイダであること、ＦＰタグ８４０でワークフローの３番目に並ぶ機能プロバイダが送信プロバイダであることを定義している。Ｃｏｎｄｉｔｉｏｎタグ８２１は、ＦＰタグ８２０の子要素で、スキャンプロバイダの検索条件を定義するためのものである。
【００５２】
Ａｃｔｉｏｎタグ８２２、８２３は、ＦＰタグ８２０の子要素であり、機能プロバイダインターフェースの呼び出しについての情報を定義している。Ａｃｔｉｏｎタグは、呼び出す際の設定であるＰａｒａｍｅｔｅｒタグや、「ｄｏＳｃａｎ」を実行した結果の出力を定義するＯｕｔｐｕｔタグを子要素として持つ。
【００５３】
Ａｃｔｉｏｎタグのｎｏ属性は、ワークフロー全体における機能プロバイダインターフェースの呼び出し順を定義している。また、Ａｃｔｉｏｎタグのｍｅｔｈｏｄ属性は、呼び出す機能プロバイダインターフェースを定義している。Ａｃｔｉｏｎタグ８２２は、ワークフロー全体の実行においてスキャンプロバイダの「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」インターフェースを１番目に呼び出す旨を定義している。
図８で定義しているＡｃｔｉｏｎタグをｎｏ順（実行順序）にしたがって並べると次のようになる。
１．Ａｃｔｉｏｎタグ８２２で定義したスキャンプロバイダの設定インターフェースを表示する。
２．Ａｃｔｉｏｎタグ８４１で定義した送信プロバイダの設定インターフェースを表示する。
３．Ａｃｔｉｏｎタグ８２３で定義したスキャンプロバイダの実行インターフェースを実行する。
４．Ａｃｔｉｏｎタグ８３１で定義したＯＣＲプロバイダの実行インターフェースを実行する。
５．Ａｃｔｉｏｎタグ８４２で定義した送信プロバイダの実行インターフェースを実行する。
このように、機能プロバイダの並びとは別に、設定インターフェースが実行インターフェースよりも先に呼び出されるようにワークフロー定義ファイル４４０が定義されている。
【００５４】
図９は、図４に示したワークフロー定義ファイル４４０の第２の記述例を示す図である。本例は、フロー作成ツールで次のように設定した場合の例である。図７の領域７２０における機能プロバイダの並びは「スキャン」「ＯＣＲ」「送信」の順である。また、スキャンプロバイダの設定においてチェックボックス７３１はＯＮ、送信プロバイダの設定においてチェックボックス７３１はＯＦＦである。
Ｗｏｒｋｆｌｏｗタグ９１０、ＦＰタグ９２０、９３０、９４０は図８のＷｏｒｋｆｌｏｗタグ８１０、ＦＰタグ８２０、８３０、８４０と同じ定義のため、説明を省略する。
図９で定義しているＡｃｔｉｏｎタグをｎｏ順に並べると次のようになる。
１．Ａｃｔｉｏｎタグ９４１で定義した送信プロバイダの設定インターフェースを表示する。
２．Ａｃｔｉｏｎタグ９２１で定義したスキャンプロバイダの実行インターフェースを実行する。
３．Ａｃｔｉｏｎタグ９３１で定義したＯＣＲプロバイダの実行インターフェースを実行する。
４．Ａｃｔｉｏｎタグ９４２で定義した送信プロバイダの実行インターフェースを実行する。
なお、スキャンプロバイダの設定においてチェックボックス７３１がＯＮになっているため、スキャンプロバイダの設定インターフェースは、ワークフロー定義ファイルには定義されていない。
【００５５】
図１０は、図４に示したワークフロー定義ファイル４４０の第３の記述例を示す図である。本例は、フロー作成ツールで次のように設定した場合の例である。図７の領域７２０における機能プロバイダの並びは「スキャン」、「ＯＣＲ」、「送信」の順である。また、スキャンプロバイダと送信プロバイダの設定において、チェックボックス７３１はＯＦＦである。加えて、送信プロバイダの設定において、ＯＣＲプロバイダの実行結果を送信ファイル名として使用するという設定が行われている。
Ｗｏｒｋｆｌｏｗタグ１０１０、ＦＰタグ１０２０、１０３０、１０４０は図８のＷｏｒｋｆｌｏｗタグ８１０、ＦＰタグ８２０、８３０、８４０と同じ定義のため、説明を省略する。
【００５６】
Ｏｕｔｐｕｔタグ１０３２は、Ａｃｔｉｏｎタグ１０３１の子要素であり、「ｄｏＯＣＲ」を実行した結果の出力を定義している。Ｏｕｔｐｕｔタグ１０３２は、ｔｙｐｅ属性で出力形式が「Ｓｔｒｉｎｇ（文字列）」である旨を、ｉｄ属性で出力データを一意に特定するＩＤが「ｂａｒ」である旨を定義している。  
【００５７】
Ｉｎｐｕｔタグ１０４２は、Ａｃｔｉｏｎタグ１０４１の子要素であり、送信プロバイダの「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」の入力に関する定義として、「Ｓｔｒｉｎｇ」形式のデータをＩＤが「ｂａｒ」のデータから受け取ることを表している。ＩＤが「ｂａｒ」のデータは、Ｏｕｔｐｕｔタグ１０３２で定義した「ｄｏＯＣＲ」の出力データである。つまり、送信プロバイダの設定インターフェース呼び出しは、ＯＣＲプロバイダの実行結果をＳｔｒｉｎｇ形式で受け取るということを定義している。
【００５８】
Ｐｒｏｐｅｒｔｙタグ１０４３は、Ｐａｒａｍｅｔｅｒタグの子要素で、送信プロバイダの「ｓｈｏｗＳｅｔｔｉｎｇＵＩ」を呼び出す際のパラメータの一項目が定義されている。「ＦＩＬＥ＿ＮＡＭＥ」は送信ファイル名に対応するパラメータで、値として「ＡＢＣ＿％ｂａｒ％」を使用する。ここで「％ｂａｒ％」は、機能プロバイダインターフェース呼び出し時に、ＩＤ「ｂａｒ」のデータに置換されるという定義である。つまり、Ｐｒｏｐｅｒｔｙタグ１０４３は、送信プロバイダの設定画面を表示する際に、送信ファイル名として、「ＡＢＣ＿」の後にＯＣＲプロバイダの結果を足した文字列をプリセットするということを定義している。なお、設定画面を表示する工程が複数ある場合、拡張プロバイダが実行する特定の工程の実行順序に従ってそれぞれの設定画面を呼出して表示するように工程の順序を決定する（図１０参照）。
図１０で定義しているＡｃｔｉｏｎタグをｎｏ順（各工程を実行順序）に並べると次のようになる。
１．Ａｃｔｉｏｎタグ１０２１で定義したスキャンプロバイダの設定インターフェースを表示する。
２．Ａｃｔｉｏｎタグ１０２２で定義したスキャンプロバイダの実行インターフェースを実行する。
３．Ａｃｔｉｏｎタグ１０３１で定義したＯＣＲプロバイダの実行インターフェースを実行する。
４．Ａｃｔｉｏｎタグ１０４１で定義した送信プロバイダの設定インターフェースを表示する。
５．Ａｃｔｉｏｎタグ１０４４で定義した送信プロバイダの実行インターフェースを実行する。
【００５９】
Ａｃｔｉｏｎタグのｎｏ属性は、各機能プロバイダインターフェースの呼び出しに依存関係がある場合、例えば後続する拡張プロバイダが設定画面を表示する依存関係を守るように定義される。図１０の例では、送信プロバイダの設定インターフェースを呼び出すためには、ＯＣＲプロバイダの実行インターフェースの呼び出し結果が必要になるため、その依存関係を守るようにｎｏ属性が定義されている。
【００６０】
〔ワークフロー定義ファイルを作成する処理〕
図１１は、本実施形態を示す情報処理装置におけるデータ処理例を示すフローチャートである。本例は、フロー作成ツールで各機能プロバイダに対応づけられた設定場面を表示する工程を各機能プロバイダが実行する特定の機能に対応づけられた工程よりも先行して実行させるワークフロー定義ファイルを作成する処理例である。なお、ＰＣ１０３のＨＤＤ３１４に記憶されているプログラムを、ＣＰＵ３１１がＲＡＭ３１３に読み出し、解析、実行することで、図１１の各ステップが実行される。
【００６１】
Ｓ１１０１で、画面制御部５１０はワークフロー定義ファイル作成の指示を受け取る。Ｓ１１０２で、ワークフロー定義ファイル作成部５２０は、ワークフローのＩＤや名称といった基本情報をワークフロー定義ファイルに出力する。Ｓ１１０３で、ワークフロー定義ファイル作成部５２０は、フロー生成ツールの領域７２０にワークフローとして並べられた順に機能プロバイダの情報を１つ取得する。ここで取得する情報は、機能プロバイダＩ／Ｆ情報テーブル５３０に定義されている情報と、機能プロバイダのパラメータ設定（領域７３０の設定値）である。
【００６２】
Ｓ１１０４で、ワークフロー定義ファイル作成部５２０は、Ｓ１１０３で機能プロバイダの情報が取得できたか否かを判定して処理を分岐する。取得すべき機能プロバイダがあり、情報が取得できたらＳ１１０５へ進み、これ以上取得すべき機能プロバイダがなく、情報が取得できなかったらＳ１１０９へ進む。
【００６３】
Ｓ１１０５で、ワークフロー定義ファイル作成部５２０は、機能プロバイダが設定インターフェースを持っているか否かを判定して処理を分岐する。設定インターフェースを持っていればＳ１１０６へ進み、設定インターフェースを持っていなければＳ１１０３へ戻る。
【００６４】
Ｓ１１０６で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの「設定画面を表示しない」設定（チェックボックス７３１）がＯＮであるか否かを判定して処理を分岐する。「設定画面を表示しない」設定がＯＮであればＳ１１０３へ戻り、「設定画面を表示しない」設定がＯＦＦであればＳ１１０７へ進む。Ｓ１１０７で、ワークフロー定義ファイル作成部５２０は、機能プロバイダのパラメータ設定（領域７３０の設定値）において、先行する機能プロバイダの結果を参照する設定があるか否かを判定して処理を分岐する。
先行する機能プロバイダの結果を参照する設定があればＳ１１０３へ戻り、先行する機能プロバイダの結果を参照する設定がなければＳ１１０８へ進む。先行する機能プロバイダの結果を参照する設定の例としては、図１０で説明した、送信プロバイダの設定において、ＯＣＲプロバイダの実行結果を送信ファイル名として使用するという設定があげられる。
【００６５】
Ｓ１１０８で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの設定インターフェースにワークフロー実行時の呼び出し順（Ａｃｔｉｏｎタグのｎｏ属性）を振る。呼び出し順は１から順にカウントアップする。Ｓ１１０８の処理を行ったら、Ｓ１１０３へ戻る。
【００６６】
Ｓ１１０９で、ワークフロー定義ファイル作成部５２０は、情報を取得すべき機能プロバイダをワークフローの先頭の機能プロバイダに戻す。Ｓ１１１０で、ワークフロー定義ファイル作成部５２０は、フロー生成ツールの領域７２０にワークフローとして並べられた順に機能プロバイダの情報を１つ取得する。ここで取得する情報は、Ｓ１１０３と同様、機能プロバイダＩ／Ｆ情報テーブル５３０に定義されている情報と、機能プロバイダのパラメータ設定（領域７３０の設定値）である。
【００６７】
Ｓ１１１１で、ワークフロー定義ファイル作成部５２０は、Ｓ１１１０で機能プロバイダの情報が取得できたか否かを判断して処理を分岐する。取得すべき機能プロバイダがあり、情報が取得できたらＳ１１１２へ進み、これ以上取得すべき機能プロバイダがなく、情報が取得できなかったら処理を終了する。
【００６８】
Ｓ１１１２で、ワークフロー定義ファイル作成部５２０は、機能プロバイダのワークフローにおける並び順および機能タイプＩＤを含んだ機能プロバイダの定義をＳ１１０２で出力したワークフロー定義ファイルに追記する。Ｓ１１１３で、ワークフロー定義ファイル作成部５２０は、機能プロバイダが設定インターフェースを持っているか否かを判定して処理を分岐する。設定インターフェースを持っていればＳ１１１４へ進み、設定インターフェースを持っていなければＳ１１１８へ進む。
【００６９】
Ｓ１１１４で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの「設定画面を表示しない」設定（チェックボックス７３１）がＯＮであるか否かを判定して処理を分岐する。「設定画面を表示しない」設定がＯＮであればＳ１１１８へ進み、「設定画面を表示しない」設定がＯＦＦであればＳ１１１５へ進む。Ｓ１１１５で、ワークフロー定義ファイル作成部５２０は、機能プロバイダのパラメータ設定（領域７３０の設定値）において、先行する機能プロバイダの結果を参照する設定があるか否かを判定して処理を分岐する。先行する機能プロバイダの結果を参照する設定があればＳ１１１６へ進み、先行する機能プロバイダの結果を参照する設定がなければＳ１１１７へ進む。
【００７０】
Ｓ１１１６で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの設定インターフェースにワークフロー実行時の呼び出し順（Ａｃｔｉｏｎタグのｎｏ属性）を振る。呼び出し順はこれまでのステップで振った順番の続きから振る。
【００７１】
Ｓ１１１７で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの設定インターフェースに関する定義をワークフロー定義ファイルに追記する。設定インターフェースに関する定義は、ワークフロー実行時に必要となる定義で、ワークフロー実行時の呼び出し順、呼び出す設定インターフェース、呼び出すときに設定インターフェースに渡すパラメータなどが含まれる。
【００７２】
Ｓ１１１８で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの実行インターフェースにワークフロー実行時の呼び出し順（Ａｃｔｉｏｎタグのｎｏ属性）を振る。呼び出し順はこれまでのステップで振った順番の続きから振る。
【００７３】
Ｓ１１１９で、ワークフロー定義ファイル作成部５２０は、機能プロバイダの実行インターフェースに関する定義をワークフロー定義ファイルに追記する。実行インターフェースに関する定義は、ワークフロー実行時に必要となる定義で、ワークフロー実行時の呼び出し順、呼び出す実行インターフェース、呼び出すときに実行インターフェースに渡すパラメータなどが含まれる。Ｓ１１１９の処理を行ったら、Ｓ１１１０へ戻る。
以上のステップを実行することで、フロー作成ツールはワークフロー定義ファイルを作成する。
【００７４】
図１２は、本実施形態におけるＭＦＰ１０１上のワークフローの実行の流れの一例を示したシーケンス図である。ワークフロー定義ファイル４４０には図８で説明した内容が記述されているものとして、以下のステップの説明を行う。
Ｓ１２０１において、ユーザからのワークフロー実行指示を、ワークフロー処理部４３０が受け取る。Ｓ１２０２において、実行指示に対応するワークフロー定義ファイル４４０を読み込む。
【００７５】
Ｓ１２０３において、ワークフロー処理部４３０は、機能プロバイダ管理部４２０に対して、ワークフロー定義ファイル４４０に記載されている機能プロバイダの検索を指示する。ワークフロー定義ファイル４４０には、「機能タイプがスキャンの機能プロバイダ」「機能タイプがＯＣＲの機能プロバイダ」そして「機能タイプが送信の機能プロバイダ」が記載されているため、その３つの検索条件を指定して指示する。
【００７６】
Ｓ１２０４において、機能プロバイダ管理部４２０は、機能プロバイダ情報テーブル４２３をもとに検索条件に一致する機能プロバイダを抽出する。検索条件に一致するスキャンプロバイダが複数存在した場合は、最も優先順位の高いスキャンプロバイダを検索結果とする。本例では、標準スキャンプロバイダ４１１、ＷｅｂＯＣＲプロバイダ４１４そして標準送信プロバイダ４１５が抽出されるものとする。Ｓ１２０５において、機能プロバイダ管理部４２０は、機能プロバイダの検索結果をワークフロー処理部４３０に通知する。
【００７７】
Ｓ１２０６において、ワークフロー処理部４３０は、ワークフロー定義ファイル４４０に定義されている呼び出し順（Ａｃｔｉｏｎタグのｎｏ属性）に従って、標準スキャンプロバイダ４１１の設定インターフェースを呼び出す。
【００７８】
Ｓ１２０７において、ワークフロー処理部４３０から設定インターフェースの呼び出しを受けた標準スキャンプロバイダ４１１は、指示に従ってスキャン設定画面を表示する。Ｓ１２０８において、標準スキャンプロバイダ４１１は、スキャン設定の結果をワークフロー処理部４３０に通知する。
【００７９】
Ｓ１２０９において、ワークフロー処理部４３０は、ワークフロー定義ファイル４４０に定義されている呼び出し順に従って、標準送信プロバイダ４１５の設定インターフェースを呼び出す。
【００８０】
Ｓ１２１０において、ワークフロー処理部４３０から設定インターフェースの呼び出しを受けた標準送信プロバイダ４１５は、指示に従って送信設定画面を表示する。Ｓ１２１１において、標準送信プロバイダ４１５は、送信設定の結果をワークフロー処理部４３０に通知する。
【００８１】
Ｓ１２１２において、ワークフロー処理部４３０は、ワークフロー定義ファイル４４０に定義されている呼び出し順に従って、標準スキャンプロバイダ４１１の実行インターフェースを呼び出す。
【００８２】
Ｓ１２１３において、ワークフロー処理部４３０から実行インターフェースの呼び出しを受けた標準スキャンプロバイダ４１１は、指示に従ってスキャン処理を実行する。Ｓ１２１４において、標準スキャンプロバイダ４１１は、スキャン処理の結果をワークフロー処理部４３０に通知する。
【００８３】
Ｓ１２１５において、ワークフロー処理部４３０は、ワークフロー定義ファイル４４０に定義されている呼出し順に従って、ＷｅｂＯＣＲプロバイダ４１４の実行インターフェースを呼び出す。
【００８４】
Ｓ１２１６において、ワークフロー処理部４３０から実行インターフェースの呼び出しを受けたＷｅｂＯＣＲプロバイダ４１６は、指示に従ってＯＣＲ処理を実行する。Ｓ１２１７において、ＷｅｂＯＣＲプロバイダ４１６は、ＯＣＲ処理の結果をワークフロー処理部４３０に通知する。
【００８５】
Ｓ１２１８において、ワークフロー処理部４３０は、ワークフロー定義ファイル４４０に定義されている呼出し順に従って、標準送信プロバイダ４１５の実行インターフェースを呼び出す。
【００８６】
Ｓ１２１９において、ワークフロー処理部４３０から実行インターフェースの呼び出しを受けた標準送信プロバイダ４１５は、指示に従って送信処理を実行する。Ｓ１２２０において、標準送信プロバイダ４１５は、送信処理の結果をワークフロー処理部４３０に通知する。
【００８７】
以上、説明した手順により、複数の拡張ソフトを組み合わせたワークフローを作成する際に、ワークフローを作成するユーザが設定画面の呼び出し順を意識せずとも、各拡張ソフトで用意された設定画面をワークフローの先頭でまとめて表示するようにワークフローを定義することが可能になる。また、ある拡張ソフトの設定画面を表示するために、ワークフローで先行する拡張ソフトの結果が必要といったような拡張ソフト間の依存関係がある場合に、ユーザが依存関係を考慮せずとも、依存関係に応じた呼出し順で設定画面を表示するようにワークフローを定義することが可能になる。
【００８８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８９】
１０１  ＭＦＰ
１０２  サーバ
１０３  ＰＣ
【図１】
0006762727.tif 000002
【図２】
0006762727.tif 000003
【図３】
0006762727.tif 000004
【図４】
0006762727.tif 000005
【図５】
0006762727.tif 000006
【図６】
0006762727.tif 000007
【図７】
0006762727.tif 000008
【図８】
0006762727.tif 000009
【図９】
0006762727.tif 000010
【図１０】
0006762727.tif 000011
【図１１】
0006762727.tif 000012
【図１２】
0006762727.tif 000013
【図１３】
0006762727.tif 000014
【図１４】
0006762727.tif 000015