JP5672885B2 - 通信装置とプログラム - Google Patents

通信装置とプログラム Download PDF

Info

Publication number
JP5672885B2
JP5672885B2 JP2010207547A JP2010207547A JP5672885B2 JP 5672885 B2 JP5672885 B2 JP 5672885B2 JP 2010207547 A JP2010207547 A JP 2010207547A JP 2010207547 A JP2010207547 A JP 2010207547A JP 5672885 B2 JP5672885 B2 JP 5672885B2
Authority
JP
Japan
Prior art keywords
data
command
external device
server device
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010207547A
Other languages
English (en)
Other versions
JP2012063972A (ja
Inventor
杉下 悟
悟 杉下
竹内 幸子
幸子 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010207547A priority Critical patent/JP5672885B2/ja
Publication of JP2012063972A publication Critical patent/JP2012063972A/ja
Application granted granted Critical
Publication of JP5672885B2 publication Critical patent/JP5672885B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

この発明は、インターネットを含むネットワーク上に接続された複数の外部装置がそれぞれ有する多様な機能を利用するために各外部装置と通信する通信装置と、そのような通信装置を制御するコンピュータに発明に係わる機能を実現させるためのプログラムに関する。
従来から、ネットワークを介して複数の外部装置、例えば、印刷装置、ファクシミリ装置、複写機、複合機を含む画像処理装置を始め、パーソナルコンピュータ(PC)、サーバ装置を含む情報処理装置等の外部装置(「サーバ機器」とも呼ぶ)と接続し、その各外部装置がそれぞれ有する多様な機能によって提供されるサービスを利用する情報処理装置に各外部装置と通信する通信機能を備えた通信装置が多用されている。
特に、インターネットの普及に伴って、インターネット上の様々なサーバ機器による多様なサービスが利用可能になると共に、そのような多様なサービスを業務フローに組み込んで処理を行うクラウドという技術も提供され、インターネットを介して多様なサービスの利用が容易になりつつある。
従来、ネットワーク上のサーバ機器を利用する次のような通信装置があった。
(1)ネットワーク上に接続された複数のサーバ機器のアプリケーションについて、アプリケーションと自装置とのインターフェース情報を比較して連携の可否を判断し、連携可能と判断されたアプリケーションとデータを交換する通信装置(例えば、特許文献1参照)。
(2)ネットワーク上の複数のリソースから利用可能なリソースを選択し、その各リソースにジョブを分散処理させる通信装置(例えば、特許文献2参照)。
(3)複数の画像形成装置が接続されたネットワーク上で、外部装置からの印刷指示に対応できる画像形成装置を選択し、その選択した画像形成装置へ処理を指示する通信装置(例えば、特許文献3参照)。
しかしながら、上述した(1)の通信装置では、連携不可能なサーバ機器については処理対象から除外しており、インターネット上で通信プロトコルがそれぞれ異なる複数のサーバ機器の機能や、扱うコマンドの種類やデータ構造がそれぞれ異なる複数のサーバ機器の機能を組み合わせたデータ処理が容易にできないという問題があった。このような複数のサーバ機器の機能を組み合わせてデータ処理を行うことを、複数のサーバ機器を連携させると呼ぶ。
また、(2)と(3)の通信装置も、上述と同様に通信プロトコルが互いに異なる機器同士や、扱うコマンドの種類やデータ構造が異なる機器同士を互いに連携させるものではない。
なお、従来から存在する通信装置でも特定のサーバ機器と連携する仕組みを持っているものは存在したが、他のサーバ機器と連携して動作する仕組みに独立性が無いため、特定のサーバ機器しか連携できなかった。
この発明は上記の点に鑑みてなされたものであり、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易に実現できるようにすることを目的とする。
この発明は上記の目的を達成するため、複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を実現する通信装置であって、通信先の各外部装置と対応させて、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して対応する外部装置に送信すると共に、そのコマンドに対する応答を外部装置から受信して、上記受け付けたコマンドに対する応答に変換して、その受け付けたコマンドの供給元に返す装置対応コマンド処理手段を設け、さらに、外部装置に対する処理の要求を、上記所定のコマンドセットに含まれるコマンドとして受け付けると共に、処理を実行させるべき外部装置と対応する装置対応コマンド処理手段に、受け付けたコマンドを供給する共通コマンド処理手段を設け、さらに、通信先の各外部装置と対応させて、対応する外部装置から受信したデータを記憶手段に記憶させると共に、第1のデータ変換コマンドに応じて、その記憶させたデータをそのデータの種類に応じた所定のフォーマットに変換する第1のデータ変換手段を設け、全ての上記第1のデータ変換手段について上記第1のデータ変換コマンドは共通のコマンドであり、上記第1のデータ変換コマンドを受け付けて、そのコマンドに係るデータ変換を行わせるべき上記第1のデータ変換手段にそのコマンドを渡す第2の共通コマンド処理手段を設けた通信装置を提供する。
また、上記のような通信装置に、通信先の各外部装置と対応させて、第2のデータ変換コマンドに応じて、上記記憶手段が記憶している上記所定のフォーマットのデータを、外部装置が取扱い可能なフォーマットに変換する第2のデータ変換手段を設け、全ての第2のデータ変換手段について第2のデータ変換コマンドは共通のコマンドであり、上記第2の共通コマンド処理手段に、第2のデータ変換コマンドを受け付けて、そのコマンドに係るデータ変換を行わせるべき第2のデータ変換手段にそのコマンドを渡す手段を設けるとよい。
さらに、上記のような通信装置に、通信先の各外部装置と対応させて、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して対応する外部装置に送信すると共に、その通信接続要求に対する応答を外部装置から受信して、上記受け付けた通信接続要求に対する応答に変換して、その受け付けた通信接続要求の供給元に返す装置対応接続処理手段を設け、さらに、外部装置にアクセスするための通信接続要求を、上記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する装置対応接続処理手段に、上記受け付けた通信接続要求を供給する共通接続処理手段を設けるとよい。
また、上記のような通信装置に、通信可能な各外部装置について、外部装置に入力すべきデータの種類と、その外部装置が入力されたデータに対して実行する処理の種類と、その外部装置が処理の結果として出力するデータの種類とを示すデータを、その外部装置と対応する部品データとして記憶する記憶手段と、複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、上記記憶手段が記憶する複数の部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段を設けるとよい。
さらに、上記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにするとよい。
また、上記のような通信装置に、上記ワークフローデータを記憶するワークフロー記憶手段と、そのワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応する外部装置に実行させるための、上記所定のコマンドセットに含まれるコマンドを生成して上記共通コマンド処理手段に供給するワークフロー実行手段と、共通コマンド処理手段に供給した各コマンドに対する応答を共通コマンド処理手段から受け取って記憶する実行結果記憶手段を設けるとよい。
また、上記のような通信装置に、少なくとも1つの上記装置対応コマンド処理手段について、その装置対応コマンド処理手段が外部装置に送信すべきコマンドに対して外部装置が送信してくると想定される応答を生成するエミュレータを設け、コマンドを外部装置に送信して外部装置からコマンドに対する応答を受信することに代えて、外部装置に送信すべきコマンドに対する応答を上記エミュレータにより生成できるようにするとよい。
さらに、上記エミュレータが、所定のパラメータの設定内容に応じて、外部装置が正常状態の場合に送信してくると想定される応答と、外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えるようにするとよい。
また、上記部品データに含まれる、外部装置に入力すべきデータの種類及び外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであるとよい。
さらに、通信装置を制御するコンピュータに、上記のような通信装置を構成する各手段としての機能を実現させるためのプログラムも提供する。
この発明による通信装置は、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易に実現することができる。
また、この発明によるプログラムは、コンピュータに通信装置を制御させて、その通信装置に、ネットワーク上の通信インターフェースがそれぞれ異なる複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、複数の外部装置の機能を組み合わせたデータ処理を容易にできるようにするための機能を実現させることができる。
図2に示す機器連携装置の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。 この発明の一実施例である機器連携装置を含むネットワークシステムの構成を示す図である。 図1に示す機器連携装置における電源がオンにされたとき及びサーバ機器A固有実装部がインストールされたときに機器連携装置とサーバ機器Aの処理を示すシーケンス図である。
図1に示す機器連携装置で実行するワークフローデータの基本構成要素の説明図である。 図1に示す機器連携装置で実行するワークフローデータの部品データの一例を示す図である。 図1に示す機器連携装置で実行するワークフローデータの構成内容の一例を示す図である。
図6に示すワークフローデータの構成内容に対応するワークフローデータの内容を示す図である。 図1に示す機器連携装置がワークフローデータに基づいてサーバ機器Aに処理を実行させたときの機器連携装置とサーバ機器Aとの処理を示すシーケンス図である。 図1に示す機器連携装置における固有データから供給データの変換処理例の説明図である。
図2に示す機器連携装置にワークフローデータのテスト機能を設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。 図10に示す機器連携装置がワークフローデータをテストするときの機器連携装置とサーバ機器Aとの処理を示すシーケンス図である。 図2に示す機器連携装置にサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
テストシナリオデータの内容を示す図である。 図12に示す機器連携装置がワークフローデータをテストするときの機器連携装置の処理を示すシーケンス図である。 図2に示す機器連携装置に実際に一部のサーバ機器を接続し、他はサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
以下、発明を実施するための形態を図面に基づいて具体的に説明する。
図2は、発明の一実施例である機器連携装置を含むネットワークシステムの構成を示す図である。
この実施例のネットワークシステムは、インターネット5上に、機器連携装置1と、複数のサーバ機器2〜4とが接続されており、機器連携装置1は各サーバ機器2〜4を利用する通信装置に相当し、各サーバ機器2〜4は、機器連携装置1に対する外部装置に相当する。
機器連携装置1は、各サーバ機器2〜4を連携させて、各サーバ機器2〜4がそれぞれ提供するサービスを複数種類組み合わせたワークフローを実行するコンピュータ装置である。
複数のサーバ機器2〜4は、インターネット5上の外部装置であり、例えば、サーバ機器2は、複写機、MFP、及び印刷装置(プリンタ)を含む画像形成装置であり、利用者の利用用途とコストメリットに応じて、白黒印刷機、カラー印刷機、低速印刷機、高速印刷機が適宜設置されており、印刷と複写の機能の他に文書データ、画像データを含むデータを外部に提供可能に蓄積するデータベース(DB)サーバの機能を備えたものもある。
サーバ機器3は、ウェブ(Web)サービス、クラウド技術によりインターネット5上に画像データのマーキング処理等のサービスを提供する汎用的なパーソナルコンピュータ(PC)である。さらに、サーバ機器4は、機器連携装置1とサーバ機器2と3の利用者について証明処理により署名を発行して利用者認証する認証サーバと、機器連携装置1とサーバ機器2と3の利用者に係る利用者情報をデータベースとして蓄積して管理する利用者データベースサーバと、ユーザに対してインターネット5上のサーバ機器2と3のサービス利用に対する課金処理をする課金管理装置を含む機器である。
このネットワークシステムは、インターネット5上に置かれている各サーバ機器2〜4の中には、それぞれ通信プロトコル、コマンドの種類、及び処理対象のデータ構造を含む通信インターフェース(通信I/F)が異なるために、そのままでは直接にデータをやり取りすることはできないサーバ機器も含まれている。
しかし、機器連携装置1が、インターネット5上のサーバ機器毎に異なる通信I/Fの差異を吸収して各サーバ機器と連携することにより、複数のサーバ機器2〜4の機能を組み合わせたデータ処理を実現することができる。
なお、各機器の間の接続には、インターネットには限らず、LAN(ローカルエリアネットワーク)、USB(Universal Serial Bus)、IEEE(Institute of Electrical and Electronics Engineers)1394をはじめ、有線無線を問わず、任意の規格の通信経路を利用可能である。
次に、この実施例の機器連携装置1の発明に係る機能について説明する。
図1は、図2に示した機器連携装置1の装置構成とその制御部10の発明に係る機能構成を主に示す機能ブロック図である。
図1に示す機器連携装置1は、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、この機器連携装置1の全体の制御を司る制御部10と、ユーザが各種の操作情報を入力するキーボード、ポインティングデバイスを含む入力装置11と、ユーザに対して各種の作業画面と処理結果とメッセージを含む情報を表示するLCDを含む表示装置12を備えている。
制御部10は、CPUがRAMを作業領域としてROM又は図示を省略した記憶装置に記憶されたプログラムを実行することにより、発明に係る機能及びこの機器連携装置1における各種の処理を実行する。
この制御部10は、発明に係る機能として、グラフィカルユーザインターフェース(Graphical User Interface:GUI)部13、ワークフロー処理部14、ワークフロー記憶部15、機器連携フレームワーク部20、サーバ機器A固有実装部30、サーバ機器C固有実装部40を備えている。
そのサーバ機器A固有実装部30とサーバ機器C固有実装部40は、機器連携装置1がサーバ機器A2とサーバ機器C4をそれぞれ利用するために、機器連携フレームワーク部20を継承して作成したパッケージであり、それぞれ制御部10内にインストールしたものである。図1では、サーバ機器A2とサーバ機器C4を接続した場合を示したが、その他のサーバ機器2〜4についてもそれぞれに対応するサーバ機器固有実装部を作成してインストールすることにより、それらのサーバ機器2〜4についても機器連携装置1で利用可能になる。
このように、共通部である機器連携フレームワーク部20と、固有部であるサーバ機器A固有実装部30、サーバ機器C固有実装部40を含むサーバ機器固有実装部とに分離することにより、インターネット5上の新しいサーバ機器を機器連携装置1で利用可能にするためには、機器連携フレームワーク部20を継承したサーバ機器固有実装部に、利用するサーバ機器との通信プロトコル、コマンド種類、扱うデータ種類に対応するための最小限の変更を施してパッケージ化したものを、機器連携装置1にインストールするだけでよい。
また、利用するサーバ機器に合わせて機器連携フレームワーク部20を追加したり変更したりせず、利用するサーバ機器に専用のサーバ機器固有実装部をインストールすることにより、サーバ機器の仕様変更、サーバ機器の追加を行う場合は、サーバ機器固有実装部のみを追加又は変更するだけで済むため、ソフトウェアプログラムの開発難易度を大幅に下げることができ、ソフトウェアプログラムの開発速度を飛躍的に向上させ、ソフトウェアプログラムの開発効率を大幅に向上させることができる。
なお、図1には、図示を省略したが、制御部10は、サーバ機器A固有実装部30とサーバ機器C固有実装部40の他に、インターネット5上の利用するサーバ機器毎の固有実装部を備えているが、それらの固有実装部についてもサーバ機器A固有実装部30とサーバ機器C固有実装部40と同様に動作するので、以下の説明ではそれらの詳細な説明は省略する。
GUI部13は、表示装置にグラフィックを多用した情報を表示すると共に、入力装置11からの入力情報を受け付ける制御を行い、入力装置11からの入力情報をワークフロー処理部14へ送り、ワークフロー処理部14からの処理結果を含む各種の情報を表示装置12に表示する。
ワークフロー処理部14は、GUI部13からの入力情報に基づいてワークフロー記憶部15に記憶されたワークフローの部品データを組み合わせてワークフローデータを作成する処理と、GUI部13からの入力情報に基づいてワークフロー記憶部15に記憶されているワークフローデータに従い、ワークフローデータの前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応するサーバ機器2〜4に実行させるための、所定のコマンドセットに含まれるコマンドを生成して機器連携フレームワーク部20の共通API処理部22に供給する処理を実行する。また、機器連携フレームワーク部20の共通API処理部22に供給した各コマンドに対する応答を共通API処理部22から受け取って記憶する。
すなわち、このワークフロー処理部14はワークフロー実行手段と実行結果記憶手段の機能を果たす。
ワークフロー記憶部15は、予め作成されたワークフローデータ、及びワークフロー処理部14によって作成されたワークフローデータを記憶すると共に、ワークフローデータを作成するためのワークフローの部品データ群を予め記憶する。上記ワークフローデータ及び部品データ群は、図示を省略した機器連携装置1の記憶装置に記憶するようにしても良い。すなわち、このワークフロー記憶部15はワークフロー記憶手段の機能を果たす。
機器連携フレームワーク部20は、サーバ機器A固有実装部30とサーバ機器C固有実装部40とに対して、機器連携装置1で処理可能なプロトコル、コマンド、データ種類のデータをやり取りするための機能部である。
サーバ機器A固有実装部30は、機器連携フレームワーク部20から機器連携装置1で処理可能なプロトコル、コマンド、データ種類のデータが供給されると、それらをサーバ機器A2(ここでは画像データDBの機能を備えた画像形成装置とする)が処理可能なプロトコル、コマンド、データ種類のデータに変換してサーバ機器A2へ送信し、サーバ機器A2からサーバ機器A2で処理可能なプロトコル、コマンド、データ種類のデータを受信すると、それらを機器連携装置1で処理可能なプロトコル、コマンド、データ種類のデータに変換して機器連携フレームワーク部20へ供給するための機能部である。
サーバ機器C固有実装部40は、機器連携フレームワーク部20から機器連携装置1で処理可能なプロトコル、コマンド、データ種類のデータが供給されると、それらをサーバ機器C4(ここではデータをマーキング処理する機能を備えた装置とする)が処理可能なプロトコル、コマンド、データ種類のデータに変換してサーバ機器C4へ送信し、サーバ機器C4からサーバ機器C4で処理可能なプロトコル、コマンド、データ種類のデータを受信すると、それらを機器連携装置1で処理可能なプロトコル、コマンド、データ種類のデータに変換して機器連携フレームワーク部20へ供給するための機能部である。
機器連携フレームワーク部20は、さらに共通通信プロトコル処理部21と、共通アプリケーションプログラムインターフェース(Application Program Interface:API)処理部22と、共通データ変換処理部23と、共通登録処理部24の各機能部を備えている。
共通通信プロトコル処理部21は、ワークフロー処理部14又は共通登録処理部24からサーバ機器A2又はサーバ機器C4にアクセスするための通信接続要求を所定のプロトコルの通信接続要求として受け付けると共に、その通信接続要求がサーバ機器A2へのアクセスを示している場合は、サーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A通信プロトコル処理部31にその通信接続要求を供給するように割り振り、サーバ機器C4へのアクセスを示している場合は、サーバ機器C4と対応するサーバ機器C固有実装部40のサーバ機器C通信プロトコル処理部41にその通信接続要求を供給する割り振りを行う。すなわち、この共通通信プロトコル処理部21は共通接続処理手段の機能を果たす。
共通API処理部22は、共通登録処理部24からのサーバ機器A2又はサーバ機器C4に対する初期化の要求を所定のコマンドセットに含まれるコマンドとして受け付けると共に、その初期化を実行させるべきコマンドの要求先がサーバ機器A2を示している場合、サーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A_API処理部32にそのコマンドを供給し、初期化を実行させるべきコマンドの要求先がサーバ機器C4を示している場合、サーバ機器C4と対応するサーバ機器C固有実装部40のサーバ機器C_API処理部42にそのコマンドを供給する割り振りを行う。
また、共通API処理部22は、ワークフロー処理部14からのサーバ機器A2又はサーバ機器C4に対する処理実行の要求を所定のコマンドセットに含まれるコマンドとして受け付けると共に、その処理実行の要求先がサーバ機器A2を示している場合、サーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A_API処理部32にそのコマンドを供給し、その処理実行の要求先がサーバ機器C4を示している場合、サーバ機器C4と対応するサーバ機器C固有実装部40のサーバ機器C_API処理部42にそのコマンドを供給する割り振りを行う。すなわち、この共通API処理部22は共通コマンド処理手段の機能を果たす。
共通データ変換処理部23は、ワークフロー処理部14からサーバ機器A2(又はサーバ機器C4)で扱えるデータ種類へのデータ変換を指示する第1のデータ変換コマンド(又は第2のデータ変換コマンド)を受け付けて、その第1のデータ変換コマンド(又は第2のデータ変換コマンド)に係るデータ変換を行わせるべきサーバ機器A固有実装部30(又はサーバ機器C固有実装部40)のサーバ機器Aデータ変換処理部33(又はサーバ機器Cデータ変換処理部43)にデータ変換コマンドを供給する割り振りを行う。すなわち、この共通データ変換処理部23は第2の共通コマンド処理手段の機能を果たす。
共通登録処理部24は、サーバ機器A固有実装部30(又はサーバ機器C固有実装部40)のサーバ機器A登録処理部34(又はサーバ機器C登録処理部44)に、サーバ機器A2(又はサーバ機器C4)から取得した機器情報と、サーバ機器A2(又はサーバ機器C4)を利用するワークフローの構築時に使用する情報とを登録する。
次に、サーバ機器A固有実装部30は、サーバ機器A通信プロトコル処理部31と、サーバ機器A_API処理部32と、サーバ機器Aデータ変換処理部33と、サーバ機器A登録処理部34の各機能部を備え、サーバ機器A固有実装部40は、サーバ機器C通信プロトコル処理部41と、サーバ機器C_API処理部42と、サーバ機器Cデータ変換処理部43と、サーバ機器C登録処理部44の各機能部を備えている。
サーバ機器A通信プロトコル処理部31は、通信先のサーバ機器A2と対応させており、機器連携フレームワーク部20の共通通信プロトコル処理部21から所定のプロトコルに従った通信接続要求を受け付け、サーバ機器A2が処理可能なプロトコルの通信接続要求に変換してサーバ機器A2に送信すると共に、その通信接続要求に対する応答をサーバ機器A2から受信して、共通通信プロトコル処理部21から受け付けた通信接続要求に対する応答に変換して、共通通信プロトコル処理部21に返す。
また、サーバ機器C通信プロトコル処理部41は、通信先のサーバ機器C4と対応させており、機器連携フレームワーク部20の共通通信プロトコル処理部21から所定のプロトコルに従った通信接続要求を受け付け、サーバ機器C4が処理可能なプロトコルの通信接続要求に変換してサーバ機器C4に送信すると共に、その通信接続要求に対する応答をサーバ機器C4から受信して、共通通信プロトコル処理部21から受け付けた通信接続要求に対する応答に変換して、共通通信プロトコル処理部21に返す。
すなわち、このサーバ機器A通信プロトコル処理部31とサーバ機器C通信プロトコル処理部41は装置対応接続処理手段の機能を果たす。
サーバ機器A_API処理部32は、通信先のサーバ機器A2と対応させており、共通API処理部22から所定のコマンドセットに含まれる初期化開始コマンド(又は実行要求コマンド)を受け付け、その初期化開始コマンド(又は実行要求コマンド)を対応するサーバ機器A2が処理可能な初期化手続用コマンド(又は実行コマンド)に変換してサーバ機器A2に送信すると共に、その初期化手続用コマンド(又は実行コマンド)に対する応答の初期化完了コマンド(又は実行結果コマンド)をサーバ機器A2から受信して、共通API処理部22から受け付けた初期化開始コマンド(又は実行要求コマンド)に対する応答の初期化完了コマンド(又は実行結果コマンド)に変換して、その初期化開始コマンド(又は実行要求コマンド)の供給元である機器連携フレームワーク部20の共通API処理部22に返す。
また、サーバ機器C_API処理部42は、通信先のサーバ機器C4と対応させており、共通API処理部22から所定のコマンドセットに含まれる初期化開始コマンド(又は実行要求コマンド)を受け付け、その初期化開始コマンド(又は実行要求コマンド)を対応するサーバ機器C4が処理可能な初期化手続用コマンド(又は実行コマンド)に変換してサーバ機器C4に送信すると共に、その初期化手続用コマンド(又は実行コマンド)に対する応答の初期化完了コマンド(又は実行結果コマンド)をサーバ機器C4から受信して、共通API処理部22から受け付けた初期化開始コマンド(又は実行要求コマンド)に対する応答の初期化完了コマンド(又は実行結果コマンド)に変換して、その初期化開始コマンド(又は実行要求コマンド)の供給元である機器連携フレームワーク部20の共通API処理部22に返す。
すなわち、このサーバ機器A_API処理部32とサーバ機器C_API処理部42は装置対応コマンド処理手段の機能を果たす。
サーバ機器Aデータ変換処理部33は、通信先のサーバ機器A2と対応させており、サーバ機器A2から受信したデータ(固有データ)を記憶手段に記憶させると共に、共通データ変換処理部23からの共通のコマンドである第1のデータ変換コマンドに応じて、記憶手段に記憶させたデータ(固有データ)をそのデータの種類に応じた所定のフォーマットのデータ(共通データ)に変換する。すなわち、このサーバ機器Aデータ変換処理部33は第1のデータ変換手段の機能を果たす。
また、サーバ機器Cデータ変換処理部43は、共通データ変換処理部23からの共通のコマンドである第2のデータ変換コマンドに応じて、上記記憶手段が記憶している所定のフォーマットのデータ(共通データ)を、サーバ機器C4が取扱い可能なフォーマットのデータ(固有データ)に変換する。すなわち、このサーバ機器Cデータ変換処理部43は第2のデータ変換手段の機能を果たす。
サーバ機器A登録処理部34は、サーバ機器A2の機器情報と、サーバ機器A2を利用するワークフローの構築時に使用する情報とを登録する記憶手段である。
サーバ機器C登録処理部44は、サーバ機器C4の機器情報と、サーバ機器C4を利用するワークフローの構築時に使用する情報とを登録する記憶手段である。
一方、サーバ機器A2は、データのDBの機能を備えた画像形成装置であり、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、図1では図示を省略した制御部が全体の制御を司り、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器A2に実行させるAPI定義部50と、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でIPV4(Internet Protocol version 4)による通信プロトコルで通信する制御を司る通信プロトコル制御部51と、画像データを含むデータの蓄積と外部(機器連携装置1を含む)からの要求に応じて読み出して要求先へ送信する処理を管理するデータ管理部52と、サーバ機器A2のデータの蓄積と読み出し及び送信の動作状態を管理する状態管理部53と共に、図示を省略した画像形成を行う機能部及び装置部を備えている。
また、サーバ機器C4は、データへのマーキング処理の機能を備えたサーバ装置であり、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器C4に実行させるAPI定義部60と、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でウェブサービスの通信プロトコルで通信する制御を司る通信プロトコル制御部61と、外部(機器連携装置1を含む)からの依頼に基づいてデータにマーキング処理を施して依頼元に返送する処理を管理するデータ管理部62と、サーバ機器C4のマーキング処理の動作状態を管理する状態管理部63を備えている。
また、図示を省略するが、サーバ機器Bは、利用者認証の機能を備えたサーバ装置であり、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、制御部が全体の制御を司り、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Bに実行させるAPI定義部と、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でウェブサービス又はIPV4を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、外部(機器連携装置1を含む)からの依頼に基づいて依頼先の利用者認証をして利用者データを依頼元に返送する処理を管理するデータ管理部と、サーバ機器Bの利用者認証の動作状態を管理する状態管理部と共に、利用者認証を行う機能部及び装置部を備えている。
また、図示を省略するが、サーバ機器Dは、利用者がインターネット5上のサーバ機器の機能を利用した場合にその利用者への課金処理を行う機能を備えたサーバ装置であり、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Dに実行させるAPI定義部と、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でウェブサービス又はIPV4を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、利用者がインターネット5上のサーバ機器の機能を利用した場合にその利用者への課金処理を管理するデータ管理部と、サーバ機器Dの課金処理の動作状態を管理する状態管理部を備えている。
さらに、図示を省略するが、サーバ機器Eは、データの印刷機能を備えたサーバ装置であり、CPU、ROM及びRAMを含むマイクロコンピュータによって実現され、その制御部が全体の制御を司り、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でコマンドをやり取りし、そのコマンドを解釈してサーバ機器Eに実行させるAPI定義部と、インターネット5を介して機器連携装置1を含む外部の装置及び機器との間でウェブサービス又はIPV4を含む通信プロトコルで通信する制御を司る通信プロトコル制御部と、印刷を依頼されたデータを印刷する処理を管理するデータ管理部と、その印刷処理の動作状態を管理する状態管理部を備えている。
次に、図1に示した機器連携装置1にサーバ機器固有実装部がインストールされたときの処理について説明する。
図1の機器連携装置1は、制御部10に新たなサーバ機器固有実装部がインストールされたとき、そのインストールされたサーバ機器固有実装部について、それに対応するサーバ機器と通信接続を実行し、そのサーバ機器に対して機器内部の初期化をさせると共に、サーバ機器から機器情報を取得して自装置内に登録する一連の処理を行う。
この一連の処理を行うことによって、機器連携装置1は機器連携フレームワーク部20とサーバ機器固有実装部を介してインターネット5上の所望のサーバ機器2〜4に対して通信し、処理の実行を開始することができるようになる。
以下の説明では、図1に示したサーバ機器A固有実装部30がインストールされた場合の処理についてのみ示すが、制御部10にインストールされたその他の全てのサーバ機器固有実装部についても同様に実施されるので、それらの説明は省略する。
図3は、図1に示した機器連携装置1にサーバ機器固有実装部がインストールされたときの登録処理を示すシーケンス図である。
図1の機器連携装置1の制御部10は、機器連携フレームワーク部20から継承して作成されたサーバ機器A固有実装部30がインストールされたとき、機器連携フレームワーク部20の共通登録処理部24を起動し、共通登録処理部24は、サーバ機器A2にアクセスするための通信接続要求コマンドを共通通信プロトコル処理部21へ供給する(ステップ(図中「S」で示す)1)。この通信接続要求コマンドにはアクセス先を示すサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報(例えば、アドレス情報)が含まれている。
共通通信プロトコル処理部21は、共通登録処理部24からの通信接続要求コマンドを、所定の通信プロトコル(例えば、IPV6)の通信接続要求コマンドとして受け付けると共に、その通信接続要求コマンドにアクセス先として含まれるサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報に基づいて、サーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A通信プロトコル処理部31に、受け付けた通信接続要求コマンドを供給する(S2)。
このように、共通登録処理部24は、共通通信プロトコル処理部21が用意しているインターフェースを利用して通信接続要求コマンドを発行することができる。
また、サーバ機器A固有実装部30には、機器連携フレームワーク部20の共通通信プロトコル処理部21を継承して開発されたサーバ機器A通信プロトコル処理部31が実装されているため、サーバ機器A通信プロトコル処理部31は、共通通信プロトコル処理部21を介して共通登録処理部24から発行された通信接続要求コマンドをそのまま受け取ることができる。上記の継承元の共通通信プロトコル処理部21を親クラスと呼び、共通通信プロトコル処理部21から継承で作成されたサーバ機器A通信プロトコル処理部31を子クラスと呼ぶ。
したがって、共通登録処理部24は、共通通信プロトコル処理部21との間の処理のみを行えばよく、その先のサーバ機器A2との通信接続処理はサーバ機器A通信プロトコル処理部31が行うので、機器連携フレームワーク部20の処理対象からサーバ機器A2を完全に分離することができる。
サーバ機器A通信プロトコル処理部31は、共通通信プロトコル処理部21からIPV6に従った通信接続要求コマンドを受け付けると、サーバ機器A2で処理可能な通信プロトコル(例えば、IPV4)の通信接続要求コマンドに変換して(S3)、サーバ機器A2へ送信する(S4)。
一方、サーバ機器A2は、通信プロトコル制御部51が、機器連携装置1からIPV4による通信接続要求コマンドを受信すると、機器連携装置1との接続を確立し、IPV4によって通信接続完了コマンドを機器連携装置1へ送信する(S5)。
機器連携装置1では、サーバ機器A通信プロトコル処理部31が、サーバ機器A2からIPV4による通信接続完了コマンドを受信すると、その通信接続完了コマンドを上記通信接続要求コマンドの応答に変換し(S6)、上記通信接続要求コマンドの供給元である共通通信プロトコル処理部21に返す(S7)。
共通通信プロトコル処理部21は、サーバ機器A通信プロトコル処理部31から返された通信接続完了コマンドを共通登録処理部24へ返す(S8)。
共通登録処理部24は、通信接続完了コマンドが返されたことによってサーバ機器A2との通信接続が正常に完了したことを認識し、次に、上述と同様にしてサーバ機器A2の初期化を行う。
サーバ機器A2の初期化では、共通登録処理部24は、サーバ機器A2に対する初期化の要求を開始させる初期化開始コマンドを含めた所定のコマンドセットを共通API処理部22へ供給する(S9)。この初期化開始コマンドには、初期化の要求先であるサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報が含まれている。
共通API処理部22は、共通登録処理部24から所定のコマンドセットに含まれる初期化開始コマンドを受け付けると、その初期化開始コマンドに含まれている初期化の要求先であるサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報に基いて、初期化を実行させるべきサーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A_API処理部32に、受け付けた初期化開始コマンドを供給する(S10)。
サーバ機器A_API処理部32は、共通API処理部22から所定のコマンドセットに含まれる初期化開始コマンドを受け付けると、サーバ機器A2で処理可能な初期化手続き用コマンドに変換して(S11)、サーバ機器A2へ発行して送信する(S12)。
一方、サーバ機器A2は、API定義部50が、機器連携装置1から初期化手続き用コマンドを受信すると、自機器の各部を初期化し、その初期化が終了すると、初期化を完了したことを示すと共に、サーバ機器A2の機器情報を含めた初期化完了コマンドを発行して機器連携装置1へ送信する(S13)。
上記機器情報は、サーバ機器A2の機器名称やサーバ機器A2が扱うデータ種類を含む情報である。
機器連携装置1では、サーバ機器A_API処理部32が、サーバ機器A2から初期化完了コマンドを受信すると、その初期化完了コマンドを上記初期化開始コマンドの応答に変換し(S14)、上記初期化開始コマンドの供給元である共通API処理部22に返す(S15)。
共通API処理部22は、サーバ機器A_API処理部32からの初期化完了コマンドを受け取ると、共通登録処理部24へ初期化完了コマンドを供給する(S16)。
共通登録処理部24へは、共通API処理部22から初期化完了コマンドを受け取ると、サーバ機器A登録処理部34へ登録処理開始コマンドを供給する(S17)。
サーバ機器A登録処理部34は、サーバ機器A_API処理部32がサーバ機器A2から受信した初期化完了コマンドに含まれる機器情報と、図1の制御部10で作成した機器連携装置1の利用者にサーバ機器A2を指定させるためのGUI用のアイコン部品を含む情報とを登録し(S18)、共通登録処理部24に登録処理完了コマンドを供給する(S19)。
こうして、上記登録された情報は、ワークフロー構築時に利用される。
なお、上述の初期化完了コマンドに含まれる機器情報と、図1の制御部10で作成した機器連携装置1の利用者にサーバ機器A2を指定させるためのGUI用のアイコン部品を含む情報とをサーバ機器A_API処理部32に保持するようにしても良い。
上述した処理は、図1に示した制御部10にインストールされている全てのサーバ機器固有実装部について実施するが、その際、各サーバ機器固有実装部毎に順次行うようにしても良いし、各サーバ機器固有実装部についての処理を同時に進行させるようにしても良い。
なお、上述の登録処理を、機器連携装置1の電源がオンにされる度に実施すれば、その実施前に制御部10にインストールされている各サーバ機器固有実装部のサーバ機器登録処理部に登録されている内容を更新することができる。そうすれば、例えば、インストール時にはサーバ機器側に無かった機能が後に追加された場合、上記更新によって利用することができるようになる。また、インストール時にはサーバ機器側に有った機能が後に除かれた場合、その機能の利用を含めたワークフローデータを実行することによって処理が中断してしまうようなことを防止できる。
さらに、電源がオンにされる度に制御部10にインストールされている各サーバ機器固有実装部に対応するサーバ機器が接続(又は起動)されているか否かを確認することもできる。
次に、上述のようにして利用するサーバ機器のサーバ機器固有実装部の登録処理が終了すると、ワークフローデータを用いて複数のサーバ機器の機能を組み合わせたデータ処理を実行することができる。
次に、機器連携装置1が実行するワークフローデータの内容について説明する。
このワークフローデータは、機器連携装置1がインターネット5上の複数のサーバ機器2〜4の機能を組み合わせたデータ処理を行うために、各サーバ機器2〜4に対する入出力と、各サーバ機器2〜4に実行させる処理の内容を示す手順である。
まず、ワークフローデータの基本構成要素について説明する。
図4はワークフローデータの基本構成要素の説明図である。
図4に示すように、ワークフローデータは、機器連携装置1がサーバ機器へ入力すべきデータ種類を示す入力データ90と、サーバ機器が入力データ90に対して実行する処理内容を示すサーバ処理91と、サーバ機器がサーバ処理91の結果として機器連携装置1へ出力するデータ種類を示す出力データ92とを組み合わせたものが基本構成要素となる。
この入力データ90の種類及び出力データ92の種類は、画像データ、課金データ、利用者データ及び認証データを含む、様々な種類のデータである。また、サーバ機器が実行する処理内容には、画像データの読み出し、利用者認証(認証サーバがサーバ機器又はサーバ機器の機能を利用する際の認証処理)、マーキング処理(入力された画像データの内容を解析し、その解析結果に基づいて画像データにバーコード等の画像やすかし等の画像データを付加する処理)、課金処理(課金サーバが利用者に対してサーバ機器の機能の利用に応じた課金をする処理)、印刷処理を含む、様々な内容の処理がある。
また、基本構成要素の入力データ90と出力データ92は、それぞれ0個〜複数個定義することが可能である。
さらに、基本構成要素では、サーバ処理91に入力される各入力データと、サーバ処理91が出力する各出力データと、サーバ処理91に入力データ90を入力するのに使うコマンド(API)と、サーバ処理91が出力データ92を出力するのに使うコマンド(API)とは全て共通フォーマットで定義しておく。
この基本構成要素について、入力データ90の内容をサーバ機器毎に入力すべきデータの種類に変え、サーバ処理91の内容をサーバ機器毎に入力された入力データに対して実行する処理の種類に変え、出力データ92の内容をサーバ機器毎に処理の結果として出力するデータの種類に変えることにより、サーバ機器毎に対応する部品データを定義することができる。
図5は、ワークフローデータの部品データの一例を示す図である。
図5に示した各部品データは、ユーザに対してグラフィカルに表示する際の態様を示している。
図5の(a)は、データを蓄積したDBの機能を備えた画像形成装置であるサーバ機器A2から取得した機器情報に基づいて構成した部品データの一例を示しており、入力データは無く、サーバ処理の内容は画像データの読み出し、出力データの内容は画像データと課金データである。
この部品データでは、入力データは0個であり、出力データが2個定義されている。
図5の(b)は、利用者認証の機能を備えたサーバ装置であるサーバ機器Bから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データは無く、サーバ処理の内容は利用者認証、出力データの内容は利用者データである。
この部品データでは、入力データは0個であり、出力データが1個定義されている。
図5の(c)は、データに対してマーキング処理を行う機能を備えたPCであるサーバ機器C4から取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は画像データ、サーバ処理の内容はマーキング処理、出力データの内容は画像データである。
この部品データでは、入力データと出力データがそれぞれ1個定義されている。
図5の(d)は、インターネット5上のサーバ機器2と3のサービス利用に対する課金処理をする機能を備えた課金管理装置であるサーバ機器Dから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は課金データと利用者データ、サーバ処理の内容は課金処理、出力データは無しである。
この部品データでは、入力データが2個定義されており、出力データが0個である。
図5の(e)は、画像形成装置であるサーバ機器Eから取得した機器情報に基づいて構成した部品データの一例を示しており、入力データの内容は画像データ、サーバ処理の内容は印刷処理、出力データは無しである。
この部品データでは、入力データが1個定義されており、出力データが0個である。
さらに、図5の(a)〜(e)に示した同じデータ種類の入力データと出力データとのフォーマットは共通フォーマットで定義する。例えば、図5の(a)の出力データの画像データと、図5の(c)の入力データと出力データのそれぞれの画像データと、図5の(e)の入力データの画像データはいずれも共通フォーマットで定義する。また、図5の(a)のサーバ処理への入力に使うコマンドとサーバ処理からの出力に使うコマンドは共通APIで定義する。
これらの部品データは、図1のワークフロー記憶部15に記憶される。
ワークフロー記憶部15に記憶される部品データのフォーマットは、サーバ機器毎に、入力元と出力先のサーバ機器(無し、開始又は終了も含む)と、そのデータの種類とを対応させて記憶するものである。
また、制御部10は、これらの部品データについて、上述の登録処理によって実際にアクセスして通信可能であることを確認したサーバ機器と対応する部品データのみを使用できるように制御する。
機器連携装置1では、予め作成されたワークフローデータを実行することもできるし、ユーザが機器連携装置1上で作成したものを実行することもできる。
ユーザがワークフローデータを作成する場合、機器連携装置1の制御部10が、ワークフローデータ作成処理において、ワークフロー記憶部15に記憶されている図5に示した各部品データを読み出して図1の表示装置12に表示し、ユーザは、図1の入力装置11の操作によってドラッグ&ドロップで任意の部品データを組み合わせてワークフローデータを簡単に構築することができる。
また、実際にアクセスして通信可能であることを確認したサーバ機器と対応する部品データのみを使用できるようにしたので、ユーザがワークフローデータを作成する作業時に、利用者がサーバ機器に実装されている機能に対応した部品データのみを参照し、不要な部品データを見なくてよいので、利用者は使いたい部品データを簡単に探す事ができ、不適切なワークフローが構築されるのを防ぐことができ、利用者の利便性を向上させることができる。
例えば、図6に示すワークフローデータは、処理開始のステップと処理終了のステップの間に、図中に破線枠93で示す部品データは図5の(a)に示した部品データと、破線枠94で示す部品データは図5の(b)に示した部品データと、一点鎖線枠95で示す部品データは図5の(c)に示した部品データと、一点鎖線枠96で示す部品データは図5の(d)に示した部品データと、破線枠97で示す部品データは図5の(e)に示した部品データとを、前段の部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成されている。
このワークフローデータの各部品データの組み合わせに際しては、入力データのデータ種類と出力データのデータ種類とが一致する者同士を組み合わせる必要がある。
例えば、図6に破線枠93で示す部品データの一方の出力データの画像データに対しては、一点鎖線枠95で示す部品データの入力データの画像データが一致している。
また、図6に破線枠93で示す部品データのもう一方の出力データの課金データに対しては、一点鎖線枠96で示す部品データの一方の入力データの課金データが一致しており、破線枠94で示す部品データの出力データの利用者データに対しては、一点鎖線枠96で示す部品データのもう一方の入力データの利用者データが一致している。
このように、ワークフローデータの作成の際には、部品データの入力データと出力データのデータ種類が一致する者同士を組み合わせる。
こうして構築されたワークフローデータは、5種類のサーバ機器を共通フォーマットと共通APIで接続して一連の処理を実行させることができる。
図7は、図6に示したワークフローデータの構成内容に対応するワークフローデータの内容を示す図である。
図7に示すように、ワークフローデータのフォーマットは、上段の行から下段の行の順に、図6に示したワークフローデータの前段から次段の部品データのデータを一覧にしており、図7の第1行に、図6の破線枠93の部品データについて、利用するサーバ機器である構成要素として「サーバ機器A」、そのサーバ機器Aへの入力の接続先として「開始」、その入力データの種類「なし」、サーバ機器Aからの出力の接続先として「サーバ機器C」と「サーバ機器D」、そのサーバ機器Cへの出力データの種類「画像データ」とサーバ機器Dへの出力データの種類「課金データ」を対応させて記憶し、以下同様にして、図6の破線枠94と一点鎖線枠95と96と破線枠97の各部品データについて、それぞれ図7の第2行〜第5行に記憶している。
図1に示した機器連携装置1の制御部10のワークフロー処理部14は、図7に示したようなワークフローデータを参照し、そのワークフローデータの各部品データ毎に処理を実行する。
次に、図1に示した機器連携装置1におけるワークフローデータの実行処理について説明する。
図8は、機器連携装置1がワークフローデータに基づいてサーバ機器A2に処理を実行させたときの機器連携装置1とサーバ機器A2との処理を示すシーケンス図である。ここでは、サーバ機器A2に蓄積されたデータを読み出して返送させ、その返送されたデータをサーバ機器C4へ送ってマーキング処理をして返送させる場合について説明する。
機器連携装置1の図1に示した制御部10は、入力装置11からワークフローデータの選択と実行の指示を受け付けると、それらの情報をGUI部13を介してワークフロー処理部14へ送り(S21)、ワークフロー処理部14は、図1のワークフロー記憶部15から選択されたワークフローデータの部品データを前段から順に読み出してそれぞれ実行する(S22)。ここでは、サーバ機器A2に対する処理の部品データを読み出して実行する場合について説明する。
ワークフロー処理部14は、サーバ機器A2から指定したデータを読み出す処理を実行させるための部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部20の共通API処理部22に供給する(S23)。その実行要求コマンドには実行要求先のサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報が含まれている。
共通API処理部22は、ワークフロー処理部14から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、実行要求コマンドに含まれている実行要求先のサーバ機器A2に対応するサーバ機器A固有実装部30を示す情報に基いて、データ読み出しを実行させるべきサーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A_API処理部32に、受け付けたデータ読み出しの実行要求コマンドを供給する(S24)。
サーバ機器A_API処理部32は、共通API処理部22から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、サーバ機器A2で処理可能なデータ読み出しの実行コマンドに変換して(S25)、サーバ機器A2へ発行して送信する(S26)。
一方、サーバ機器A2は、API定義部50が、機器連携装置1からデータ読み出しの実行コマンドを受信すると、自機器に蓄積されているデータの中から指定されたデータを読み出し、そのデータを実行結果として発行して機器連携装置1へ送信する(S27)。
この送信されたデータについては、サーバ機器A2で処理可能なデータ構造を持つ固有データのまま機器連携装置1へ送信される。
機器連携装置1では、サーバ機器A_API処理部32が、サーバ機器A2から受信した実行結果のデータ(固有データ)を、図1の制御部10の記憶手段(例えば、RAM)に記憶し(S28)、共通API処理部22へデータ読み出しの実行結果応答コマンドを供給する(S29)。
また、共通API処理部22は、サーバ機器A_API処理部32から受け取った実行結果応答コマンドをワークフロー処理部14へ供給し(S30)、そのワークフロー処理部14は、共通API処理部22から実行結果応答コマンドを受け取ると、共通データ変換処理部23にサーバ機器A2から受信したデータを機器連携装置1で扱えるフォーマットに変換するデータ変換要求コマンド(第1のデータ変換コマンド)を供給する(S31)。そのデータ変換要求コマンドにはデータ変換要求先のサーバ機器Aデータ変換処理部33を示す情報が含まれている。
共通データ変換処理部23は、そのデータ変換要求コマンドに含まれているデータ変換要求先のサーバ機器Aデータ変換処理部33を示す情報に基いて、データ変換要求コマンドをサーバ機器Aデータ変換処理部33へ供給する(S32)。
サーバ機器Aデータ変換処理部33は、共通データ変換処理部23からデータ変換要求コマンドを受け付けると、図1の制御部10の記憶手段に記憶したサーバ機器A2から取得したデータ(固有データ)を機器連携装置1で扱えるフォーマットのデータ(共通データ)に変換し(S33)、共通データ変換処理部23にデータ変換完了コマンドと共にデータ(共通データ)の記憶場所の情報を通知する(S34)。
そして、共通データ変換処理部23は、データ変換完了コマンドとデータ(共通データ)の記憶場所の情報をワークフロー処理部14に供給する(S35)。
このようにして、ワークフロー処理部14はサーバ機器A2から所望のデータを取得できたことを確認できる。
その後、例えば、ワークフローデータの次段の部品データに従い、サーバ機器A2とは別のサーバ機器に、上記記憶手段に記憶されたデータ(共通データ)の処理を依頼する場合、ワークフロー処理部14は機器連携フレームワーク部20に第2のデータ変換コマンドを供給し、機器連携フレームワーク部20が第2のデータ変換コマンドに基いて上記別のサーバ機器に対応するサーバ機器固有実装部に対してデータ変換を指示し、そのサーバ機器固有実装部が上記記憶手段に記憶されているデータ(共通データ)を、その別のサーバ機器で取扱い可能なフォーマットのデータ(固有データ)に変換して、上記別のサーバ機器へ送信して処理を依頼する。また、機器連携装置1は、その別のサーバ機器から処理後のデータを受信すると、上述と同様にして機器連携装置1で扱えるフォーマットに変換して次の処理のために記憶する。このように、ワークフローデータの各部品データ毎にそれぞれに対応するサーバ機器に処理を依頼して、その処理結果を受け取る(又は依頼先のサーバ機器に出力する)処理を実行する。
上述のようにしてサーバ機器A2から読み出したデータを、今度はサーバ機器C固有実装部40によってサーバ機器C4へ送り、サーバ機器C4でそのデータにマーキング処理を施して返送させる。サーバ機器C4へのデータの送信と受信については上述したサーバ機器A2に対する処理と同様に行う。
こうして、機器連携装置1は、サーバ機器A2からデータを読み出して取得した後、そのデータにサーバ機器C4でマーキング処理を施して再び受け取ることができる。
また、ワークフローデータの、その他の利用者認証やデータの印刷の処理に関しても、上述と同様にして、それぞれの処理を行わせるサーバ機器に対して送信して受け取ることにより、機器連携装置1は、インターネット5上の各サーバ機器2〜4の機能を組み合わせた一連の処理を行わせることができる。
このようにして、機器連携装置1では、ワークフローデータを、機器連携フレームワーク部20に用意している共通API処理部22に対して実行すればよく、各サーバ機器に対するやり取りはそれぞれ対応するサーバ機器固有実装部が行うので、通信プロトコル、扱えるデータ及びコマンドの種類がそれぞれ異なる複数のサーバ機器を連携して一連の処理を実行させるためのワークフローデータを容易に構築することができる。
また、ワークフローデータのAPIが統一されているので、ワークフローデータにサーバ機器の追加やサーバ機器の利用する機能の拡張を容易にできる。
したがって、ワークフローデータを効率よく作成して実行することができる。
上述した図8のS28の固有データからS33の共有データに変換する処理例について説明する。
図9は、図1に示した機器連携装置1における固有データから供給データの変換処理例の説明図である。
図9の(a)は、サーバ機器A2から読み出した固有データを機器連携装置1で扱う共通データに変換する場合のデータ種類を示す一例であり、例えば、サーバ機器A2から読み出した固有データのデータ種類には、RGBデータ、CMYKデータ、PDFデータ、JPEGデータ、TIFFデータ、ビットマップデータを含む各種のデータ種類であるが、上記S33での変換処理により、機器連携装置1で扱う共有データのデータ種類である、例えば、JPEGデータに変換される。
また、サーバ機器C4から読み出した固有データのデータ種類についても、図9の(a)に示すような、RGBデータ、CMYKデータ、PDFデータ、JPEGデータ、TIFFデータ、又はビットマップデータをJPEGデータに変換するように適用することができる。
また、図9の(b)は、利用者データを管理する利用者データ管理サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置1で扱う共有データに変換する場合のデータ種類を示す一例であり、固有データのデータ種類は、氏名と所属グループ名を含む文字列データであるが、サーバ機器データ変換処理部の処理により、機器連携装置1で扱う共有データとして、例えば、氏名と所属グループ名を含む文字列データに、ユーザIDとグループIDの共通IDを含めたデータに変換される。
さらに、図9の(c)は、利用者認証をする認証サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置1で扱う共有データに変換する場合のデータ種類を示す一例であり、そのサーバ機器で扱う固有のデータ種類の署名を、サーバ機器データ変換処理部の処理により、機器連携装置1で扱う共有データとして、例えば、共通シングルサインオン用の署名に変換される。
さらにまた、図9の(d)は、課金サーバの機能を備えたサーバ機器から受信した固有データを、機器連携装置1で扱う共有データに変換する場合のデータ種類を示す一例であり、課金サーバから受信した金額と口座番号のデータを、サーバ機器データ変換処理部の処理により、金額を単位金額で割った値のカウンタ値と、課金先とに変換される。
次に、上述した機器連携装置1にワークフローデータのテスト機能を設ければ、ユーザが構築したワークフローデータによって所望の結果が得られるか否かが容易に判断することができ、ワークフローデータを所望の結果が得られるように容易に修正することができる。
図10は、機器連携装置1にワークフローデータのテスト機能を設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。図1と共通する部分については同一符号を付し、図1で説明した部分と共通する部分についてはその説明を省略する。
図10の機器連携装置1には、上述した機器連携装置1の制御部10に、ワークフローデータのテスト機能を実現するため、テストプログラム実行部16とテスト結果記憶部17の新たな機能部を設けている。
テストプログラム実行部16は、図10では図示を省略したテストプログラム記憶部(例えば、RAM又は記憶装置)に記憶されたテストプログラムを実行し、GUI部13からの入力情報に基づいてワークフロー記憶部15に記憶されているワークフローデータのテストをワークフロー処理部14に要求し、ワークフロー処理部14から受け取った実行結果をテスト結果としてテスト結果記憶部17に記憶する処理を行う。
また、図10に示したワークフロー処理部14は、テストプログラム実行部16からテストを要求されたワークフローデータについて、そのワークフローデータの前段に配置された部品データから順に、その部品データにより規定される処理を、部品データと対応するサーバ機器2〜4に実行させるための、所定のコマンドセットに含まれるコマンドを生成して機器連携フレームワーク部20の共通API処理部22に供給する処理を実行する。また、機器連携フレームワーク部20の共通API処理部22に供給したテストの要求に対する応答の実行結果を共通API処理部22から受け取ってテストプログラム実行部16へ供給する。
テスト結果記憶部17は、ワークフローデータのテスト結果を記憶する。
すなわち、ワークフローデータのテスト機能に関して、ワークフロー処理部14とテストプログラム実行部16がワークフロー実行手段の機能を果たし、テストプログラム実行部16とテスト結果記憶部17が実行結果記憶手段の機能を果たす。
次に、図10に示した機器連携装置1におけるワークフローデータのテスト処理について説明する。
図11は、図10に示した機器連携装置1がワークフローデータをテストするときの機器連携装置1とサーバ機器A2との処理を示すシーケンス図である。ここでも、サーバ機器A2に蓄積されたデータを読み出す処理のワークフローについて説明する。
機器連携装置1の図10に示した制御部10は、GUI部13からユーザ入力によってテストプログラム実行部16を起動し、テストプログラム実行部16は、図10では図示を省略したテストプログラム記憶部(例えば、RAM又は記憶装置)に記憶されたテストプログラムを実行し、そのプログラムの手順に従ってテスト対象のワークフローデータの前段から部品データを読み出し、その各部品データのテストをワークフロー処理部14へ要求する。
ここでは、サーバ機器A2に対する処理の部品データを読み出して実行する場合について説明する。
まず、テストプログラム実行部16は、図10のワークフロー記憶部15からテスト対象のワークフローデータからサーバ機器A2から指定したデータを読み出す処理を実行させるための部品データを読み出し(S41)、その部品データの実行を示すワークフロー実行要求をワークフロー処理部14へ供給する(S42)。
ワークフロー処理部14は、テストプログラム実行部16から実行を要求された部品データをワークフロー記憶部15から読み出し(S43)、その部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部20の共通API処理部22に供給する(S44)。その実行要求コマンドには要求先としてサーバ機器A固有実装部30を示す情報が含まれている。
共通API処理部22は、ワークフロー処理部14から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、その実行要求コマンドに含まれている要求先のサーバ機器A固有実装部30を示す情報に基いて、データ読み出しを実行させるべきサーバ機器A2と対応するサーバ機器A固有実装部30のサーバ機器A_API処理部32に、受け付けたデータ読み出しの実行要求コマンドを供給する(S45)。
サーバ機器A_API処理部32は、共通API処理部22から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、サーバ機器A2で処理可能なデータ読み出しの実行コマンドに変換して(S46)、サーバ機器A2へ発行して送信する(S47)。
一方、サーバ機器A2は、API定義部50が、機器連携装置1からデータ読み出しの実行コマンドを受信すると、自機器に蓄積されているデータの中から指定されたデータを読み出し、そのデータを実行結果として発行して機器連携装置1へ送信する(S48)。
この送信されたデータについては、サーバ機器A2で処理可能なデータ構造を持つ固有データのまま機器連携装置1へ送信される。
機器連携装置1では、サーバ機器A_API処理部32が、サーバ機器A2から受信した実行結果のデータ(固有データ)を、図10の制御部10の記憶手段(例えば、RAM)に記憶し(S49)、共通API処理部22へデータ読み出しの実行結果応答コマンドを供給する(S50)。
また、共通API処理部22は、サーバ機器A_API処理部32から受け取った実行結果応答コマンドをワークフロー処理部14へ供給し(S51)、そのワークフロー処理部14は、共通API処理部22から実行結果応答コマンドを受け取ると、共通データ変換処理部23にサーバ機器A2から受信したデータを機器連携装置1で扱えるフォーマットに変換するデータ変換要求コマンド(第1のデータ変換コマンド)を供給する(S52)。そのデータ変換要求コマンドには要求先としてサーバ機器A固有実装部30を示す情報が含まれている。
共通データ変換処理部23は、そのデータ変換要求コマンドに含まれている要求先のサーバ機器A固有実装部30を示す情報に基いて、そのデータ変換要求コマンドをサーバ機器Aデータ変換処理部33へ供給する(S53)。
サーバ機器Aデータ変換処理部33は、共通データ変換処理部23からデータ変換要求コマンドを受け付けると、図10の制御部10の記憶手段に記憶したサーバ機器A2から取得したデータ(固有データ)を機器連携装置1で扱えるフォーマットのデータ(共通データ)に変換し(S54)、共通データ変換処理部23にデータ変換完了コマンドと共にデータ(共通データ)の記憶場所の情報を通知する(S55)。
そして、共通データ変換処理部23は、データ変換完了コマンドとデータ(共通データ)とをワークフロー処理部14に供給する(S56)。
このようにして、ワークフロー処理部14はサーバ機器A2から所望のデータを取得できたことを確認できる。
ワークフロー処理部14は、共通データ変換処理部23から受け取ったデータ(共通データ)をワークフロー実行結果としてテストプログラム実行部16へ供給し(S57)、テストプログラム実行部16は、ワークフロー処理部14から受け取ったデータをテスト結果記憶部17に書き出して記憶する(S58)。
このようにして、得られたテスト結果を参照することにより、ワークフローデータに基づく処理で所望の結果を得られるか否かを検証することができる。
なお、上述の実施例では説明を省略したが、サーバ機器A2とサーバ機器C4の他のサーバ機器2〜4を利用する場合、そのサーバ機器2〜4に対応するサーバ機器固有実装部が、サーバ機器A固有実装部30とサーバ機器C固有実装部40と同様に動作し、それぞれに対応するサーバ機器2〜4とのデータのやり取りを可能にする。
次に、上述した機器連携装置1について、インターネット5上のサーバ機器2〜4に実際に接続せずにワークフロー処理部14と機器連携フレームワーク部20の動作をテストする場合について説明する。
このテストには、機器連携装置1に接続するサーバ機器毎にそれぞれ正常時又は異常時についてテストを実施できるようにするため、機器連携装置1の上述したサーバ機器固有実装部に代えて、サーバ機器固有実装部のエミュレータを設けて動作させることにより、インターネット5上のサーバ機器2〜4に実際に接続しなくても、接続した場合と同様にワークフロー処理部14と機器連携フレームワーク部20を動作させることができ、その動作結果に基づいてワークフロー処理部14と機器連携フレームワーク部20のテストを行える。
図12は、図2に示した機器連携装置1にサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。
図1又は図10と共通する部分については同一符号を付し、図1又は図10での説明と共通する部分についてはその説明を省略する。
図12の機器連携装置1には、上述した制御部10のサーバ機器A固有実装部30とサーバ機器C固有実装部40とに代えて、それぞれサーバ機器A固有実装エミュレータ部70とサーバ機器C固有実装エミュレータ部80を設けている。また、テストシナリオ記憶部18の新たな機能部を設けている。
サーバ機器A固有実装エミュレータ部70は、テストプログラム実行部16からの要求に従い、サーバ機器A2に送信すべき要求に対してサーバ機器A2が送信してくると想定される応答を生成するエミュレータであり、上述したサーバ機器A通信プロトコル処理部31のエミュレータであるサーバ機器A通信プロトコルエミュレータ部71と、上述したサーバ機器A_API処理部32のエミュレータであるサーバ機器A_APIエミュレータ部72と、上述したサーバ機器Aデータ変換処理部33のエミュレータであるサーバ機器Aデータ変換エミュレータ部73と、上述したサーバ機器A登録処理部34の各機能部を備えている。
また、サーバ機器C固有実装エミュレータ部80は、テストプログラム実行部16からの要求に従い、サーバ機器C4に送信すべき要求に対してサーバ機器C4が送信してくると想定される応答を生成するエミュレータであり、上述したサーバ機器C通信プロトコル処理部41のエミュレータであるサーバ機器C通信プロトコルエミュレータ部81と、上述したサーバ機器C_API処理部42のエミュレータであるサーバ機器C_APIエミュレータ部82と、上述したサーバ機器Cデータ変換処理部43のエミュレータであるサーバ機器Cデータ変換エミュレータ部83と、上述したサーバ機器C登録処理部44の各機能部を備えている。
サーバ機器A通信プロトコルエミュレータ部71とサーバ機器C通信プロトコルエミュレータ部81は、それぞれテストプログラム実行部16からの要求に従い、サーバ機器A2とサーバ機器C4に通信接続要求コマンドを送信して、そのサーバ機器A2とサーバ機器C4から通信接続要求コマンドに対する応答を受信することに代えて、サーバ機器A2とサーバ機器C4に送信すべき通信接続要求コマンドに対する応答を生成し、テストプログラム実行部16へ返すエミュレータである。
このサーバ機器A固有実装エミュレータ部70とサーバ機器C固有実装エミュレータ部80は、機器連携フレームワーク部20を継承してエミュレータの機能を含めて作成されたパッケージをインストールする。
テストシナリオ記憶部18は、テストプログラム実行部16が実行するテストシナリオデータを記憶する。このテストシナリオデータには、サーバ機器A固有実装エミュレータ部70とサーバ機器C固有実装エミュレータ部80にそれぞれサーバ機器A2が正常時及び異常時に得られる応答内容を出力できるようにするためのパラメータと、テスト用のワークフローデータが含まれている。
図12のテストプログラム実行部16は、テスト実施前に、テストシナリオ記憶部18のテストシナリオデータに基いてサーバ機器A固有実装エミュレータ部70のサーバ機器A通信プロトコルエミュレータ部71とサーバ機器A_APIエミュレータ部72とサーバ機器Aデータ変換エミュレータ部73にそれぞれ正常テストか異常テストかを通知して、正常テストの場合はそれぞれサーバ機器A2が正常時に得られる応答内容を出力するためのパラメータを設定し、異常テストの場合はそれぞれサーバ機器A2が異常時に得られる応答内容を出力するためのパラメータを設定する。
また、同様にして、サーバ機器C固有実装エミュレータ部80のサーバ機器C通信プロトコルエミュレータ部81とサーバ機器C_APIエミュレータ部82とサーバ機器Cデータ変換エミュレータ部83にもパラメータをそれぞれ設定する。
このようにして、サーバ機器A固有実装エミュレータ部70とサーバ機器C固有実装エミュレータ部80を、正常テストの場合は正常な状態のサーバ機器A2からの応答が得られた場合の動作を行わせ、異常テストの場合は異常な状態のサーバ機器A2からの応答が得られた場合の動作を行わせることができる。
図13は、テストシナリオデータの内容を示す図である。
図13に示すように、テストシナリオデータには、図7に示したようなワークフローデータに、各サーバ機器の機能毎にそれぞれ通信が接続できた場合と接続できなかった場合の通信状態と、サーバ機器が要求を受け付けられるか否かを示す機器状態との設定情報が含まれている。
例えば、図13の第1行には、図6の破線枠93の部品データについて、利用するサーバ機器である構成要素として「サーバ機器A」、そのサーバ機器Aへの入力の接続先として「開始」、その入力データの種類「なし」、サーバ機器Aからの出力の接続先として「サーバ機器C」と「サーバ機器D」、そのサーバ機器Cへの出力データの種類「画像データ」とサーバ機器Dへの出力データの種類「課金データ」を対応させて記憶すると共に、サーバ機器Aの通信状態が正常であり、機器状態が異常である設定情報が含まれている。
以下同様にして、図6の破線枠94と一点鎖線枠95と96と破線枠97の各部品データについても、それぞれ図13の第2行〜第5行に記憶している。
図12に示した機器連携装置1の制御部10のワークフロー処理部14は、図13に示したようなテストシナリオデータを参照してテスト処理を実行する。
次に、図12に示した機器連携装置1におけるサーバ機器固有実装エミュレータ部によってワークフローデータをテストするときの処理について説明する。
図14は、図12の機器連携装置1がワークフローデータをテストするときの機器連携装置1の処理を示すシーケンス図である。
機器連携装置1の図12に示した制御部10は、GUI部13からユーザ入力によってテストプログラム実行部16を起動し、テストプログラム実行部16は、テストシナリオ記憶部18からテストシナリオデータを読み出し、そのテストシナリオデータに含まれるサーバ機器の通信状態と機器状態の設定情報に基いて、サーバ機器A固有実装エミュレータ部70のサーバ機器A_APIエミュレータ部72に、テスト用の状態設定として、通信状態が正常であるパラメータを設定し(S62)、サーバ機器A固有実装エミュレータ部70のサーバ機器Aデータ変換エミュレータ部73に、テスト用の状態設定として、機器状態が異常であるパラメータを設定し(S63)、サーバ機器A_APIエミュレータ部72がサーバ機器A2と通信接続した場合に送信してくると想定される応答を生成するように設定し、サーバ機器Aデータ変換エミュレータ部73がサーバ機器A2で要求を受け付けられない場合に送信してくると想定される応答を生成するように設定する。
このようにして、機器連携装置1は、実際にサーバ機器A2を接続しなくても、サーバ機器A2を接続したときと同様にしてサーバ機器A2における通信状態が正常時で機器状態が異常時の場合でのワークフローデータのテストを行える。
上記パラメータの設定を終えると、テストプログラム実行部16は、図12では図示を省略したテストプログラム記憶部(例えば、RAM又は記憶装置)に記憶されたテストプログラムを実行し、そのプログラムの手順に従ってテスト対象のワークフローデータの前段から部品データを読み出し、その各部品データのテストをワークフロー処理部14へ要求する。この要求では、サーバ機器A2が正常時のテストを行うことになる。
以下では、サーバ機器A2に対する処理の部品データを読み出して実行する場合について説明する。
まず、テストプログラム実行部16は、図12のワークフロー記憶部15からテスト対象のワークフローデータからサーバ機器A2から指定したデータを読み出す処理を実行させるための部品データを読み出し、その部品データの実行を示すワークフロー実行要求をワークフロー処理部14へ供給する(S64)。
ワークフロー処理部14は、テストプログラム実行部16から実行を要求された部品データをワークフロー記憶部15から読み出し、その部品データに従い、所定のコマンドセットに含まれる実行要求コマンドを生成して機器連携フレームワーク部20の共通API処理部22に供給する(S65)。
共通API処理部22は、ワークフロー処理部14から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、データ読み出しを実行させるべきサーバ機器A2と対応するサーバ機器A固有実装エミュレータ部70のサーバ機器A_APIエミュレータ部72に、受け付けたデータ読み出しの実行要求コマンドを供給する(S66)。
サーバ機器A_APIエミュレータ部72は、共通API処理部22から所定のコマンドセットに含まれるデータ読み出しの実行要求コマンドを受け付けると、上記設定されたパラメータによって自部内で、上記実行要求コマンドに対して正常な状態のサーバ機器A2が送信してくると想定される実行結果応答コマンドを作成して共通API処理部22へ供給する(S67)。
共通API処理部22は、サーバ機器A_APIエミュレータ部72から実行結果応答コマンドをワークフロー処理部14へ供給する(S68)。
このようにして、サーバ機器A2を実際に接続しなくても、サーバ機器A2と通信接続した場合に得られる応答を得ることができる。
ワークフロー処理部14は、共通API処理部22から実行結果応答コマンドを受け取ると、共通データ変換処理部23にサーバ機器A2から受信したものと想定したデータに対して機器連携装置1で扱えるフォーマットに変換するデータ変換要求コマンド(第1のデータ変換コマンド)を供給し(S69)、その共通データ変換処理部23は、そのデータ変換要求コマンドをサーバ機器Aデータ変換エミュレータ部73へ供給する(S70)。
サーバ機器Aデータ変換エミュレータ部73は、共通データ変換処理部23からデータ変換要求コマンドを受け付けると、この場合、サーバ機器Aデータ変換エミュレータ部73は、サーバ機器A2の機器状態が異常の設定をされているので、サーバ機器A2からの固有データの受信はなく、その固有データに対して機器連携装置1で扱えるフォーマットの共通データに変換する処理もなく(S71)、共通データ変換処理部23にはデータ変換不可コマンドを通知する(S72)。
そして、共通データ変換処理部23は、データ変換不可コマンドをワークフロー処理部14に供給する(S73)。
ワークフロー処理部14は、共通API処理部22から受け取った実行結果応答コマンドと、共通データ変換処理部23から受け取ったデータ変換不可コマンドをワークフロー実行結果としてテストプログラム実行部16へ供給し(S74)、テストプログラム実行部16は、ワークフロー処理部14から受け取った各コマンドをテスト結果記憶部17に書き出して記憶する(S75)。このようにして、サーバ機器A2と通信接続できたが処理は実行できなかった場合のテスト結果を得ることができる。
このようにして、得られたテスト結果を参照することにより、サーバ機器A2を実際に接続しなくても、機器連携装置1単体でワークフローデータに基づくサーバ機器A2への処理で所望の結果を得られるか否かを検証することができる。
さらに、上述と同様にして、サーバ機器B、D、Eについてもテストを繰り返すことにより、サーバ機器B、D、Eについても通信状態と機器状態が正常又は異常な場合のテスト結果を得ることにより、サーバ機器B、D、Eをそれぞれ実際に接続しなくても、機器連携装置1単体でワークフローデータに基づくサーバ機器B、D、Eへのそれぞれの処理で所望の結果を得られるか否かを検証することができる。
機器連携装置1におけるワークフローデータの構築作業を実施している段階で、既に稼動しているサーバ機器を直接使ってのテストは、サーバダウンを引き起こすなどリスクが大きいので、機器連携装置1に上述のようなエミュレータを導入することにより、ワークフローデータの動作確認時に、サーバ機器を直接使わずに安全なテストが可能になる。
また、ネットワークシステムでは、サーバ機器毎に個別に異常状態になるので、それらに対応したテストも重要である。
この実施例の機器連携装置1は、ネットワークシステムで発生する異常状態を忠実に模擬したテストを実施することができるので、そのテストによるネットワーク上の複数のサーバ機器を連携させる際の事前検証効果を高めることができる。
次に、上述の機器連携装置におけるテストの際、一部のサーバ機器については実際に接続し、他のサーバ機器については上述のようなエミュレータをインストールしてテストを実行することも可能である。
図15は、図2に示す機器連携装置1に実際に一部のサーバ機器を接続し、他はサーバ機器固有実装部のエミュレータを設けた場合の装置構成とその制御部の発明に係る機能構成を主に示す機能ブロック図である。図1、図10、図12と共通する部分は同一符号を付してその説明を省略する。
この機器連携装置1では、サーバ機器A2については実際に接続して動作をテストすることができ、サーバ機器C4についてはサーバ機器C固有実装エミュレータ部80によって実際にサーバ機器C4を接続しなくても動作をテストすることができる。
このようにすれば、例えば、使用しても安全であることが確認できたサーバ機器から部分的に実際に接続するようにすれば、さらに安全なテストができる。
以上で実施形態の説明を終了するが、システムや装置の構成、データの構成、採用する通信やデータの規格、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
なお、上述の実施例では、PCによって機器連携装置1を実現した場合について説明したが、発明に係るプログラムを、ファクシミリ装置、プリンタ、複写機、複合機を含む画像形成装置、又はサーバ装置にインストールして上述の各手段の動作を実行させるようにすれば、画像形成装置、又はサーバ装置に機器連携装置1の機能を持たせることができる。
また、サーバ装置に実現させる機能や、取り扱わせるデータの種類も、上述の実施形態で説明したものに限られない。例えば、サーバ装置として、画像や認証や課金に関わるもの以外でも、データ分析、数学演算、撮影、測定、データ配信など、任意の機能を提供するものを利用することが考えられる。
また、以上説明してきた変形及び実施形態の説明において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。また逆に、この発明の通信装置やプログラムが、実施形態の説明において述べた特徴を全て有している必要もない。
この発明による通信装置とプログラムは、パーソナルコンピュータの他に、ファクシミリ装置、プリンタ、複写機、複合機を含む画像形成装置、又はサーバ装置においても適用することができる。
1:機器連携装置 2〜4:サーバ機器 5:インターネット 10:制御部 11:入力装置 12:表示装置 13:GUI部 14:ワークフロー処理部 15:ワークフロー記憶部 16:テストプログラム実行部 17:テスト結果記憶部 18:テストシナリオ記憶部 20:機器連携フレームワーク部 21:共通通信プロトコル処理部 22:共通API処理部 23:共通データ変換処理部 24:共通登録処理部 30:サーバ機器A固有実装部 31:サーバ機器A通信プロトコル処理部 32:サーバ機器A_API処理部 33:サーバ機器Aデータ変換処理部 34:サーバ機器A登録処理部 40:サーバ機器C固有実装部 41:サーバ機器C通信プロトコル処理部 42:サーバ機器C_API処理部 43:サーバ機器Cデータ変換処理部 44:サーバ機器C登録処理部 50、60:API定義部 51、61:通信プロトコル制御部 52、62:データ管理部 53、63:状態管理部 70:サーバ機器A固有実装エミュレータ部 71:サーバ機器A通信プロトコルエミュレータ部 72:サーバ機器A_APIエミュレータ部 73:サーバ機器Aデータ変換エミュレータ部 80:サーバ機器C固有実装エミュレータ部 81:サーバ機器C通信プロトコルエミュレータ部 82:サーバ機器C_APIエミュレータ部 83:サーバ機器Cデータ変換エミュレータ部
特開2006−350580号公報 特開2000−029848号公報 特開2008−210103号公報

Claims (18)

  1. 複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、前記複数の外部装置の機能を組み合わせたデータ処理を実現する通信装置であって、
    通信先の各外部装置と対応させて、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して該対応する外部装置に送信すると共に、該コマンドに対する応答を該外部装置から受信して、前記受け付けたコマンドに対する応答に変換して、該受け付けたコマンドの供給元に返す装置対応コマンド処理手段を設け、
    さらに、前記外部装置に対する処理の要求を、前記所定のコマンドセットに含まれるコマンドとして受け付けると共に、該処理を実行させるべき外部装置と対応する前記装置対応コマンド処理手段に、前記受け付けたコマンドを供給する共通コマンド処理手段を設け
    さらに、通信先の各外部装置と対応させて、
    対応する外部装置から受信したデータを記憶手段に記憶させると共に、第1のデータ変換コマンドに応じて、該記憶させたデータを該データの種類に応じた所定のフォーマットに変換する第1のデータ変換手段を設け、
    全ての前記第1のデータ変換手段について前記第1のデータ変換コマンドは共通のコマンドであり、
    前記第1のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第1のデータ変換手段に該コマンドを渡す第2の共通コマンド処理手段を設けたことを特徴とする通信装置。
  2. 請求項1に記載の通信装置であって、
    通信先の各外部装置と対応させて、
    第2のデータ変換コマンドに応じて、前記記憶手段が記憶している前記所定のフォーマットのデータを、前記外部装置が取扱い可能なフォーマットに変換する第2のデータ変換手段とを設け、
    全ての前記第2のデータ変換手段について前記第2のデータ変換コマンドは共通のコマンドであり、
    前記第2の共通コマンド処理手段は、前記第2のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第2のデータ変換手段に該コマンドを渡す手段を備えることを特徴とする通信装置。
  3. 請求項1又は2に記載の通信装置であって、
    通信先の各外部装置と対応させて、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して該対応する外部装置に送信すると共に、該通信接続要求に対する応答を該外部装置から受信して、前記受け付けた通信接続要求に対する応答に変換して、該受け付けた通信接続要求の供給元に返す装置対応接続処理手段を設け、
    さらに、前記外部装置にアクセスするための通信接続要求を、前記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する前記装置対応接続処理手段に、前記受け付けた通信接続要求を供給する共通接続処理手段とを設けたことを特徴とする通信装置。
  4. 請求項1乃至3のいずれか一項に記載の通信装置であって、
    通信可能な前記各外部装置について、該外部装置に入力すべきデータの種類と、該外部装置が入力されたデータに対して実行する処理の種類と、該外部装置が該処理の結果として出力するデータの種類とを示すデータを、該外部装置と対応する部品データとして記憶する記憶手段と、
    前記複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、前記記憶手段が記憶する複数の前記部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段とを設けたことを特徴とする通信装置。
  5. 請求項4に記載の通信装置であって、
    前記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにしたことを特徴とする通信装置。
  6. 請求項4又は5に記載の通信装置であって、
    前記ワークフローデータを記憶するワークフロー記憶手段と、
    前記ワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、該部品データにより規定される処理を、該部品データと対応する外部装置に実行させるための、前記所定のコマンドセットに含まれるコマンドを生成して前記共通コマンド処理手段に供給するワークフロー実行手段と、
    前記共通コマンド処理手段に供給した各コマンドに対する応答を前記共通コマンド処理手段から受け取って記憶する実行結果記憶手段とを設けたことを特徴とする通信装置。
  7. 請求項6に記載の通信装置であって、
    少なくとも1つの前記装置対応コマンド処理手段について、該装置対応コマンド処理手段が前記外部装置に送信すべきコマンドに対して該外部装置が送信してくると想定される応答を生成するエミュレータを設け、コマンドを前記外部装置に送信して該外部装置から該コマンドに対する応答を受信することに代えて、前記外部装置に送信すべきコマンドに対する応答を前記エミュレータにより生成できるようにしたことを特徴とする通信装置。
  8. 請求項7に記載の通信装置であって、
    前記エミュレータが、所定のパラメータの設定内容に応じて、前記外部装置が正常状態の場合に送信してくると想定される応答と、該外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えることを特徴とする通信装置。
  9. 請求項4乃至8のいずれか一項に記載の通信装置であって、
    前記部品データに含まれる、前記外部装置に入力すべきデータの種類及び前記外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであることを特徴とする通信装置。
  10. コンピュータに通信装置を制御させて、複数の外部装置と通信を行い、ある外部装置から受信したデータを別の外部装置に送信して処理させることにより、前記複数の外部装置の機能を組み合わせたデータ処理を実現させるためのプログラムであって、
    前記コンピュータを、
    通信先の各外部装置と対応づけて設けられた、所定のコマンドセットに含まれるコマンドを受け付け、そのコマンドを対応する外部装置が処理可能なコマンドに変換して該対応する外部装置に送信すると共に、該コマンドに対する応答を該外部装置から受信して、前記受け付けたコマンドに対する応答に変換して、該受け付けたコマンドの供給元に返す装置対応コマンド処理手段と、
    前記外部装置に対する処理の要求を、前記所定のコマンドセットに含まれるコマンドとして受け付けると共に、該処理を実行させるべき外部装置と対応する前記装置対応コマンド処理手段に、前記受け付けたコマンドを供給する共通コマンド処理手段と
    通信先の各外部装置と対応付けて設けられた、対応する外部装置から受信したデータを記憶手段に記憶させると共に、第1のデータ変換コマンドに応じて、該記憶させたデータを該データの種類に応じた所定のフォーマットに変換する第1のデータ変換手段として機能させるためのプログラムを含み、
    全ての前記第1のデータ変換手段について前記第1のデータ変換コマンドは共通のコマンドであり、
    さらに、前記コンピュータを、
    前記第1のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第1のデータ変換手段に該コマンドを渡す第2の共通コマンド処理手段として機能させるためのプログラムを含むことを特徴とするプログラム
  11. 請求項10に記載のプログラムであって、
    前記コンピュータを、
    通信先の各外部装置と対応づけて設けられた、第2のデータ変換コマンドに応じて、前記記憶手段が記憶している前記所定のフォーマットのデータを、前記外部装置が取扱い可能なフォーマットに変換する第2のデータ変換手段として機能させるためのプログラムを含み、
    全ての前記第2のデータ変換手段について前記第2のデータ変換コマンドは共通のコマンドであり、
    前記第2のコマンド処理手段が、第2のデータ変換コマンドを受け付けて、該コマンドに係るデータ変換を行わせるべき前記第2のデータ変換手段に該コマンドを渡す機能を備えることを特徴とするプログラム。
  12. 請求項10又は11に記載のプログラムであって、
    前記コンピュータを、
    通信先の各外部装置と対応づけて設けられた、所定のプロトコルに従った通信接続要求を受け付け、その通信接続要求を対応する外部装置が処理可能なプロトコルの通信接続要求に変換して該対応する外部装置に送信すると共に、該通信接続要求に対する応答を該外部装置から受信して、前記受け付けた通信接続要求に対する応答に変換して、該受け付けた通信接続要求の供給元に返す装置対応接続処理手段と、
    前記外部装置にアクセスするための通信接続要求を、前記所定のプロトコルの通信接続要求として受け付けると共に、アクセスすべき外部装置と対応する前記装置対応接続処理手段に、前記受け付けた通信接続要求を供給する共通接続処理手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  13. 請求項10乃至12のいずれか一項に記載のプログラムであって、
    前記コンピュータを、
    通信可能な前記各外部装置について、該外部装置に入力すべきデータの種類と、該外部装置が入力されたデータに対して実行する処理の種類と、該外部装置が該処理の結果として出力するデータの種類とを示すデータを、該外部装置と対応する部品データとして記憶する記憶手段と、
    前記複数の外部装置の機能を組み合わせたデータ処理の内容を規定するワークフローデータを、前記記憶手段が記憶する複数の前記部品データを、ある部品データにおける出力データの種類と、次段の部品データにおける入力データの種類とが一致するように複数段に亘って組み合わせて生成するワークフローデータ生成手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  14. 請求項13に記載のプログラムであって、
    前記ワークフローデータを生成するための部品データとして、実際にアクセスして通信可能であることを確認した外部装置と対応する部品データのみを使用できるようにしたことを特徴とするプログラム。
  15. 請求項13又は14に記載のプログラムであって、
    前記コンピュータを、
    前記ワークフローデータを記憶するワークフロー記憶手段と、
    前記ワークフロー記憶手段に記憶されているワークフローデータに従い、前段に配置された部品データから順に、該部品データにより規定される処理を、該部品データと対応する外部装置に実行させるための、前記所定のコマンドセットに含まれるコマンドを生成して前記共通コマンド処理手段に供給するワークフロー実行手段と、
    前記共通コマンド処理手段に供給した各コマンドに対する応答を前記共通コマンド処理手段から受け取って記憶する実行結果記憶手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  16. 請求項15に記載のプログラムであって、
    前記コンピュータを、少なくとも1つの前記装置対応コマンド処理手段について、該装置対応コマンド処理手段が前記外部装置に送信すべきコマンドに対して該外部装置が送信してくると想定される応答を生成するエミュレータとして機能させるためのプログラムを含み、
    コマンドを前記外部装置に送信して該外部装置から該コマンドに対する応答を受信することに代えて、前記外部装置に送信すべきコマンドに対する応答を前記エミュレータにより生成できるようにしたことを特徴とするプログラム。
  17. 請求項16に記載のプログラムであって、
    前記エミュレータが、所定のパラメータの設定内容に応じて、前記外部装置が正常状態の場合に送信してくると想定される応答と、該外部装置が所定の異常状態の場合に送信してくると想定される応答とを、選択的に生成する手段を備えることを特徴とするプログラム。
  18. 請求項13乃至17のいずれか一項に記載のプログラムであって、
    前記部品データに含まれる、前記外部装置に入力すべきデータの種類及び前記外部装置が出力するデータの種類は、画像データ、課金データ、利用者データ及び認証データのいずれかであることを特徴とするプログラム。
JP2010207547A 2010-09-16 2010-09-16 通信装置とプログラム Expired - Fee Related JP5672885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010207547A JP5672885B2 (ja) 2010-09-16 2010-09-16 通信装置とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010207547A JP5672885B2 (ja) 2010-09-16 2010-09-16 通信装置とプログラム

Publications (2)

Publication Number Publication Date
JP2012063972A JP2012063972A (ja) 2012-03-29
JP5672885B2 true JP5672885B2 (ja) 2015-02-18

Family

ID=46059621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010207547A Expired - Fee Related JP5672885B2 (ja) 2010-09-16 2010-09-16 通信装置とプログラム

Country Status (1)

Country Link
JP (1) JP5672885B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6014908B2 (ja) * 2013-03-11 2016-10-26 富士ゼロックス株式会社 仮想プリンタインタフェースノード
CN109716249B (zh) * 2016-09-09 2022-09-13 德马泰克公司 用于工作流的操作和管理的通信系统和利用不同操作平台的多个设备的集成

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3891778B2 (ja) * 2000-11-30 2007-03-14 株式会社大和証券グループ本社 情報制御システム
JP2003085110A (ja) * 2001-09-06 2003-03-20 Digital Electronics Corp 制御システム、そのプログラムおよび記録媒体
JP5379994B2 (ja) * 2008-04-18 2013-12-25 日本システムウエア株式会社 通信試験装置、通信試験機能を有するネットワーク、接続試験方法および接続試験プログラム

Also Published As

Publication number Publication date
JP2012063972A (ja) 2012-03-29

Similar Documents

Publication Publication Date Title
US8860988B2 (en) Print relay system, print relay system control method, and storage medium
US9086826B2 (en) Information processing apparatus, method for controlling the same, and storage medium
CN100359459C (zh) 图像处理系统以及图像处理方法
US8699052B2 (en) Image forming apparatus, control method, and program
US9086832B2 (en) Printer
US9069497B2 (en) Information processing apparatus having relay virtual printer and functional relay virtual printer
EP1489520B1 (en) Image formation device having a web service function
US9398084B2 (en) Information processing system
US8542390B2 (en) Content printing system, print relay system, control method, and storage medium
JP5729979B2 (ja) 印刷中継システム、印刷システム、画像形成装置、印刷中継システムを制御する制御方法、およびプログラム
CN104517055B (zh) 能够应用安全策略的图像处理装置及其控制方法
JP2015032024A (ja) 端末装置とプリンタ
CN105988756A (zh) 信息处理装置、程序、输出系统和输出方法
US20120019865A1 (en) Content printing system, print relay system, control method, and storage medium
JP6171346B2 (ja) 情報処理装置、処理実行方法、プログラム
JP5998657B2 (ja) 機器制御システム、制御プログラム及び制御方法
JP2009181401A (ja) 情報処理装置、デバイス制御システム、プログラム及び記録媒体
JP5672885B2 (ja) 通信装置とプログラム
JP5140553B2 (ja) 情報処理装置及びこれを含む画像形成システム
JP2004220448A (ja) 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム
US20110310418A1 (en) Information processing system, method of controlling the same, and program
JP5858092B2 (ja) プリンタ
JP7124602B2 (ja) 情報処理装置、情報処理方法、プログラムおよび画像形成システム
JP5140552B2 (ja) 情報処理装置及びこれを含む画像形成システム
JP2012027601A (ja) コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R151 Written notification of patent or utility model registration

Ref document number: 5672885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees