(57)【特許請求の範囲】
【請求項１】
複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、前記複数の外部装置の機能を組み合わせたデータ処理を実現する通信装置であって、
通信先の各外部装置と対応させて、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して該対応する外部装置に送信すると共に、該コマンドに対する応答を該外部装置から受信して、前記受け付けたコマンドに対する応答に変換して、該受け付けたコマンドの供給元に返す装置対応コマンド処理手段を設け、
さらに、前記外部装置に対する処理の要求を、前記所定のコマンドセットに含まれるコマンドとして受け付けると共に、該処理を実行させるべき外部装置と対応する前記装置対応コマンド処理手段に、前記受け付けたコマンドを供給する共通コマンド処理手段を設け、
さらに、通信先の各外部装置と対応させて、
対応する外部装置から受信したデータを記憶手段に記憶させると共に、第１のデータ変換コマンドに応じて、該記憶させたデータを該データの種類に応じた所定のフォーマットに変換する第１のデータ変換手段を設け、
全ての前記第１のデータ変換手段について前記第１のデータ変換コマンドは共通のコマンドであり、
前記第１のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第１のデータ変換手段に該コマンドを渡す第２の共通コマンド処理手段を設けたことを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
通信先の各外部装置と対応させて、
第２のデータ変換コマンドに応じて、前記記憶手段が記憶している前記所定のフォーマットのデータを、前記外部装置が取扱い可能なフォーマットに変換する第２のデータ変換手段とを設け、
全ての前記第２のデータ変換手段について前記第２のデータ変換コマンドは共通のコマンドであり、
前記第２の共通コマンド処理手段は、前記第２のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第２のデータ変換手段に該コマンドを渡す手段を備えることを特徴とする通信装置。
【請求項３】
請求項１又は２に記載の通信装置であって、
通信先の各外部装置と対応させて、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して該対応する外部装置に送信すると共に、該通信接続要求に対する応答を該外部装置から受信して、前記受け付けた通信接続要求に対する応答に変換して、該受け付けた通信接続要求の供給元に返す装置対応接続処理手段を設け、
さらに、前記外部装置にアクセスするための通信接続要求を、前記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する前記装置対応接続処理手段に、前記受け付けた通信接続要求を供給する共通接続処理手段とを設けたことを特徴とする通信装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の通信装置であって、
通信可能な前記各外部装置について、該外部装置に入力すべきデータの種類と、該外部装置が入力されたデータに対して実行する処理の種類と、該外部装置が該処理の結果として出力するデータの種類とを示すデータを、該外部装置と対応する部品データとして記憶する記憶手段と、
前記複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、前記記憶手段が記憶する複数の前記部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段とを設けたことを特徴とする通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにしたことを特徴とする通信装置。
【請求項６】
請求項４又は５に記載の通信装置であって、
前記ワークフローデータを記憶するワークフロー記憶手段と、
前記ワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、該部品データにより規定される処理を、該部品データと対応する外部装置に実行させるための、前記所定のコマンドセットに含まれるコマンドを生成して前記共通コマンド処理手段に供給するワークフロー実行手段と、
前記共通コマンド処理手段に供給した各コマンドに対する応答を前記共通コマンド処理手段から受け取って記憶する実行結果記憶手段とを設けたことを特徴とする通信装置。
【請求項７】
請求項６に記載の通信装置であって、
少なくとも１つの前記装置対応コマンド処理手段について、該装置対応コマンド処理手段が前記外部装置に送信すべきコマンドに対して該外部装置が送信してくると想定される応答を生成するエミュレータを設け、コマンドを前記外部装置に送信して該外部装置から該コマンドに対する応答を受信することに代えて、前記外部装置に送信すべきコマンドに対する応答を前記エミュレータにより生成できるようにしたことを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記エミュレータが、所定のパラメータの設定内容に応じて、前記外部装置が正常状態の場合に送信してくると想定される応答と、該外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えることを特徴とする通信装置。
【請求項９】
請求項４乃至８のいずれか一項に記載の通信装置であって、
前記部品データに含まれる、前記外部装置に入力すべきデータの種類及び前記外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであることを特徴とする通信装置。
【請求項１０】
コンピュータに通信装置を制御させて、複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、前記複数の外部装置の機能を組み合わせたデータ処理を実現させるためのプログラムであって、
前記コンピュータを、
通信先の各外部装置と対応づけて設けられた、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して該対応する外部装置に送信すると共に、該コマンドに対する応答を該外部装置から受信して、前記受け付けたコマンドに対する応答に変換して、該受け付けたコマンドの供給元に返す装置対応コマンド処理手段と、
前記外部装置に対する処理の要求を、前記所定のコマンドセットに含まれるコマンドとして受け付けると共に、該処理を実行させるべき外部装置と対応する前記装置対応コマンド処理手段に、前記受け付けたコマンドを供給する共通コマンド処理手段と、
通信先の各外部装置と対応付けて設けられた、対応する外部装置から受信したデータを記憶手段に記憶させると共に、第１のデータ変換コマンドに応じて、該記憶させたデータを該データの種類に応じた所定のフォーマットに変換する第１のデータ変換手段として機能させるためのプログラムを含み、
全ての前記第１のデータ変換手段について前記第１のデータ変換コマンドは共通のコマンドであり、
さらに、前記コンピュータを、
前記第１のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第１のデータ変換手段に該コマンドを渡す第２の共通コマンド処理手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムであって、
前記コンピュータを、
通信先の各外部装置と対応づけて設けられた、第２のデータ変換コマンドに応じて、前記記憶手段が記憶している前記所定のフォーマットのデータを、前記外部装置が取扱い可能なフォーマットに変換する第２のデータ変換手段として機能させるためのプログラムを含み、
全ての前記第２のデータ変換手段について前記第２のデータ変換コマンドは共通のコマンドであり、
前記第２のコマンド処理手段が、第２のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第２のデータ変換手段に該コマンドを渡す機能を備えることを特徴とするプログラム。
【請求項１２】
請求項１０又は１１に記載のプログラムであって、
前記コンピュータを、
通信先の各外部装置と対応づけて設けられた、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して該対応する外部装置に送信すると共に、該通信接続要求に対する応答を該外部装置から受信して、前記受け付けた通信接続要求に対する応答に変換して、該受け付けた通信接続要求の供給元に返す装置対応接続処理手段と、
前記外部装置にアクセスするための通信接続要求を、前記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する前記装置対応接続処理手段に、前記受け付けた通信接続要求を供給する共通接続処理手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載のプログラムであって、
前記コンピュータを、
通信可能な前記各外部装置について、該外部装置に入力すべきデータの種類と、該外部装置が入力されたデータに対して実行する処理の種類と、該外部装置が該処理の結果として出力するデータの種類とを示すデータを、該外部装置と対応する部品データとして記憶する記憶手段と、
前記複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、前記記憶手段が記憶する複数の前記部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにしたことを特徴とするプログラム。
【請求項１５】
請求項１３又は１４に記載のプログラムであって、
前記コンピュータを、
前記ワークフローデータを記憶するワークフロー記憶手段と、
前記ワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、該部品データにより規定される処理を、該部品データと対応する外部装置に実行させるための、前記所定のコマンドセットに含まれるコマンドを生成して前記共通コマンド処理手段に供給するワークフロー実行手段と、
前記共通コマンド処理手段に供給した各コマンドに対する応答を前記共通コマンド処理手段から受け取って記憶する実行結果記憶手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記コンピュータを、少なくとも１つの前記装置対応コマンド処理手段について、該装置対応コマンド処理手段が前記外部装置に送信すべきコマンドに対して該外部装置が送信してくると想定される応答を生成するエミュレータとして機能させるためのプログラムを含み、
コマンドを前記外部装置に送信して該外部装置から該コマンドに対する応答を受信することに代えて、前記外部装置に送信すべきコマンドに対する応答を前記エミュレータにより生成できるようにしたことを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムであって、
前記エミュレータが、所定のパラメータの設定内容に応じて、前記外部装置が正常状態の場合に送信してくると想定される応答と、該外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えることを特徴とするプログラム。
【請求項１８】
請求項１３乃至１７のいずれか一項に記載のプログラムであって、
前記部品データに含まれる、前記外部装置に入力すべきデータの種類及び前記外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、インターネットを含むネットワーク上に接続された複数の外部装置がそれぞれ有する多様な機能を利用するために各外部装置と通信する通信装置と、そのような通信装置を制御するコンピュータに発明に係わる機能を実現させるためのプログラムに関する。
【背景技術】
【０００２】
従来から、ネットワークを介して複数の外部装置、例えば、印刷装置、ファクシミリ装置、複写機、複合機を含む画像処理装置を始め、パーソナルコンピュータ（ＰＣ）、サーバ装置を含む情報処理装置等の外部装置（「サーバ機器」とも呼ぶ）と接続し、その各外部装置がそれぞれ有する多様な機能によって提供されるサービスを利用する情報処理装置に各外部装置と通信する通信機能を備えた通信装置が多用されている。
特に、インターネットの普及に伴って、インターネット上の様々なサーバ機器による多様なサービスが利用可能になると共に、そのような多様なサービスを業務フローに組み込んで処理を行うクラウドという技術も提供され、インターネットを介して多様なサービスの利用が容易になりつつある。
【０００３】
従来、ネットワーク上のサーバ機器を利用する次のような通信装置があった。
（１）ネットワーク上に接続された複数のサーバ機器のアプリケーションについて、アプリケーションと自装置とのインターフェース情報を比較して連携の可否を判断し、連携可能と判断されたアプリケーションとデータを交換する通信装置（例えば、特許文献１参照）。
（２）ネットワーク上の複数のリソースから利用可能なリソースを選択し、その各リソースにジョブを分散処理させる通信装置（例えば、特許文献２参照）。
（３）複数の画像形成装置が接続されたネットワーク上で、外部装置からの印刷指示に対応できる画像形成装置を選択し、その選択した画像形成装置へ処理を指示する通信装置（例えば、特許文献３参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した（１）の通信装置では、連携不可能なサーバ機器については処理対象から除外しており、インターネット上で通信プロトコルがそれぞれ異なる複数のサーバ機器の機能や、扱うコマンドの種類やデータ構造がそれぞれ異なる複数のサーバ機器の機能を組み合わせたデータ処理が容易にできないという問題があった。このような複数のサーバ機器の機能を組み合わせてデータ処理を行うことを、複数のサーバ機器を連携させると呼ぶ。
また、（２）と（３）の通信装置も、上述と同様に通信プロトコルが互いに異なる機器同士や、扱うコマンドの種類やデータ構造が異なる機器同士を互いに連携させるものではない。
【０００５】
なお、従来から存在する通信装置でも特定のサーバ機器と連携する仕組みを持っているものは存在したが、他のサーバ機器と連携して動作する仕組みに独立性が無いため、特定のサーバ機器しか連携できなかった。
この発明は上記の点に鑑みてなされたものであり、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易に実現できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明は上記の目的を達成するため、複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を実現する通信装置であって、通信先の各外部装置と対応させて、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して対応する外部装置に送信すると共に、そのコマンドに対する応答を外部装置から受信して、上記受け付けたコマンドに対する応答に変換して、その受け付けたコマンドの供給元に返す装置対応コマンド処理手段を設け、さらに、外部装置に対する処理の要求を、上記所定のコマンドセットに含まれるコマンドとして受け付けると共に、処理を実行させるべき外部装置と対応する装置対応コマンド処理手段に、受け付けたコマンドを供給する共通コマンド処理手段を設け、さらに、通信先の各外部装置と対応させて、対応する外部装置から受信したデータを記憶手段に記憶させると共に、第１のデータ変換コマンドに応じて、その記憶させたデータをそのデータの種類に応じた所定のフォーマットに変換する第１のデータ変換手段を設け、全ての上記第１のデータ変換手段について上記第１のデータ変換コマンドは共通のコマンドであり、上記第１のデータ変換コマンドを受け付けて、そのコマンドに係るデータ変換を行わせるべき上記第１のデータ変換手段にそのコマンドを渡す第２の共通コマンド処理手段を設けた通信装置を提供する。
【０００７】
また、上記のような通信装置に、通信先の各外部装置と対応させて、第２のデータ変換コマンドに応じて、上記記憶手段が記憶している上記所定のフォーマットのデータを、外部装置が取扱い可能なフォーマットに変換する第２のデータ変換手段を設け、全ての第２のデータ変換手段について第２のデータ変換コマンドは共通のコマンドであり、上記第２の共通コマンド処理手段に、第２のデータ変換コマンドを受け付けて、そのコマンドに係るデータ変換を行わせるべき第２のデータ変換手段にそのコマンドを渡す手段を設けるとよい。
【０００８】
さらに、上記のような通信装置に、通信先の各外部装置と対応させて、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して対応する外部装置に送信すると共に、その通信接続要求に対する応答を外部装置から受信して、上記受け付けた通信接続要求に対する応答に変換して、その受け付けた通信接続要求の供給元に返す装置対応接続処理手段を設け、さらに、外部装置にアクセスするための通信接続要求を、上記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する装置対応接続処理手段に、上記受け付けた通信接続要求を供給する共通接続処理手段を設けるとよい。
【０００９】
また、上記のような通信装置に、通信可能な各外部装置について、外部装置に入力すべきデータの種類と、その外部装置が入力されたデータに対して実行する処理の種類と、その外部装置が処理の結果として出力するデータの種類とを示すデータを、その外部装置と対応する部品データとして記憶する記憶手段と、複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、上記記憶手段が記憶する複数の部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段を設けるとよい。
さらに、上記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにするとよい。
【００１０】
また、上記のような通信装置に、上記ワークフローデータを記憶するワークフロー記憶手段と、そのワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応する外部装置に実行させるための、上記所定のコマンドセットに含まれるコマンドを生成して上記共通コマンド処理手段に供給するワークフロー実行手段と、共通コマンド処理手段に供給した各コマンドに対する応答を共通コマンド処理手段から受け取って記憶する実行結果記憶手段を設けるとよい。
【００１１】
また、上記のような通信装置に、少なくとも１つの上記装置対応コマンド処理手段について、その装置対応コマンド処理手段が外部装置に送信すべきコマンドに対して外部装置が送信してくると想定される応答を生成するエミュレータを設け、コマンドを外部装置に送信して外部装置からコマンドに対する応答を受信することに代えて、外部装置に送信すべきコマンドに対する応答を上記エミュレータにより生成できるようにするとよい。
さらに、上記エミュレータが、所定のパラメータの設定内容に応じて、外部装置が正常状態の場合に送信してくると想定される応答と、外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えるようにするとよい。
【００１２】
また、上記部品データに含まれる、外部装置に入力すべきデータの種類及び外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであるとよい。
さらに、通信装置を制御するコンピュータに、上記のような通信装置を構成する各手段としての機能を実現させるためのプログラムも提供する。
【発明の効果】
【００１３】
この発明による通信装置は、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易に実現することができる。
また、この発明によるプログラムは、コンピュータに通信装置を制御させて、その通信装置に、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易にできるようにするための機能を実現させることができる。
【図面の簡単な説明】
【００１４】
【図１】図２に示す機器連携装置の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
【図２】この発明の一実施例である機器連携装置を含むネットワークシステムの構成を示す図である。
【図３】図１に示す機器連携装置における電源がオンにされたとき及びサーバ機器Ａ固有実装部がインストールされたときに機器連携装置とサーバ機器Ａの処理を示すシーケンス図である。
【００１５】
【図４】図１に示す機器連携装置で実行するワークフローデータの基本構成要素の説明図である。
【図５】図１に示す機器連携装置で実行するワークフローデータの部品データの一例を示す図である。
【図６】図１に示す機器連携装置で実行するワークフローデータの構成内容の一例を示す図である。
【００１６】
【図７】図６に示すワークフローデータの構成内容に対応するワークフローデータの内容を示す図である。
【図８】図１に示す機器連携装置がワークフローデータに基づいてサーバ機器Ａに処理を実行させたときの機器連携装置とサーバ機器Ａとの処理を示すシーケンス図である。
【図９】図１に示す機器連携装置における固有データから供給データの変換処理例の説明図である。
【００１７】
【図１０】図２に示す機器連携装置にワークフローデータのテスト機能を設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
【図１１】図１０に示す機器連携装置がワークフローデータをテストするときの機器連携装置とサーバ機器Ａとの処理を示すシーケンス図である。
【図１２】図２に示す機器連携装置にサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
【００１８】
【図１３】テストシナリオデータの内容を示す図である。
【図１４】図１２に示す機器連携装置がワークフローデータをテストするときの機器連携装置の処理を示すシーケンス図である。
【図１５】図２に示す機器連携装置に実際に一部のサーバ機器を接続し、他はサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
【発明を実施するための形態】
【００１９】
以下、発明を実施するための形態を図面に基づいて具体的に説明する。
図２は、発明の一実施例である機器連携装置を含むネットワークシステムの構成を示す図である。
この実施例のネットワークシステムは、インターネット５上に、機器連携装置１と、複数のサーバ機器２〜４とが接続されており、機器連携装置１は各サーバ機器２〜４を利用する通信装置に相当し、各サーバ機器２〜４は、機器連携装置１に対する外部装置に相当する。
機器連携装置１は、各サーバ機器２〜４を連携させて、各サーバ機器２〜４がそれぞれ提供するサービスを複数種類組み合わせたワークフローを実行するコンピュータ装置である。
【００２０】
複数のサーバ機器２〜４は、インターネット５上の外部装置であり、例えば、サーバ機器２は、複写機、ＭＦＰ、及び印刷装置（プリンタ）を含む画像形成装置であり、利用者の利用用途とコストメリットに応じて、白黒印刷機、カラー印刷機、低速印刷機、高速印刷機が適宜設置されており、印刷と複写の機能の他に文書データ、画像データを含むデータを外部に提供可能に蓄積するデータベース（ＤＢ）サーバの機能を備えたものもある。
サーバ機器３は、ウェブ（Ｗｅｂ）サービス、クラウド技術によりインターネット５上に画像データのマーキング処理等のサービスを提供する汎用的なパーソナルコンピュータ（ＰＣ）である。さらに、サーバ機器４は、機器連携装置１とサーバ機器２と３の利用者について証明処理により署名を発行して利用者認証する認証サーバと、機器連携装置１とサーバ機器２と３の利用者に係る利用者情報をデータベースとして蓄積して管理する利用者データベースサーバと、ユーザに対してインターネット５上のサーバ機器２と３のサービス利用に対する課金処理をする課金管理装置を含む機器である。
【００２１】
このネットワークシステムは、インターネット５上に置かれている各サーバ機器２〜４の中には、それぞれ通信プロトコル、コマンドの種類、及び処理対象のデータ構造を含む通信インターフェース（通信Ｉ／Ｆ）が異なるために、そのままでは直接にデータをやり取りすることはできないサーバ機器も含まれている。
しかし、機器連携装置１が、インターネット５上のサーバ機器毎に異なる通信Ｉ／Ｆの差異を吸収して各サーバ機器と連携することにより、複数のサーバ機器２〜４の機能を組み合わせたデータ処理を実現することができる。
なお、各機器の間の接続には、インターネットには限らず、ＬＡＮ（ローカルエリアネットワーク）、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４をはじめ、有線無線を問わず、任意の規格の通信経路を利用可能である。
【００２２】
次に、この実施例の機器連携装置１の発明に係る機能について説明する。
図１は、図２に示した機器連携装置１の装置構成とその制御部１０の発明に係る機能構成を主に示す機能ブロック図である。
図１に示す機器連携装置１は、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、この機器連携装置１の全体の制御を司る制御部１０と、ユーザが各種の操作情報を入力するキーボード、ポインティングデバイスを含む入力装置１１と、ユーザに対して各種の作業画面と処理結果とメッセージを含む情報を表示するＬＣＤを含む表示装置１２を備えている。
制御部１０は、ＣＰＵがＲＡＭを作業領域としてＲＯＭ又は図示を省略した記憶装置に記憶されたプログラムを実行することにより、発明に係る機能及びこの機器連携装置１における各種の処理を実行する。
【００２３】
この制御部１０は、発明に係る機能として、グラフィカルユーザインターフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＧＵＩ）部１３、ワークフロー処理部１４、ワークフロー記憶部１５、機器連携フレームワーク部２０、サーバ機器Ａ固有実装部３０、サーバ機器Ｃ固有実装部４０を備えている。
そのサーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０は、機器連携装置１がサーバ機器Ａ２とサーバ機器Ｃ４をそれぞれ利用するために、機器連携フレームワーク部２０を継承して作成したパッケージであり、それぞれ制御部１０内にインストールしたものである。図１では、サーバ機器Ａ２とサーバ機器Ｃ４を接続した場合を示したが、その他のサーバ機器２〜４についてもそれぞれに対応するサーバ機器固有実装部を作成してインストールすることにより、それらのサーバ機器２〜４についても機器連携装置１で利用可能になる。
【００２４】
このように、共通部である機器連携フレームワーク部２０と、固有部であるサーバ機器Ａ固有実装部３０、サーバ機器Ｃ固有実装部４０を含むサーバ機器固有実装部とに分離することにより、インターネット５上の新しいサーバ機器を機器連携装置１で利用可能にするためには、機器連携フレームワーク部２０を継承したサーバ機器固有実装部に、利用するサーバ機器との通信プロトコル、コマンド種類、扱うデータ種類に対応するための最小限の変更を施してパッケージ化したものを、機器連携装置１にインストールするだけでよい。
【００２５】
また、利用するサーバ機器に合わせて機器連携フレームワーク部２０を追加したり変更したりせず、利用するサーバ機器に専用のサーバ機器固有実装部をインストールすることにより、サーバ機器の仕様変更、サーバ機器の追加を行う場合は、サーバ機器固有実装部のみを追加又は変更するだけで済むため、ソフトウェアプログラムの開発難易度を大幅に下げることができ、ソフトウェアプログラムの開発速度を飛躍的に向上させ、ソフトウェアプログラムの開発効率を大幅に向上させることができる。
なお、図１には、図示を省略したが、制御部１０は、サーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０の他に、インターネット５上の利用するサーバ機器毎の固有実装部を備えているが、それらの固有実装部についてもサーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０と同様に動作するので、以下の説明ではそれらの詳細な説明は省略する。
【００２６】
ＧＵＩ部１３は、表示装置にグラフィックを多用した情報を表示すると共に、入力装置１１からの入力情報を受け付ける制御を行い、入力装置１１からの入力情報をワークフロー処理部１４へ送り、ワークフロー処理部１４からの処理結果を含む各種の情報を表示装置１２に表示する。
【００２７】
ワークフロー処理部１４は、ＧＵＩ部１３からの入力情報に基づいてワークフロー記憶部１５に記憶されたワークフローの部品データを組み合わせてワークフローデータを作成する処理と、ＧＵＩ部１３からの入力情報に基づいてワークフロー記憶部１５に記憶されているワークフローデータに従い、ワークフローデータの前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応するサーバ機器２〜４に実行させるための、所定のコマンドセットに含まれるコマンドを生成して機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給する処理を実行する。また、機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給した各コマンドに対する応答を共通ＡＰＩ処理部２２から受け取って記憶する。
すなわち、このワークフロー処理部１４はワークフロー実行手段と実行結果記憶手段の機能を果たす。
【００２８】
ワークフロー記憶部１５は、予め作成されたワークフローデータ、及びワークフロー処理部１４によって作成されたワークフローデータを記憶すると共に、ワークフローデータを作成するためのワークフローの部品データ群を予め記憶する。上記ワークフローデータ及び部品データ群は、図示を省略した機器連携装置１の記憶装置に記憶するようにしても良い。すなわち、このワークフロー記憶部１５はワークフロー記憶手段の機能を果たす。
【００２９】
機器連携フレームワーク部２０は、サーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０とに対して、機器連携装置１で処理可能なプロトコル、コマンド、データ種類のデータをやり取りするための機能部である。
サーバ機器Ａ固有実装部３０は、機器連携フレームワーク部２０から機器連携装置１で処理可能なプロトコル、コマンド、データ種類のデータが供給されると、それらをサーバ機器Ａ２（ここでは画像データＤＢの機能を備えた画像形成装置とする）が処理可能なプロトコル、コマンド、データ種類のデータに変換してサーバ機器Ａ２へ送信し、サーバ機器Ａ２からサーバ機器Ａ２で処理可能なプロトコル、コマンド、データ種類のデータを受信すると、それらを機器連携装置１で処理可能なプロトコル、コマンド、データ種類のデータに変換して機器連携フレームワーク部２０へ供給するための機能部である。
【００３０】
サーバ機器Ｃ固有実装部４０は、機器連携フレームワーク部２０から機器連携装置１で処理可能なプロトコル、コマンド、データ種類のデータが供給されると、それらをサーバ機器Ｃ４（ここではデータをマーキング処理する機能を備えた装置とする）が処理可能なプロトコル、コマンド、データ種類のデータに変換してサーバ機器Ｃ４へ送信し、サーバ機器Ｃ４からサーバ機器Ｃ４で処理可能なプロトコル、コマンド、データ種類のデータを受信すると、それらを機器連携装置１で処理可能なプロトコル、コマンド、データ種類のデータに変換して機器連携フレームワーク部２０へ供給するための機能部である。
【００３１】
機器連携フレームワーク部２０は、さらに共通通信プロトコル処理部２１と、共通アプリケーションプログラムインターフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ：ＡＰＩ）処理部２２と、共通データ変換処理部２３と、共通登録処理部２４の各機能部を備えている。
【００３２】
共通通信プロトコル処理部２１は、ワークフロー処理部１４又は共通登録処理部２４からサーバ機器Ａ２又はサーバ機器Ｃ４にアクセスするための通信接続要求を所定のプロトコルの通信接続要求として受け付けると共に、その通信接続要求がサーバ機器Ａ２へのアクセスを示している場合は、サーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ通信プロトコル処理部３１にその通信接続要求を供給するように割り振り、サーバ機器Ｃ４へのアクセスを示している場合は、サーバ機器Ｃ４と対応するサーバ機器Ｃ固有実装部４０のサーバ機器Ｃ通信プロトコル処理部４１にその通信接続要求を供給する割り振りを行う。すなわち、この共通通信プロトコル処理部２１は共通接続処理手段の機能を果たす。
【００３３】
共通ＡＰＩ処理部２２は、共通登録処理部２４からのサーバ機器Ａ２又はサーバ機器Ｃ４に対する初期化の要求を所定のコマンドセットに含まれるコマンドとして受け付けると共に、その初期化を実行させるべきコマンドの要求先がサーバ機器Ａ２を示している場合、サーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ＿ＡＰＩ処理部３２にそのコマンドを供給し、初期化を実行させるべきコマンドの要求先がサーバ機器Ｃ４を示している場合、サーバ機器Ｃ４と対応するサーバ機器Ｃ固有実装部４０のサーバ機器Ｃ＿ＡＰＩ処理部４２にそのコマンドを供給する割り振りを行う。
【００３４】
また、共通ＡＰＩ処理部２２は、ワークフロー処理部１４からのサーバ機器Ａ２又はサーバ機器Ｃ４に対する処理実行の要求を所定のコマンドセットに含まれるコマンドとして受け付けると共に、その処理実行の要求先がサーバ機器Ａ２を示している場合、サーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ＿ＡＰＩ処理部３２にそのコマンドを供給し、その処理実行の要求先がサーバ機器Ｃ４を示している場合、サーバ機器Ｃ４と対応するサーバ機器Ｃ固有実装部４０のサーバ機器Ｃ＿ＡＰＩ処理部４２にそのコマンドを供給する割り振りを行う。すなわち、この共通ＡＰＩ処理部２２は共通コマンド処理手段の機能を果たす。
【００３５】
共通データ変換処理部２３は、ワークフロー処理部１４からサーバ機器Ａ２（又はサーバ機器Ｃ４）で扱えるデータ種類へのデータ変換を指示する第１のデータ変換コマンド（又は第２のデータ変換コマンド）を受け付けて、その第１のデータ変換コマンド（又は第２のデータ変換コマンド）に係るデータ変換を行わせるべきサーバ機器Ａ固有実装部３０（又はサーバ機器Ｃ固有実装部４０）のサーバ機器Ａデータ変換処理部３３（又はサーバ機器Ｃデータ変換処理部４３）にデータ変換コマンドを供給する割り振りを行う。すなわち、この共通データ変換処理部２３は第２の共通コマンド処理手段の機能を果たす。
共通登録処理部２４は、サーバ機器Ａ固有実装部３０（又はサーバ機器Ｃ固有実装部４０）のサーバ機器Ａ登録処理部３４（又はサーバ機器Ｃ登録処理部４４）に、サーバ機器Ａ２（又はサーバ機器Ｃ４）から取得した機器情報と、サーバ機器Ａ２（又はサーバ機器Ｃ４）を利用するワークフローの構築時に使用する情報とを登録する。
【００３６】
次に、サーバ機器Ａ固有実装部３０は、サーバ機器Ａ通信プロトコル処理部３１と、サーバ機器Ａ＿ＡＰＩ処理部３２と、サーバ機器Ａデータ変換処理部３３と、サーバ機器Ａ登録処理部３４の各機能部を備え、サーバ機器Ａ固有実装部４０は、サーバ機器Ｃ通信プロトコル処理部４１と、サーバ機器Ｃ＿ＡＰＩ処理部４２と、サーバ機器Ｃデータ変換処理部４３と、サーバ機器Ｃ登録処理部４４の各機能部を備えている。
サーバ機器Ａ通信プロトコル処理部３１は、通信先のサーバ機器Ａ２と対応させており、機器連携フレームワーク部２０の共通通信プロトコル処理部２１から所定のプロトコルに従った通信接続要求を受け付け、サーバ機器Ａ２が処理可能なプロトコルの通信接続要求に変換してサーバ機器Ａ２に送信すると共に、その通信接続要求に対する応答をサーバ機器Ａ２から受信して、共通通信プロトコル処理部２１から受け付けた通信接続要求に対する応答に変換して、共通通信プロトコル処理部２１に返す。
【００３７】
また、サーバ機器Ｃ通信プロトコル処理部４１は、通信先のサーバ機器Ｃ４と対応させており、機器連携フレームワーク部２０の共通通信プロトコル処理部２１から所定のプロトコルに従った通信接続要求を受け付け、サーバ機器Ｃ４が処理可能なプロトコルの通信接続要求に変換してサーバ機器Ｃ４に送信すると共に、その通信接続要求に対する応答をサーバ機器Ｃ４から受信して、共通通信プロトコル処理部２１から受け付けた通信接続要求に対する応答に変換して、共通通信プロトコル処理部２１に返す。
すなわち、このサーバ機器Ａ通信プロトコル処理部３１とサーバ機器Ｃ通信プロトコル処理部４１は装置対応接続処理手段の機能を果たす。
【００３８】
サーバ機器Ａ＿ＡＰＩ処理部３２は、通信先のサーバ機器Ａ２と対応させており、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれる初期化開始コマンド（又は実行要求コマンド）を受け付け、その初期化開始コマンド（又は実行要求コマンド）を対応するサーバ機器Ａ２が処理可能な初期化手続用コマンド（又は実行コマンド）に変換してサーバ機器Ａ２に送信すると共に、その初期化手続用コマンド（又は実行コマンド）に対する応答の初期化完了コマンド（又は実行結果コマンド）をサーバ機器Ａ２から受信して、共通ＡＰＩ処理部２２から受け付けた初期化開始コマンド（又は実行要求コマンド）に対する応答の初期化完了コマンド（又は実行結果コマンド）に変換して、その初期化開始コマンド（又は実行要求コマンド）の供給元である機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に返す。
【００３９】
また、サーバ機器Ｃ＿ＡＰＩ処理部４２は、通信先のサーバ機器Ｃ４と対応させており、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれる初期化開始コマンド（又は実行要求コマンド）を受け付け、その初期化開始コマンド（又は実行要求コマンド）を対応するサーバ機器Ｃ４が処理可能な初期化手続用コマンド（又は実行コマンド）に変換してサーバ機器Ｃ４に送信すると共に、その初期化手続用コマンド（又は実行コマンド）に対する応答の初期化完了コマンド（又は実行結果コマンド）をサーバ機器Ｃ４から受信して、共通ＡＰＩ処理部２２から受け付けた初期化開始コマンド（又は実行要求コマンド）に対する応答の初期化完了コマンド（又は実行結果コマンド）に変換して、その初期化開始コマンド（又は実行要求コマンド）の供給元である機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に返す。
すなわち、このサーバ機器Ａ＿ＡＰＩ処理部３２とサーバ機器Ｃ＿ＡＰＩ処理部４２は装置対応コマンド処理手段の機能を果たす。
【００４０】
サーバ機器Ａデータ変換処理部３３は、通信先のサーバ機器Ａ２と対応させており、サーバ機器Ａ２から受信したデータ（固有データ）を記憶手段に記憶させると共に、共通データ変換処理部２３からの共通のコマンドである第１のデータ変換コマンドに応じて、記憶手段に記憶させたデータ（固有データ）をそのデータの種類に応じた所定のフォーマットのデータ（共通データ）に変換する。すなわち、このサーバ機器Ａデータ変換処理部３３は第１のデータ変換手段の機能を果たす。
また、サーバ機器Ｃデータ変換処理部４３は、共通データ変換処理部２３からの共通のコマンドである第２のデータ変換コマンドに応じて、上記記憶手段が記憶している所定のフォーマットのデータ（共通データ）を、サーバ機器Ｃ４が取扱い可能なフォーマットのデータ（固有データ）に変換する。すなわち、このサーバ機器Ｃデータ変換処理部４３は第２のデータ変換手段の機能を果たす。
【００４１】
サーバ機器Ａ登録処理部３４は、サーバ機器Ａ２の機器情報と、サーバ機器Ａ２を利用するワークフローの構築時に使用する情報とを登録する記憶手段である。
サーバ機器Ｃ登録処理部４４は、サーバ機器Ｃ４の機器情報と、サーバ機器Ｃ４を利用するワークフローの構築時に使用する情報とを登録する記憶手段である。
【００４２】
一方、サーバ機器Ａ２は、データのＤＢの機能を備えた画像形成装置であり、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、図１では図示を省略した制御部が全体の制御を司り、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Ａ２に実行させるＡＰＩ定義部５０と、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でＩＰＶ４（Internet Protocol version 4）による通信プロトコルで通信する制御を司る通信プロトコル制御部５１と、画像データを含むデータの蓄積と外部（機器連携装置１を含む）からの要求に応じて読み出して要求先へ送信する処理を管理するデータ管理部５２と、サーバ機器Ａ２のデータの蓄積と読み出し及び送信の動作状態を管理する状態管理部５３と共に、図示を省略した画像形成を行う機能部及び装置部を備えている。
【００４３】
また、サーバ機器Ｃ４は、データへのマーキング処理の機能を備えたサーバ装置であり、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Ｃ４に実行させるＡＰＩ定義部６０と、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でウェブサービスの通信プロトコルで通信する制御を司る通信プロトコル制御部６１と、外部（機器連携装置１を含む）からの依頼に基づいてデータにマーキング処理を施して依頼元に返送する処理を管理するデータ管理部６２と、サーバ機器Ｃ４のマーキング処理の動作状態を管理する状態管理部６３を備えている。
【００４４】
また、図示を省略するが、サーバ機器Ｂは、利用者認証の機能を備えたサーバ装置であり、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、制御部が全体の制御を司り、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Ｂに実行させるＡＰＩ定義部と、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でウェブサービス又はＩＰＶ４を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、外部（機器連携装置１を含む）からの依頼に基づいて依頼先の利用者認証をして利用者データを依頼元に返送する処理を管理するデータ管理部と、サーバ機器Ｂの利用者認証の動作状態を管理する状態管理部と共に、利用者認証を行う機能部及び装置部を備えている。
【００４５】
また、図示を省略するが、サーバ機器Ｄは、利用者がインターネット５上のサーバ機器の機能を利用した場合にその利用者への課金処理を行う機能を備えたサーバ装置であり、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Ｄに実行させるＡＰＩ定義部と、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でウェブサービス又はＩＰＶ４を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、利用者がインターネット５上のサーバ機器の機能を利用した場合にその利用者への課金処理を管理するデータ管理部と、サーバ機器Ｄの課金処理の動作状態を管理する状態管理部を備えている。
【００４６】
さらに、図示を省略するが、サーバ機器Ｅは、データの印刷機能を備えたサーバ装置であり、ＣＰＵ、ＲＯＭ及びＲＡＭを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Ｅに実行させるＡＰＩ定義部と、インターネット５を介して機器連携装置１を含む外部の装置及び機器との間でウェブサービス又はＩＰＶ４を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、印刷を依頼されたデータを印刷する処理を管理するデータ管理部と、その印刷処理の動作状態を管理する状態管理部を備えている。
【００４７】
次に、図１に示した機器連携装置１にサーバ機器固有実装部がインストールされたときの処理について説明する。
図１の機器連携装置１は、制御部１０に新たなサーバ機器固有実装部がインストールされたとき、そのインストールされたサーバ機器固有実装部について、それに対応するサーバ機器と通信接続を実行し、そのサーバ機器に対して機器内部の初期化をさせると共に、サーバ機器から機器情報を取得して自装置内に登録する一連の処理を行う。
この一連の処理を行うことによって、機器連携装置１は機器連携フレームワーク部２０とサーバ機器固有実装部を介してインターネット５上の所望のサーバ機器２〜４に対して通信し、処理の実行を開始することができるようになる。
【００４８】
以下の説明では、図１に示したサーバ機器Ａ固有実装部３０がインストールされた場合の処理についてのみ示すが、制御部１０にインストールされたその他の全てのサーバ機器固有実装部についても同様に実施されるので、それらの説明は省略する。
図３は、図１に示した機器連携装置１にサーバ機器固有実装部がインストールされたときの登録処理を示すシーケンス図である。
図１の機器連携装置１の制御部１０は、機器連携フレームワーク部２０から継承して作成されたサーバ機器Ａ固有実装部３０がインストールされたとき、機器連携フレームワーク部２０の共通登録処理部２４を起動し、共通登録処理部２４は、サーバ機器Ａ２にアクセスするための通信接続要求コマンドを共通通信プロトコル処理部２１へ供給する（ステップ（図中「Ｓ」で示す）１）。この通信接続要求コマンドにはアクセス先を示すサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報（例えば、アドレス情報）が含まれている。
【００４９】
共通通信プロトコル処理部２１は、共通登録処理部２４からの通信接続要求コマンドを、所定の通信プロトコル（例えば、ＩＰＶ６）の通信接続要求コマンドとして受け付けると共に、その通信接続要求コマンドにアクセス先として含まれるサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報に基づいて、サーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ通信プロトコル処理部３１に、受け付けた通信接続要求コマンドを供給する（Ｓ２）。
【００５０】
このように、共通登録処理部２４は、共通通信プロトコル処理部２１が用意しているインターフェースを利用して通信接続要求コマンドを発行することができる。
また、サーバ機器Ａ固有実装部３０には、機器連携フレームワーク部２０の共通通信プロトコル処理部２１を継承して開発されたサーバ機器Ａ通信プロトコル処理部３１が実装されているため、サーバ機器Ａ通信プロトコル処理部３１は、共通通信プロトコル処理部２１を介して共通登録処理部２４から発行された通信接続要求コマンドをそのまま受け取ることができる。上記の継承元の共通通信プロトコル処理部２１を親クラスと呼び、共通通信プロトコル処理部２１から継承で作成されたサーバ機器Ａ通信プロトコル処理部３１を子クラスと呼ぶ。
したがって、共通登録処理部２４は、共通通信プロトコル処理部２１との間の処理のみを行えばよく、その先のサーバ機器Ａ２との通信接続処理はサーバ機器Ａ通信プロトコル処理部３１が行うので、機器連携フレームワーク部２０の処理対象からサーバ機器Ａ２を完全に分離することができる。
【００５１】
サーバ機器Ａ通信プロトコル処理部３１は、共通通信プロトコル処理部２１からＩＰＶ６に従った通信接続要求コマンドを受け付けると、サーバ機器Ａ２で処理可能な通信プロトコル（例えば、ＩＰＶ４）の通信接続要求コマンドに変換して（Ｓ３）、サーバ機器Ａ２へ送信する（Ｓ４）。
一方、サーバ機器Ａ２は、通信プロトコル制御部５１が、機器連携装置１からＩＰＶ４による通信接続要求コマンドを受信すると、機器連携装置１との接続を確立し、ＩＰＶ４によって通信接続完了コマンドを機器連携装置１へ送信する（Ｓ５）。
機器連携装置１では、サーバ機器Ａ通信プロトコル処理部３１が、サーバ機器Ａ２からＩＰＶ４による通信接続完了コマンドを受信すると、その通信接続完了コマンドを上記通信接続要求コマンドの応答に変換し（Ｓ６）、上記通信接続要求コマンドの供給元である共通通信プロトコル処理部２１に返す（Ｓ７）。
【００５２】
共通通信プロトコル処理部２１は、サーバ機器Ａ通信プロトコル処理部３１から返された通信接続完了コマンドを共通登録処理部２４へ返す（Ｓ８）。
共通登録処理部２４は、通信接続完了コマンドが返されたことによってサーバ機器Ａ２との通信接続が正常に完了したことを認識し、次に、上述と同様にしてサーバ機器Ａ２の初期化を行う。
【００５３】
サーバ機器Ａ２の初期化では、共通登録処理部２４は、サーバ機器Ａ２に対する初期化の要求を開始させる初期化開始コマンドを含めた所定のコマンドセットを共通ＡＰＩ処理部２２へ供給する（Ｓ９）。この初期化開始コマンドには、初期化の要求先であるサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報が含まれている。
【００５４】
共通ＡＰＩ処理部２２は、共通登録処理部２４から所定のコマンドセットに含まれる初期化開始コマンドを受け付けると、その初期化開始コマンドに含まれている初期化の要求先であるサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報に基いて、初期化を実行させるべきサーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ＿ＡＰＩ処理部３２に、受け付けた初期化開始コマンドを供給する（Ｓ１０）。
【００５５】
サーバ機器Ａ＿ＡＰＩ処理部３２は、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれる初期化開始コマンドを受け付けると、サーバ機器Ａ２で処理可能な初期化手続き用コマンドに変換して（Ｓ１１）、サーバ機器Ａ２へ発行して送信する（Ｓ１２）。
一方、サーバ機器Ａ２は、ＡＰＩ定義部５０が、機器連携装置１から初期化手続き用コマンドを受信すると、自機器の各部を初期化し、その初期化が終了すると、初期化を完了したことを示すと共に、サーバ機器Ａ２の機器情報を含めた初期化完了コマンドを発行して機器連携装置１へ送信する（Ｓ１３）。
上記機器情報は、サーバ機器Ａ２の機器名称やサーバ機器Ａ２が扱うデータ種類を含む情報である。
【００５６】
機器連携装置１では、サーバ機器Ａ＿ＡＰＩ処理部３２が、サーバ機器Ａ２から初期化完了コマンドを受信すると、その初期化完了コマンドを上記初期化開始コマンドの応答に変換し（Ｓ１４）、上記初期化開始コマンドの供給元である共通ＡＰＩ処理部２２に返す（Ｓ１５）。
共通ＡＰＩ処理部２２は、サーバ機器Ａ＿ＡＰＩ処理部３２からの初期化完了コマンドを受け取ると、共通登録処理部２４へ初期化完了コマンドを供給する（Ｓ１６）。
共通登録処理部２４へは、共通ＡＰＩ処理部２２から初期化完了コマンドを受け取ると、サーバ機器Ａ登録処理部３４へ登録処理開始コマンドを供給する（Ｓ１７）。
サーバ機器Ａ登録処理部３４は、サーバ機器Ａ＿ＡＰＩ処理部３２がサーバ機器Ａ２から受信した初期化完了コマンドに含まれる機器情報と、図１の制御部１０で作成した機器連携装置１の利用者にサーバ機器Ａ２を指定させるためのＧＵＩ用のアイコン部品を含む情報とを登録し（Ｓ１８）、共通登録処理部２４に登録処理完了コマンドを供給する（Ｓ１９）。
こうして、上記登録された情報は、ワークフロー構築時に利用される。
【００５７】
なお、上述の初期化完了コマンドに含まれる機器情報と、図１の制御部１０で作成した機器連携装置１の利用者にサーバ機器Ａ２を指定させるためのＧＵＩ用のアイコン部品を含む情報とをサーバ機器Ａ＿ＡＰＩ処理部３２に保持するようにしても良い。
上述した処理は、図１に示した制御部１０にインストールされている全てのサーバ機器固有実装部について実施するが、その際、各サーバ機器固有実装部毎に順次行うようにしても良いし、各サーバ機器固有実装部についての処理を同時に進行させるようにしても良い。
【００５８】
なお、上述の登録処理を、機器連携装置１の電源がオンにされる度に実施すれば、その実施前に制御部１０にインストールされている各サーバ機器固有実装部のサーバ機器登録処理部に登録されている内容を更新することができる。そうすれば、例えば、インストール時にはサーバ機器側に無かった機能が後に追加された場合、上記更新によって利用することができるようになる。また、インストール時にはサーバ機器側に有った機能が後に除かれた場合、その機能の利用を含めたワークフローデータを実行することによって処理が中断してしまうようなことを防止できる。
さらに、電源がオンにされる度に制御部１０にインストールされている各サーバ機器固有実装部に対応するサーバ機器が接続（又は起動）されているか否かを確認することもできる。
【００５９】
次に、上述のようにして利用するサーバ機器のサーバ機器固有実装部の登録処理が終了すると、ワークフローデータを用いて複数のサーバ機器の機能を組み合わせたデータ処理を実行することができる。
次に、機器連携装置１が実行するワークフローデータの内容について説明する。
このワークフローデータは、機器連携装置１がインターネット５上の複数のサーバ機器２〜４の機能を組み合わせたデータ処理を行うために、各サーバ機器２〜４に対する入出力と、各サーバ機器２〜４に実行させる処理の内容を示す手順である。
まず、ワークフローデータの基本構成要素について説明する。
図４はワークフローデータの基本構成要素の説明図である。
【００６０】
図４に示すように、ワークフローデータは、機器連携装置１がサーバ機器へ入力すべきデータ種類を示す入力データ９０と、サーバ機器が入力データ９０に対して実行する処理内容を示すサーバ処理９１と、サーバ機器がサーバ処理９１の結果として機器連携装置１へ出力するデータ種類を示す出力データ９２とを組み合わせたものが基本構成要素となる。
【００６１】
この入力データ９０の種類及び出力データ９２の種類は、画像データ、課金データ、利用者データ及び認証データを含む、様々な種類のデータである。また、サーバ機器が実行する処理内容には、画像データの読み出し、利用者認証（認証サーバがサーバ機器又はサーバ機器の機能を利用する際の認証処理）、マーキング処理（入力された画像データの内容を解析し、その解析結果に基づいて画像データにバーコード等の画像やすかし等の画像データを付加する処理）、課金処理（課金サーバが利用者に対してサーバ機器の機能の利用に応じた課金をする処理）、印刷処理を含む、様々な内容の処理がある。
【００６２】
また、基本構成要素の入力データ９０と出力データ９２は、それぞれ０個〜複数個定義することが可能である。
さらに、基本構成要素では、サーバ処理９１に入力される各入力データと、サーバ処理９１が出力する各出力データと、サーバ処理９１に入力データ９０を入力するのに使うコマンド（ＡＰＩ）と、サーバ処理９１が出力データ９２を出力するのに使うコマンド（ＡＰＩ）とは全て共通フォーマットで定義しておく。
【００６３】
この基本構成要素について、入力データ９０の内容をサーバ機器毎に入力すべきデータの種類に変え、サーバ処理９１の内容をサーバ機器毎に入力された入力データに対して実行する処理の種類に変え、出力データ９２の内容をサーバ機器毎に処理の結果として出力するデータの種類に変えることにより、サーバ機器毎に対応する部品データを定義することができる。
【００６４】
図５は、ワークフローデータの部品データの一例を示す図である。
図５に示した各部品データは、ユーザに対してグラフィカルに表示する際の態様を示している。
図５の（ａ）は、データを蓄積したＤＢの機能を備えた画像形成装置であるサーバ機器Ａ２から取得した機器情報に基づいて構成した部品データの一例を示しており、入力データは無く、サーバ処理の内容は画像データの読み出し、出力データの内容は画像データと課金データである。
この部品データでは、入力データは０個であり、出力データが２個定義されている。
【００６５】
図５の（ｂ）は、利用者認証の機能を備えたサーバ装置であるサーバ機器Ｂから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データは無く、サーバ処理の内容は利用者認証、出力データの内容は利用者データである。
この部品データでは、入力データは０個であり、出力データが１個定義されている。
図５の（ｃ）は、データに対してマーキング処理を行う機能を備えたＰＣであるサーバ機器Ｃ４から取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は画像データ、サーバ処理の内容はマーキング処理、出力データの内容は画像データである。
この部品データでは、入力データと出力データがそれぞれ１個定義されている。
【００６６】
図５の（ｄ）は、インターネット５上のサーバ機器２と３のサービス利用に対する課金処理をする機能を備えた課金管理装置であるサーバ機器Ｄから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は課金データと利用者データ、サーバ処理の内容は課金処理、出力データは無しである。
この部品データでは、入力データが２個定義されており、出力データが０個である。
図５の（ｅ）は、画像形成装置であるサーバ機器Ｅから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は画像データ、サーバ処理の内容は印刷処理、出力データは無しである。
【００６７】
この部品データでは、入力データが１個定義されており、出力データが０個である。
さらに、図５の（ａ）〜（ｅ）に示した同じデータ種類の入力データと出力データとのフォーマットは共通フォーマットで定義する。例えば、図５の（ａ）の出力データの画像データと、図５の（ｃ）の入力データと出力データのそれぞれの画像データと、図５の（ｅ）の入力データの画像データはいずれも共通フォーマットで定義する。また、図５の（ａ）のサーバ処理への入力に使うコマンドとサーバ処理からの出力に使うコマンドは共通ＡＰＩで定義する。
【００６８】
これらの部品データは、図１のワークフロー記憶部１５に記憶される。
ワークフロー記憶部１５に記憶される部品データのフォーマットは、サーバ機器毎に、入力元と出力先のサーバ機器（無し、開始又は終了も含む）と、そのデータの種類とを対応させて記憶するものである。
また、制御部１０は、これらの部品データについて、上述の登録処理によって実際にアクセスして通信可能であることを確認したサーバ機器と対応する部品データのみを使用できるように制御する。
【００６９】
機器連携装置１では、予め作成されたワークフローデータを実行することもできるし、ユーザが機器連携装置１上で作成したものを実行することもできる。
ユーザがワークフローデータを作成する場合、機器連携装置１の制御部１０が、ワークフローデータ作成処理において、ワークフロー記憶部１５に記憶されている図５に示した各部品データを読み出して図１の表示装置１２に表示し、ユーザは、図１の入力装置１１の操作によってドラッグ＆ドロップで任意の部品データを組み合わせてワークフローデータを簡単に構築することができる。
【００７０】
また、実際にアクセスして通信可能であることを確認したサーバ機器と対応する部品データのみを使用できるようにしたので、ユーザがワークフローデータを作成する作業時に、利用者がサーバ機器に実装されている機能に対応した部品データのみを参照し、不要な部品データを見なくてよいので、利用者は使いたい部品データを簡単に探す事ができ、不適切なワークフローが構築されるのを防ぐことができ、利用者の利便性を向上させることができる。
【００７１】
例えば、図６に示すワークフローデータは、処理開始のステップと処理終了のステップの間に、図中に破線枠９３で示す部品データは図５の（ａ）に示した部品データと、破線枠９４で示す部品データは図５の（ｂ）に示した部品データと、一点鎖線枠９５で示す部品データは図５の（ｃ）に示した部品データと、一点鎖線枠９６で示す部品データは図５の（ｄ）に示した部品データと、破線枠９７で示す部品データは図５の（ｅ）に示した部品データとを、前段の部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成されている。
このワークフローデータの各部品データの組み合わせに際しては、入力データのデータ種類と出力データのデータ種類とが一致する者同士を組み合わせる必要がある。
【００７２】
例えば、図６に破線枠９３で示す部品データの一方の出力データの画像データに対しては、一点鎖線枠９５で示す部品データの入力データの画像データが一致している。
また、図６に破線枠９３で示す部品データのもう一方の出力データの課金データに対しては、一点鎖線枠９６で示す部品データの一方の入力データの課金データが一致しており、破線枠９４で示す部品データの出力データの利用者データに対しては、一点鎖線枠９６で示す部品データのもう一方の入力データの利用者データが一致している。
このように、ワークフローデータの作成の際には、部品データの入力データと出力データのデータ種類が一致する者同士を組み合わせる。
こうして構築されたワークフローデータは、５種類のサーバ機器を共通フォーマットと共通ＡＰＩで接続して一連の処理を実行させることができる。
【００７３】
図７は、図６に示したワークフローデータの構成内容に対応するワークフローデータの内容を示す図である。
図７に示すように、ワークフローデータのフォーマットは、上段の行から下段の行の順に、図６に示したワークフローデータの前段から次段の部品データのデータを一覧にしており、図７の第１行に、図６の破線枠９３の部品データについて、利用するサーバ機器である構成要素として「サーバ機器Ａ」、そのサーバ機器Ａへの入力の接続先として「開始」、その入力データの種類「なし」、サーバ機器Ａからの出力の接続先として「サーバ機器Ｃ」と「サーバ機器Ｄ」、そのサーバ機器Ｃへの出力データの種類「画像データ」とサーバ機器Ｄへの出力データの種類「課金データ」を対応させて記憶し、以下同様にして、図６の破線枠９４と一点鎖線枠９５と９６と破線枠９７の各部品データについて、それぞれ図７の第２行〜第５行に記憶している。
図１に示した機器連携装置１の制御部１０のワークフロー処理部１４は、図７に示したようなワークフローデータを参照し、そのワークフローデータの各部品データ毎に処理を実行する。
【００７４】
次に、図１に示した機器連携装置１におけるワークフローデータの実行処理について説明する。
図８は、機器連携装置１がワークフローデータに基づいてサーバ機器Ａ２に処理を実行させたときの機器連携装置１とサーバ機器Ａ２との処理を示すシーケンス図である。ここでは、サーバ機器Ａ２に蓄積されたデータを読み出して返送させ、その返送されたデータをサーバ機器Ｃ４へ送ってマーキング処理をして返送させる場合について説明する。
【００７５】
機器連携装置１の図１に示した制御部１０は、入力装置１１からワークフローデータの選択と実行の指示を受け付けると、それらの情報をＧＵＩ部１３を介してワークフロー処理部１４へ送り（Ｓ２１）、ワークフロー処理部１４は、図１のワークフロー記憶部１５から選択されたワークフローデータの部品データを前段から順に読み出してそれぞれ実行する（Ｓ２２）。ここでは、サーバ機器Ａ２に対する処理の部品データを読み出して実行する場合について説明する。
【００７６】
ワークフロー処理部１４は、サーバ機器Ａ２から指定したデータを読み出す処理を実行させるための部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給する（Ｓ２３）。その実行要求コマンドには実行要求先のサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報が含まれている。
【００７７】
共通ＡＰＩ処理部２２は、ワークフロー処理部１４から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、実行要求コマンドに含まれている実行要求先のサーバ機器Ａ２に対応するサーバ機器Ａ固有実装部３０を示す情報に基いて、データ読み出しを実行させるべきサーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ＿ＡＰＩ処理部３２に、受け付けたデータ読み出しの実行要求コマンドを供給する（Ｓ２４）。
【００７８】
サーバ機器Ａ＿ＡＰＩ処理部３２は、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、サーバ機器Ａ２で処理可能なデータ読み出しの実行コマンドに変換して（Ｓ２５）、サーバ機器Ａ２へ発行して送信する（Ｓ２６）。
【００７９】
一方、サーバ機器Ａ２は、ＡＰＩ定義部５０が、機器連携装置１からデータ読み出しの実行コマンドを受信すると、自機器に蓄積されているデータの中から指定されたデータを読み出し、そのデータを実行結果として発行して機器連携装置１へ送信する（Ｓ２７）。
この送信されたデータについては、サーバ機器Ａ２で処理可能なデータ構造を持つ固有データのまま機器連携装置１へ送信される。
【００８０】
機器連携装置１では、サーバ機器Ａ＿ＡＰＩ処理部３２が、サーバ機器Ａ２から受信した実行結果のデータ（固有データ）を、図１の制御部１０の記憶手段（例えば、ＲＡＭ）に記憶し（Ｓ２８）、共通ＡＰＩ処理部２２へデータ読み出しの実行結果応答コマンドを供給する（Ｓ２９）。
【００８１】
また、共通ＡＰＩ処理部２２は、サーバ機器Ａ＿ＡＰＩ処理部３２から受け取った実行結果応答コマンドをワークフロー処理部１４へ供給し（Ｓ３０）、そのワークフロー処理部１４は、共通ＡＰＩ処理部２２から実行結果応答コマンドを受け取ると、共通データ変換処理部２３にサーバ機器Ａ２から受信したデータを機器連携装置１で扱えるフォーマットに変換するデータ変換要求コマンド（第１のデータ変換コマンド）を供給する（Ｓ３１）。そのデータ変換要求コマンドにはデータ変換要求先のサーバ機器Ａデータ変換処理部３３を示す情報が含まれている。
共通データ変換処理部２３は、そのデータ変換要求コマンドに含まれているデータ変換要求先のサーバ機器Ａデータ変換処理部３３を示す情報に基いて、データ変換要求コマンドをサーバ機器Ａデータ変換処理部３３へ供給する（Ｓ３２）。
【００８２】
サーバ機器Ａデータ変換処理部３３は、共通データ変換処理部２３からデータ変換要求コマンドを受け付けると、図１の制御部１０の記憶手段に記憶したサーバ機器Ａ２から取得したデータ（固有データ）を機器連携装置１で扱えるフォーマットのデータ（共通データ）に変換し（Ｓ３３）、共通データ変換処理部２３にデータ変換完了コマンドと共にデータ（共通データ）の記憶場所の情報を通知する（Ｓ３４）。
【００８３】
そして、共通データ変換処理部２３は、データ変換完了コマンドとデータ（共通データ）の記憶場所の情報をワークフロー処理部１４に供給する（Ｓ３５）。
このようにして、ワークフロー処理部１４はサーバ機器Ａ２から所望のデータを取得できたことを確認できる。
【００８４】
その後、例えば、ワークフローデータの次段の部品データに従い、サーバ機器Ａ２とは別のサーバ機器に、上記記憶手段に記憶されたデータ（共通データ）の処理を依頼する場合、ワークフロー処理部１４は機器連携フレームワーク部２０に第２のデータ変換コマンドを供給し、機器連携フレームワーク部２０が第２のデータ変換コマンドに基いて上記別のサーバ機器に対応するサーバ機器固有実装部に対してデータ変換を指示し、そのサーバ機器固有実装部が上記記憶手段に記憶されているデータ（共通データ）を、その別のサーバ機器で取扱い可能なフォーマットのデータ（固有データ）に変換して、上記別のサーバ機器へ送信して処理を依頼する。また、機器連携装置１は、その別のサーバ機器から処理後のデータを受信すると、上述と同様にして機器連携装置１で扱えるフォーマットに変換して次の処理のために記憶する。このように、ワークフローデータの各部品データ毎にそれぞれに対応するサーバ機器に処理を依頼して、その処理結果を受け取る（又は依頼先のサーバ機器に出力する）処理を実行する。
【００８５】
上述のようにしてサーバ機器Ａ２から読み出したデータを、今度はサーバ機器Ｃ固有実装部４０によってサーバ機器Ｃ４へ送り、サーバ機器Ｃ４でそのデータにマーキング処理を施して返送させる。サーバ機器Ｃ４へのデータの送信と受信については上述したサーバ機器Ａ２に対する処理と同様に行う。
こうして、機器連携装置１は、サーバ機器Ａ２からデータを読み出して取得した後、そのデータにサーバ機器Ｃ４でマーキング処理を施して再び受け取ることができる。
また、ワークフローデータの、その他の利用者認証やデータの印刷の処理に関しても、上述と同様にして、それぞれの処理を行わせるサーバ機器に対して送信して受け取ることにより、機器連携装置１は、インターネット５上の各サーバ機器２〜４の機能を組み合わせた一連の処理を行わせることができる。
【００８６】
このようにして、機器連携装置１では、ワークフローデータを、機器連携フレームワーク部２０に用意している共通ＡＰＩ処理部２２に対して実行すればよく、各サーバ機器に対するやり取りはそれぞれ対応するサーバ機器固有実装部が行うので、通信プロトコル、扱えるデータ及びコマンドの種類がそれぞれ異なる複数のサーバ機器を連携して一連の処理を実行させるためのワークフローデータを容易に構築することができる。
また、ワークフローデータのＡＰＩが統一されているので、ワークフローデータにサーバ機器の追加やサーバ機器の利用する機能の拡張を容易にできる。
したがって、ワークフローデータを効率よく作成して実行することができる。
【００８７】
上述した図８のＳ２８の固有データからＳ３３の共有データに変換する処理例について説明する。
図９は、図１に示した機器連携装置１における固有データから供給データの変換処理例の説明図である。
図９の（ａ）は、サーバ機器Ａ２から読み出した固有データを機器連携装置１で扱う共通データに変換する場合のデータ種類を示す一例であり、例えば、サーバ機器Ａ２から読み出した固有データのデータ種類には、ＲＧＢデータ、ＣＭＹＫデータ、ＰＤＦデータ、ＪＰＥＧデータ、ＴＩＦＦデータ、ビットマップデータを含む各種のデータ種類であるが、上記Ｓ３３での変換処理により、機器連携装置１で扱う共有データのデータ種類である、例えば、ＪＰＥＧデータに変換される。
【００８８】
また、サーバ機器Ｃ４から読み出した固有データのデータ種類についても、図９の（ａ）に示すような、ＲＧＢデータ、ＣＭＹＫデータ、ＰＤＦデータ、ＪＰＥＧデータ、ＴＩＦＦデータ、又はビットマップデータをＪＰＥＧデータに変換するように適用することができる。
【００８９】
また、図９の（ｂ）は、利用者データを管理する利用者データ管理サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置１で扱う共有データに変換する場合のデータ種類を示す一例であり、固有データのデータ種類は、氏名と所属グループ名を含む文字列データであるが、サーバ機器データ変換処理部の処理により、機器連携装置１で扱う共有データとして、例えば、氏名と所属グループ名を含む文字列データに、ユーザＩＤとグループＩＤの共通ＩＤを含めたデータに変換される。
【００９０】
さらに、図９の（ｃ）は、利用者認証をする認証サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置１で扱う共有データに変換する場合のデータ種類を示す一例であり、そのサーバ機器で扱う固有のデータ種類の署名を、サーバ機器データ変換処理部の処理により、機器連携装置１で扱う共有データとして、例えば、共通シングルサインオン用の署名に変換される。
さらにまた、図９の（ｄ）は、課金サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置１で扱う共有データに変換する場合のデータ種類を示す一例であり、課金サーバから受信した金額と口座番号のデータを、サーバ機器データ変換処理部の処理により、金額を単位金額で割った値のカウンタ値と、課金先とに変換される。
【００９１】
次に、上述した機器連携装置１にワークフローデータのテスト機能を設ければ、ユーザが構築したワークフローデータによって所望の結果が得られるか否かが容易に判断することができ、ワークフローデータを所望の結果が得られるように容易に修正することができる。
図１０は、機器連携装置１にワークフローデータのテスト機能を設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。図１と共通する部分については同一符号を付し、図１で説明した部分と共通する部分についてはその説明を省略する。
【００９２】
図１０の機器連携装置１には、上述した機器連携装置１の制御部１０に、ワークフローデータのテスト機能を実現するため、テストプログラム実行部１６とテスト結果記憶部１７の新たな機能部を設けている。
テストプログラム実行部１６は、図１０では図示を省略したテストプログラム記憶部（例えば、ＲＡＭ又は記憶装置）に記憶されたテストプログラムを実行し、ＧＵＩ部１３からの入力情報に基づいてワークフロー記憶部１５に記憶されているワークフローデータのテストをワークフロー処理部１４に要求し、ワークフロー処理部１４から受け取った実行結果をテスト結果としてテスト結果記憶部１７に記憶する処理を行う。
【００９３】
また、図１０に示したワークフロー処理部１４は、テストプログラム実行部１６からテストを要求されたワークフローデータについて、そのワークフローデータの前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応するサーバ機器２〜４に実行させるための、所定のコマンドセットに含まれるコマンドを生成して機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給する処理を実行する。また、機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給したテストの要求に対する応答の実行結果を共通ＡＰＩ処理部２２から受け取ってテストプログラム実行部１６へ供給する。
【００９４】
テスト結果記憶部１７は、ワークフローデータのテスト結果を記憶する。
すなわち、ワークフローデータのテスト機能に関して、ワークフロー処理部１４とテストプログラム実行部１６がワークフロー実行手段の機能を果たし、テストプログラム実行部１６とテスト結果記憶部１７が実行結果記憶手段の機能を果たす。
【００９５】
次に、図１０に示した機器連携装置１におけるワークフローデータのテスト処理について説明する。
図１１は、図１０に示した機器連携装置１がワークフローデータをテストするときの機器連携装置１とサーバ機器Ａ２との処理を示すシーケンス図である。ここでも、サーバ機器Ａ２に蓄積されたデータを読み出す処理のワークフローについて説明する。
【００９６】
機器連携装置１の図１０に示した制御部１０は、ＧＵＩ部１３からユーザ入力によってテストプログラム実行部１６を起動し、テストプログラム実行部１６は、図１０では図示を省略したテストプログラム記憶部（例えば、ＲＡＭ又は記憶装置）に記憶されたテストプログラムを実行し、そのプログラムの手順に従ってテスト対象のワークフローデータの前段から部品データを読み出し、その各部品データのテストをワークフロー処理部１４へ要求する。
【００９７】
ここでは、サーバ機器Ａ２に対する処理の部品データを読み出して実行する場合について説明する。
まず、テストプログラム実行部１６は、図１０のワークフロー記憶部１５からテスト対象のワークフローデータからサーバ機器Ａ２から指定したデータを読み出す処理を実行させるための部品データを読み出し（Ｓ４１）、その部品データの実行を示すワークフロー実行要求をワークフロー処理部１４へ供給する（Ｓ４２）。
【００９８】
ワークフロー処理部１４は、テストプログラム実行部１６から実行を要求された部品データをワークフロー記憶部１５から読み出し（Ｓ４３）、その部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給する（Ｓ４４）。その実行要求コマンドには要求先としてサーバ機器Ａ固有実装部３０を示す情報が含まれている。
【００９９】
共通ＡＰＩ処理部２２は、ワークフロー処理部１４から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、その実行要求コマンドに含まれている要求先のサーバ機器Ａ固有実装部３０を示す情報に基いて、データ読み出しを実行させるべきサーバ機器Ａ２と対応するサーバ機器Ａ固有実装部３０のサーバ機器Ａ＿ＡＰＩ処理部３２に、受け付けたデータ読み出しの実行要求コマンドを供給する（Ｓ４５）。
【０１００】
サーバ機器Ａ＿ＡＰＩ処理部３２は、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、サーバ機器Ａ２で処理可能なデータ読み出しの実行コマンドに変換して（Ｓ４６）、サーバ機器Ａ２へ発行して送信する（Ｓ４７）。
【０１０１】
一方、サーバ機器Ａ２は、ＡＰＩ定義部５０が、機器連携装置１からデータ読み出しの実行コマンドを受信すると、自機器に蓄積されているデータの中から指定されたデータを読み出し、そのデータを実行結果として発行して機器連携装置１へ送信する（Ｓ４８）。
この送信されたデータについては、サーバ機器Ａ２で処理可能なデータ構造を持つ固有データのまま機器連携装置１へ送信される。
機器連携装置１では、サーバ機器Ａ＿ＡＰＩ処理部３２が、サーバ機器Ａ２から受信した実行結果のデータ（固有データ）を、図１０の制御部１０の記憶手段（例えば、ＲＡＭ）に記憶し（Ｓ４９）、共通ＡＰＩ処理部２２へデータ読み出しの実行結果応答コマンドを供給する（Ｓ５０）。
【０１０２】
また、共通ＡＰＩ処理部２２は、サーバ機器Ａ＿ＡＰＩ処理部３２から受け取った実行結果応答コマンドをワークフロー処理部１４へ供給し（Ｓ５１）、そのワークフロー処理部１４は、共通ＡＰＩ処理部２２から実行結果応答コマンドを受け取ると、共通データ変換処理部２３にサーバ機器Ａ２から受信したデータを機器連携装置１で扱えるフォーマットに変換するデータ変換要求コマンド（第１のデータ変換コマンド）を供給する（Ｓ５２）。そのデータ変換要求コマンドには要求先としてサーバ機器Ａ固有実装部３０を示す情報が含まれている。
共通データ変換処理部２３は、そのデータ変換要求コマンドに含まれている要求先のサーバ機器Ａ固有実装部３０を示す情報に基いて、そのデータ変換要求コマンドをサーバ機器Ａデータ変換処理部３３へ供給する（Ｓ５３）。
【０１０３】
サーバ機器Ａデータ変換処理部３３は、共通データ変換処理部２３からデータ変換要求コマンドを受け付けると、図１０の制御部１０の記憶手段に記憶したサーバ機器Ａ２から取得したデータ（固有データ）を機器連携装置１で扱えるフォーマットのデータ（共通データ）に変換し（Ｓ５４）、共通データ変換処理部２３にデータ変換完了コマンドと共にデータ（共通データ）の記憶場所の情報を通知する（Ｓ５５）。
【０１０４】
そして、共通データ変換処理部２３は、データ変換完了コマンドとデータ（共通データ）とをワークフロー処理部１４に供給する（Ｓ５６）。
このようにして、ワークフロー処理部１４はサーバ機器Ａ２から所望のデータを取得できたことを確認できる。
ワークフロー処理部１４は、共通データ変換処理部２３から受け取ったデータ（共通データ）をワークフロー実行結果としてテストプログラム実行部１６へ供給し（Ｓ５７）、テストプログラム実行部１６は、ワークフロー処理部１４から受け取ったデータをテスト結果記憶部１７に書き出して記憶する（Ｓ５８）。
このようにして、得られたテスト結果を参照することにより、ワークフローデータに基づく処理で所望の結果を得られるか否かを検証することができる。
【０１０５】
なお、上述の実施例では説明を省略したが、サーバ機器Ａ２とサーバ機器Ｃ４の他のサーバ機器２〜４を利用する場合、そのサーバ機器２〜４に対応するサーバ機器固有実装部が、サーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０と同様に動作し、それぞれに対応するサーバ機器２〜４とのデータのやり取りを可能にする。
【０１０６】
次に、上述した機器連携装置１について、インターネット５上のサーバ機器２〜４に実際に接続せずにワークフロー処理部１４と機器連携フレームワーク部２０の動作をテストする場合について説明する。
このテストには、機器連携装置１に接続するサーバ機器毎にそれぞれ正常時又は異常時についてテストを実施できるようにするため、機器連携装置１の上述したサーバ機器固有実装部に代えて、サーバ機器固有実装部のエミュレータを設けて動作させることにより、インターネット５上のサーバ機器２〜４に実際に接続しなくても、接続した場合と同様にワークフロー処理部１４と機器連携フレームワーク部２０を動作させることができ、その動作結果に基づいてワークフロー処理部１４と機器連携フレームワーク部２０のテストを行える。
【０１０７】
図１２は、図２に示した機器連携装置１にサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
図１又は図１０と共通する部分については同一符号を付し、図１又は図１０での説明と共通する部分についてはその説明を省略する。
図１２の機器連携装置１には、上述した制御部１０のサーバ機器Ａ固有実装部３０とサーバ機器Ｃ固有実装部４０とに代えて、それぞれサーバ機器Ａ固有実装エミュレータ部７０とサーバ機器Ｃ固有実装エミュレータ部８０を設けている。また、テストシナリオ記憶部１８の新たな機能部を設けている。
【０１０８】
サーバ機器Ａ固有実装エミュレータ部７０は、テストプログラム実行部１６からの要求に従い、サーバ機器Ａ２に送信すべき要求に対してサーバ機器Ａ２が送信してくると想定される応答を生成するエミュレータであり、上述したサーバ機器Ａ通信プロトコル処理部３１のエミュレータであるサーバ機器Ａ通信プロトコルエミュレータ部７１と、上述したサーバ機器Ａ＿ＡＰＩ処理部３２のエミュレータであるサーバ機器Ａ＿ＡＰＩエミュレータ部７２と、上述したサーバ機器Ａデータ変換処理部３３のエミュレータであるサーバ機器Ａデータ変換エミュレータ部７３と、上述したサーバ機器Ａ登録処理部３４の各機能部を備えている。
【０１０９】
また、サーバ機器Ｃ固有実装エミュレータ部８０は、テストプログラム実行部１６からの要求に従い、サーバ機器Ｃ４に送信すべき要求に対してサーバ機器Ｃ４が送信してくると想定される応答を生成するエミュレータであり、上述したサーバ機器Ｃ通信プロトコル処理部４１のエミュレータであるサーバ機器Ｃ通信プロトコルエミュレータ部８１と、上述したサーバ機器Ｃ＿ＡＰＩ処理部４２のエミュレータであるサーバ機器Ｃ＿ＡＰＩエミュレータ部８２と、上述したサーバ機器Ｃデータ変換処理部４３のエミュレータであるサーバ機器Ｃデータ変換エミュレータ部８３と、上述したサーバ機器Ｃ登録処理部４４の各機能部を備えている。
【０１１０】
サーバ機器Ａ通信プロトコルエミュレータ部７１とサーバ機器Ｃ通信プロトコルエミュレータ部８１は、それぞれテストプログラム実行部１６からの要求に従い、サーバ機器Ａ２とサーバ機器Ｃ４に通信接続要求コマンドを送信して、そのサーバ機器Ａ２とサーバ機器Ｃ４から通信接続要求コマンドに対する応答を受信することに代えて、サーバ機器Ａ２とサーバ機器Ｃ４に送信すべき通信接続要求コマンドに対する応答を生成し、テストプログラム実行部１６へ返すエミュレータである。
このサーバ機器Ａ固有実装エミュレータ部７０とサーバ機器Ｃ固有実装エミュレータ部８０は、機器連携フレームワーク部２０を継承してエミュレータの機能を含めて作成されたパッケージをインストールする。
【０１１１】
テストシナリオ記憶部１８は、テストプログラム実行部１６が実行するテストシナリオデータを記憶する。このテストシナリオデータには、サーバ機器Ａ固有実装エミュレータ部７０とサーバ機器Ｃ固有実装エミュレータ部８０にそれぞれサーバ機器Ａ２が正常時及び異常時に得られる応答内容を出力できるようにするためのパラメータと、テスト用のワークフローデータが含まれている。
【０１１２】
図１２のテストプログラム実行部１６は、テスト実施前に、テストシナリオ記憶部１８のテストシナリオデータに基いてサーバ機器Ａ固有実装エミュレータ部７０のサーバ機器Ａ通信プロトコルエミュレータ部７１とサーバ機器Ａ＿ＡＰＩエミュレータ部７２とサーバ機器Ａデータ変換エミュレータ部７３にそれぞれ正常テストか異常テストかを通知して、正常テストの場合はそれぞれサーバ機器Ａ２が正常時に得られる応答内容を出力するためのパラメータを設定し、異常テストの場合はそれぞれサーバ機器Ａ２が異常時に得られる応答内容を出力するためのパラメータを設定する。
【０１１３】
また、同様にして、サーバ機器Ｃ固有実装エミュレータ部８０のサーバ機器Ｃ通信プロトコルエミュレータ部８１とサーバ機器Ｃ＿ＡＰＩエミュレータ部８２とサーバ機器Ｃデータ変換エミュレータ部８３にもパラメータをそれぞれ設定する。
このようにして、サーバ機器Ａ固有実装エミュレータ部７０とサーバ機器Ｃ固有実装エミュレータ部８０を、正常テストの場合は正常な状態のサーバ機器Ａ２からの応答が得られた場合の動作を行わせ、異常テストの場合は異常な状態のサーバ機器Ａ２からの応答が得られた場合の動作を行わせることができる。
【０１１４】
図１３は、テストシナリオデータの内容を示す図である。
図１３に示すように、テストシナリオデータには、図７に示したようなワークフローデータに、各サーバ機器の機能毎にそれぞれ通信が接続できた場合と接続できなかった場合の通信状態と、サーバ機器が要求を受け付けられるか否かを示す機器状態との設定情報が含まれている。
【０１１５】
例えば、図１３の第１行には、図６の破線枠９３の部品データについて、利用するサーバ機器である構成要素として「サーバ機器Ａ」、そのサーバ機器Ａへの入力の接続先として「開始」、その入力データの種類「なし」、サーバ機器Ａからの出力の接続先として「サーバ機器Ｃ」と「サーバ機器Ｄ」、そのサーバ機器Ｃへの出力データの種類「画像データ」とサーバ機器Ｄへの出力データの種類「課金データ」を対応させて記憶すると共に、サーバ機器Ａの通信状態が正常であり、機器状態が異常である設定情報が含まれている。
以下同様にして、図６の破線枠９４と一点鎖線枠９５と９６と破線枠９７の各部品データについても、それぞれ図１３の第２行〜第５行に記憶している。
図１２に示した機器連携装置１の制御部１０のワークフロー処理部１４は、図１３に示したようなテストシナリオデータを参照してテスト処理を実行する。
【０１１６】
次に、図１２に示した機器連携装置１におけるサーバ機器固有実装エミュレータ部によってワークフローデータをテストするときの処理について説明する。
図１４は、図１２の機器連携装置１がワークフローデータをテストするときの機器連携装置１の処理を示すシーケンス図である。
【０１１７】
機器連携装置１の図１２に示した制御部１０は、ＧＵＩ部１３からユーザ入力によってテストプログラム実行部１６を起動し、テストプログラム実行部１６は、テストシナリオ記憶部１８からテストシナリオデータを読み出し、そのテストシナリオデータに含まれるサーバ機器の通信状態と機器状態の設定情報に基いて、サーバ機器Ａ固有実装エミュレータ部７０のサーバ機器Ａ＿ＡＰＩエミュレータ部７２に、テスト用の状態設定として、通信状態が正常であるパラメータを設定し（Ｓ６２）、サーバ機器Ａ固有実装エミュレータ部７０のサーバ機器Ａデータ変換エミュレータ部７３に、テスト用の状態設定として、機器状態が異常であるパラメータを設定し（Ｓ６３）、サーバ機器Ａ＿ＡＰＩエミュレータ部７２がサーバ機器Ａ２と通信接続した場合に送信してくると想定される応答を生成するように設定し、サーバ機器Ａデータ変換エミュレータ部７３がサーバ機器Ａ２で要求を受け付けられない場合に送信してくると想定される応答を生成するように設定する。
【０１１８】
このようにして、機器連携装置１は、実際にサーバ機器Ａ２を接続しなくても、サーバ機器Ａ２を接続したときと同様にしてサーバ機器Ａ２における通信状態が正常時で機器状態が異常時の場合でのワークフローデータのテストを行える。
上記パラメータの設定を終えると、テストプログラム実行部１６は、図１２では図示を省略したテストプログラム記憶部（例えば、ＲＡＭ又は記憶装置）に記憶されたテストプログラムを実行し、そのプログラムの手順に従ってテスト対象のワークフローデータの前段から部品データを読み出し、その各部品データのテストをワークフロー処理部１４へ要求する。この要求では、サーバ機器Ａ２が正常時のテストを行うことになる。
【０１１９】
以下では、サーバ機器Ａ２に対する処理の部品データを読み出して実行する場合について説明する。
まず、テストプログラム実行部１６は、図１２のワークフロー記憶部１５からテスト対象のワークフローデータからサーバ機器Ａ２から指定したデータを読み出す処理を実行させるための部品データを読み出し、その部品データの実行を示すワークフロー実行要求をワークフロー処理部１４へ供給する（Ｓ６４）。
ワークフロー処理部１４は、テストプログラム実行部１６から実行を要求された部品データをワークフロー記憶部１５から読み出し、その部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部２０の共通ＡＰＩ処理部２２に供給する（Ｓ６５）。
【０１２０】
共通ＡＰＩ処理部２２は、ワークフロー処理部１４から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、データ読み出しを実行させるべきサーバ機器Ａ２と対応するサーバ機器Ａ固有実装エミュレータ部７０のサーバ機器Ａ＿ＡＰＩエミュレータ部７２に、受け付けたデータ読み出しの実行要求コマンドを供給する（Ｓ６６）。
サーバ機器Ａ＿ＡＰＩエミュレータ部７２は、共通ＡＰＩ処理部２２から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、上記設定されたパラメータによって自部内で、上記実行要求コマンドに対して正常な状態のサーバ機器Ａ２が送信してくると想定される実行結果応答コマンドを作成して共通ＡＰＩ処理部２２へ供給する（Ｓ６７）。
【０１２１】
共通ＡＰＩ処理部２２は、サーバ機器Ａ＿ＡＰＩエミュレータ部７２から実行結果応答コマンドをワークフロー処理部１４へ供給する（Ｓ６８）。
このようにして、サーバ機器Ａ２を実際に接続しなくても、サーバ機器Ａ２と通信接続した場合に得られる応答を得ることができる。
ワークフロー処理部１４は、共通ＡＰＩ処理部２２から実行結果応答コマンドを受け取ると、共通データ変換処理部２３にサーバ機器Ａ２から受信したものと想定したデータに対して機器連携装置１で扱えるフォーマットに変換するデータ変換要求コマンド（第１のデータ変換コマンド）を供給し（Ｓ６９）、その共通データ変換処理部２３は、そのデータ変換要求コマンドをサーバ機器Ａデータ変換エミュレータ部７３へ供給する（Ｓ７０）。
【０１２２】
サーバ機器Ａデータ変換エミュレータ部７３は、共通データ変換処理部２３からデータ変換要求コマンドを受け付けると、この場合、サーバ機器Ａデータ変換エミュレータ部７３は、サーバ機器Ａ２の機器状態が異常の設定をされているので、サーバ機器Ａ２からの固有データの受信はなく、その固有データに対して機器連携装置１で扱えるフォーマットの共通データに変換する処理もなく（Ｓ７１）、共通データ変換処理部２３にはデータ変換不可コマンドを通知する（Ｓ７２）。
そして、共通データ変換処理部２３は、データ変換不可コマンドをワークフロー処理部１４に供給する（Ｓ７３）。
【０１２３】
ワークフロー処理部１４は、共通ＡＰＩ処理部２２から受け取った実行結果応答コマンドと、共通データ変換処理部２３から受け取ったデータ変換不可コマンドをワークフロー実行結果としてテストプログラム実行部１６へ供給し（Ｓ７４）、テストプログラム実行部１６は、ワークフロー処理部１４から受け取った各コマンドをテスト結果記憶部１７に書き出して記憶する（Ｓ７５）。このようにして、サーバ機器Ａ２と通信接続できたが処理は実行できなかった場合のテスト結果を得ることができる。
このようにして、得られたテスト結果を参照することにより、サーバ機器Ａ２を実際に接続しなくても、機器連携装置１単体でワークフローデータに基づくサーバ機器Ａ２への処理で所望の結果を得られるか否かを検証することができる。
【０１２４】
さらに、上述と同様にして、サーバ機器Ｂ、Ｄ、Ｅについてもテストを繰り返すことにより、サーバ機器Ｂ、Ｄ、Ｅについても通信状態と機器状態が正常又は異常な場合のテスト結果を得ることにより、サーバ機器Ｂ、Ｄ、Ｅをそれぞれ実際に接続しなくても、機器連携装置１単体でワークフローデータに基づくサーバ機器Ｂ、Ｄ、Ｅへのそれぞれの処理で所望の結果を得られるか否かを検証することができる。
機器連携装置１におけるワークフローデータの構築作業を実施している段階で、既に稼動しているサーバ機器を直接使ってのテストは、サーバダウンを引き起こすなどリスクが大きいので、機器連携装置１に上述のようなエミュレータを導入することにより、ワークフローデータの動作確認時に、サーバ機器を直接使わずに安全なテストが可能になる。
【０１２５】
また、ネットワークシステムでは、サーバ機器毎に個別に異常状態になるので、それらに対応したテストも重要である。
この実施例の機器連携装置１は、ネットワークシステムで発生する異常状態を忠実に模擬したテストを実施することができるので、そのテストによるネットワーク上の複数のサーバ機器を連携させる際の事前検証効果を高めることができる。
【０１２６】
次に、上述の機器連携装置におけるテストの際、一部のサーバ機器については実際に接続し、他のサーバ機器については上述のようなエミュレータをインストールしてテストを実行することも可能である。
図１５は、図２に示す機器連携装置１に実際に一部のサーバ機器を接続し、他はサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。図１、図１０、図１２と共通する部分は同一符号を付してその説明を省略する。
【０１２７】
この機器連携装置１では、サーバ機器Ａ２については実際に接続して動作をテストすることができ、サーバ機器Ｃ４についてはサーバ機器Ｃ固有実装エミュレータ部８０によって実際にサーバ機器Ｃ４を接続しなくても動作をテストすることができる。
このようにすれば、例えば、使用しても安全であることが確認できたサーバ機器から部分的に実際に接続するようにすれば、さらに安全なテストができる。
【０１２８】
以上で実施形態の説明を終了するが、システムや装置の構成、データの構成、採用する通信やデータの規格、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
なお、上述の実施例では、ＰＣによって機器連携装置１を実現した場合について説明したが、発明に係るプログラムを、ファクシミリ装置、プリンタ、複写機、複合機を含む画像形成装置、又はサーバ装置にインストールして上述の各手段の動作を実行させるようにすれば、画像形成装置、又はサーバ装置に機器連携装置１の機能を持たせることができる。
【０１２９】
また、サーバ装置に実現させる機能や、取り扱わせるデータの種類も、上述の実施形態で説明したものに限られない。例えば、サーバ装置として、画像や認証や課金に関わるもの以外でも、データ分析、数学演算、撮影、測定、データ配信など、任意の機能を提供するものを利用することが考えられる。
また、以上説明してきた変形及び実施形態の説明において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。また逆に、この発明の通信装置やプログラムが、実施形態の説明において述べた特徴を全て有している必要もない。
【産業上の利用可能性】
【０１３０】
この発明による通信装置とプログラムは、パーソナルコンピュータの他に、ファクシミリ装置、プリンタ、複写機、複合機を含む画像形成装置、又はサーバ装置においても適用することができる。
【符号の説明】
【０１３１】
１：機器連携装置    ２〜４：サーバ機器    ５：インターネット    １０：制御部    １１：入力装置    １２：表示装置    １３：ＧＵＩ部    １４：ワークフロー処理部    １５：ワークフロー記憶部    １６：テストプログラム実行部    １７：テスト結果記憶部    １８：テストシナリオ記憶部    ２０：機器連携フレームワーク部    ２１：共通通信プロトコル処理部    ２２：共通ＡＰＩ処理部    ２３：共通データ変換処理部    ２４：共通登録処理部    ３０：サーバ機器Ａ固有実装部    ３１：サーバ機器Ａ通信プロトコル処理部    ３２：サーバ機器Ａ＿ＡＰＩ処理部    ３３：サーバ機器Ａデータ変換処理部    ３４：サーバ機器Ａ登録処理部    ４０：サーバ機器Ｃ固有実装部    ４１：サーバ機器Ｃ通信プロトコル処理部    ４２：サーバ機器Ｃ＿ＡＰＩ処理部    ４３：サーバ機器Ｃデータ変換処理部    ４４：サーバ機器Ｃ登録処理部    ５０、６０：ＡＰＩ定義部    ５１、６１：通信プロトコル制御部    ５２、６２：データ管理部    ５３、６３：状態管理部    ７０：サーバ機器Ａ固有実装エミュレータ部    ７１：サーバ機器Ａ通信プロトコルエミュレータ部    ７２：サーバ機器Ａ＿ＡＰＩエミュレータ部    ７３：サーバ機器Ａデータ変換エミュレータ部    ８０：サーバ機器Ｃ固有実装エミュレータ部    ８１：サーバ機器Ｃ通信プロトコルエミュレータ部    ８２：サーバ機器Ｃ＿ＡＰＩエミュレータ部    ８３：サーバ機器Ｃデータ変換エミュレータ部
【先行技術文献】
【特許文献】
【０１３２】
【特許文献１】特開２００６−３５０５８０号公報
【特許文献２】特開２０００−０２９８４８号公報
【特許文献３】特開２００８−２１０１０３号公報
【図１】
0005672885.tif 000002
【図２】
0005672885.tif 000003
【図３】
0005672885.tif 000004
【図４】
0005672885.tif 000005
【図５】
0005672885.tif 000006
【図６】
0005672885.tif 000007
【図７】
0005672885.tif 000008
【図８】
0005672885.tif 000009
【図９】
0005672885.tif 000010
【図１０】
0005672885.tif 000011
【図１１】
0005672885.tif 000012
【図１２】
0005672885.tif 000013
【図１３】
0005672885.tif 000014
【図１４】
0005672885.tif 000015
【図１５】
0005672885.tif 000016