(57)【要約】【課題】  画像形成装置とサーバ装置のワークフローを連携させる仕組みが乏しかった。【解決手段】  コントローラ部２０８は、フローの定義情報に従って、画面遷移の表示を制御する。  ＭＦＰ１００の２０２にＵＩを表示して、フローの定義情報を編集するようにしてもよい。  コントローラ部２０８は、フロー定義情報に従い、ＭＦＰ１００上で実行可能なアプリケーションのユーザインタフェースとして表示するコントロールの表示をする。【選択図】  図１３
2008158632.tif 000002
【特許請求の範囲】
【請求項１】
特定のワークフローを実行するサーバ装置と通信する画像形成装置において、
前記特定のワークフローの工程において定義されたフローの定義情報をサーバ装置から受信する受信手段と、
前記受信手段が受信したフローの定義情報に従って前記画像形成装置の画面の表示を制御する制御手段と、
前記画像形成装置におけるフローの完了をサーバ装置に対して通知する手段と、
を備える画像形成装置。
【請求項２】
前記制御手段は、フローの定義情報に従って、画面遷移の表示を制御する請求項１に記載の画像形成装置。
【請求項３】
フローの定義情報を編集する編集手段を設けた請求項１に記載の画像形成装置。
【請求項４】
前記制御手段は、フロー定義情報に従い、前記画像形成装置上で実行可能なアプリケーションのユーザインタフェースとして表示するコントロールの表示を制御する請求項１に記載の画像形成装置。
【請求項５】
前記制御手段は、前記画像形成装置においてサブフロー用の画面を表示し、当該画面を介した特定の入力があった場合に、サーバ装置に対してフローの定義情報に対応するサブフローの完了を通知し、画像形成装置の特定の機能を用いて特定のサブフローの定義情報により定義される処理を実行する請求項１に記載の画像形成装置。
【請求項６】
前記フローの定義情報には、データを印刷する画面、当該画面を介した指示に基づく印刷の完了に応じてファックス送信をするための画面を表示するための情報を含み、ファックス送信が完了するのに応答して、前記通知手段は完了を通知する請求項１に記載の画像形成装置。
【請求項７】
前記フローの定義情報は、印刷設定を指示する画面、当該画面を介して設定されたデータの印刷プレビュー画面、プレビューされた画像をサーバ装置に対して送信する指示部の画面を表示するための情報を含む請求項１に記載の画像形成装置。
【請求項８】
特定のワークフローを実行するサーバ装置と通信する画像形成装置におけるワークフロー制御方法おいて、
前記特定のワークフローの工程において定義されたフローの定義情報をサーバ装置から受信する受信工程と、
前記受信工程が受信したフローの定義情報に従って前記画像形成装置の画面の表示を制御する制御工程と、
前記画像形成装置におけるフローの完了をサーバ装置に対して通知する工程と、
を備える制御方法。
【請求項９】
前記制御工程は、フローの定義情報に従って、画面遷移の表示を制御する請求項８に記載の方法。
【請求項１０】
フローの定義情報を編集する編集工程を設けた請求項８に記載の方法。
【請求項１１】
前記制御工程は、請求項１のフロー定義情報に従い、前記画像形成装置上で実行可能なアプリケーションのユーザインタフェースとして表示するコントロールの表示を制御する請求項８に記載の方法。
【請求項１２】
前記制御工程は、前記画像形成装置においてサブフロー用の画面を表示し、当該画面を介した特定の入力があった場合に、サーバ装置に対して定義情報に対応するサブフローの完了を通知し、画像形成装置の特定の機能を用いて特定のフローの定義情報により定義される処理を実行する請求項８に記載の方法。
【請求項１３】
前記フローの定義情報には、データを印刷する画面、当該画面を介した指示に基づく印刷の完了に応じてファックス送信をするための画面を表示するための情報を含み、ファックス送信が完了するのに応答して、前記通知工程は完了を通知する請求項８に記載の方法。
【請求項１４】
前記フローの定義情報には、印刷設定を指示する画面、当該画面を介して設定されたデータの印刷プレビュー画面、プレビューされた画像をサーバ装置に対して送信する指示部の画面を表示するための情報を含む請求項８に記載の方法。
【請求項１５】
請求項８乃至１４のいずれか１項に記載の方法をコンピュータに実行させる制御プログラム。
【請求項１６】
請求項１５に記載したプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、当該装置と通信するサーバ装置を含むシステムに関する。例えば、ワークフローにより画像形成装置の機能を活用する仕組みに関する。
【背景技術】
【０００２】
近年、業務処理の自動化、業務処理手順の明確化、業務処理結果・履歴の保存・監視・閲覧などを目的として、多種のワークフローシステムが提案・実用化されつつある。このシステムは、アプリケーションサーバ上にワークフローシステムを構築し、ユーザはＰＣ上のクライアントを介して、ワークフローシステム上で業務処理を行うものもある。
【０００３】
一方、ＭＦＰには、Ｊａｖａ（登録商標）環境に代表されるようなアプリケーション実行環境が提供されるようになってきている。その環境上で動作するプログラムを開発すれば、ＭＦＰの提供する機能を利用したアプリケーションが作成可能となっている。例えば、ＭＦＰの提供機能であるスキャン、プリント、ファックスなどの機能を活用したアプリケーションが作成可能である。また、ネットワークを介してサーバと通信して、システム連携するアプリケーションなども作成可能である。
【０００４】
特開２００６−０５３８９１の文献によれば、集中コピー室および印刷センターのオペレータの作業工程を管理するワークフローシステムに対し、ＭＦＰの操作部を用いて処理を進めることができるシステムが提案されている。この提案では、ワークフローの１つの工程ごとに、ＭＦＰの１つのジョブ（コピージョブ、スキャンジョブ、プリントジョブ、製本加工ジョブなど）が結び付けられている。これはＰＯＤ（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ）ワークフローにおける特徴で、ＭＦＰで行う作業を１つ１つワークフローシステムで進捗管理するのに適している。
【特許文献１】特開２００６−０５３８９１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述の先行技術では、ワークフローの１つの工程がＭＦＰの１つのジョブに結びついている。このため、ＭＦＰの操作部画面で表現できるのは、ある１つのジョブの処理画面にしか過ぎない。また、表現力が少ないために複数ステップの操作を伴うような複雑な操作フローを誘導するような操作画面をユーザに提供できない。そのため、次のような課題が存在する。
【０００６】
第一の課題は、サーバ装置で提供されるワークフローシステムと協働して、画像形成装置であるＭＦＰの複数の機能を利用した作業を実現できないことである。例えば、１つの工程内で、サブフローを起動して文書をプリントして、そのプリント結果をファックスするといった場合である。
【０００７】
２つ目の課題は、サーバ装置で提供されるワークフローシステムと協働して、ＭＦＰの画面遷移を設定できないことである。例えば、１つの工程内で、サブフローを起動して、スキャンの処理を行うといった場合を仮定する。あるユーザは、スキャン指示画面、プレビュー画面、送信完了画面といった画面遷移を要望するかもしれないが、他のユーザは、スキャン指示画面、送信完了画面といった画面遷移を要望するかもしれない。ユーザの要望ごとに、ＭＦＰのアプリケーションを作成し直すのは、手間とコストがかかるため望ましくない。
【課題を解決するための手段】
【０００８】
一例として、特定のワークフローを実行するサーバ装置と通信する画像形成装置におけるワークフロー制御方法おいて、前記特定のワークフローの工程において定義されたフローの定義情報をサーバ装置から受信する受信工程と、前記受信工程が受信したフローの定義情報に従って前記画像形成装置の画面の表示を制御する制御工程と、前記画像形成装置における前記フローの完了をサーバ装置に対して通知する工程と、を備える制御方法が開示される。
【発明の効果】
【０００９】
サーバ装置で提供されるワークフローシステムと連携して画像形成装置の機能を利用した作業を実現する仕組みを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を詳細に説明する。
【００１１】
図１は、実施例におけるシステム構成の一例を示す概略図である。
【００１２】
図１において、１００はマルチファンクション機器（以下、ＭＦＰ）である。１０１は機器間の通信を仲介するネットワークである。１０２はアプリケーションサーバなどとして利用されるサーバコンピュータである。１０３はクライアントなどとして利用されるパーソナルコンピュータ（以下、ＰＣ）である。１０４はイントラネット／インターネットなどに接続する場合に利用されるゲートウェイ装置である。なお、ここで記述した各機器がネットワークのどのセグメントに配置されているかは限定しない。任意の配置形態であっても、機器間の通信が可能であれば本システムは実施可能である。
【００１３】
図２は、図１に示すＭＦＰ１００の内部構成の一例を示す図である。２００が原稿自動送り部（以下、フィーダ）である。２０１が原稿のスキャナ部である。原稿をスキャナで読み込んで、イメージデータ又は特定のページ記述言語化を行う。そしてＨＤＤに記憶する。２０２がユーザインタフェース（以下、ＵＩ）部である。ＭＦＰ１００の機能を操作すると共に、ＭＦＰ１００にインストールされているアプリケーションの操作をする。２０３が給紙部である。紙を給紙する。給紙された紙にトナーを定着させる機能を持つのが２０４である。２０４は定着部である。２０５が排紙部である。２０６がフィニッシング装置である。２０７が排紙トレイである。
【００１４】
コントローラ部２０８は、定着部、排紙部、フィニッシング部、スキャナ部を統括的に制御する。コントローラ部２０８は、ネットワークインタフェース２１０の受信も制御する。ＮＥＴ２０００はネットワーク通信路である。図１の１０１に対応する。また、メモリ部２０９にはアプリケーションを含む各種プログラムが格納され、コントローラ部２０８により読み出し実行される。また、画面遷移情報を含むフローの定義情報も記憶可能である。メモリ部２０９は、後述する図４のようなメモリマップになっている。
【００１５】
図３は、図１のアプリケーションサーバ１０２、クライアント１０３の情報処理機能の論理構成の一例を示す図である。ここでは、サーバコンピュータ１０２、ＰＣ１０３の情報処理機能の論理構成を示している。３００が操作者に対しユーザインタフェースを提供するユーザインタフェース部である。３０１がネットワークを介して外部機器と通信を行うネットワークインタフェース部である。３０２が制御プログラムを実行するＣＰＵ、３０３が組込済みプログラムおよびデータが記録されているＲＯＭである。３０４が一時メモリ領域であるＲＡＭである。３０５が大容量記憶領域のＨＤＤである。各部は入出力インタフェース３０６を介して接続されている。
【００１６】
アプリケーションサーバ１０２は、フローの定義情報の一例である画面遷移情報などを、ＨＤＤ３０５に記憶する。必要に応じて、ＣＰＵ３０２を用いてＨＤＤに記憶された情報をネットワークインタフェース部を介してＭＦＰ１００に送信する。ＣＰＵ３０２はプログラムを実行する。ＨＤＤ３０２には、７０２乃至７０６が記憶されＣＰＵより読み出し実行される。もちろんこれらは、別々のコンピュータ（図示省略）に記憶され統括制御されてもよい。
【００１７】
図４は、ＭＦＰ１００においてアプリケーションプログラムを実行可能なソフトウェア構成を示している。４０１はＭＦＰおよびＳＦＰを制御する実行環境の一例である。一般的にはＭＦＰおよびＳＦＰの各種機能をリアルタイムに制御可能なリアルタイムＯＳの各モジュール、或いは、ライブラリ群である。前記ライブラリ群により、ＣＰＵに命令してクリティカルにＭＦＰおよびＳＦＰのオプション装置、拡張カードを含む各機能を制御することが可能である。そして、その上位で動作するアプリケーションに対して、インターフェース・コマンドを提供するモジュール群により実現されるものである。４０２は実行環境４０１上で動作するコントローラ制御部である。コントローラ制御部４０２は、ＭＦＰのスキャニング部、ＭＦＰおよびＳＦＰのプリンタ部、ＰＤＬ処理部などのＭＦＰ各部を制御するモジュールにより構成されるものである。４０３は特定のアプリケーションを実行するために最適な実行環境であり、例えば、Ｊａｖａ（登録商標）の仮想マシンなどにより実現されるものである。４０４は実行環境４０３が使用する資源を管理するリソース管理部であり、ＯＳ４０１上で動作する。リソース管理部４０４は、実行環境である仮想マシン４０３自身、後述のフレームワーク４０５、或いはＯＳ４０１上の全アプリケーションプログラムがメモリ等のリソース資源を使用する際、予め定められた以上の資源が使用できないように管理するものである。
【００１８】
４０５は仮想マシン４０３上で実行されるアプリケーションのためのフレームワークであり、４０６はフレームワーク４０５が提供するアプリケーション・プログラミング・インターフェース（以下、ＡＰＩ）である。４０７、４０８、４０９はフレームワーク４０５上で実行されるアプリケーションである。あらかじめ共通で必要なサービスや、よく利用される機能モジュール、コントローラ制御部４０２にアクセスしてＭＦＰの各機能を制御するために必要なライブラリ群などを、フレームワーク４０５にあらかじめ用意しておく。これにより、４０６のＡＰＩを利用して、４０７などのアプリケーションを効率よく開発、実行することが可能である。アプリケーションＡは、例えば、ブラウザ機能を持つ。若しくは、サーバとの通信機能を司る。図１３の情報を解釈表示し、図１４−１６の画面遷移の制御も行う。さらには、アプリケーションＡのユーザインタフェースから入力される各種指示（ファックス送信、印刷、ファイルのサーバへの送信）を検知する。そうすると、ＡＰＩとフレームワークを用いて、コントローラ制御部を呼び出す。これにより、ファックス送信、印刷、ファイルのサーバへの送信に対応したＡＰＩが呼び出されＯＳを必要に応じて制御する。これにより、ＭＦＰ１００がファックス送信、印刷、ファイルのサーバへの送信を行う。
【００１９】
図５は、４０７などのアプリケーションのＵＩ部２０２での表現例である。５００がＵＩ部の画面として使用される領域の全体である。５０１がアプリケーションを切り替えるボタンコントロールである。５０２が全てのアプリケーションが１画面内に表示しきれない場合にスクロール可能とするボタンコントロールである。５０３がアプリケーションが使用可能なパネルコントロールの領域である。５０４、５０５、５０６、５０７、５０８、５０９、５１０などは、アプリケーションで使用可能な各種コントロールの例である。ここで例示したアプリケーションは、アプレットなどに代表されるＵＩを伴う形態である。しかしながら、フレームワーク４０５で実行可能なアプリケーションとしてはこれに限られるものではない。サーブレットのようにＷｅｂインタフェースを提供可能な形態、サービスなどのようにバックグラウンドで処理を継続する形態など、様々なアプリケーション実行形態が存在し得る。ここでは、商品カタログというカテゴリを選択されると、選択肢が５０６に表示されている例が示されている。５０８は画像形成装置に対してアプリケーションから印刷設定を入力するための入力部である。５０９も部数を入力できる。５０７は、５０６にてＤＩＧＩＴＡＬ６００と選択されたカタログのイメージデータのプレビューを表示している。５１０はプリント指示部である。５１０が押下されると、選択されたＤＩＧＩＴＡＬ６００をいうファイルを画像形成して印刷出力する。
【００２０】
図６は、ワークフローの動作を示す説明図である。６０１は、ワークフローシステムで処理する処理内容・処理手順の定義情報であるフロー定義である。ワークフローシステムは、処理の開始から終了まで各工程の実行を管理する。ユーザはワークフローを適用する業務に合わせて、フロー定義を事前に設計しておく。６０３は、フロー定義６０１がワークフローシステムで実行された際の実行時インスタンスである。工程が進むごとに、工程ごとに実行時インスタンスが生成される。この工程ごとの実行時インスタンスは、ワークアイテムと呼ばれる。例えば、フロー定義６０１の工程２に対応する「申請」という工程６０２は、実行時にはワークアイテム６０４として生成される。
【００２１】
図７は、ワークフローシステムの構成例を示す図である。この構成例では、アプリケーションサーバ１０２上に、ワークフロー管理モジュール７０３、データ管理モジュール７０４が配置されている。図１と図７の１０２は対応する。ワークフロー管理モジュール７０３は、ワークフローの実行に関する定義情報、実行時情報、履歴情報などを処理する。データ管理モジュール７０４は、ワークフローで処理される各種業務データを処理する。アプリケーションサーバ１０２は、データベースシステム７０５と接続可能で、ワークフローシステムで使用する前記ワークフローの実行に関する各種情報や各種業務データ・データ管理情報をデータベースに格納でき、必要なとき検索・更新・削除などができる。また、同様にファイルシステム７０６を利用して、各種データとして取り扱うファイル実体の操作、保管、編集などが可能である。この構成例では、Ｗｅｂシステムとして構成されており、クライアントＰＣ１０３がブラウザ７０１などを利用して、ネットワーク１０１を介して、アプリケーションサーバ１０２にアクセスし、ワークフローシステムの各種機能を利用可能である。また、一般的にはＷｅｂリクエストの振り分けなど、用途に応じて、Ｗｅｂサーバ７０２を配置することも可能である。また同様に、ＭＦＰ１００からもネットワーク１０１を介して、アプリケーションサーバ１０２にアクセスし、ワークフローシステムの各種機能を利用可能である。７０５には、サブフローの定義情報も格納できる。
【００２２】
図８は、ワークフローシステムの構成例を示す図である。フロー定義６０１を作成するフロー定義エディタの構成例を説明する。８０１はフロー定義エディタで、フロー定義６０１などを作成するのに用いるアプリケーションである。フロー定義エディタ８０１は、クライアントＰＣ１０３上で実行され、アプリケーションサーバ１０２にアクセスし、フロー定義に必要な情報を受信して、ユーザがワークフローで処理する業務に応じてフロー定義を作成・編集する。作成されたフロー定義は、ワークフローシステムに登録され、ワークフロー実行時に利用される。なお、ブラウザとフロー定義エディタが同じクライアントＰＣで実行されても構わないし、異なるＰＣで実行されても構わない。
【００２３】
図９、図１０は、あるフロー定義内にＭＦＰから処理することが可能なサブ工程を含む場合のフロー定義の例を示す図である。クライアント１０３のブラウザからの指示を、アプリケーションサーバ１０２が検知する。各工程の丸は、顧客の要望に応じた定型処理である。各工程では、アプリケーションサーバに対して、クライアントＰＣのブラウザから、ビジネスフォームやデータベースの入力、承認等を行わせる。担当者が工程ごとに定義された処理を行なった後、所定の完了操作をアプリケーションサーバが検知すると、工程１が工程２へ進むという具合に状態が遷移する。
【００２４】
検知に応じてフロー９０１が開始されると、起案からフローが始まる。起案処理があるクライアントＰＣ１０３からの管理者の所定の入力操作により完了されたとする。すると、ワークフローは、申請という工程に遷移する。あるフロー定義９０１の工程２に対応する「申請」という工程９０２の一部又は全部をＭＦＰ１００から処理させたい場合もある。管理者は、ＭＦＰ上のアプリケーションの画面遷移定義をサブフロー定義９０３として定義できる。サブフロー定義は、定義情報の一例である。サブフロー定義９０３は、９０４、９０５、９０６などの画面遷移指定情報を含む。一方、フロー定義１００１の工程４に対応する「発注」という工程１００２がＭＦＰ１００から処理される場合、ＭＦＰ上のアプリケーションの画面遷移定義をサブフロー定義１００３として定義する。サブフロー定義１００３は、１００４、１００５、１００６などの画面遷移指定情報を含む。サブフロー定義９０３内ではＭＦＰのスキャン機能を用いることができ、サブフロー定義１００３内ではＭＦＰのプリント機能・ファックス機能を用いることができる。また、画面遷移の組合せも定義可能である。すなわち、あるフロー定義の１つの工程内で、ＭＦＰ上のアプリケーションの使用機能、画面遷移を容易に変更可能である。
【００２５】
図１１、１２にフロー定義情報を管理するテーブルの構造を示す。１１０１は、フロー定義一覧のテーブルである。１１０２はフロー定義ＩＤ、１１０３はフロー定義名である。テーブル１１０１とリレーションするテーブルが工程一覧のテーブル１１１１である。１１１２はフロー定義ＩＤ、１１１３は工程ＩＤ、１１１４は工程名称、１１１５はサブフローＩＤである。１２０１は、サブフロー定義一覧の列である。１２０２はサブフローＩＤ、１２０３はサブフロー定義名である。１２１１は、サブフロー定義内の工程一覧のテーブルである。１２１２はサブフローＩＤ、１２１３はサブ工程ＩＤ、１２１４はサブ工程名称である。
【００２６】
フロー定義９０１、１００１などの定義情報はテーブル１１０１に格納される。工程９０２、１００２などの定義情報は、テーブル１１１１に格納される。サブフロー定義９０３、１００３などの定義情報は、テーブル１２０１に格納される。サブフロー内の画面遷移指定情報は、テーブル１２１１に格納される。これらの定義情報は、ワークフロー管理モジュール７０３によって管理され、ワークフロー実行時にロードされて利用される。
【００２７】
図１３は、サブフロー定義９０３などをＭＦＰ１００で実行されるアプリケーション４０７などで受信可能とするために、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で表現した例である。１３０１は、サブフロー定義を表現したＸＭＬデータである。１３０２はサブフローであることの宣言である。１３１１は、サブフローのＩＤである。スキャン開始１３１２、スキャンプレビュー１３２２、送信結果確認１３３３の３つの画面遷移からなることが定義されている。これらの定義は、図１５の画面の１５０１、１５１１、１５２１に対応する。
【００２８】
最初のスキャン開始画面では、カラーモード１３１４１、解像度、１３１４２、ファイルフォーマット１３１４３が指定できるように表現されている。これは、図１５の１５０３，１５０４，１５０５に対応する。後に詳述する。
【００２９】
図１４、図１５、図１６は、ＭＦＰ上のアプリケーションでのサブフロー定義９０３、１００３の実行画面例である。
【００３０】
ＭＦＰ１００がアプリケーションサーバ１０２にアクセスして、ワークアイテム一覧情報を受信する。例えば、ＭＦＰ１００の操作部からユーザがユーザＩＤとパスワードを入力すると、これがアプリケーションサーバ１０２に送信される。アプリケーションサーバ１０２は、データベースシステム７０２をユーザ名をキーにして検索する。これにより、ユーザに対応するワークアイテム一覧が取得され、ＭＦＰ１００に対して送信される。そして、１４０１のような画面をＭＦＰの操作部は表示する。１４０１は、ＭＦＰを使用するユーザが処理可能な処理待ちのワークアイテム一覧情報を表示する画面である。１４０２は、処理待ちワークアイテム一覧を表示するコントロールである。１４０３、１４０４は、各処理待ちワークアイテムである。
【００３１】
フロー定義９０１の工程９０２に対応する実行時のワークアイテムが１４０３、フロー定義１００１の工程１００２に対応する実行時のワークアイテムが１４０４であるとする。
【００３２】
ボタンコントロール１４０５を押下すると、ワークアイテム１４０３の処理を開始し、スキャン指示画面１５０１へ遷移する。すなわち、画面遷移指定情報９０４の実行画面が１５０１である。また、画面遷移指定情報９０４は、サブフロー定義ＸＭＬ１３０１の「ｓｕｂ＿ｐｒｏｃｅｓｓ」要素１３１１に対応する。「ｓｕｂ＿ｐｒｏｃｅｓｓ」要素１３１１は、「ｓｃｒｅｅｎ」要素１３１２、「ｇｕｉｄａｎｃｅ」要素１３１３、「ｏｐｔｉｏｎ＿ｓｅｔｔｉｎｇｓ」要素１３１４、「ｆｏｒｗａｒｄ」要素１３１５、「ｂａｃｋｗａｒｄ」要素１３１６を含む。「ｓｃｒｅｅｎ」要素１３１２は、画面１５０１自体の指定である。「ｇｕｉｄａｎｃｅ」要素１３１３は、ガイダンスメッセージ１５０２の指定である。「ｏｐｔｉｏｎ＿ｓｅｔｔｉｎｇｓ」要素１３１４は、オプション設定コントロール１５０３などの表示指定である。「ｆｏｒｗａｒｄ」要素１３１５は、ボタンコントロール１５０４押下時における、「ｆｕｎｃｔｉｏｎ」要素で指定のスキャン機能を呼び出しの指定、さらに遷移先画面を「ｔａｒｇｅｔ」要素に持つ。すなわち、ボタンコントロール１５０４押下後、スキャン機能を呼び出して、さらに「ｉｄ」属性が”００２”の値を持つ「ｓｕｂ＿ｐｒｏｃｅｓｓ」要素１３２１に対応する画面１５１１に遷移する。さらに、スキャン機能を呼び出す際に、オプション設定コントロール１５０３で選択された設定値が利用される。「ｂａｃｋｗａｒｄ」要素１３１６は、ボタンコントロール１５０５押下時における、遷移先画面を「ｔａｒｇｅｔ」要素に持つ。すなわち、ボタンコントロール１５０５押下後、”ｈｏｍｅ”に対応する画面１１０１に遷移する。
【００３３】
以降同様に、画面遷移指定情報９０５は、「ｓｕｂ＿ｐｒｏｃｅｓｓ」要素１３２１に対応し、実行時の画面１５１１となり、ボタンコントロール１５１３、１５１４の押下時の遷移先を制御する。画面遷移指定情報９０６は、「ｓｕｂ＿ｐｒｏｃｅｓｓ」要素１３３１に対応し、実行時の画面１５２１となり、ボタンコントロール１５２４の押下時の遷移先を制御する。
【００３４】
サブフロー定義１００３の画面遷移指定情報１００４、１００５、１００６に対応する実行時の画面が、画面１６０１、１６０２、１６０３である。このように、サブフロー定義を変更するだけで、１つの工程内でのＭＦＰ上のアプリケーションの画面遷移や使用する機能を変更することが可能である。
【００３５】
図１７に処理のフローチャートを示す。ＭＦＰ１００でユーザが図２のＵＩ部２０２を用いてログイン操作をして、ログイン処理が行われる（Ｓ１７０１）。ＭＦＰ１００は、ログインしたユーザに対するワークアイテム一覧の取得要求をアプリケーションサーバ１０２に送信する（Ｓ１７０２）。要求を受信したアプリケーションサーバ１０２は、ログインユーザに対するワークアイテム一覧をデータベースから検索する（Ｓ１７０３）。各ワークアイテムは、図６の実行時インスタンス６０３のワークアイテム６０４に相当する。
【００３６】
アプリケーションサーバ１０２は、ＭＦＰ１００にワークアイテム一覧情報を返信する（Ｓ１７０４）。ＭＦＰ１００は、受信した一覧情報に基づき図１４の画面１４０１にログインしたユーザに対するワークアイテム１４０３、１４０４を一覧表示する（Ｓ１７０５）。ＭＦＰ１００において、図１４のボタンコントロール１４０５、１４０６などの押下を待つ。ＭＦＰ１００において、各ボタンの押下を検知すると、ワークアイテムの選択処理が行われる（Ｓ１７０６）。そして、ＭＦＰ１００は、選択したワークアイテムに対応するサブフロー定義の取得要求をアプリケーションサーバ１０２に対して送信する（Ｓ１７０７）。アプリケーションサーバ１０２は、選択されたワークアイテムに対応するサブフロー定義情報を図１１および１２のテーブル１１０１、１１１１、１２０１、１２１１から検索する。（Ｓ１７０８）。
【００３７】
例えば、選択されたワークアイテムが、「交通費申請フロー」における「申請」工程のワークアイテムであった場合、以下の手順で検索する。テーブル１１０１において、「交通費申請フロー」は、フロー定義ＩＤ１１０２が「１」である。また「申請」工程は、工程ＩＤが「２で」ある。これは予め記憶したワークフロー定義を用いて、１４０５を押下した時点で認識される。テーブル１１１１においてフロー定義が「１」、工程ＩＤが「２」のレコードを検索すると、サブフローＩＤ１１１５が「１」であることが検索される。
【００３８】
テーブル１２０１において、サブフローＩＤが真、つまり「１」であるレコードを検索すると、サブフロー定義名１２０３が「スキャン送信」であることが検索される。また、テーブル１２１１において、サブフローＩＤが「１」であるレコードを検索すると、サブ工程ＩＤ１２１３が「１」「２」「３」であるレコード３つが検索される。テーブル１１０１、１１１１、１２０１、１２１１から取得されたサブフロー定義情報は、図１３のサブフロー定義ＸＭＬ１３０１に成形されて、ＭＦＰ１００に返信される（Ｓ１７０９）。ＭＦＰ１００は、サブフロー定義ＸＭＬ１３０１を受信して、パースし、必要な制御情報を取得する（Ｓ１７１０）。サブフロー定義１３０１の制御情報は、図９のサブフロー定義９０３を表現しており、９０４、９０５、９０６の画面遷移に必要な制御情報を取得する。ＭＦＰ１００は、前記取得した制御情報に従い、９０４、９０５、９０６の画面に相当する、図１５のアプリケーション画面１５０１、１５１１、１５２１へと画面を遷移させる（Ｓ１７１１、１７１２）。図１５のアプリケーション画面１５２１において、サブフローの実行が完了すると、ＭＦＰ１００はアプリケーションサーバ１０２にサブフローの完了通知を送信する（Ｓ１７１３）。アプリケーションサーバ１０２は、サブフローの完了通知を受信すると、処理されたワークアイテムの完了処理を行う（Ｓ１７１４）。これである１つの工程がＭＦＰ１００からの処理によって完了したことになるので、ワークフローは次の工程へと進む。つまり、アプリケーションサーバは、ＭＦＰ１００からのサブフロー完了通知を受信すると次の処理をする。すなわち、図９のフロー定義情報を参照し、「申請」の次の工程の「承認」の工程へ状態遷移する。状態遷移は、ワークフローエンジンにより管理されている。承認工程に状態が遷移すると、ワークアイテムの所有者は、上司などのユーザに変更される。
【００３９】
同様に、図１０の処理についても処理が可能である。
【００４０】
工程４「発注」が開始されると、ＭＦＰ１００から操作すべきワークフローが起動される。
【００４１】
図１６では、工程４で、サブフローが起動されたことを検知する。すると、アプリケーションサーバからＭＦＰ１００に対して図１６の３つの画面遷移を定義したサブフロー画面を送信準備をする。そして、当該サブフローに対応するワークアイテムが選択されたことをアプリケーションサーバが検知すると、準備した画面遷移を定義した画面遷移情報をＭＦＰ１００に対して送信する。フローの定義情報の一例が画面遷移情報である。ＭＦＰ１００では、１６０１が画面表示される。そして、画面遷移情報を参照して、プレビューするべきビジネスフォームデータを特定する。例えば、ビジネスフォームデータをアプリケーションサーバのデータベースからＭＦＰ１００が受信して図１６の１６０８に表示する。ユーザは、１６０４及び１６０５を指示選択してカラーモード（フルカラー、赤黒、３色、モノクロ）及び両面片面等の印刷設定を行う。これも画面遷移情報に定義されており、アプリケーションサーバから受信した情報を用いる。ここで、プリント１６０６のボタンの押下が検知されると、上記の印刷設定を用いて、ＭＦＰ１００から印刷出力される。そして、自動的に、１６０２へ画面遷移する。画面遷移情報に予め記述してあるファックし送信の手法を示すガイダンス１６０９が表示される。ガイダンスと共に表示される宛先情報１６１０を表示する。ユーザは、出力した用紙にサインや印鑑を押したり、所定のフォームの記入をする。必要であれば、ここで別に添付される領収書や証票の有無を記載する。そして、記載済みの用紙及び必要な証票をＭＦＰ１００の読み取り台に置く。この宛先情報１６１０を確認して、ファックス送信ボタン１６１１を押下する。すると、画面遷移情報に含まれる宛先情報１６１０に書かれている宛先に対してユーザが置いた用紙が読み取られ、ファックスが送信される。証票や領収書の原本があれば、ファックス送信した用紙とともに、別途オフラインで所定の部署へ郵送等しても良い。ファックス送信が完了すると、１６０２から１６０３に自動的に画面が遷移するよう画面遷移情報には定義されている。一覧に戻るボタン１６１３、１６１４ボタンを押すとワークアイテム一覧画面を送信するようＭＦＰ１００がアプリケーションサーバに対して要求する。ＭＦＰ１００は、受信した若しくは既に受信していた一覧画面を表示する。
【００４２】
以上説明したように、以下のことを開示した。特定のワークフローを実行するサーバ装置の一例であるアプリケーションサーバ１０２と通信する画像形成装置であるＭＦＰ１００を開示した。画像形成装置はファクシミリ装置やプリンタであっても良い。特定のワークフローの工程において定義されたフローの定義情報をサーバ装置から受信するネットワークインタフェース２１０を有する。コントローラ部２０８は、受信したフローの定義情報に従って前記画像形成装置の操作部２０２の画面の表示を制御する。
【００４３】
ＭＦＰ１００における前記フローの完了をサーバ装置に対してコントローラ部２０８が通知する。
【００４４】
コントローラ部２０８は、フローの定義情報に従って、画面遷移の表示を制御する。
【００４５】
ＭＦＰ１００の２０２にＵＩを表示して、フローの定義情報を編集するようにしてもよい。
【００４６】
コントローラ部２０８は、フロー定義情報に従い、ＭＦＰ１００上で実行可能なアプリケーションのユーザインタフェースとして表示するコントロールの表示をする。
【００４７】
コントローラ部２０８は、ＭＦＰ１００においてサブフローの定義情報に従う画面を表示し、当該画面を介した特定の入力があった場合に、アプリケーションサーバ１０２に対して定義情報に対応するサブフローの完了を通知する。
【００４８】
ＭＦＰ１００のファクシミリやプリンタや電子メールやファイル転送の機能を用いて前記特定のサブフローの定義情報により定義される処理を実行する。
【００４９】
フローの定義情報には、データを印刷する画面、当該画面を介した指示に基づく印刷の完了に応じてファックス送信をするための画面を表示するための情報を含む。また、ファックス送信が完了するのに応答して、前記通知手段は完了を通知するようにしてもよい（図１６）。
【００５０】
フローの定義情報は、印刷設定を指示する画面、当該画面を介して設定されたデータの印刷プレビュー画面、プレビューされた画像をサーバ装置に対して送信する指示部の画面を表示するための情報を含む（図１５）。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施例におけるシステム構成の一例を示す概略図である。
【図２】図１に示すＭＦＰ１００の内部構成の一例を示す図である。
【図３】図１のアプリケーションサーバ１０２、クライアント１０３の情報処理機能の論理構成の一例を示す図である。
【図４】ＭＦＰ１００においてアプリケーションプログラムを実行可能なソフトウェア構成例を示す図である。
【図５】図５は、４０７などのアプリケーションのＵＩ部２０２での表現例である。
【図６】ワークフロー動作の定義の一例を示す図である。
【図７】ワークフローシステムの構成例を示す図である。
【図８】ワークフローシステムの構成例を示す図である。
【図９】フロー定義エディタの構成例示す図である。
【図１０】フロー定義およびサブフロー定義の例を示す図である。
【図１１】フロー定義およびサブフロー定義の定義情報を格納するテーブル例を示す図である。
【図１２】フロー定義およびサブフロー定義の定義情報を格納するテーブル例を示す図である。
【図１３】サブフロー定義をＸＭＬで表現した例を示す図である。
【図１４】ＭＦＰ１００に表示される画面例を示す図である。
【図１５】ＭＦＰ１００に表示される画面遷移例を示す図である。
【図１６】ＭＦＰ１００に表示される画面遷移例を示す図である。
【図１７】ワークフローシステムの動作フローチャートの一例を示す図である。
【図１】
2008158632.tif 000003
【図２】
2008158632.tif 000004
【図３】
2008158632.tif 000005
【図４】
2008158632.tif 000006
【図５】
2008158632.tif 000007
【図６】
2008158632.tif 000008
【図７】
2008158632.tif 000009
【図８】
2008158632.tif 000010
【図９】
2008158632.tif 000011
【図１０】
2008158632.tif 000012
【図１１】
2008158632.tif 000013
【図１２】
2008158632.tif 000014
【図１３】
2008158632.tif 000015
【図１４】
2008158632.tif 000016
【図１５】
2008158632.tif 000017
【図１６】
2008158632.tif 000018
【図１７】
2008158632.tif 000019