(57)【要約】      （修正有）【課題】画像処理装置から受け取った文書データに対する処理フローを、文書データの受信によって特定する。【解決手段】画像処理装置及びサーバー装置と通信可能な情報処理装置が、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を含む文書データを画像処理装置から受信して、受信した文書データから識別情報を抽出して、抽出された識別情報に基づいて、文書データを含む処理フローの実行要求を前記サーバー装置に送信する。【選択図】図１４
2014229026.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して画像処理装置及びサーバー装置と通信可能な情報処理装置であって、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を含む文書データを前記画像処理装置から受信する受信手段と、
前記受信手段により受信した文書データから前記識別情報を抽出する抽出手段と、
前記抽出手段により抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を前記サーバー装置に送信する送信手段と、
を有する情報処理装置。
【請求項２】
前記抽出手段により抽出された識別情報に基づく処理フローを実行するための実行画面を表示する表示手段を更に有し、
前記送信手段は、前記表示手段により表示された実行画面を介して受け付けたユーザーの操作に基づいて、前記文書データを含む前記処理フローの実行要求を前記サーバー装置に送信する請求項１記載の情報処理装置。
【請求項３】
前記抽出手段により抽出された識別情報を前記サーバー装置に送信する識別情報送信手段と、
前記識別情報送信手段により送信された識別情報に基づいて特定された処理フローに係る画面データを受信する画面データ受信手段と、
を更に有し、
前記表示手段は、前記画面データ受信手段により受信された画面データに基づいて、前記処理フローを実行するための前記実行画面を表示する請求項２記載の情報処理装置。
【請求項４】
前記表示手段は、前記実行画面を介して、前記処理フローを実行するための選択を受け付ける前に前記実行画面を閉じる指示を受け付けた場合、前記処理フローを実行するか否かの確認メッセージを含む確認画面を表示する請求項２又は３記載の情報処理装置。
【請求項５】
前記表示手段は、前記処理フローの実行が完了している場合、前記受信手段により受信した文書データから識別情報を削除するメッセージを含む前記処理フローの完了画面を表示する請求項２又は３記載の情報処理装置。
【請求項６】
前記表示手段は、前記処理フローの実行が完了する前に、前記実行画面を介して受け付けた操作により前記実行画面が閉じられた場合であって、前記処理フローの実行が完了した後に、再度、前記実行画面を表示する場合、前記受信手段により受信した文書データから識別情報を削除するメッセージを含む前記処理フローの完了画面を表示する請求項２又は３記載の情報処理装置。
【請求項７】
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報と、前記処理フローに関する処理フロー情報とを関連付けたリスト情報を管理する管理手段と、
ネットワークを介して通信可能な情報処理装置から前記識別情報を含む文書データに対する処理フローの実行要求を受信する受信手段と、
前記管理手段により管理されているリスト情報に含まれる処理フロー情報のうち、前記受信手段により受信された実行要求に含まれる識別情報に応じた処理フロー情報が示す処理フローを実行する実行手段と、
を有するサーバー装置。
【請求項８】
前記受信手段により受信された実行要求に含まれる識別情報に基づいて、前記管理手段により管理されているリスト情報から処理フロー情報を特定する特定手段と、
前記特定手段により特定された処理フロー情報に基づく画面データを前記情報処理装置に送信する送信手段と、
を更に有する請求項７記載のサーバー装置。
【請求項９】
前記送信手段は、前記特定手段により特定された処理フロー情報が示す処理フローの実行が完了していた場合、前記受信手段により受信された実行要求に含まれる文書データから識別情報を削除する削除メッセージを表示する画面データを前記情報処理装置に送信する請求項８記載のサーバー装置。
【請求項１０】
読み取って取得した文書データに、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を埋め込む埋め込み手段と、
前記埋め込み手段により識別情報が埋め込まれた文書データを、ネットワークを介して通信可能な情報処理装置に送信する送信手段と、
を有する画像処理装置。
【請求項１１】
読み取って取得した文書データに、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を埋め込む埋め込み手段と、
前記埋め込み手段により識別情報が埋め込まれた文書データを、ネットワークを介して通信可能な情報処理装置に送信する送信手段と、
前記送信手段により送信された文書データを、ネットワークを介して通信可能な画像処理装置から受信する受信手段と、
前記受信手段により受信した文書データから前記識別情報を抽出する抽出手段と、
前記抽出手段により抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を、ネットワークを介して通信可能なサーバー装置に送信する要求送信手段と、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報と、前記処理フローに関する処理フロー情報とを関連付けたリスト情報を管理する管理手段と、
前記情報処理装置から前記識別情報を含む文書データに対する処理フローの実行要求を受信する要求受信手段と、
前記管理手段により管理されているリスト情報に含まれる処理フロー情報のうち、前記要求受信手段により受信された実行要求に含まれる識別情報に応じた処理フロー情報が示す処理フローを実行する実行手段と、
を有するシステム。
【請求項１２】
ネットワークを介して画像処理装置及びサーバー装置と通信可能な情報処理装置が実行する情報処理方法であって、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を含む文書データを前記画像処理装置から受信する受信ステップと、
前記受信ステップにより受信した文書データから前記識別情報を抽出する抽出ステップと、
前記抽出ステップにより抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を前記サーバー装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１３】
サーバー装置が実行する情報処理方法であって、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報と、前記処理フローに関する処理フロー情報とを関連付けたリスト情報を管理する管理ステップと、
ネットワークを介して通信可能な情報処理装置から前記識別情報を含む文書データに対する処理フローの実行要求を受信する受信ステップと、
前記管理ステップにより管理されているリスト情報に含まれる処理フロー情報のうち、前記受信ステップにより受信された実行要求に含まれる識別情報に応じた処理フロー情報が示す処理フローを実行する実行ステップと、
を含む情報処理方法。
【請求項１４】
画像処理装置が実行する情報処理方法であって、
読み取って取得した文書データに、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を埋め込む埋め込みステップと、
前記埋め込みステップにより識別情報が埋め込まれた文書データを、ネットワークを介して通信可能な情報処理装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１５】
システムが実行する情報処理方法であって、
読み取って取得した文書データに、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を埋め込む埋め込みステップと、
前記埋め込みステップにより識別情報が埋め込まれた文書データを、ネットワークを介して通信可能な情報処理装置に送信する送信ステップと、
前記送信ステップにより送信された文書データを、ネットワークを介して通信可能な画像処理装置から受信する受信ステップと、
前記受信ステップにより受信した文書データから前記識別情報を抽出する抽出ステップと、
前記抽出ステップにより抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を、ネットワークを介して通信可能なサーバー装置に送信する要求送信ステップと、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報と、前記処理フローに関する処理フロー情報とを関連付けたリスト情報を管理する管理ステップと、
前記情報処理装置から前記識別情報を含む文書データに対する処理フローの実行要求を受信する要求受信ステップと、
前記管理ステップにより管理されているリスト情報に含まれる処理フロー情報のうち、前記要求受信ステップにより受信された実行要求に含まれる識別情報に応じた処理フロー情報が示す処理フローを実行する実行ステップと、
を含む情報処理方法。
【請求項１６】
ネットワークを介して画像処理装置及びサーバー装置と通信可能なコンピュータに、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を含む文書データを前記画像処理装置から受信する受信ステップと、
前記受信ステップにより受信した文書データから前記識別情報を抽出する抽出ステップと、
前記抽出ステップにより抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を前記サーバー装置に送信する送信ステップと、
を実行させるためのプログラム。
【請求項１７】
コンピュータに、
文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報と、前記処理フローに関する処理フロー情報とを関連付けたリスト情報を管理する管理ステップと、
ネットワークを介して通信可能な情報処理装置から前記識別情報を含む文書データに対する処理フローの実行要求を受信する受信ステップと、
前記管理ステップにより管理されているリスト情報に含まれる処理フロー情報のうち、前記受信ステップにより受信された実行要求に含まれる識別情報に応じた処理フロー情報が示す処理フローを実行する実行ステップと、
を実行させるためのプログラム。
【請求項１８】
コンピュータに、
読み取って取得した文書データに、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を埋め込む埋め込みステップと、
前記埋め込みステップにより識別情報が埋め込まれた文書データを、ネットワークを介して通信可能な情報処理装置に送信する送信ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、指示書に従って複数の処理を実現するシステムが存在した。
特許文献１は指示書に複数の処理を記述して、記述された指示書に従って複数の処理を行う技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１３３９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、文書データに対して実行可能な処理であるタスクを、複数組み合わせて一連の連続するものを処理フローとして予め定義しておき、ユーザーが選択した文書データにユーザーが選択した処理フローを実行するシステムを仮定する。なお、タスクとは、原稿のスキャン、文書データのプリント、送信（電子メール、ファクス、ファイル等）等である。例えばＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）でスキャンした文書データを、あるＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）に送信し、そのＰＣ上でフォーマット変換等の画像処理を行った後、文書管理システムに変換後の文書データを登録するといった定義を行うことを想定する。以降、本明細書ではこのようにタスクを複数組み合わせて一連の連続するものを処理フローと定義する。
一方で、例えばユーザーがＭＦＰから受け取った文書データに対してＰＣで作業を行なって、作業後の文書データについて処理フローを実行したいユースケースを考える。例えば、スキャンしてＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理された文書データに対して、ＯＣＲ結果の確認、修正を行った後、文書管理システムに登録する場合等である。このような場合に前述のシステムではＯＣＲ処理された文書データと、処理フローとをユーザーが選択する必要があった。
これに対して特許文献１は前述のユースケースを想定していないため、こうした処理を実現することができない。
本発明は、このような事情に鑑みてなされたものであり、処理フローを識別する識別情報を含む文書データを画像処理装置から受信することにより、文書データの識別情報に基づいて処理フローの実行要求を行うことを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するための本発明に係る情報処理装置は、ネットワークを介して画像処理装置及びサーバー装置と通信可能な情報処理装置であって、文書データに対する一連の連続するタスクを含む処理フローを識別する識別情報を含む文書データを前記画像処理装置から受信する受信手段と、前記受信手段により受信した文書データから前記識別情報を抽出する抽出手段と、前記抽出手段により抽出された識別情報に基づいて、前記文書データを含む処理フローの実行要求を前記サーバー装置に送信する送信手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、処理フローを識別する識別情報を含む文書データを画像処理装置から受信することにより、文書データの識別情報に基づいて処理フローの実行要求を行う。これによって、例えば文書データと処理フローをユーザーが選択せずとも、処理フローを実行することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態のシステムのシステム構成の一例を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示す図である。
【図３】各種サーバー装置、及びＰＣのハードウェア構成の一例を示す図である。
【図４】ＭＦＰ、処理フロー管理サーバー装置、ＰＣのソフトウェア構成の一例を示す図である。
【図５】拡張アプリケーション配布サーバー装置、文書管理サーバー装置のソフトウェア構成の一例を示す図である。
【図６】各種管理部で管理する管理リストの一例を示す図である。
【図７】ＰＣが表示するＵＩの一例を示す図（その１）である。
【図８】ＰＣが表示するＵＩの一例を示す図（その２）である。
【図９】ＰＣが表示するＵＩの一例を示す図（その３）である。
【図１０】処理フローの定義ファイルの一例を示す図である。
【図１１】ＭＦＰが表示するＵＩの一例を示す図である。
【図１２】ＭＦＰの処理の一例を示すフローチャートである。
【図１３】文書データの一例を示す図である。
【図１４】ＰＣと、処理フロー管理サーバー装置とのシーケンス処理の一例を示す図である。
【図１５】処理フロー管理サーバー装置の処理の一例を示すフローチャート（その１）である。
【図１６】ＰＣが表示するＵＩの一例を示す図（その４）である。
【図１７】ＰＣの処理の一例を示すフローチャートである。
【図１８】メッセージボックスの一例を示す図である。
【図１９】ＰＣが表示するＵＩの一例を示す図（その５）である。
【図２０】処理フロー管理サーバー装置の処理の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
＜実施形態１＞
まず、実施形態１について説明する。
（システム構成図）
図１は、本実施形態の画像処理システムのシステム構成の一例を示す図である。
本システムは、ネットワーク１００を介して接続されるＭＦＰ１１０、処理フロー管理サーバー装置１２０、ＰＣ１３０、拡張アプリケーション配布サーバー装置１４０、文書管理サーバー装置１５０を含む。
ネットワーク１００は、各装置間で通信を行うための基盤であって、イントラネット、インターネット、又はその他のネットワークシステムであってもよい。
ＭＦＰ１１０は、コピー機能を有する。それと共に、ＭＦＰ１１０は、原稿画像を読み取り、読み取って得られた文書データを、ＦＴＰプロトコルやＳＭＢプロトコル等を用いてネットワーク１００上の指定した装置に送信するデータ送信機能を有する。尚、以降ではＳＭＢプロトコルで文書データを送信する例について記載するが、文書データの送信はどのようなプロトコルであってもよい。また、ＭＦＰ１１０は、文書データを添付ファイルとして電子メールを作成し、電子メールサーバー装置を利用して電子メールを送信することができる。更に、ＭＦＰ１１０は、文書データに、処理フローを一意に識別するための識別子（識別情報）を埋め込むことができる機能を有している。また、以降の説明で記載するＭＦＰ１１０で行う文書データへの処理は特に画像処理装置に限定されるものではなく、ＰＣ等の情報処理装置で文書データに対して行う処理でよい。
【０００９】
処理フロー管理サーバー装置１２０は、一連の連続するものである処理フローに関する情報（以下、単に処理フロー情報という）を一元管理しているサーバー装置である。処理フロー管理サーバー装置１２０は、管理している処理フロー情報と、識別情報とに基づいて、実行する処理フローを特定することができる機能を有する。
ＰＣ１３０は、オフィスアプリケーションと、Ｗｅｂブラウザー（インターネットブラウザー、ＷＷＷブラウザー、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザー）等とのプログラムを実行する環境を内蔵している。オフィスアプリケーションについては、図４（Ｃ）等を用いて後述する。尚、本実施形態ではＰＣとしているが、タブレット端末やプログラムの実行環境が内蔵されたスマートフォンでもよい。更に、ＰＣ１３０は、ＭＦＰ１１０が識別情報を埋め込んだ文書データから、識別情報を抽出することができる機能を有する。尚、ＰＣ１３０は、情報処理装置の一例である。
拡張アプリケーション配布サーバー装置１４０は、様々な開発者が作成した拡張アプリケーションを登録・管理している。そして、拡張アプリケーション配布サーバー装置１４０は、本実施形態のオフィスアプリケーションに対して拡張アプリケーションを提供する。オフィスアプリケーションと、拡張アプリケーションとの関係については、図７を用いて後述する。
文書管理サーバー装置１５０は、文書データを管理するサーバー装置であり、外部装置に対して文書データの登録や参照、削除といった処理を行うサービスを提供している。
【００１０】
上記のシステムにおいて、ＰＣ１３０は、ＭＦＰ１１０から識別情報が埋め込まれた文書データを受信し、受信した文書データから識別情報を抽出する。更に、ＰＣ１３０は、抽出した識別情報と、文書データとを処理フロー管理サーバー装置１２０に送信する。そして、処理フロー管理サーバー装置１２０は、ＰＣ１３０から受信した識別情報と、管理している処理フロー情報とに基づいて処理フローを特定し、受信した文書データに対して特定した処理フローを実行する。
尚、本実施形態では、上述した装置の数に限られることはない。
【００１１】
（ハードウェア構成）
図２は、ＭＦＰ１１０のハードウェア構成の一例を示す図である。
ＭＦＰ１１０は、図２に示すように、画像入力デバイスであるスキャナー部１１２、画像出力デバイスであるプリンター部１１３、ＭＦＰ１１０の制御を司るコントローラー２００、及び操作部１１１を有する。
スキャナー部１１２は、原稿上の画像を読み取って画像データを生成するデバイスである。尚、原稿は原稿フィーダにセットされ、コントローラー２００からスキャナー部１１２に原稿読み取り指示が与えられる。スキャナー部１１２は、この指示を受けると原稿フィーダから原稿を１枚ずつフィードして、原稿の読み取り動作を行う。尚、原稿の読み取り方法は原稿フィーダによる自動送り方式ではなく、原稿をガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
プリンター部１１３は、コントローラー２００から受け取った画像データを用紙上に画像として形成する画像形成デバイスである。尚、本実施形態において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式以外にも、インクジェット方式等でも適用可能である。
コントローラー２００は、操作部１１１、スキャナー部１１２、プリンター部１１３と電気的に接続されている一方、ネットワーク１００にもＮｅｔｗｏｒｋＩ／Ｆ２０６を介して接続されている。即ち、コントローラー２００は、ネットワーク１００を経由して他の機器と接続されている。これによりＭＦＰ１１０は、ＨＴＴＰプロトコルによる通信が可能となっている。
【００１２】
ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラム等に基づいて、接続中の各種デバイスへのアクセス、及び他のデバイスからのアクセスを統括的に制御する。それと共に、ＣＰＵ２０１は、コントローラー２００内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含まれる。
ＲＯＭ２０２は、装置のブートプログラムを格納するメモリである。
ＲＡＭ２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、かつ、画像データを一時記憶するためのメモリでもある。ＲＡＭ２０３は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域と、により構成されている。
ＨＤＤ２０４は、ハードディスクドライブであり、システムソフトウェアや画像データを格納する。
操作部Ｉ／Ｆ２０５は、システムバス２１１と、操作部１１１とを接続するためのインターフェース部である。操作部Ｉ／Ｆ２０５は、操作部１１１に表示するための画像データをシステムバス２１１から受け取り、操作部１１１に出力すると共に、操作部１１１から入力された情報をシステムバス２１１へと出力する。
【００１３】
ＮｅｔｗｏｒｋＩ／Ｆ２０６は、ネットワーク１００、及びシステムバス２１１に接続し、情報の入出力を行う。
スキャナーＩ／Ｆ２０７は、スキャナー部１１２から受け取った画像データに対して、補正、加工、及び編集を行う。尚、スキャナーＩ／Ｆ２０７は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿か等を判定する機能を有する。
画像形成部２０８は、画像データの方向変換、画像圧縮、伸張処理等を行う。また、画像形成部２０８は、ＨＤＤ２０４に保存されている画像同士を合成して一枚の画像にすることができる。
プリンターＩ／Ｆ２０９は、画像形成部２０８から送られた画像データを受け取り、この画像データに付随させられている属性データを参照しながら画像データに画像形成を施す。プリンターＩ／Ｆ２０９は、画像形成後の画像データを、プリンター部１１３に出力する。
尚、本実施形態では、ＭＦＰ１１０がＵＩ（ユーザーインターフェース）表示を実行するネットワークＭＦＰであるが、汎用スキャナーや汎用プリンター等を接続した汎用コンピュータ等、これ以外の画像処理装置であってもよい。
【００１４】
図３は、処理フロー管理サーバー装置１２０、ＰＣ１３０、拡張アプリケーション配布サーバー装置１４０、文書管理サーバー装置１５０のハードウェア構成の一例を示す図である。
図３において、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＮｅｔｗｏｒｋＩ／Ｆ３０５、ハードディスクドライブ（ＨＤＤ）３０６がシステムバス３０９を介して互いに通信可能に接続されている。
また、ＣＲＴ等の表示装置３０７、キーボード等の入力装置３０４、及びマウス等のポインティングデバイス３０８が、システムバス３０９を介して互いに通信可能に接続されている。
ＲＯＭ３０３或いはＨＤＤ３０６には、オペレーティングシステム等の制御プログラムが格納されている。ＣＰＵ３０１は、前記制御プログラムを必要に応じてＲＯＭ３０３或いはＨＤＤ３０６からＲＡＭ３０２上へ読み出して実行することで、コンピュータとしての機能（ソフトウェア構成）を発揮する。
また、ＣＰＵ３０１は、表示装置３０７を介して各種情報の表示を行うと共に、入力装置３０４やポインティングデバイス３０８からユーザーの指示等を受け付ける。更に、ＣＰＵ３０１は、ＮｅｔｗｏｒｋＩ／Ｆ３０５を介してネットワーク１００上の他の装置と通信を行う。
【００１５】
（ソフトウェア構成）
図４（Ａ）は、ＭＦＰ１１０のソフトウェア（処理部）の構成の一例を示す図である。
ＭＦＰ１１０が有しているＨＤＤ２０４に記憶されているプログラムを、ＣＰＵ２０１がＲＡＭ２０３に読み出して実行する。これにより、ＣＰＵ２０１は、ＭＦＰ１１０の処理部の機能（ソフトウェア構成）、後述のＭＦＰ１１０に関するフローチャートの処理、及びシーケンス処理におけるＭＦＰ１１０の処理を実現する（機能させる）。尚、ＭＦＰ１１０における処理部、後述するＭＦＰ１１０に関するフローチャートに係る処理、及びシーケンス処理におけるＭＦＰ１１０の処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
ＭＦＰ１１０は、処理フロー実行アプリケーション４００を有する。処理フロー実行アプリケーション４００は、通信部４０１、処理フロー制御部４０２、タスク実行部４０３、及びＵＩ部４０４を有する。
通信部４０１は、ＮｅｔｗｏｒｋＩ／Ｆ２０６を介して、各装置の通信部と通信を行う。通信部４０１は、後述する処理フロー管理サーバー装置１２０の通信部４２１に対して処理フローの実行要求を送信する。また、通信部４０１は、処理フロー管理サーバー装置１２０の通信部４２１から処理フロー情報の一覧を受信して処理フロー制御部４０２に渡す。
【００１６】
処理フロー制御部４０２は、処理フロー情報の解析を行う。処理フロー制御部４０２は、ＵＩ部４０４から処理フローの実行が指示されると、通信部４０１を介して処理フロー管理サーバー装置１２０から処理フロー情報の詳細を取得する。そして、処理フロー制御部４０２は、取得した処理フロー情報の解析を行い、各タスクに分割する。更に、処理フロー制御部４０２は、各タスクを、処理フロー情報で指定されている順に実行するようにタスク実行部４０３に通知する。
タスク実行部４０３は、処理フロー制御部４０２から渡されたタスクを実行する。タスク実行部４０３で実行するタスクとは、原稿のスキャン、文書データのプリント、送信（電子メール、ファクス、ファイル等）等である。
ＵＩ部４０４は、操作部Ｉ／Ｆ２０５を介して操作部１１１に表示を行ったり、操作部１１１からのユーザーの入力を処理したりする。ＵＩ部４０４は、通信部４０１を介して処理フロー管理サーバー装置１２０から取得した処理フロー情報が示す処理フローを実行するためのボタンを表示する。更に、ＵＩ部４０４は、操作部１１１を介したユーザーの操作によりボタンが押下されると、それを検知し、処理フロー制御部４０２に処理フローの実行を指示する。
【００１７】
図４（Ｂ）は、処理フロー管理サーバー装置１２０のソフトウェア（処理部）の構成の一例を示す図である。
処理フロー管理サーバー装置１２０が有しているＨＤＤ３０６に記憶されているプログラムを、処理フロー管理サーバー装置１２０のＣＰＵ３０１がＲＡＭ３０２に読み出して実行する。これにより、処理フロー管理サーバー装置１２０のＣＰＵ３０１は、処理フロー管理サーバー装置１２０の処理部の機能（ソフトウェア構成）、及び後述の処理フロー管理サーバー装置１２０に関するフローチャートの処理を実現する（機能させる）。同様に、処理フロー管理サーバー装置１２０のＣＰＵ３０１は、後述のシーケンス処理における処理フロー管理サーバー装置１２０の処理を実現する。
処理フロー管理サーバー装置１２０は、処理フローアプリケーション４２０と、処理フロー拡張アプリケーション４５０とを有する。尚、本実施形態では処理フローアプリケーション４２０と、処理フロー拡張アプリケーション４５０とを同じサーバー装置上に構成しているが、それぞれ独立した別のサーバー装置に配置するように構成してもよい。また、本実施形態ではそれぞれ別のアプリケーションとして構成しているが、処理フローアプリケーション４２０が内部に処理フロー拡張アプリケーション４５０の機能を有するような構成でもよい。
処理フローアプリケーション４２０は、処理フローの管理、作成、実行する機能を有するアプリケーションである。処理フローアプリケーション４２０は、通信部４２１、処理フロー制御部４２２、処理フロー管理部４２３、ＵＩ生成部４２４、認証部４２５、タスク実行部４２６を有する。
【００１８】
通信部４２１は、ＮｅｔｗｏｒｋＩ／Ｆ３０５を介して、各装置の通信部と通信を行う。
処理フロー制御部４２２は、処理フローに関する処理を制御するソフトウェアモジュールである。処理フロー制御部４２２は、処理フロー管理部４２３を介して処理フロー情報を取得する。そして、処理フロー制御部４２２は、取得した処理フロー情報の解析を行い、各タスクに分割する。更に、処理フロー制御部４２２は、処理フローアプリケーション４２０で実行すべき各タスクを、処理フロー情報で指定されている順に実行するようにタスク実行部４２６に通知する。また、処理フロー制御部４２２は、取得した処理フロー情報の編集、加工を行う。
処理フロー管理部４２３は、後述の処理フロー管理リスト６００を管理するソフトウェアモジュールである。処理フロー管理リスト６００の詳細については、図６（Ａ）を用いて後述する。処理フロー制御部４２２からの指示を受けて、処理フロー管理部４２３は、処理フロー管理リスト６００から処理フロー情報を取得する。また、処理フロー管理部４２３は、処理フロー制御部４２２からの指示を受けて、処理フロー情報を処理フロー管理リスト６００に登録する。
【００１９】
ＵＩ生成部４２４は、ＰＣ１３０上等で動作するＷｅｂブラウザーからの要求を、通信部４２１を介して受け取り、処理フローを作成する画面をｈｔｍｌ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル等で生成する。ＵＩ生成部４２４は、生成した画面を、通信部４２１を介してＰＣ１３０等で動作するＷｅｂブラウザーに送信する。
認証部４２５は、処理フローアプリケーション４２０の認証を行うソフトウェアモジュールである。認証部４２５は、処理フローアプリケーション４２０にログイン可能な認証情報（ユーザー名と、パスワードと）を管理する。認証部４２５は、ＰＣ１３０等で動作するＷｅｂブラウザーから受信した認証情報と、認証部４２５で管理する認証情報とを照合し、処理フローアプリケーション４２０にログイン可能であるかを判断する。
タスク実行部４２６は、処理フロー制御部４２２から渡されたタスクを実行する。タスク実行部４２６が実行するタスクとは、フォーマット変換等の画像処理や文書管理サーバー装置への文書データの登録等である。尚、各タスクの実際の処理は、必ずしもタスク実行部４２６で実行されなくてもよい。例えば、タスク実行部４２６は、外部のサーバー装置が公開する画像処理のＷｅｂサービス等に文書データの処理を依頼し、処理後の文書データを受け取ることでタスクを実行するようにしてもよい。
【００２０】
処理フロー拡張アプリケーション４５０は、通信部４５１、制御部４５２、ＵＩ生成部４５３、ステータス管理部４５４を有するＷｅｂアプリケーションである。処理フロー拡張アプリケーション４５０は、オフィスアプリケーション４７０からのリクエストを受けて各種処理を実行する。
通信部４５１は、ＮｅｔｗｏｒｋＩ／Ｆ３０５を介して、各装置の通信部と通信を行うソフトウェアモジュールである。
制御部４５２は、処理フローアプリケーション４２０に対して、処理フローの検索や実行を依頼する。また、制御部４５２は、ステータス管理部４５４に対して、処理フローのステータスを確認する。
ＵＩ生成部４５３は、オフィスアプリケーション４７０に表示する画面データを生成するソフトウェアモジュールである。画面データとは、ｈｔｍｌファイル等、テキストや画像等をＵＩに表示するために記述されたデータである。また、ＵＩ生成部４５３は、オフィスアプリケーション４７０で表示する文書データに対する処理命令をＪａｖａｓｃｒｉｐｔ（登録商標）等で画面データに追加する。
ステータス管理部４５４は、後述のステータス管理リスト６２０を管理するソフトウェアモジュールである。ステータス管理リスト６２０については、図６（Ｂ）を用いて後述する。
【００２１】
図４（Ｃ）は、ＰＣ１３０のソフトウェア構成（処理部）の一例を示す図である。
ＰＣ１３０が有しているＨＤＤ３０６に記憶されているプログラムを、ＰＣ１３０のＣＰＵ３０１がＲＡＭ３０２に読み出して実行する。これにより、ＰＣ１３０のＣＰＵ３０１は、ＰＣ１３０の処理部、及び後述のＰＣ１３０に関するフローチャートの処理を実現する（機能させる）。
ＰＣ１３０は、オフィスアプリケーション４７０を有する。オフィスアプリケーション４７０は、文書データを編集する機能を有する。また、オフィスアプリケーション４７０は、Ｗｅｂアプリケーションとして実装された拡張アプリケーションを追加することにより、文書編集機能の拡張を行うことができるように構成されている。
オフィスアプリケーション４７０は、文書データ編集部４７１、文書データ連携部４７２、拡張アプリケーション管理部４７３を有する。
【００２２】
文書データ編集部４７１は、文書データの編集機能を有するソフトウェアモジュールである。文書データ編集部４７１は、文書データに対するユーザー操作を検知し、前記操作に応じた処理を文書データに行う。また、文書データ編集部４７１は、文書データ連携部４７２からの指示により、文書データに編集を加えたり、文書データに含まれるデータを文書データ連携部４７２に渡したりする。
文書データ連携部４７２は、拡張アプリケーション管理部４７３からの処理命令を解析し、文書データ編集部４７１に対して文書データに関する処理を指示する。また、文書データ連携部４７２は、文書データ編集部４７１より受け取ったデータを拡張アプリケーション管理部４７３に渡す。
拡張アプリケーション管理部４７３は、拡張アプリケーションの実行等を行うソフトウェアモジュールである。拡張アプリケーション管理部４７３は、拡張アプリケーションの実体であるＷｅｂアプリケーションと通信することで拡張アプリケーションの実行を実現する。また、拡張アプリケーション管理部４７３は、後述の拡張アプリケーション管理リスト６５０を管理する。拡張アプリケーション管理リスト６５０については、図６（Ｃ）を用いて後述する。
【００２３】
図５（Ａ）は、拡張アプリケーション配布サーバー装置１４０のソフトウェア構成（処理部）の一例を示す図である。
拡張アプリケーション配布サーバー装置１４０が有しているＨＤＤ３０６に記憶されているプログラムを、拡張アプリケーション配布サーバー装置１４０のＣＰＵ３０１がＲＡＭ３０２に読み出して実行する。これにより、拡張アプリケーション配布サーバー装置１４０のＣＰＵ３０１は、拡張アプリケーション配布サーバー装置１４０の処理部の機能（ソフトウェア構成）を実現する（機能させる）。同様に、拡張アプリケーション配布サーバー装置１４０のＣＰＵ３０１は、後述の拡張アプリケーション配布サーバー装置１４０に関するフローチャートの処理を実現する。
拡張アプリケーション配布サーバー装置１４０は、拡張アプリケーション配布サービス５００を有する。拡張アプリケーション配布サービス５００は、様々な開発者が作成した拡張アプリケーションを登録・管理するサービスである。オフィスアプリケーション４７０は、拡張アプリケーション配布サーバー装置１４０の拡張アプリケーション配布サービス５００に接続することで、各種拡張アプリケーションの検索や入手を行うことができる。
通信部５０１は、ＮｅｔｗｏｒｋＩ／Ｆ３０５を介して、各装置の通信部と通信を行う。
制御部５０２は、オフィスアプリケーション４７０からのリクエストを、通信部５０１を介して受け取り、リクエストに対する処理を行う。リクエストとは、例えば、拡張アプリケーションの一覧や検索、ダウンロード等の要求等である。そして、制御部５０２は、通信部５０１を介して、処理結果をレスポンスとしてオフィスアプリケーション４７０に送信する。
拡張アプリケーション管理部５０３は、後述の拡張アプリケーション管理リスト６７０を管理するソフトウェアモジュールである。拡張アプリケーション管理リスト６７０については、図６（Ｄ）を用いて後述する。
【００２４】
図５（Ｂ）は、文書管理サーバー装置１５０のソフトウェア構成（処理部）の一例を示す図である。
文書管理サーバー装置１５０が有しているＨＤＤ３０６に記憶されているプログラムを、文書管理サーバー装置１５０のＣＰＵ３０１がＲＡＭ３０２に読み出して実行する。これにより、文書管理サーバー装置１５０のＣＰＵ３０１は、文書管理サーバー装置１５０の処理部の機能（ソフトウェア構成）を実現する（機能させる）。
文書管理サーバー装置１５０は、文書管理サービス５５０を有する。文書管理サービス５５０は、Ｗｅｂアプリケーションである。文書管理サービス５５０は、通信部５５１、制御部５５２、文書データ管理部５５３を有する。
通信部５５１は、処理フロー管理サーバー装置１２０等からのリクエストを受信して、制御部５５２にリクエスト内容を通知する。更に、通信部５５１は、制御部５５２からリクエストに対する処理結果を受け取り、前記リクエストに対するレスポンスデータを作成し、処理フロー管理サーバー装置１２０等にレスポンスを送信する。
制御部５５２は、通信部５５１から通知されるリクエスト内容にしたがって、文書データ管理部５５３に、送信された文書データの格納、削除、移動、及び管理されている文書データのリスト取得等の処理を依頼する。
文書データ管理部５５３は、制御部５５２から送信される処理依頼に応じて、送信された文書データの格納、削除、移動、及び管理されている文書データのリスト取得を実行して制御部５５２に処理結果を送信する。
【００２５】
次に処理フロー管理サーバー装置１２０、ＰＣ１３０、拡張アプリケーション配布サーバー装置１４０の管理部で管理するデータのリストに関する説明を行う。本実施形態では、これらのリストをすべて模式的な図としてテーブル形式を用いているが、ＣＳＶ形式や、ＸＭＬ等でのテキストファイルでもよい。
図６（Ａ）は、処理フロー管理部４２３で管理する処理フロー管理リストの一例を示す図である。尚、管理リストは、リスト情報の一例である。
処理フロー管理リスト６００は、カラム６０１からカラム６０４までで構成される。１レコードが、１つの処理フロー情報を表す。また、処理フロー情報は、処理フローを一意に識別する処理フローＩＤと関連付けられている。
カラム６０１は、処理フローＩＤを示す。処理フローＩＤは、処理フローを一意に識別するための識別子（識別情報）である。例えば、最初のレコードであると処理フローＩＤは"７５３０１９３８"である。
カラム６０２は、処理フローの名称を表している。例えば、最初のレコードであると処理フローの名称は"帳票データ送信"である。
カラム６０３は、処理フローの公開先を表している。例えば、最初のレコードであると処理フローの名称は"ｔｓａｔｏ"である。これはユーザー名が"ｔｓａｔｏ"であるユーザーが処理フローアプリケーション４２０にログインしているときに、表示される処理フローであることを示している。
カラム６０４は、処理フローの定義ファイルを示している。処理フローの定義ファイルについては、図１０を用いて後述する。
【００２６】
図６（Ｂ）は、ステータス管理部４５４で管理するステータス管理リストの一例を示す図である。
ステータス管理リスト６２０は、カラム６２１からカラム６２２までで構成される。１レコードが、１つの処理フローのステータスを表す。オフィスアプリケーション４７０の要求を受けて処理フローの実行を開始すると、ステータス管理部４５４は、ステータス管理リスト６２０にレコードを追加する。
カラム６２１は、処理フローＩＤを示す。処理フローＩＤは、処理フローを一意に識別するための識別子である。例えば、最初のレコードであると処理フローＩＤは"７５３０１９３８"である。
カラム６２２は、処理フローのステータスを表している。例えば、最初のレコードであると処理フローのステータスは"実行中"である。
【００２７】
図６（Ｃ）は、拡張アプリケーション管理部４７３で管理する拡張アプリケーション管理リストの一例を示す図である。
拡張アプリケーション管理リスト６５０は、カラム６５１からカラム６５５までで構成される。１レコードが、１つの拡張アプリケーションの情報を表している。拡張アプリケーション管理リスト６５０に格納されている拡張アプリケーションが、オフィスアプリケーション４７０が起動可能な拡張アプリケーションである。
カラム６５１は、拡張アプリケーションＩＤを表している。拡張アプリケーションＩＤは、拡張アプリケーションを一意に識別するための識別子である。例えば、最初のレコードであると拡張アプリケーションＩＤは"ＡＢＣＤ１２３４"である。
カラム６５２は、拡張アプリケーションの名称を示している。例えば、最初のレコードであると"処理フロー"という名称の拡張アプリケーションであることを示している。
【００２８】
カラム６５３は、拡張アプリケーションを実際に提供しているＷｅｂアプリケーションのＵＲＬを管理する。カラム６５３は、拡張アプリケーションが起動しているときには本ＷｅｂアプリケーションのＵＲＬを表示する。例えば、最初のレコードであると、"ｈｔｔｐ：／／ｗｗｗ．ｆｌｏｗｓｅｒｖｉｃｅ．ｃｏｍ／ｍａｉｎ．ａｓｐｘ"であり、カラム６５３は、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０のＵＲＬを示している。
カラム６５４は、プロバイダーを示している。プロバイダーは、拡張アプリケーションを提供している人や組織の情報である。例えば、最初のレコードであると、"Ａ  Ｉｎｃ．"という組織が提供している拡張アプリケーションであることが分かる。
カラム６５５は、スタートアップとする拡張アプリケーションであるか否かを表している。スタートアップとは、オフィスアプリケーション４７０が文書データを開いたときに、拡張アプリケーションを起動することを表している。例えば、最初のレコードであると"ｔｒｕｅ"であり、スタートアップであることを示している。そのため、オフィスアプリケーション４７０は、文書データを開いたときに、自動的に最初のレコードの拡張アプリケーションを起動する。尚、カラム６５５が"ｆａｌｓｅ"である場合、オフィスアプリケーション４７０は、文書データを開いたときに、そのレコードの拡張アプリケーションを起動しない。
【００２９】
図６（Ｄ）は、拡張アプリケーション配布サーバー装置１４０の拡張アプリケーション管理部５０３が管理する拡張アプリケーション管理リストの一例を示す図である。
拡張アプリケーション管理リスト６７０は、カラム６７１からカラム６７５までで構成される。拡張アプリケーション管理リスト６７０に格納されている拡張アプリケーションが、拡張アプリケーション配布サービス５００が管理する拡張アプリケーションである。拡張アプリケーション配布サービス５００は、オフィスアプリケーション４７０等に対して拡張アプリケーションを配布する。
カラム６７１からカラム６７５までが表すデータは、拡張アプリケーション管理リスト６５０におけるカラム６５１からカラム６５５までと同じである為、説明を省略する。
【００３０】
（オフィスアプリケーション４７０）
オフィスアプリケーション４７０について図７を用いて説明する。オフィスアプリケーション４７０は、文書データの編集を行う機能を有している。また、オフィスアプリケーション４７０は、Ｗｅｂアプリケーションとして実装された拡張アプリケーションを追加することにより、文書編集機能の拡張を行うことができるように構成されている。
図７は、オフィスアプリケーション４７０が表示するＵＩの一例を示す図である。
ＵＩ７００は、メニューバー７０１、文書データ表示領域７０２、タスクペイン７０３で構成される。
メニューバー７０１は、オフィスアプリケーション４７０が提供する機能をユーザーに選択させるためのＵＩである。
文書データ表示領域７０２は、文書データを表示するための領域である。文書データ表示領域７０２は、ユーザーに対して文書データの表示、編集等の機能を提供する。例えばＵＩ７００では文書データ７０４が表示されており、文書データ表示領域７０２は、文書データ７０４に対する編集の機能を提供している。
タスクペイン７０３は、拡張アプリケーションに関する表示を行う領域である。拡張アプリケーションは、ＵＩ７００のタスクペインとして実行される。タスクペイン７０３は、拡張アプリケーションの実体であるＷｅｂアプリケーションにより提供される画面データを表示する。また、タスクペイン７０３は、拡張アプリケーション配布サービス５００によって提供される画面データの表示も行う。
【００３１】
メニュー７０５は、拡張アプリケーションのダウンロード機能を呼び出すためのメニューである。ここで、拡張アプリケーションのダウンロード機能について簡単に説明する。拡張アプリケーションのダウンロードとは、拡張アプリケーションの実体をダウンロードするのではなく、拡張アプリケーションのメタデータをダウンロードすることである。拡張アプリケーションのメタデータとは、拡張アプリケーション配布サービス５００の拡張アプリケーション管理リスト６７０のレコードにあるデータのことである。拡張アプリケーション管理リスト６７０のカラム６７３には拡張アプリケーションの実体であるＷｅｂアプリケーションのＵＲＬが含まれるため、オフィスアプリケーション４７０は拡張アプリケーションを利用することができるようになる。
オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるメニュー７０５の押下を受け付けると、拡張アプリケーション配布サービス５００に対して、配布可能な拡張アプリケーションの一覧をリクエストする。配布可能な拡張アプリケーションの一覧とは、例えば拡張アプリケーションＩＤと、名称とのリスト等である。
拡張アプリケーション配布サービス５００は、リクエストを受け取ると、制御部５０２が拡張アプリケーション管理部５０３に拡張アプリケーションの一覧を要求する。
拡張アプリケーション管理部５０３は、拡張アプリケーション管理リスト６７０から一覧を取得し、制御部５０２に渡す。
制御部５０２は、通信部５０１を介してオフィスアプリケーション４７０に対して拡張アプリケーションの一覧をレスポンスとして送信する。
【００３２】
オフィスアプリケーション４７０は、受信した拡張アプリケーションの一覧をタスクペインに表示する。例えば、タスクペイン７０３のように、それぞれの拡張アプリケーションをダウンロードするためのボタン７０６やボタン７０７等を表示する。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン７０６やボタン７０７の押下を受け付けると、押下されたボタンに紐づいた拡張アプリケーションＩＤを拡張アプリケーション配布サービス５００に送る。これにより、オフィスアプリケーション４７０は、拡張アプリケーションのダウンロードを拡張アプリケーション配布サービス５００にリクエストする。
拡張アプリケーション配布サービス５００は、オフィスアプリケーション４７０のリクエストを受信すると拡張アプリケーションのダウンロード機能を実行する。
より具体的には、制御部５０２が、通信部５０１を介して受け取ったリクエストに含まれる拡張アプリケーションＩＤを拡張アプリケーション管理部５０３に渡す。
拡張アプリケーション管理部５０３は、拡張アプリケーション管理リスト６７０のカラム６７１と、受け取った拡張アプリケーションＩＤとを比較する。そして、拡張アプリケーション管理部５０３は、一致したレコードのデータを制御部５０２に渡す。
制御部５０２は、通信部５０１を介してオフィスアプリケーション４７０にレコードのデータ（拡張アプリケーションのメタデータ）をレスポンスする。このように制御部５０２は、拡張アプリケーションのダウンロード機能を実現する。
オフィスアプリケーション４７０は、レスポンスを受け取ると、拡張アプリケーション管理部４７３が、レスポンスに含まれる拡張アプリケーションのメタデータを拡張アプリケーション管理リスト６５０に追加する。これにより、オフィスアプリケーション４７０は、拡張アプリケーションを実行することができるようになる。
【００３３】
（処理フローの作成）
次に処理フローを作成する処理について図８乃至図１０を用いて説明する。
まず、ユーザーは、入力装置３０４等を介してＰＣ１３０上等で動作するＷｅｂブラウザーに処理フローアプリケーション４２０のＵＲＬを入力して、接続ボタン等を押下することによりリクエストの指示を行う。
Ｗｅｂブラウザーは、リクエストの指示を受け付けると、処理フローアプリケーション４２０に画面データのリクエストを行う。
処理フローアプリケーション４２０は、Ｗｅｂブラウザーからのリクエストを受け付けるとＵＩ生成部４２４でログイン画面の画面データを生成する。処理フローアプリケーション４２０は、レスポンスとしてＷｅｂブラウザーにログイン画面の画面データを送信する。
ユーザーは、Ｗｅｂブラウザーに表示されたログイン画面に、入力装置３０４等を介してユーザー名と、パスワードとを入力し、ポインティングデバイス３０８等を介してボタンを押下する等して、ログイン指示をＷｅｂブラウザーに行う。
Ｗｅｂブラウザーは、ログインの指示を受け付けると、処理フローアプリケーション４２０にユーザー名と、パスワードとを送信する。
処理フローアプリケーション４２０の認証部４２５は、Ｗｅｂブラウザーから受信したユーザー名と、パスワードとを用いて認証を行う。
認証が成功すると、処理フローアプリケーション４２０のＵＩ生成部４２４は、処理フローを作成する画面を生成し、通信部４２１を介してＷｅｂブラウザーに送信する。
そして、Ｗｅｂブラウザーは、図８を用いて後述する処理フロー作成画面８００を表示装置３０７に表示する。
【００３４】
図８は、処理フローアプリケーション４２０のＵＩ生成部４２４が生成した画面データを、ＰＣ１３０上等で動作するＷｅｂブラウザーで表示しているＵＩの一例を示す図である。Ｗｅｂブラウザーは、処理フロー作成画面８００を表示装置３０７に表示する。
入力フィールド８０１は、処理フローの名称の設定を行うための、文字列の入力を受け付ける入力フィールドである。
領域８０２は、スキャンの設定を行うための入力フィールド等を配置した領域である。処理フロー作成画面８００の例では"ドキュメントサイズ"、"カラーモード"、"解像度"、"倍率"の設定を行うための領域である。
チェックボックス８０３は、処理フローの途中でユーザーが文書の編集を行うかを設定するためのチェックボックスである。処理フロー作成画面８００では、チェックボックス８０３にチェックされると、ボタン８０４が有効化する。
ボタン８０４は、送信先を設定するためのボタンである。ＰＣ１３０上で動作するＷｅｂブラウザーは、ポインティングデバイス３０８等を介してユーザーによるボタン８０４の押下を受け付ける。そして、ＰＣ１３０上で動作するＷｅｂブラウザーは、処理フローアプリケーション４２０が管理する宛先一覧から送信先を選択するための図９を用いて後述する送信先選択画面１７００を表示する。より具体的には、ボタン８０４が押下されると、ＰＣ１３０で動作するＷｅｂブラウザーが処理フローアプリケーション４２０に送信先選択画面の画面データのリクエストを行う。処理フローアプリケーション４２０は、リクエストを受信すると、送信先選択画面の画面データを生成し、レスポンスとしてＰＣ１３０上で動作するＷｅｂブラウザーに送信する。そして、ＰＣ１３０上で動作するＷｅｂブラウザーは、画面データを受信し、送信先選択画面１７００を表示する。
【００３５】
ここで、送信先選択画面１７００について図９を用いて説明する。
図９は、送信先選択画面の画面データを、ＰＣ１３０上で動作するＷｅｂブラウザーで表示しているＵＩの一例を示す図である。
宛先リスト１７０１は、処理フローアプリケーション４２０が管理する宛先一覧を表示するリストである。リストのカラムには、"名称"、"宛先"、"プロトコル"を表示している。１つのレコードが、１つの宛先を表している。
レコード１７０２は、１つの宛先を表している。レコード１７０２の宛先は、名称が"共有フォルダ"、宛先が"￥￥１９２．１６８．ｘｘ．ｘｘ￥ａｂｃ￥．．．"、プロトコルが"ＳＭＢ"である。また、レコード１７０２は点線で囲まれており、選択された状態になっている。
ボタン１７０３は、宛先リスト１７０１で選択されているレコードの宛先を送信先として設定するためのボタンである。ＰＣ１３０上で動作するＷｅｂブラウザーは、ポインティングデバイス３０８等を介してユーザーによるボタン１７０３の押下を受け付けると、送信先選択画面１７００を閉じる。
ボタン１７０４は、宛先リスト１７０１で選択されているレコードの宛先を送信先として設定せずにキャンセルするためのボタンである。ＰＣ１３０上で動作するＷｅｂブラウザーは、ポインティングデバイス３０８等を介してユーザーによるボタン１７０４の押下を受け付けると、送信先選択画面１７００を閉じる。
【００３６】
図８の説明に戻る。
ＰＣ１３０上で動作するＷｅｂブラウザーは、送信先選択画面１７００において、ポインティングデバイス３０８等を介してユーザーによる送信先の選択と、ボタン１７０３の押下とを受け付けると、ラベル８０５に送信先を表示する。
ラベル８０５は、送信先を表している。ＭＦＰ１１０は、処理フローを実行するとラベル８０５で設定された送信先に対して、文書データを送信する。ユーザーは、送信先に保存された文書データを、入力装置３０４等を介して編集することで、処理フローの途中で文書データの編集を行うことができる。尚、本実施形態では送信先一覧から送信先を設定するＵＩにしているが、文字列を受け付ける入力フィールドを用意して、入力装置３０４等を介して直接送信先を入力するようなＵＩにしてもよい。
領域８０６は、処理フローアプリケーション４２０のタスク実行部４２６で実行する画像処理を設定するための入力フィールド等を配置した領域である。ユーザーは、入力装置３０４等を介して領域８０６に配置した入力フィールドに入力を行うことで画像処理に関する設定を行うことができる。
【００３７】
領域８０７は、処理フローアプリケーション４２０のタスク実行部４２６で実行する文書管理サーバー装置１５０への送信の設定を行うための入力フィールド等を配置した領域である。ユーザーは、入力装置３０４等を介して文書管理サーバー装置１５０のＵＲＬや認証情報の設定を行うことができる。
ボタン８０８は、処理フロー情報の作成を指示するためのボタンである。Ｗｅｂブラウザーは、ポインティングデバイス３０８等を介してユーザーによるボタン８０８の押下を受け付けると、処理フロー作成画面８００で入力された情報を処理フローアプリケーション４２０に送信する。処理フローアプリケーション４２０の処理フロー制御部４２２は、受け取った情報を解析し、図１０を用いて後述する処理フローの定義ファイルを作成する。そして、処理フロー制御部４２２の指示により、処理フロー管理部４２３は、作成した処理フローの定義ファイルを処理フロー管理リスト６００に登録する。
ボタン８０９は、処理フロー情報の作成をキャンセルするためのボタンである。Ｗｅｂブラウザーは、ポインティングデバイス３０８等を介してユーザーによるボタン８０９の押下を受け付けると、処理フロー作成画面８００での処理フロー情報の作成を中止する。
【００３８】
図１０は、処理フロー管理リスト６００のカラム６０４に格納される処理フロー情報の定義ファイルの一例を示す図である。
処理フロー情報の定義ファイル９００は、処理フローアプリケーション４２０と、処理フロー実行アプリケーション４００とが処理することができる形式であればそのフォーマットは問わない。
タグ９０１は、"ＪｏｂＳｃｒｉｐｔ"タグであり、１つの処理フローを示している。本タグ内に処理フローに関する定義が記載されている。
属性９０２は、"ｎａｍｅ"属性であり、処理フローの名称を示している。本処理フローの名称は、"帳票データ送信"である。属性９０２の値は、入力フィールド８０１で入力された内容が記載される。
属性９０３は、"ｕｓｅｒ"属性であり、処理フローの公開先を示している。本処理フローの公開先は、"ｔｓａｔｏ"である。
属性９０４は、"ｉｄ"属性であり、処理フローのＩＤを示している。本処理フローのＩＤは、"７５３０１９３８"である。つまり、本処理フローの定義ファイルは、処理フロー管理リスト６００の最初のレコードにある"２３１５３．ｘｍｌ"である。
タグ９０５は、"Ｓｃａｎ"タグであり、スキャンに関するタスクであることを示している。本タグ内にスキャンに関するタスクの定義が記載されている。本タグ内には、領域８０２で入力された内容が記載される。
【００３９】
タグ９０６は、"Ｓｅｎｄ"タグであり、ＭＦＰ１１０の送信に関するタスクであること示している。本タグ内に送信に関するタスクの定義が記載されている。尚、本実施形態では、処理フローアプリケーション４２０の処理フロー制御部４２２は、チェックボックス８０３がチェックされていた場合（「ユーザーが文書の編集を行う」設定がなされている場合）に本タグを出力する。そのため、本タグがある場合、処理フローの途中でユーザー作業が入ることが分かる。
タグ９０７は、"ＳＭＢＰａｔｈ"タグであり、ＳＭＢ（Ｓｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ）の送信先が記載される。本タグの値にはラベル８０５に表示されていた内容が記載される。
タグ９０８は"ＩｎＴｅｘｔ"タグであり、ＭＦＰ１１０が文書データに埋め込む内容を示している。本処理フローであれば、"ＩｎＴｅｘｔ"タグの値は"７５３０１９３８"であり、ＭＦＰ１１０が本処理フローのＩＤを文書データに埋め込むことを示している。
タグ９０９は、"Ｉｍａｇｉｎｇ"タグであり、処理フローアプリケーション４２０のタスク実行部４２６で実行する画像処理に関するタスク定義であることを示している。本タグ内には、領域８０６で入力された内容が記載される。
タグ９１０は、"Ｃｏｎｎｅｃｔｏｒ"タグであり、処理フローアプリケーション４２０のタスク実行部４２６で実行する文書管理サーバー装置１５０への送信に関するタスク定義であることを示している。本タグ内には、領域８０７で入力された内容が記載される。
処理フローアプリケーション４２０の処理フロー制御部４２２は、以上のようにして処理フローを作成する。
【００４０】
（ＭＦＰ１１０での処理フローの実行）
次にＭＦＰ１１０において処理フローを実行する処理について図１１乃至１３を用いて説明する。
図１１（Ａ）は、ＭＦＰ１１０の操作部１１１に表示するＵＩの一例を示す図である。
まず、ユーザーは、ＭＦＰ１１０の操作部１１１を介して、ＵＩ１８００を操作する。
【００４１】
ボタン１８０３は、処理フロー実行アプリケーション４００のＵＩを表示するためのボタンである。ＭＦＰ１１０は、操作部１１１を介してユーザーによるボタン１８０３の押下を受け付けると、処理フロー実行アプリケーション４００を起動する。
そして、処理フロー実行アプリケーション４００のＵＩ部４０４は、認証情報の入力を受け付ける画面を表示する。ＵＩ部４０４は、操作部１１１を介してユーザーにより認証情報が入力された後、ボタン押下等を受け付けることにより、処理フローアプリケーション４２０へのアクセス指示を受け付ける。
ＭＦＰ１１０の処理フロー実行アプリケーション４００は、処理フロー管理サーバー装置１２０に対して処理フローアプリケーション４２０へのログイン要求を行う。この際、処理フロー実行アプリケーション４００は、前述した認証情報の入力を受け付ける画面で入力された認証情報を処理フローアプリケーション４２０へ送信する。
処理フローアプリケーション４２０は、通信部４２１を介してログイン要求を受信する。
処理フローアプリケーション４２０の認証部４２５は、受信したログイン要求に含まれる認証情報と、認証部４２５で管理する認証情報の照合とを行うことで認証する。認証部４２５は、認証に失敗した場合は、通信部４２１を介して認証エラーの通知をＭＦＰ１１０に送信する。認証部４２５が認証に成功すると、処理フロー制御部４２２は、処理フロー管理部４２３に対して認証情報に含まれるユーザー名に紐づけられた処理フロー情報の一覧の取得を依頼する。
【００４２】
処理フロー管理部４２３は、受け取ったユーザー名と、処理フロー管理リスト６００のカラム６０３とを比較することで、ユーザー名に紐づけられた処理フロー情報の特定を行う。
処理フロー制御部４２２は、処理フロー管理部４２３から受け取った処理フロー情報の一覧を、通信部４２１を介してＭＦＰ１１０に送信する。
ＭＦＰ１１０の処理フロー実行アプリケーション４００は、通信部４０１を介して、処理フロー情報の一覧を受信する。尚、処理フロー情報の一覧には処理フロー名や処理フローＩＤ等が含まれていればよく、特にカラム６０４に格納されている処理フローの定義ファイルは含まれてなくてよい。
処理フロー実行アプリケーション４００のＵＩ部４０４は、図１１（Ｂ）に示されるＵＩ１８５０を表示する。
【００４３】
ここで図１１（Ｂ）を用いてＵＩ１８５０について説明する。
図１１（Ｂ）は、ＭＦＰ１１０の処理フロー実行アプリケーション４００が受信した処理フロー情報に係る処理フローを実行するためのボタンを一覧表示したＵＩの一例を示す図である。
ボタン１８５１は、処理フロー名称が"帳票データ送信"である処理フローを実行するためのボタンである。
ボタン１８５２は、処理フロー名称が"板書送信"である処理フローを実行するためのボタンである。
ボタン１８５３は、ＵＩ１８００に戻るためのボタンである。
ここでＵＩ部４０４は、操作部１１１を介してユーザーによる処理フローを実行するためのボタン１８５１やボタン１８５２の押下を受け付けると、処理フローの実行指示として受け付ける。
【００４４】
以降は図１２を用いて説明する。
図１２は、処理フローを取得してから実行するまでのＭＦＰ１１０の処理の一例を示すフローチャートである。
Ｓ１００１で、処理フロー制御部４０２は、通信部４０１を介して処理フローアプリケーション４２０に処理フローのリクエストを行う。なお、処理フロー制御部４０２は、処理フローアプリケーション４２０にボタン押下された処理フローＩＤを含めたリクエストを行う。そして、処理フローアプリケーション４２０から通信部４０１が、処理フロー情報が含まれるレスポンスを受信するとＳ１００２に遷移する。
ここで、リクエストを受け取った処理フローアプリケーション４２０の処理についても簡単に説明する。
処理フローアプリケーション４２０の通信部４２１は、処理フローのリクエストを受信する。処理フロー制御部４２２は、受信した処理フローのリクエストに含まれる処理フローＩＤに紐づいた処理フロー情報の特定を行う。より具体的には、処理フロー管理部４２３は、処理フロー管理リスト６００のカラム６０１と、受信した処理フローＩＤとを比較することで処理フロー情報の特定を行う。処理フロー管理部４２３が特定できなかった場合、通信部４２１は、エラーを処理フロー実行アプリケーション４００に送信する。処理フロー管理部４２３が特定できた場合は、特定した処理フロー情報を通信部４２１が処理フロー実行アプリケーション４００に送信する。尚、通信部４２１は、処理フロー管理部４２３が特定した処理フロー情報をすべて送信するのではなく、ＭＦＰ１１０で実行すべき部分のみ送信するようにしてもよい。例えば、処理フロー情報の定義ファイル９００であれば、処理フロー制御部４２２がスキャンと、ＳＭＢ送信とのタスクのみの処理フロー情報に加工してから送信する。こうすることで、ＭＦＰ１１０にはＭＦＰ１１０が実行する処理フローの定義しか渡らなくなる。そのため、例えば、タグ９１０内に記載されている文書管理サーバー装置１５０への認証情報等の情報が、不必要にネットワーク１００上を流れることがなくなる。
【００４５】
Ｓ１００２で、処理フロー制御部４０２は、処理フロー情報を取得できたかを判断する。処理フロー制御部４０２は、処理フロー情報を取得できた場合は、Ｓ１００３に遷移する。一方、処理フロー制御部４０２は、レスポンスがエラー等であり、処理フロー情報を取得できていなかった場合は、Ｓ１００７に遷移する。
Ｓ１００３で、処理フロー制御部４０２は、処理フロー情報を解析して各タスクに分割し、Ｓ１００４に遷移する。
Ｓ１００４で、処理フロー制御部４０２は、タスク実行部４０３に分割したタスクの実行を指示する。タスク実行部４０３は、タスクを実行し、Ｓ１００５に遷移する。
Ｓ１００５で、処理フロー制御部４０２は、タスク実行部４０３で実行したタスクが正常終了したかを判断する。処理フロー制御部４０２は、正常終了していると判断した場合は、Ｓ１００６に遷移する。処理フロー制御部４０２は、正常終了しなかったと判断した場合は、Ｓ１００８に遷移する。
【００４６】
Ｓ１００６で、処理フロー制御部４０２は、ＭＦＰ１１０で実行すべきタスクがすべて実行終了しているかを判断する。処理フロー制御部４０２は、すべて終了していると判断した場合は、処理を終了する。処理フロー制御部４０２は、終了していないタスクがあると判断した場合は、Ｓ１００４に遷移する。例えば、図１０を用いて説明した処理フロー情報の定義ファイル９００を図１２のフローチャートに従って処理する場合、タスク実行部４０３は、スキャンのタスクと、ＳＭＢ送信するタスクとを実行するため、Ｓ１００４の処理が２回実行される。また、ＳＭＢ送信のタスクでは、タグ９０８で定義されているように、タスク実行部４０３は、文書データに処理フロー情報のＩＤを埋め込む。作成された文書データに関しては図１３を用いて後述する。
Ｓ１００７で、ＵＩ部４０４は、処理フロー情報の取得に失敗したことを通知するエラー画面を表示して処理を終了する。
Ｓ１００８で、ＵＩ部４０４は、処理フローの実行が失敗したことを通知するエラー画面を表示して処理を終了する。
【００４７】
図１３は、処理フロー情報の定義ファイル９００で定義された処理フローをＭＦＰ１１０で実行して生成した文書データの一例を示す図である。
文書データ１１００は、ＸＭＬで表現されている。尚、本実施形態ではＸＭＬを用いているがバイナリデータ等でもよい。
タグ１１０１は、"ｄｏｃｕｍｅｎｔ"タグであり、本タグ内に文書データに関する定義が記載されている。
領域１１０２には、文書データ表示領域７０２に表示する文書データに関する定義が記載されている。例えば、領域１１０２では、"議事録"という文字列が文書データ表示領域７０２に表示される。
タグ１１０３は、"ｊｏｂＳｃｒｉｐｔＩｄ"タグであり、処理フロー実行アプリケーション４００が拡張したタグとして追加したものである。そのため、タグ１１０３は、文書データ表示領域７０２には表示されない。尚、処理フロー実行アプリケーション４００は、本タグの値として、処理フロー情報の定義ファイル９００のタグ９０８の値を追加している。つまり、処理フロー実行アプリケーション４００は、本タグの値として、処理フローＩＤを追加している。本実施形態では文書データ内の拡張したタグとして追加しているが、他の方法でもよい。例えば、ＸＭＬで表現する文書データは、１つのファイルではなく、テキストに関するファイルと、イメージに関するファイル等とを別々に構成して、それら複数のファイルを圧縮した１つのファイルとして表現することがある。このような文書データの場合は、処理フロー実行アプリケーション４００は、文書データ内の拡張したタグではなく、文書データとは別ファイルを作成してその中に処理フロー情報のＩＤを記載してもよい。
【００４８】
（ＰＣ１３０での処理フローの実行）
次にＭＦＰ１１０により送信された文書データに対して、ＰＣ１３０で編集、確認を行い、処理フローを実行するまでの処理を図１４乃至図１９を用いて説明する。
図１４は、オフィスアプリケーション４７０と、処理フロー拡張アプリケーション４５０とのシーケンス処理の一例を示した図である。
まず、ＰＣ１３０は、入力装置３０４を介してユーザーによる文書データを開く操作を受け付け、オフィスアプリケーション４７０を起動する。
Ｓ１２０１で、ＰＣ１３０のオフィスアプリケーション４７０の拡張アプリケーション管理部４７３は、スタートアップの拡張アプリケーションを特定する。より具体的には、拡張アプリケーション管理部４７３は、拡張アプリケーション管理リスト６５０のカラム６５５が"ｔｒｕｅ"となっている拡張アプリケーションを探す。拡張アプリケーション管理リスト６５０の最初のレコードの処理フロー拡張アプリケーション４５０は、カラム６５５が"ｔｒｕｅ"であるため、拡張アプリケーション管理部４７３は、スタートアップの拡張アプリケーションとして特定することができる。
Ｓ１２０２で、ＰＣ１３０のオフィスアプリケーション４７０は、スタートアップとして特定した拡張アプリケーションに対して起動要求を行う。つまり、オフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０に対して起動要求を行う。オフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０のＵＲＬを、拡張アプリケーション管理リスト６５０から特定することができる。処理フロー拡張アプリケーション４５０は、オフィスアプリケーション４７０からの起動要求を受信する。
【００４９】
Ｓ１２０３で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、文書データに含まれる処理フローＩＤの要求を作成する。より具体的には、制御部４５２が、ＵＩ生成部４５３に対して処理フローＩＤの要求作成を依頼する。ＵＩ生成部４５３は、オフィスアプリケーション４７０の文書データ連携部４７２が解析可能な命令（例えばＪａｖａＳｃｒｉｐｔ等）を作成する。
Ｓ１２０４で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、Ｓ１２０３で作成した処理フローＩＤの要求の命令をオフィスアプリケーション４７０に送信する。そして、オフィスアプリケーション４７０は、処理フローＩＤの要求の命令を受信する。
Ｓ１２０５で、ＰＣ１３０のオフィスアプリケーション４７０は、文書データ内に含まれる処理フローＩＤの検索を行う。より具体的には、文書データ連携部４７２が、受信した処理フローＩＤの要求の命令を解析する。そして、文書データ連携部４７２は、文書データ編集部４７１に処理フローＩＤの検索を指示する。文書データ編集部４７１は、文書データの中に処理フローＩＤがあるかを探す。より具体的には、文書データ編集部４７１は、文書データの中に"ｊｏｂＳｃｒｉｐｔＩｄ"タグがあるかを探す。"ｊｏｂＳｃｒｉｐｔＩｄ"タグがない場合、オフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０の画面データをタスクペイン７０３に表示せずに、文書データを表示する。また、文書データの中に"ｊｏｂＳｃｒｉｐｔＩｄ"タグがない場合、オフィスアプリケーション４７０は、Ｓ１２０６以降の処理も行わない。これにより、処理フローＩＤが埋め込まれていない文書データであった場合は、オフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０を起動せずに文書データを表示することができる。このように処理フローＩＤが文書データに埋め込まれているときのみ、オフィスアプリケーション４７０が、処理フロー拡張アプリケーション４５０を起動し、タスクペイン７０３に画面を表示するように構成しても構わない。あるいは処理フローＩＤが文書データに埋め込まれていない場合はユーザーに入力を促すように構成しても構わない。一方、"ｊｏｂＳｃｒｉｐｔＩｄ"タグがあった場合、文書データ編集部４７１は、"ｊｏｂＳｃｒｉｐｔＩｄ"タグ内に記載されている処理フローＩＤを取得し、Ｓ１２０６に遷移する。例えば、処理フローの定義ファイル９００であれば、処理フローＩＤは"７５３０１９３８"である。
【００５０】
Ｓ１２０６で、ＰＣ１３０のオフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０にＳ１２０５で検索した処理フローＩＤを送信する。Ｓ１２０６の処理は、識別情報送信処理の一例である。
Ｓ１２０７で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、処理フロー情報の特定処理を行う。ここで、Ｓ１２０７の処理の詳細について図１５を用いて説明する。
図１５は、処理フロー拡張アプリケーション４５０によるＳ１２０７の処理の一例を示すフローチャートである。
Ｓ１３０１で、通信部４５１は、オフィスアプリケーション４７０から送信された処理フローＩＤを受信し、Ｓ１３０２に遷移する。
Ｓ１３０２で、制御部４５２は、ステータス管理部４５４に対して、受信した処理フローＩＤがステータス管理リスト６２０に存在するかを確認する。ステータス管理部４５４は、ステータス管理リスト６２０のカラム６２１に受信した処理フローＩＤと一致する処理フローＩＤがあるかを探す。ステータス管理部４５４は、一致する処理フローＩＤがあった場合は、Ｓ１３０６に遷移する。ステータス管理部４５４は、一致する処理フローＩＤがなかった場合は、Ｓ１３０３に遷移する。
【００５１】
Ｓ１３０３で、制御部４５２は、処理フローアプリケーション４２０に対して、Ｓ１３０１で受信した処理フローＩＤに紐づいた処理フロー情報が処理フロー管理リスト６００にあるかを問い合わせる。そして、制御部４５２は、処理フローアプリケーション４２０から結果を受信する。制御部４５２は、受信した結果、処理フローＩＤがある場合は、Ｓ１３０４に遷移する。一方、制御部４５２は、処理フローＩＤがない場合は、Ｓ１３１０に遷移する。ここで、処理フローアプリケーション４２０が制御部４５２から問い合わせを受けたときの処理を簡単に説明する。処理フロー管理部４２３は、処理フロー管理リスト６００のカラム６０１に問い合わせを受けた処理フローＩＤがあるかを確認する。そして、処理フロー管理部４２３は、処理フローＩＤがあった場合は、処理フロー情報の名称等の情報を処理フロー拡張アプリケーション４５０に渡す。処理フロー管理部４２３は、処理フローＩＤがなかった場合は、処理フロー拡張アプリケーション４５０にその結果を渡す。
Ｓ１３０４で、ＵＩ生成部４５３は、Ｓ１３０１で受信した処理フローＩＤで紐づけられた処理フロー情報に係る処理フローを実行するための画面データを作成し、Ｓ１３０５に遷移する。尚、Ｓ１３０４で生成した画面データをオフィスアプリケーション４７０が表示したＵＩについては、図１６を用いて後述する。
Ｓ１３０５で、ＵＩ生成部４５３は、Ｓ１３０４で作成した画面データに、文書データを処理フロー拡張アプリケーション４５０にアップロードする命令を追加し、処理を終了する。
【００５２】
Ｓ１３０６で、ステータス管理部４５４は、処理フローのステータスを確認する。より具体的には、ステータス管理部４５４は、ステータス管理リスト６２０のカラム６２２が"完了"となっているかを確認する。ステータス管理部４５４は、"完了"となっている場合は、Ｓ１３０７に遷移する。ステータス管理部４５４は、"完了"となっていない場合は、Ｓ１３０９となっている。
Ｓ１３０７で、ＵＩ生成部４５３は、処理フローが完了したことを通知する画面を生成し、Ｓ１３０８に遷移する。尚、Ｓ１３０７で生成した画面データをオフィスアプリケーション４７０が表示したＵＩについては、図１９（Ａ）を用いて後述する。
Ｓ１３０８で、ＵＩ生成部４５３は、Ｓ１３０７で生成した画面データに、文書データに埋め込まれた処理フローＩＤの削除命令（削除メッセージ）を追加し、処理を終了する。処理フローの実行が完了しているため、オフィスアプリケーション４７０は、次回、文書データを開いた際に、再度処理フローを実行する必要はない。そのため、オフィスアプリケーション４７０は、文書データに埋め込まれた処理フローＩＤを削除する。これにより、オフィスアプリケーション４７０は、次回、文書データを開いた場合には、Ｓ１２０５の処理フローＩＤの検索で処理フローＩＤを見つけることができない。そのため、処理フロー拡張アプリケーション４５０で生成した画面データがタスクペインに表示されることはない。
【００５３】
Ｓ１３０９で、ＵＩ生成部４５３は、ステータスに応じた画面データを生成し、処理を終了する。尚、Ｓ１３０９で生成した画面データをオフィスアプリケーション４７０が表示したＵＩについては、図１９（Ｂ）を用いて後述する。
ここで、ＰＣ１３０が、ポインティングデバイス３０８等を介して受け付けたユーザーの操作に基づいて、処理フローの実行が完了する前に文書データを閉じた場合の処理について説明する。ステータス管理部４５４は、前記処理フローのステータスをステータス管理リスト６２０として管理する。即ち、ステータス管理部４５４は、前記処理フローの実行が完了した場合、前記処理フローの実行が完了した旨の情報を保持している。そのため、ＵＩ生成部４５３は、次回、ＰＣ１３０が前記文書データを開いた場合、前記処理フローが完了したことを通知する画面データを生成する。そして、ＵＩ生成部４５３は、前記生成した画面データに、文書データに埋め込まれた処理フローＩＤの削除命令を追加する。即ち、ＵＩ生成部４５３は、Ｓ１３０７、Ｓ１３０８と同様の処理を行う。
Ｓ１３１０で、ＵＩ生成部４５３は、エラーを通知する画面データを生成し、Ｓ１３１１に遷移する。尚、Ｓ１３１０で生成した画面データをオフィスアプリケーション４７０が表示したＵＩについては、図１９（Ｃ）を用いて後述する。
Ｓ１３１１で、ＵＩ生成部４５３は、Ｓ１３１０で作成した画面データに、文書データに埋め込まれた処理フローＩＤの削除命令を追加し、処理を終了する。Ｓ１３１１で処理フローＩＤの削除命令を画面データに追加するのは、オフィスアプリケーション４７０が再度文書データを開いた際に、Ｓ１３１０で作成するエラー画面が表示されないようにするためである。Ｓ１３０３の処理で、制御部４５２は、文書データに含まれる処理フローＩＤに該当する処理フロー情報は、処理フロー管理リスト６００にはないと判断している。そのため、もし、オフィスアプリケーション４７０が文書データに含まれる処理フローＩＤを削除しなければ、オフィスアプリケーション４７０が、次回、同じ文書データを開いた際にも、同様にＳ１３１０で生成したエラー画面が表示されることになる。
以上がＳ１２０７における処理フローの特定処理である。図１４の説明に戻る。
【００５４】
Ｓ１２０８で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、Ｓ１２０７で生成した画面データをオフィスアプリケーション４７０に送信する。ＰＣ１３０のオフィスアプリケーション４７０は、画面データを受信する。尚、送信した画面データがＳ１３０７で生成した画像であった場合、処理フロー拡張アプリケーション４５０のステータス管理部４５４は、画面データの送信が正常に終わった後、ステータス管理リスト６２０から該当する処理フロー情報のレコードを削除する。
Ｓ１２０９で、ＰＣ１３０のオフィスアプリケーション４７０は、タスクペインに処理フロー拡張アプリケーション４５０から受信した画面データを表示する。また、ＰＣ１３０のオフィスアプリケーション４７０は、文書データを文書データ表示領域に表示する。これによってオフィスアプリケーション４７０のＵＩが表示される。
ここで、図１６乃至図１９を用いてＳ１２０９で表示する画面について説明する。
【００５５】
図１６は、Ｓ１２０９でオフィスアプリケーション４７０が表示するＵＩの一例を示す図である。
ＵＩ１４００は、Ｓ１３０４で処理フロー拡張アプリケーション４５０のＵＩ生成部４５３が生成した画面データをタスクペインに表示している。
ボタン１４０１は、処理フローを実行するためのボタンである。ＰＣ１３０のオフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１４０１の押下を受け付けると、Ｓ１２１０に遷移する。ボタン１４０１を含むことによってＵＩ１４００は処理フローの実行画面として機能する。
尚、ボタン１４０１は、処理フローの名称が"帳票データ送信"である処理フローを実行するためのボタンである。これは、Ｓ１３０３で特定された処理フロー情報における処理フローの名称である。このように、オフィスアプリケーション４７０は、文書データを開くとタスクペインにただ１つの処理フローを実行するためのボタンを表示する。そのため、ユーザーは、文書データの編集、確認を行った後、タスクペインに、ただ１つ表示されているボタンを押下するだけでよく、その後は自動的に所望の処理が実行される。
ボタン１４０２は、オフィスアプリケーション４７０を終了するためのボタンである。オフィスアプリケーション４７０が、ポインティングデバイス３０８等を介してユーザーによるボタン１４０２の押下を受け付けた際の処理について図１７を用いて説明する。
【００５６】
図１７は、オフィスアプリケーション４７０が、ポインティングデバイス３０８等を介してユーザーによるボタン１４０２の押下を受け付けた際の処理の一例を示すフローチャートである。
Ｓ１４２１で、オフィスアプリケーション４７０の文書データ連携部４７２は、入力装置３０４を介してユーザによりボタン１４０２が押下されたかを監視する。文書データ連携部４７２は、ボタン１４０２が押下されたことを検知した場合は、Ｓ１４２２に遷移する。文書データ連携部４７２は、ボタン１４０２が押下されたことを検知していない場合は、監視を続ける。
Ｓ１４２２で、オフィスアプリケーション４７０の文書データ連携部４７２は、処理フロー拡張アプリケーション４５０から画面データを取得する。より具体的には、文書データ連携部４７２は、ボタン１４０２が押下されたことをリクエストとして処理フロー拡張アプリケーション４５０に通知する。処理フロー拡張アプリケーション４５０は、図１８を用いて後述するメッセージボックス１４５０を表示するＪａｖａＳｃｒｉｐｔを含む画面データを生成し、オフィスアプリケーション４７０にレスポンスとして送信する。オフィスアプリケーション４７０の文書データ連携部４７２は、画面データを含むレスポンスを受け取り、Ｓ１４２２に遷移する。
Ｓ１４２３で、オフィスアプリケーション４７０は、メッセージボックス１４５０を表示し、処理を終了する。より具体的には、文書データ連携部４７２は、レスポンスとして受け取った画面データに含まれるＪａｖａＳｃｒｉｐｔを解析し、メッセージボックス１４５０を表示する。
【００５７】
図１８は、処理フローの実行をするかを確認するためのメッセージボックスの一例を示す図である。
メッセージボックス１４５０は、ボタン１４５１と、ボタン１４５２とで構成される。また、メッセージボックス１４５０は、処理フローの実行をするか否かの確認メッセージを含む確認画面である。
ボタン１４５１は、処理フローを実行するためのボタンである。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１４５１の押下を受け付けると、ボタン１４０１の押下を受け付けた場合と同じ処理を行う。即ち、オフィスアプリケーション４７０は、Ｓ１２１０に遷移する。
ボタン１４５２は、処理フローを実行しないためのボタンである。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１４５２の押下を受け付けると、処理フローを実行せずに終了する。
【００５８】
図１９（Ａ）は、Ｓ１２０９でオフィスアプリケーション４７０が表示する図１６とは別のＵＩの一例を示す図である。尚、図１９（Ａ）は、処理フローの完了を示す完了画面の一例である。
ＵＩ１５００は、Ｓ１３０７で処理フロー拡張アプリケーション４５０のＵＩ生成部４５３が生成した画面データをタスクペインに表示している。
メッセージ１５０１は、処理フローが完了したことを通知するメッセージである。また、メッセージ１５０１は、文書データ内から処理フローＩＤが削除されたことも通知する。尚、オフィスアプリケーション４７０は、ＵＩ１５００を表示する際に、Ｓ１３０８で追加された処理フローＩＤの削除命令を実行することで文書データ内の処理フローＩＤを削除する。より具体的には、文書データ連携部４７２が、文書データ内の処理フローＩＤの削除命令を解析し、文書データ編集部４７１に対して処理フローＩＤの削除を依頼する。文書データ編集部４７１は、文書データ内に埋め込まれた処理フローＩＤを削除する。例えば、文書データ１１００であれば、文書データ編集部４７１は、タグ１１０３を削除する。
ボタン１５０２は、処理フロー拡張アプリケーション４５０を終了するためのボタンである。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１５０２の押下を受け付けると、処理フロー拡張アプリケーション４５０を終了させる。その際、オフィスアプリケーション４７０は、例えばタスクペインを閉じる（非表示にする）ようにしてもよい。
【００５９】
図１９（Ｂ）は、Ｓ１２０９でオフィスアプリケーション４７０が表示する図１６、図１９（Ａ）とは別のＵＩの一例を示す図である。
ＵＩ１５５０は、Ｓ１３０９で処理フロー拡張アプリケーション４５０のＵＩ生成部４５３が生成した画面データをタスクペインに表示している。
メッセージ１５５１は、処理フローが実行中であることを通知するメッセージである。
ボタン１５５２は、処理フローのステータスを確認するためのボタンである。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１５５２の押下を受け付けると、処理フロー拡張アプリケーション４５０に処理フローのステータスの問い合わせを行う。処理フロー拡張アプリケーション４５０は、ステータスに応じた画面データを作成し、オフィスアプリケーション４７０に送信する。オフィスアプリケーション４７０は、受信した画面データを表示する。ステータスが"実行中"であれば、オフィスアプリケーション４７０は、再びＵＩ１５５０のタスクペインを表示する。ステータスが"完了"であれば、オフィスアプリケーション４７０は、ＵＩ１５００のタスクペインを表示する。
【００６０】
図１９（Ｃ）は、Ｓ１２０９でオフィスアプリケーション４７０が表示する図１６、図１９（Ａ）、図１９（Ｂ）とは別のＵＩの一例を示す図である。
ＵＩ１５７０は、Ｓ１３１０で処理フロー拡張アプリケーション４５０のＵＩ生成部４５３が生成した画面データをタスクペインに表示している。
メッセージ１５７１は、文書データに埋め込まれた処理フローＩＤが、処理フロー管理サーバー装置１２０で管理する処理フロー情報の中になかったことを通知するメッセージである。また、メッセージ１５７１は、文書データ内から処理フローＩＤを削除したことも通知する。尚、オフィスアプリケーション４７０は、ＵＩ１５７０を表示する際に、Ｓ１３１１で追加された処理フローＩＤの削除命令を実行することで文書データ内の処理フローＩＤを削除する。
ボタン１５７２は、処理フロー拡張アプリケーション４５０を終了するためのボタンである。オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１５７２の押下を受け付けると、処理フロー拡張アプリケーション４５０を終了させる。
以上が、Ｓ１２０９でＰＣ１３０のオフィスアプリケーション４７０が表示するＵＩについての説明である。図１４の説明に戻る。
【００６１】
ＰＣ１３０のオフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１４０１、又はボタン１４５１の押下を受け付けると、Ｓ１２１０に遷移する。
Ｓ１２１０で、ＰＣ１３０のオフィスアプリケーション４７０は、Ｓ１３０５で追加した命令を実行することで文書データを取得する。より具体的には、オフィスアプリケーション４７０は、ポインティングデバイス３０８等を介してユーザーによるボタン１４０１、又は１４５１の押下を受け付ける。そして、文書データ連携部４７２は、命令を解析し、文書データ編集部４７１に文書データの取得を依頼する。文書データ編集部４７１は、文書データを取得する。
Ｓ１２１１で、ＰＣ１３０のオフィスアプリケーション４７０は、処理フロー拡張アプリケーション４５０に処理フローの実行要求をする（要求送信処理）。実行要求には、Ｓ１２１０で取得した文書データと、前記文書データに紐づけられた処理フローＩＤとが含まれる。
Ｓ１２１２で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、実行要求を受信し（要求受信処理）、処理フローアプリケーション４２０を通して処理フローを実行する。
ここで、Ｓ１２１２の処理の詳細について図２０を用いて説明する。
【００６２】
図２０は、処理フロー拡張アプリケーション４５０と、処理フローアプリケーション４２０とによるＳ１２１２の処理の一例を示すフローチャートである。
Ｓ１６０１からＳ１６０９までの処理が、処理フロー拡張アプリケーション４５０の処理である。
Ｓ１６０１で、通信部４５１は、処理フローの実行要求を受信し、Ｓ１６０２に遷移する。尚、Ｓ１６０１で通信部４５１が受信した処理フローの実行要求は、Ｓ１２１１でＰＣ１３０のオフィスアプリケーション４７０が送信した実行要求である。そのため、実行要求には文書データが含まれ、更に、文書データには処理フローＩＤが含まれる。
Ｓ１６０２で、制御部４５２は、通信部４５１を介して処理フローアプリケーション４２０に処理フローの実行を依頼し、Ｓ１６０３に遷移する。尚、この処理フローの実行の依頼には、Ｓ１６０１で通信部４５１が受信した実行要求に含まれる文書データが含まれている。
Ｓ１６０３で、ステータス管理部４５４は、処理フローの実行要求に含まれる処理フローＩＤと、"実行中"のステータスの情報とをカラム６２１、カラム６２２に追加することで、ステータス管理リスト６２０にレコードを追加する。そして、ステータス管理部４５４は、Ｓ１６０４に遷移する。
【００６３】
Ｓ１６０４で、制御部４５２は、Ｓ１６０２で処理フローアプリケーション４２０に依頼した処理フローの実行結果を受信したかを監視する。制御部４５２は、実行結果を受信した場合は、Ｓ１６０５に遷移する。一方、制御部４５２は、実行結果を受信していない場合は、監視を続ける。
Ｓ１６０５で、制御部４５２は、Ｓ１６０４で受信した実行結果を確認する。制御部４５２は、実行結果が"正常終了"であれば、Ｓ１６０６に遷移する。一方、制御部４５２は、実行結果が"エラー"であれば、Ｓ１６０９に遷移する。
Ｓ１６０６で、ステータス管理部４５４は、Ｓ１６０３でステータス管理リスト６２０に追加したレコードのカラム６２２の値を"完了"に変更してＳ１６０７に遷移する。
Ｓ１６０７で、ＵＩ生成部４５３は、処理フローが完了したことを通知する画面を生成し、Ｓ１６０８に遷移する。尚、Ｓ１６０７でＵＩ生成部４５３が生成する処理フローが完了したことを通知する画面は、Ｓ１３０７でＵＩ生成部４５３が生成する画面と同じである。
Ｓ１６０８で、ＵＩ生成部４５３は、Ｓ１６０７で生成した画面データに、文書データに埋め込まれた処理フローＩＤの削除命令を追加し、処理を終了する。
Ｓ１６０９で、ＵＩ生成部４５３は、エラー画面を生成し、処理を終了する。
以上が、Ｓ１２１２における処理フロー拡張アプリケーション４５０の処理である。次に、処理フローアプリケーション４２０の処理について説明する。
【００６４】
図２０のＳ１６５１からＳ１６６０までの処理が、処理フローアプリケーション４２０の処理である。
Ｓ１６５１で、処理フロー制御部４２２は、処理フローの実行依頼を受信したかを監視する。Ｓ１６５１で受信を監視する処理フローの実行依頼は、処理フロー拡張アプリケーション４５０がＳ１６０２で送信する処理フローの実行依頼である。処理フロー制御部４２２は、処理フローの実行依頼を受信した場合は、Ｓ１６５２に遷移する。一方、処理フロー制御部４２２は、処理フローの実行依頼を受信していない場合は、監視を続ける。
Ｓ１６５２で、処理フロー管理部４２３は、実行依頼に含まれる処理フローＩＤと、処理フロー管理リスト６００のカラム６２１とを比較して一致するレコードを探し、Ｓ１６５３に遷移する。
Ｓ１６５３で、処理フロー管理部４２３は、Ｓ１６５２の検索の結果、処理フローが見つかったかを判断する。処理フロー管理部４２３は、一致するレコードが見つかった場合、カラム６０４の処理フローの定義ファイルを処理フロー制御部４２２に渡しＳ１６５４に遷移する。一方、処理フロー管理部４２３は、一致するレコードが見つからなかった場合、Ｓ１６６０に遷移する。
Ｓ１６５４で、処理フロー制御部４２２は、処理フローを解析して各タスクに分割してＳ１６５５に遷移する。
【００６５】
Ｓ１６５５で、処理フロー制御部４２２は、処理フローの実行依頼に含まれる文書データに対して分割したタスクの処理を実行するようにタスク実行部４２６に依頼する。タスク実行部４２６は、依頼を受けたタスクを実行し、Ｓ１６５６に遷移する。尚、Ｓ１６５５で処理フロー制御部４２２がタスク実行部４２６に依頼するタスクは、処理フローアプリケーション４２０が実行するタスクである。処理フローアプリケーション４２０が実行可能なタスクについては、特に図示していないが処理フロー制御部４２２が管理していればよい。例えば、処理フローの定義ファイル９００であれば、タグ９０９、及びタグ９１０で示されるタスクが処理フローアプリケーション４２０で実行するタスクである。
Ｓ１６５６で、処理フロー制御部４２２は、タスク実行部４２６で実行したタスクが正常終了したかを判断する。処理フロー制御部４２２は、正常終了している場合は、Ｓ１６５８に遷移する。一方、処理フロー制御部４２２は、正常終了しなかった場合は、Ｓ１６６０に遷移する。
Ｓ１６５７で、処理フロー制御部４２２は、処理フローアプリケーション４２０で実行するタスクがすべて終了したかを判断する。処理フロー制御部４２２は、終了している場合は、Ｓ１６５７に遷移する。一方、処理フロー制御部４２２は、終了していない場合は、Ｓ１６５５に遷移する。例えば、処理フローの定義ファイル９００である場合を例に説明する。この場合、処理フロー制御部４２２は、タグ９０９で定義されている画像処理のタスクと、タグ９１０で定義されている文書管理サーバー装置１５０への送信のタスクとの実行が完了すると、実行するタスクがすべて終了していると判断する。このように、処理フロー拡張アプリケーション４５０と、処理フローアプリケーション４２０とにより処理フローを実行することで、目的の格納先に文書データが格納される。
【００６６】
Ｓ１６５８で、処理フロー制御部４２２は、処理フローの実行結果として"正常終了"を設定し、Ｓ１６５９に遷移する。
Ｓ１６５９で、通信部４２１は、処理フロー拡張アプリケーション４５０に実行結果を送信し、処理を終了する。
Ｓ１６６０で、処理フロー制御部４２２は、処理フローの実行結果として"エラー"を設定し、Ｓ１６５９に遷移する。
以上がＳ１２１２における処理フローアプリケーション４２０の処理である。
図１４の説明に戻る。
Ｓ１２１３で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、処理フローアプリケーション４２０にＳ１２１１で作成した画面データを送信する。そして、処理フローアプリケーション４２０は、前記画面データを受信する（画面データ受信処理）。
Ｓ１２１４で、処理フロー管理サーバー装置１２０の処理フロー拡張アプリケーション４５０は、Ｓ１２１３の画面データの送信が正常に完了すると、処理フローのステータス情報を削除する。より具体的には、処理フロー拡張アプリケーション４５０のステータス管理部４５４が、Ｓ１２１２で実行した処理フローの処理フローＩＤと、ステータス管理リスト６２０のカラム６２１とを比較することで該当する処理フローのステータス情報を特定する。ステータス管理部４５４は、特定したレコードをステータス管理リスト６２０から削除することで、処理フローのステータス情報を削除する。尚、既にオフィスアプリケーション４７０が終了している等、Ｓ１２１３の画面データの送信が正常に終了しなかった場合は、処理フロー拡張アプリケーション４５０は、Ｓ１２１４の処理を実行しないように構成しても構わない。
Ｓ１２１５で、ＰＣ１３０のオフィスアプリケーション４７０は、タスクペインにＳ１２１３で受信した画面データを表示する。尚、処理フロー拡張アプリケーション４５０がＳ１６０７で生成した画面データである場合、Ｓ１２１５でオフィスアプリケーション４７０が表示するオフィスアプリケーション４７０のＵＩは、ＵＩ１５００である。
【００６７】
以上のように本実施形態によれば、ＭＦＰ１１０で処理フローを実行する際に文書データの中に処理フローＩＤを埋め込む。そして、ＰＣ１３０のオフィスアプリケーション４７０が処理フロー拡張アプリケーション４５０を通して、文書データに含まれる処理フローＩＤを抽出する。更に、ＰＣ１３０のオフィスアプリケーション４７０は、処理フロー管理サーバー装置１２０が管理している管理リストに基づいて特定した前記処理フローＩＤに紐づいた処理フロー情報に係る処理フローを実行するためのボタンを表示する。これによりユーザーは、文書データと共に、ただ１つ表示されたボタンを押下するだけで所望の処理が実行されるため、途中でユーザーの作業が必要な処理フローにおいてもユーザー操作が簡単になる。
【００６８】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６９】
以上、上述した各実施形態によれば、途中でユーザーの作業が必要な処理フローにおいてもユーザー操作が簡単になる。
【００７０】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2014229026.tif 000003
【図２】
2014229026.tif 000004
【図３】
2014229026.tif 000005
【図４】
2014229026.tif 000006
【図５】
2014229026.tif 000007
【図６】
2014229026.tif 000008
【図７】
2014229026.tif 000009
【図８】
2014229026.tif 000010
【図９】
2014229026.tif 000011
【図１０】
2014229026.tif 000012
【図１１】
2014229026.tif 000013
【図１２】
2014229026.tif 000014
【図１３】
2014229026.tif 000015
【図１４】
2014229026.tif 000016
【図１５】
2014229026.tif 000017
【図１６】
2014229026.tif 000018
【図１７】
2014229026.tif 000019
【図１８】
2014229026.tif 000020
【図１９】
2014229026.tif 000021
【図２０】
2014229026.tif 000022