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