Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5157690B2 - 画像形成装置、情報処理方法、及び、画像形成システム - Google Patents
[go: Go Back, main page]

JP5157690B2 - 画像形成装置、情報処理方法、及び、画像形成システム - Google Patents

画像形成装置、情報処理方法、及び、画像形成システム Download PDF

Info

Publication number
JP5157690B2
JP5157690B2 JP2008177332A JP2008177332A JP5157690B2 JP 5157690 B2 JP5157690 B2 JP 5157690B2 JP 2008177332 A JP2008177332 A JP 2008177332A JP 2008177332 A JP2008177332 A JP 2008177332A JP 5157690 B2 JP5157690 B2 JP 5157690B2
Authority
JP
Japan
Prior art keywords
request
unit
response
data
item
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
JP2008177332A
Other languages
English (en)
Other versions
JP2010016778A (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 JP2008177332A priority Critical patent/JP5157690B2/ja
Priority to US12/492,175 priority patent/US8363238B2/en
Priority to EP09251730A priority patent/EP2144162A1/en
Publication of JP2010016778A publication Critical patent/JP2010016778A/ja
Application granted granted Critical
Publication of JP5157690B2 publication Critical patent/JP5157690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、 画像形成装置、情報処理方法、及び、画像形成システムに関する。
従来、画像形成装置(MFP)の機能を拡張した際に同時にWebサービスとして利用できるようにするには、新しく追加した機能に対応するWSDL(Web Services Description Language)を作成しクライアントに対してそのWSDLを通じてI/Fを提供する必要があった。この場合、
1.クライアントが新機能に対応するWSDLを見つけ、
2.そのWSDL内にあるI/Fに対応するクライアント側のコードを作成し、
3.新しいWebサービスで定義されている動作に対応
というステップが必要であった。これらそれぞれに対して、次に説明するような提案が成されている。
一つ目の「クライアントが新機能に対応するWSDLを見つける」については、WSDLを管理する外部サーバを用意し、予めそのサーバに対してWSDLを登録しておく、という方法がある。この外部サーバは、UDDIと呼ばれる一般的なものである。また、特開2005−055983号公報(特許文献1)には、サービス管理装置を別で用意して解決する提案もなされている。
二つ目の「WSDL内にあるI/Fに対応するクライアント側のコードを作成」については、様々な手法が提案されている。特開2004−272317号公報(特許文献2)には、サーバ側のI/Fに変更が入っていた場合にクライアント側で動的に対応する提案がなされている。これは、変更されているI/Fにアクセスした際のエラーをクライアント側で検出し、そのエラーがI/F変更によるものであれば、エラー回避プログラムを動作させる、というものである。また、特開2005−055983号公報(特許文献1)には、Webサービス管理用の仲介装置を用意し、サービス提供側は予めこちらに登録をしておき、利用者はこの仲介装置に対してアクセスをすることで提供側のI/Fとの差分を吸収しようとするものである。
三つ目の「新しいWebサービスで定義されている動作に対応」については、特開2006−072910号公報(特許文献3)には、予めWebサービスを利用する動作を定義したシナリオを外部サーバに登録しておき、Webサービス利用時にはそのサーバからシナリオを取得してアクセスする、といった手法が提案されている。
特開2005−055983号公報 特開2004−272317号公報 特開2006−072910号公報
しかしながら、上記特許文献1の技術では、WSDLを管理する外部の何らかの装置が必要であり、クライアントが新しい機能をWebサービスとして利用するにはそこからWSDLを取得する必要があった。また、上記特許文献2の技術では、予めエラー検出やエラー回避用のプログラムを組み込んでおく必要があり、またクライアント側で対応する際には、コードのコンパイル処理なども必要であった。また、特許文献3の技術では、予め外部サーバを用意して、そちらにシナリオを登録しておく必要がある。
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、I/Fを統一してWebサービスの機能拡張を動的に行うことができる画像形成装置、情報処理方法、及び、画像形成システムを提供することを目的としている。
上記目的を達成するために、本発明の画像形成装置は次の如き構成を採用した。
本発明の一局面の画像形成装置は、クライアント装置からの第一の記述形式によるリクエストを受信する通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段とを備える画像形成装置であってクエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段と、を備え、前記管理手段は、新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行なわせるためのロジック部を生成し、前記共通処理手段は、前記管理手段により生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う。
また、本発明の他の局面の情報処理方法は、クライアント装置からの第一の記述形式によるリクエストを受信する通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段と、リクエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段とを備える画像形成装置における情報処理方法であって、前記管理手段が、新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行わせるためのロジック部を生成する生成ステップと、前記共通処理手段が、前記生成ステップにより生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う依頼ステップと、を有する。
本発明の他の局面の画像形成システムは、クライアント装置と画像形成装置が接続された画像形成システムであって、前記クライアント装置は、前記画像形成装置に対する要求項目を有するリクエストを第一の記述形式により生成するリクエスト生成手段と、前記リクエストを送信する第一の通信手段と、を備え、前記画像形成装置は、クライアント装置からの第一の記述形式によるリクエストを受信する第二の通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段とを備える画像形成装置であって、クエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段とを備え、前記管理手段は、新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行わせるためのロジック部を生成し、前記共通処理手段は、前記管理手段により生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う。
I/Fを統一してWebサービスの機能拡張を動的に行うことができる画像形成装置、情報処理方法、及び、画像形成システムを提供することが可能になる。
以下、本発明の実施の形態を図面に基づき説明する。
<画像形成システムの概略構成>
図1は、本実施例による画像形成システムの概略構成の例を示す図である。図5の画像形成システムは、PC(パーソナルコンピュータ、以下、クライアントPCともいう)1、PC2、PC3・・・と、MFP(画像形成装置)4、MFP5、MFP6・・・とが、LANに接続されている。これにより、各PCが、それぞれのMFPに対してリクエストを出力し、また各MFPからのレスポンスを受信する。
<画像形成システムの概要>
図2は、実施例1に係る画像形成システムの概要を示す図である。本発明に係る画像形成システムでは、I/F部分を統一しているため、従来のWSDLを利用してその都度I/Fを記載し、クライアントPC201がそれを利用する、といった課題がなくなる。I/Fを統一しているといってもアクセスする情報の識別子は指定する必要があるが、クライアントPC201が変えないといけないのはその識別子のみであり、Webサービスを利用する際のコードは変更する必要がない。I/Fを統一させたまま、Webサービスの機能拡張を動的に行うことができるフレームワークについて後ほど説明する。
また、本発明に係る画像形成システムでは、クライアントPC201とサーバ(MFP)202間のやり取りは1回で済むようにリクエスト又はレスポンスの中に、機器の設定に必要なパラメータなど全てのデータを記述するようにしており、外部サーバに登録されたある手順に従って実行しないといけないということがなくなる。また、データの内容については後述するとおり、機能を拡張することが容易な作りになっている。このため、クライアントPC201側では、機能拡張における修正を必ずしもする必要がなく、最低限の動作を行うことができるようになる。この点については、後ほど説明する。
<画像形成システムの詳細な構成>
図3は、画像形成システムの詳細な構成を示す図である。図3に示すようにMFP300とクライアントPC350とがLANを介して接続されているが、直接接続されてもよい。まず、MFP300について説明する。
図3に示すMFP300は、例えば、ネットワークインタフェース(以下、ネットワークI/Fという)301、Webサービス・フレームワーク302、情報処理ロジック部306、情報アクセス部307、情報保持部308、新機能309を含む。
ネットワークI/F301は、画像形成装置300とLANとを接続するためのインタフェースである。Webサービス・フレームワーク302は、通信クライアント部303と通信サーバ部304とデータ処理部305とを含む。
通信クライアント部303と通信サーバ部304とは、クライアントPC350に対して通信を行う手段である。データ処理部305は、クライアントPC350等からのリクエストを解析し、また、クライアントPC350へのレスポンスを生成する。例えば、データ処理部305は、XMLで記述されるリクエストをパースし、またXMLで記述されるレスポンスを生成する。データ処理部305の詳細については後述する。
情報処理ロジック部306は、機器内で完結するロジックを保持し、機器内で完結するリクエストを解析したり、レスポンスを生成したりする。情報アクセス部307は、情報処理ロジック部307によって解析されたリクエストに含まれる要求項目に基づいて、情報保持部308に保持されている情報を取得し、またその情報を編集して置き換え、または情報を生成して情報保持部308に格納させる。情報保持部307は、MFP300の状態や操作者毎の識別情報、画像データ等を格納する。
新機能309は、新機能ロジック部310、新機能拡張データ部311、新機能管理部312、新機能処理部313を含む。新機能ロジック部310は、Webサービスがリクエストされる度に生成され、リクエストに含まれる要求項目のデータを解析する必要があれば、データ処理部305に解析依頼を行ったり、解析が不要であれば、Webサービスの処理依頼を新機能処理部313に行ったりする。
新機能拡張データ部311は、新機能309により拡張されたデータを保持する。新機能管理部312は、新機能309がMFP300に追加されたときに、後述するロジック管理部1203に対し、新機能309の識別子であるURIとロジック名とを出力する。ここで、ロジック名は、JAVA(登録商標)のクラス名などである。新機能処理部313は、新機能309の処理を行い、後述する機能実現手段405に相当する。
次に、クライアントPC350側について説明する。クライアントPC350は、例えば、ネットワークI/F351、Webサービス・フレームワーク352、情報アクセス部356、ビュー生成部357、ユーザーインタフェース(以下、UIという)358を含む。ここで、ネットワークI/F351、Webサービス・フレームワーク352、情報アクセス部356は、MFP300と同様の処理を行うので、説明を省略する。
ビュー生成手段357は、例えば、MFPからのレスポンスを表示画面に表示するための表示画面データを生成する。UI358は、クライアントPC350を操作するためのユーザーインタフェースである。次に、I/Fを統一するためのデータ処理部305、355について説明する。
<I/F統一について>
本発明では、I/Fを統一していることが前提となるが、その役割を担うのがデータ処理部305、355である。以下、データ処理部305、355を含むMFPとPCの主要機能について説明する。
図4は、I/F統一に係るMFP400とクライアントPC450との主要機能構成の例を示す図である。図4に示すように、MFP400は、例えば、データ処理部305、機能実現手段405、一覧管理手段406、データ形式保持手段407、及び、通信手段404を有する。データ処理部305は、クライアントPC450から送信されるリクエストを解析してその中に含まれる要求項目を取得する。データ処理部305は、また、要求項目に対応するレスポンスを生成する。
データ処理部305は、例えば、リクエスト解析手段401、処理内容取得手段402、及び、レスポンス生成手段403を有する。リクエスト解析手段401は、第一の記述形式によって記述されるリクエストをその構文にしたがって解析する。第一の記述形式とは、例えば、XMLによって表記され、名前空間によって項目群が識別される記述形式である。リクエスト解析手段401は、例えば、XMLパーサとして構成される。これにより、リクエストに含まれる要求項目を取得することができる。
処理内容取得手段402は、リクエスト解析手段401によって解析された内容に基づいて、機能実現手段405の識別情報と要求項目に対応する処理内容とを取得する。処理内容取得手段402は、例えば、データ形式保持手段407に保持されている機能実現手段毎のデータ形式に基づいて、要求項目をそのデータ形式による処理内容に変換する。
処理内容取得手段402は、要求項目に対応するデータ形式が取得できない場合には、その要求項目を所定の記述形式に変換する。所定の記述形式とは、例えば、第二の記述形式であり、名前空間名、変数又はタグ名、及び、値を有する、クラスとして構成されてよい。
なお、データ形式が取得できない場合とは、例えば、その要求項目に対応する機能実現手段405が、新たに追加されたものであるため、一覧管理手段406によって識別情報は管理されているものの、データ形式保持手段407には、その機能実現手段405とのデータのインタフェースとなるデータ形式が登録されていない場合等である。
これにより、MFP400が有する新たに追加された機能実現手段405に対しても、要求項目を出力して処理を指示することができる。
レスポンス生成手段403は、機能実現手段405によって処理された要求項目に対応するレスポンスを生成する。レスポンス生成手段403が生成するレスポンスは、例えば、MFP400の属するバージョンに基づいている。レスポンス生成手段403によって生成されるレスポンスは、機能実現手段405から出力される応答項目を含む。
レスポンス生成手段403は、機能実現手段405から出力される機能実現手段毎に対応するデータ形式の応答項目を変換し、第一の記述形式によるレスポンスを生成する。レスポンス生成手段403は、またさらに、機能実現手段405から出力される応答項目が、第二の記述形式による場合には、その応答項目から必要な情報を取り出して、第一の記述形式によるレスポンスにその情報を含ませる。
なお、応答項目が第二の記述形式による場合とは、その機能実現手段405が、MFP400に対して後から追加されたものであり、一覧管理手段406に識別情報が登録されているものの、データ形式保持手段407には、その機能実現手段405とのデータのインタフェースとなるデータ形式が登録されていない場合等である。
これにより、MFP400に新たに追加された機能実現手段405が出力する応答項目に対応するレスポンスを生成することができる。
機能実現手段405は、処理内容取得手段402が取得した要求項目に基づいて、対応する処理を実行する。機能実現手段405は、例えば、図示しない記憶手段に格納されている情報を取得して出力し、また記憶手段に格納されている情報を編集して置き換え、また要求項目に基づいて新たな情報を生成して記憶手段に格納させる。なお、記憶手段は、上記の他、MFP400の状態に係る情報を保持し、またMFP400によって処理される画像の画像データ、MFP400を使用する操作者の情報等を保持してもよい。
機能実現手段405は、記憶手段に格納されている情報に係る処理を行う他に、MFP400が有する画像形成機能、通信機能、ファクシミリ機能等に係る処理を行ってもよい。機能実現手段405は、また、MFP400が有する構成の他に、MFP400に接続される構成でもよい。
一覧管理手段406は、MFP400が有する機能実現手段405の一覧を保持し管理する。新たに機能実現手段405が追加された場合には、一覧管理手段406によって管理される一覧が更新される。
データ形式保持手段407は、機能実現手段毎に対応する、要求項目、応答項目、及び/又は、状況項目のデータ形式を保持する。これにより、処理内容取得手段402等が、第一の記述形式と、機能実現手段毎に対応するデータ形式との間の変換を行うことができる。
通信手段404は、クライアントPC450との通信を行い、例えば、リクエストを受信し、レスポンスやメッセージを送信する。
クライアントPC450は、MFP400に対して、リクエストを送信し、またその応答であるレスポンスを受信する。これにより、クライアントPC450は、MFP400の制御やMFP400が有する情報の管理を行う。
クライアントPC450は、例えば、データ処理部355、通信手段454、機能実現手段455、一覧管理手段456、データ形式保持手段457を有する。データ処理部355は、MFP400に対して送信するリクエストを生成し、また、MFP400から送信されるレスポンスを解析する。これにより、MFP400のステータスを取得することができる。なお、ステータスとは、MFP400の状態の他に、MFP400が保持する情報でもよい。
データ処理部355は、例えば、リクエスト生成手段451、レスポンス解析手段452、ステータス取得手段453を有する。リクエスト生成手段451は、MFP400に対して要求する要求項目を含むリクエストを生成する。リクエスト生成手段451によって生成されるリクエストは、例えば、第一の記述形式で表記される。
レスポンス解析手段452は、MFP400から送信されるレスポンスを解析する。また、レスポンス解析手段452は、例えば、レスポンスがXMLによって記述される場合に、XMLパーサとして構成される。
ステータス取得手段453は、レスポンス解析手段452によって解析された応答項目に基づいて、MFP400のステータスを取得する。ステータス取得手段453は、またさらに、取得したステータスに基づいて、機能実現手段455に対して応答項目を振り分ける。これにより、各機能実現手段が、その応答項目に対応する処理を実行することができる。
また、ステータス取得手段453は、応答項目を、機能実現手段毎に対応するデータ形式に変換する。ステータス取得手段453は、またさらに、その応答項目に対応するデータ形式がデータ形式保持手段457に保持されていない場合には、その応答項目を第二の記述形式に変換して出力する。
なお、応答項目が第二の記述形式による場合とは、MFP400における場合と同様のケースであって、例えば、クライアントPC450に、新たに追加された機能実現手段455に対応する応答項目の場合である。これにより、クライアントPC450が有する新たに追加された機能実現手段455に対しても、応答項目を出力し、それらに対応する処理を実行させることができる。
機能実現手段455、一覧管理手段456、データ形式保持手段457、及び、通信手段454の機能及び構成は、MFP400が有する同名の手段と同様であり、容易に理解できるので、ここでは説明を省略する。
<リクエストを解析する処理の例>
図5は、データ処理部305において、リクエストが解析される処理の例を示すフローチャートである。図5の処理は、例えば、リクエスト解析手段401によって実行される。図5のステップS101では、データ処理部305に対してリクエストが入力される。
図6は、リクエストの例を示す図である。図6は、例えば、MFP400が有する図示しない記憶手段等に保持されるアドレス帳に新たなレコードを追加する要求の例である。なお、記憶手段は、例えば、データ形式保持手段407と一の構成でもよい。
図6のリクエストは、HTTPリクエストヘッダー部R1と、要求項目を含む本体であるR2とを含む。本体R2の内、符号eが付された箇所の記述により、このリクエストが、Atomと、名前空間a及び名前空間vendorで定義される拡張形式とで、記述されていることが示されている。名前空間vendorで定義される拡張形式が、本実施の形態における新たに追加された機能に対する要求項目に対応する。
R3は拡張形式で記述されている箇所である。R3には、名前「foo」に対応するメールアドレス、ファクシミリ番号等のレコードに係る情報、及び、それぞれ一の要求項目として含まれている。R3には、さらに、名前空間vendorにより識別されるタグを有する値gが含まれている。
図5に戻り、ステップS101に続いてステップS102に進み、リクエスト解析手段401が、リクエストを先頭から解析することにより、標準形式の部分の判定を行う。ここでは、標準形式がA形式とB形式との何れであるかを判定し、A形式である場合には、ステップS103に進み、B形式である場合には、ステップS106に進む。
なお、標準形式とは、例えば、リクエストがXMLによって記述されている場合には、汎用的な規格であるAPP又はAtom等をいう。また、本発明の実施の形態は、2種類のうちの1の標準形式を処理する例に限らず、3種類以上の複数の標準形式の中から何れか一以上の標準形式を処理してもよい。
ステップS102に続くステップS103からステップS105では、A形式で記述されている箇所について、リクエスト解析手段101が要求項目を取得する。さらに、処理内容取得手段102がその要求項目に対応する処理内容を取得する。ここで取得される処理内容は、機能実現手段毎に対応するデータ形式を有する。この処理は、A形式で記述されている箇所が全て処理されるまで繰り返される。
なお、機能実現手段の識別情報は、リクエスト解析手段101によって取得される。機能実現手段の識別情報は、リクエストの中の要求項目毎に含まれてもよく、またリクエストの中の記述形式毎に対応づけられて含まれてもよい。
一方、ステップS102に続くステップS106からステップS108では、B形式で記述されている箇所について、リクエスト解析手段401と処理内容取得手段402とが、ステップS103からステップS105と同様の処理を行う。
標準形式で記述されている箇所の処理が終了した後、独自形式の処理に進む。ステップS109では、リクエスト解析手段401が、リクエストの中の独自形式の有無を判断する。独自形式がある場合には、ステップS110に進み、独自形式がない場合には、ステップS115に進む。なお、ステップS109の判定は、独自形式の有無に代えて、MFP400が処理する機能に対応する要求項目の項目群の有無の判定でもよい。MFP400が処理する機能に対応する要求項目の項目群がある場合には、ステップS110に進み、ない場合には、ステップS115に進む。
ステップS109に続くステップS110からS114では、リクエスト解析手段401が、リクエストに含まれている要求項目を取得する処理を、全ての要求項目が取得されるまで繰り返す。要求項目が取得される毎に、ステップS111において、処理内容取得手段402が、その要求項目に対応する処理内容の登録の有無を判断し、処理内容が登録されている場合には、ステップS112に進み、処理内容が登録されていない場合には、ステップS113に進む。
ステップS111に続くステップS112では、処理内容取得手段402が、その処理内容を取得する。ここで取得される処理内容は、機能実現手段毎に対応するデータ形式を有する。一方、ステップS111に続くステップS113では、処理内容取得手段402が、要求項目を、第二の記述形式に変換する。
図7は、要求項目を第二の記述形式に変換する例を示す図である。図7では、符号fを付した名前空間と符号g1を付した要素とから、要求項目h1が形成され、符号fを付した名前空間と符号g2を付した要素とから、要求項目h2が形成される。
これにより、リクエストの中に、MFP400に登録されていない機能に対する要求項目がある場合でも、その機能を実行することができる。したがって、MFP400に対し、新たに追加された機能実現手段がある場合でも、リクエストを生成するクライアント装置等が、その機能に対するリクエストを出力することができる。
図5に戻り、ステップS109又はステップS113の処理の後、ステップS114に進み、取得された処理内容が、情報処理ロジック部310等に出力される。
<レスポンスを生成する処理の例>
図8は、データ処理部305において、レスポンスが生成される処理の例を示すフローチャートである。図8の処理は、例えば、レスポンス生成手段403によって実行される。
図8のステップS201では、データ処理部305に対し、レスポンスに含まれる応答項目のデータが入力される。ステップS201に続いてステップS202に進み、レスポンス生成手段403が、入力されたデータに基づいて、レスポンスの記述形式を選択する。ここでは、標準形式の部分を選択し、A形式によって記述する場合にはステップS203に進み、B形式によって記述する場合にはステップS206に進む。
なお、本発明の実施の形態は2つの標準形式のうちの何れか一を選択する例に限らず、複数の標準形式のうちの何れか一以上を選択し、その標準形式により記述されるレスポンスを生成してよい。
ステップS202に続くステップS203からステップS205では、レスポンス生成手段403が、A形式によって記述される応答項目のデータがなくなるまで、その応答項目がA形式によって記述されるデータを生成する。一方、ステップS202に続くステップS206からステップS208では、同様にB形式によって記述される応答項目のデータがなくなるまで、その応答項目がB形式によって記述されるデータを生成する。
ステップS205又はステップS208に続くステップS209では、レスポンス生成手段403が、応答項目のデータのうち、独自形式によって記述されるものの有無を判断する。独自形式によって記述されるものがある場合には、ステップS210に進み、ない場合には、ステップS215に進む。
ステップS209に続くステップS210からステップS213では、独自形式によって記述される応答項目のデータがなくなるまで、レスポンス生成手段403によってその応答項目を独自形式によって記述する処理が繰り返される。ステップS211において、レスポンス生成手段403が、その応答項目が未知のデータであるか否かを判断する。未知のデータとは、例えば、その応答項目が予め登録されたデータ形式を有さないデータである。未知のデータは、例えば、第二の記述形式により記述される。第二の記述形式とは、例えば、名前空間名、変数名又はタグ名、及び、値を有する。
既知のデータである場合には、ステップS212に進み、未知のデータである場合には、ステップS213に進む。ステップS211に続くステップS212では、レスポンス生成手段403が、取得された応答項目のデータ形式を参照して、第一の記述形式によるレスポンスを生成する。一方、ステップS211に続くステップS213では、レスポンス生成手段403が、取得された第二の記述形式による応答項目から、第一の記述形式によるレスポンスを生成する。
図9は、第二の記述形式による応答項目から、第一の記述形式によるレスポンスが生成されることを示す図である。図9では、符号r1を付した応答項目から、名前空間sと要素t1とが生成され、符号r2を付した応答項目から、名前空間sと要素t2とが生成される。
図8に戻り、ステップS209又はステップS214に続いてステップS215に進み、レスポンス生成手段403によって生成されたレスポンスが、情報処理ロジック部306等に対して出力される。
<レスポンスの例>
図10及び図11は、レスポンスの例を説明する図である。図10は、図6のリクエストに対応して生成されるレスポンスの例を示す図である。図10では、図6のリクエストに基づいて処理された内容が含まれている。すなわち、アドレス帳に追加されたレコードの内容である、名前「foo」と、その名前に対応するメールアドレス、ファクシミリ番号等が、それぞれ一の応答項目として含まれている。さらに、符号u1を付した箇所に、名前空間vendorによって識別されるアドレス帳に対する操作処理の応答項目が含まれている。
図11は、図6のリクエストに対応して生成されるレスポンスの例を示す図であって、図10とは異なるレスポンスの例である。図11のレスポンスは、faxAddressとfaxNumberとに係る応答項目が含まれていない。これは、このレスポンスを生成した画像形成装置(MFP)が有する機能が、これらの情報をアドレス帳に含ませる機能を有していないためである。
また、アドレス帳の中のデータを編集する場合には、HTTPのPUTを用い、リクエストが入力され、その応答であるレスポンスが出力されてもよい。また、アドレス帳の中のデータを参照する場合には、HTTPのGETを用い、レスポンスデータが出力されてもよい。また、アドレス帳の中のデータを削除する場合には、HTTPのDELETEを用い、リクエスト及びレスポンスのデータのやりとりがなくてもよい。
以上より、I/Fを統一させることでWebサービスの機能拡張を動的に行うことができる。
<Webサービス・フレームワークの内部構成>
図12は、Webサービス・フレームワークの内部構成を示す図である。図3と同様の構成要素には、同じ符号を付し、その説明を省略する。通信サーバ部304は、共通I/F1201、共通処理部1202、ロジック管理部1203を含む。
共通I/F1201は、共通して用いられる複数のI/Fが規定されているI/F部である。共通処理部1202は、共通I/Fの各I/Fに対応する共通の処理が規定されている処理部である。このとき、フレームワークの利用者(ロジック部)は、共通処理部1202で規定される処理の中から、自らの機能を満たす上で必要な処理(I/F)のみ実装する。
ロジック管理部1203は、Webサービスで用いられる各機能の識別子であるURI(Uniform Resource Identifier)とロジック名とを関連付けて記憶手段に記憶して管理する。ここで、ロジック名とは例えば、JAVA(登録商標)のクラス名などを言う。また、リクエスト内に、管理する識別子が含まれている場合、この識別子とクラス名とに基づいて新機能ロジック部310を生成する。
ここで、図13は、共通I/F1201と共通処理部1202との例を示す図である。図13に示すように、共通I/F1201にはA〜DのI/Fが規定され、共通処理部1202には、A〜DのI/Fに対応する処理が規定されている。このA〜Dは、例えば、GETやDELETEなどを示す。
また、図13に示す例によると、情報処理ロジック部306では、共通処理部1202内にあるA〜D全ての処理を必要とし、新機能ロジック部310では、C、Dの処理のみで機能を満たすことができる。このように、本発明では、共通I/F(A〜D)に対して共通の処理をフレームワーク内で規定する。
<ロジック管理部の内部構成>
図14は、ロジック管理部の内部構成を示す図である。図14に示すように、ロジック管理部1203は、判定手段1401、記憶手段1402、生成手段1403を含む。判定手段1401は、リクエストに含まれる識別子(URI)を取得し、取得した識別子が、記憶手段1402に記憶されている識別子か否かを判定する。
記憶手段1402は、Webサービスの機能の識別子(URI)とロジック名とを関連付けて記憶する。図15は、記憶手段1402に格納される管理テーブルの例を示す図である。図15に示すように、識別子1とロジック名1とが関連付けられて記憶されている。
このとき、管理テーブルは、従来機能と新機能とを区別することなく、取得した識別子とロジック名との情報だけを格納する。これより、新機能、従来機能に関係なく、機能毎の追加、削除を容易に行うことができる。
図14に戻り、生成手段1403は、記憶手段1402に記憶される管理テーブルの識別子とロジック名とに基づいて、新機能ロジック部310を生成する。
<新機能の追加処理>
図16は、新機能を追加したときの管理テーブルへの登録処理を示すシーケンス図である。ステップ301では、追加した新機能309に含まれる新機能管理部312が、ロジック管理部1203に対し、新機能の識別子とロジック名とを出力する。
ステップ301に続いてステップ302に進み、ロジック管理部1203は、新機能管理部312より識別子とロジック名とを取得すると、これらを関連付けて管理テーブルに登録する(格納する)。これより、追加された新機能を用いるリクエストがきたときに、追加された新機能を用いることができるようになる。
<新機能の削除処理>
図17は、新機能を削除したときの管理テーブルへの削除処理を示すシーケンス図である。ステップ303では、追加した新機能309に含まれる新機能管理部312が、ロジック管理部1203に対し、追加した新機能を削除するため、新機能の識別子を出力する。
ステップ303に続いてステップ304に進み、ロジック管理部1203は、新機能管理部312より識別子を取得すると、取得した識別子とこの識別子に対応するロジック名とを削除する。これより、追加された新機能を処理する必要がなくなったときにこの新機能を削除することができるようになる。
また、図16と図17とに示すように、新機能の追加、削除処理はMFPが動作中でも処理することが可能であり、これらの機能によりいつでも機能単位での抜き差しが可能となる。
<クライアントPCからの参照要求に対する処理>
図18は、クライアントPCからの参照要求に対する処理を示すシーケンス図である。ステップ401では、利用者(ユーザー)が、クライアントPC350を用いてMFP300に参照を要求項目とするリクエストを送信する。リクエストはhttpリクエストとして送信されてもよい。また、リクエストは、XML等の記述言語による第一の記述形式によって記述される。
ステップ401に続いてステップ402に進み、通信サーバ部304は、ロジック管理部1203に対し、ステップ401により受信したリクエストを処理する依頼を出力する。ステップ402に続いてステップ403に進み、ロジック管理部1203は、共通処理部1202に対し、共通処理の依頼を行う。
ステップ403に続いてステップ404に進み、ロジック管理部1203は、リクエストに含まれる識別子を取得し、取得した識別子が、自身が管理する管理テーブルに格納されているか否かの判定を行なう。次に、ロジック管理部1203は、取得した識別子が管理テーブルに格納されている場合は、管理テーブルに格納される識別子とロジック名とに基づいて新機能ロジック部310を生成する。
ステップ404に続いてステップ405に進み、共通処理部1202は、生成された新機能ロジック部310に対し、リクエストに含まれる要求項目の処理依頼を行う。ステップ405に続いてステップ406に進み、新機能ロジック部310は、リクエストに含まれる要求項目における処理対象のデータがあるか否かを判断する。かかる判断については後述する。
また、新機能ロジック部310は、新機能処理部313に対して処理が要求されている場合、新機能処理部313に対応するデータ形式に変換して処理を依頼する。
ステップ406に続いてステップ407に進み、新機能ロジック部310は、新機能処理部313から参照して取得したデータに基づいて新機能拡張データ部312を生成する。新機能拡張データ部312では、新機能の拡張データが保持される。
ステップ407に続いてステップ408に進み、新機能ロジック部310は、処理が終了した旨の応答項目を取得し、共通処理部1202に対し、応答項目を含むレスポンスを生成するよう依頼する。応答項目は、所定のデータ形式でもよく、また、第二の記述形式によるものでもよい。なお、第二の記述形式とは、例えば、レスポンスがXMLによって、記述される場合に、その応答項目の属する名前空間、変数名又はタグ名、及び、値を含むとよい。
ステップ408に続いてステップ409に進み、共通処理部1202は、レスポンスに応答項目が含まれる場合は、データ処理部1202に対し、レスポンスの生成処理を依頼する。
ステップ409に続いてステップ410に進み、共通処理部1202は、データ処理部305が生成した応答項目を含むレスポンスをロジック管理部1203に出力する。レスポンスは第一の記述形式によって記述されており、例えばXMLによって表記される。より詳細には、APP、Atom、又は、その他の拡張方式によって表記される。どの形式によって表記されるかは、例えば、どの形式でレスポンスを返して欲しいというリクエストの記述内容や、画像形成装置の形式のサポート状況によって異なる。
ステップ410に続いてステップ411に進み、ロジック管理部1203は、通信サーバ部304に対し、レスポンスとそのレスポンスを送信する依頼を出力する。ステップ411に続いてステップ412に進み、通信サーバ部304は、クライアントPC350にレスポンスを送信する。
<クライアントPCからのデータ作成・変更要求に対する処理>
次に、クライアントからデータ作成・変更要求依頼が来た場合について説明する。データ作成・要求は、参照要求と違って、要求項目における処理対象データがあるということが異なる。
図19は、クライアントからのデータ作成・変更要求に対する処理を示すシーケンス図である。図18と同様の処理を行うものについては、図18と同じ符号を付し、その説明を省略する。
ステップ501では、利用者が、クライアントPC350を用いてMFP300に作成・変更を要求項目とするリクエストを送信する。ここで、リクエストには要求項目における処理対象のデータが含まれている。
共通処理部1202から処理依頼を受けた新機能ロジック部310は、ステップ502において、データ処理部305に対し、処理対象データの解析依頼を行う。ステップ502に続いてステップ503に進み、データ処理部305が、取得したデータを解析して、拡張すべきデータがある場合、新機能拡張データ部312を生成して拡張データを保持させる。
ステップ503に続いてステップ504に進み、新機能ロジック部310が、新機能処理部313に対し、要求項目を所定のデータ形式に変換し、変換した処理内容を実行する要求が出力される。
ステップ504に続いてステップ505に進み、新機能処理部313は、取得した処理内容に従って、処理を実行する。このとき、新機能処理部313は、新機能拡張データ部312のデータを参照して処理内容を実行する。
ステップ505に続いてステップ506に進み、新機能処理部313は、処理が終了した場合に新機能ロジック部310に対し、処理が終了したことの通知を出力する。ステップ506に続いてステップ507に進み、新機能ロジック部310は、共通処理部1202に対し、処理が終了したことの通知を出力する。
ステップ507に続いてステップ508に進み、共通処理部1202は、ロジック管理部1203に対し、処理が終了したことの通知を出力する。ステップ508に続いてステップ509に進み、ロジック管理部1203は、通信サーバ部304に対し、処理が終了したことをクライアントPC350に通知する要求を出力する。ステップ509に続いてステップ510に進み、通信サーバ部304は、クライアントPC350に対し、処理が終了したことの通知が送信される。例えば、httpレスポンスとして送信される。
<クライアントPCの処理>
次に、クライアントPC350がMFP300にリクエストを送信し、MFP300からレスポンスを受信したときの一連の処理について説明する。図20は、クライアントPCの処理を示すシーケンス図である。
ステップ601では、UI358が、ユーザーにより指示された作成、参照、変更、又は削除の要求項目を情報アクセス部356に出力する。ステップ601に続いてステップ602に進み、情報アクセス部356は、通信クライアント部353に対し、ユーザーにより指示された要求をMFP300に送信するよう通信要求を出力する。
ステップ602に続いてステップ603に進み、通信クライアント部353は、要求項目をリクエストとしてMFP300に送信する。このとき、リクエストは、要求項目を処理するのに用いる機能実現手段の識別子を含む。
ステップ603に続いてステップ604に進み、MFP300は、通信クライアント部353に対し、リクエストに対応するレスポンスを送信する。ステップ604に続いてステップ605に進み、通信クライアント部353は、取得したレスポンスをデータ処理部355に出力する。
このとき、データ処理部353では、前述したとおり、第一の記述形式で記述されたレスポンスを取得し、データの解析を行い、応答項目を取得する。
ステップ605に続いてステップ606に進み、通信クライアント部353は、解析された応答項目を情報アクセス部356に出力する。ステップ606に続いてステップ607に進み、情報アクセス部356は、ビュー生成部357に対し、応答項目に基づいて表示画面を生成するよう依頼する。次に、表示画面の生成依頼を受けたビュー生成部357の処理について説明する。
<ビュー生成部の処理>
図21は、クライアントPC側の表示画面データ生成処理を示すフローチャートである。ステップ701からステップ709まで応答項目のデータがなくなるまで、ビュー生成手段357によって、表示画面データを生成する処理が繰り返される。
ステップ702では、応答項目におけるデータが既知のデータ形式か否か判定される。ステップ702により既知のデータ形式であると判定された場合、ステップ703からステップ705までを繰り返すことで、既知のデータに対応した表示画面データを生成する。
ステップ702により新規のデータ形式であると判定された場合、ステップ706からステップ708までを繰り返すことで、新規のデータに対し、所定の規則に従って表示画面データを生成する。ここで、新規のデータ形式とは、MFP300側で新しく拡張された機能におけるデータのデータ形式をいう。所定の規則とは、既知のデータに対して表示画面データを生成する規則などであって、クライアントPC側で表示画面データを生成することができる規則のことである。
これより、ビュー生成部357に対して新規のデータが入力されたとしても、所定のデータ形式(第一の記述形式)で記述されているため、新規データを既存の表示形式に従って表示画面データを生成することができる。
<アドレス帳を新機能として追加した場合の処理>
次に、本発明を適用した具体例について説明する。ここでは、従来MFPの機能になかった「アドレス帳機能」を新機能として追加した場合の処理について説明する。図22は、追加したアドレス帳機能の例を示す図である。
図22に示すように、アドレス帳ロジック部2101は、アドレス帳の機能として、フレームワークで定義されているI/Fの全て(GET:参照、PUT:変更、POST:作成、DELETE:削除)に対応するよう生成されている。
アドレス帳拡張データ部2102は、拡張されたデータ部分を所定の記述形式で保持する。図23は、アドレス帳拡張データ部2102が保持するデータの一例を示す図である。図23の例では、アドレス帳拡張データ部2102には、XMLの記述に対応するようにデータが保持されている。
図22に戻り、アドレス帳管理部2103は、このアドレス帳機能がMFPに追加されたとき、アドレス帳機能を識別する識別子とロジック名とをロジック管理部1203に出力する。ここで、識別子の例としては「/addressbook」などがある。アドレス帳処理部2104は、アドレス帳ロジック部2101で規定された処理を実行する。
ここで、図24は、アドレス帳の拡張データが表示画面に表示された例を示す図である。図24は、図23に示す拡張データが、表示画面に表示された例を示している。
<追加されたアドレス帳を参照するときのMFP側の処理>
図25は、クライアントからの追加されたアドレス帳の参照要求に対する処理を示すシーケンス図である。ステップ801では、利用者(ユーザー)が、クライアントPC350を用いてMFP300に、アドレス帳の参照を要求項目とするリクエストを送信する。リクエストはhttpリクエストとして送信されてもよく、ここでは、GET(http://sample.com/ws/addressbook)を通信サーバ304に出力する。
ステップ801に続いてステップ802に進み、通信サーバ部304は、ロジック管理部1203に対し、ステップ101で受信されたリクエストを処理する依頼を出力する。ステップ802に続いてステップ803に進み、ロジック管理部1203は、共通処理部1202に対し、共通処理の依頼を行う。
ステップ803に続いてステップ804に進み、ロジック管理部1203は、リクエストに含まれる識別子(/addressbook)を取得し、取得した識別子が、自身が管理する管理テーブルに格納されているか否かの判定を行なう。次に、ロジック管理部1203は、取得した識別子が管理テーブルに格納されている場合は、管理テーブルに格納される識別子とロジック名とに基づいてアドレス帳ロジック部2101を生成する。
ステップ804に続いてステップ805に進み、共通処理部1202は、生成されたアドレス帳ロジック部2101に対し、リクエストに含まれる要求項目(参照)の処理依頼を行う。ステップ805に続いてステップ806に進み、アドレス帳ロジック部2101は、アドレス帳処理部2104に対し、リクエストに含まれる要求項目(参照)の処理を依頼する。
ステップ806に続いてステップ807に進み、アドレス帳ロジック部2101は、アドレス帳処理部2104から参照して取得したデータから、アドレス帳拡張データ部2103を生成する。アドレス帳拡張データ部2102では、新機能(アドレス帳機能)の拡張データが保持される。
ステップ807に続いてステップ808に進み、アドレス帳ロジック部2101は、処理が終了した旨の応答項目を取得し、共通処理部1202に対し、応答項目を含むレスポンスを生成するよう依頼する。応答項目は、所定のデータ形式でもよく、また、第二の記述形式によるものでもよい。なお、第二の記述形式とは、例えば、レスポンスがXMLによって、記述される場合に、その応答項目の属する名前空間、変数名又はタグ名、及び、値を含むとよい。
ステップ808に続いてステップ809に進み、共通処理部1202は、レスポンスに応答項目が含まれる場合は、データ処理部1202に対し、レスポンスの生成処理を依頼する。
ステップ809に続いてステップ810に進み、共通処理部1202は、データ処理部305が生成した応答項目を含むレスポンスをロジック管理部1203に出力する。レスポンスは第一の記述形式によって記述されており、例えばXMLによって表記される。より詳細には、APP、Atom、又は、その他の拡張方式によって表記される。どの形式によって表記されるかは、例えば、どの形式でレスポンスを返して欲しいというリクエストの記述内容や、画像形成装置の形式のサポート状況によって異なる。
ステップ810に続いてステップ811に進み、ロジック管理部1203は、通信サーバ部304に対し、レスポンスとそのレスポンスを送信する依頼が出力される。ステップ411に続いてステップ412に進み、通信サーバ部304は、クライアントPC350にレスポンスを送信する。
これより、追加されたアドレス帳機能について、追加されたアドレス帳に対応するWSDLを取得する必要なく、また、特別なプログラムを生成する必要なく、クライアントPC350側は識別子を変更するのみで、MFPの新機能に対して処理できるようになる。
<追加されたアドレス帳に変更要求を出力するクライアント側の処理>
図26は、MFPに追加されたアドレス帳に変更要求を出力するクライアントPC側の処理を示すシーケンス図である。
ステップ901では、UI358が、ユーザーにより指示された変更の要求項目を情報アクセス部356に出力する。ステップ901に続いてステップ902に進み、情報アクセス部356は、通信クライアント部353に対し、ユーザーにより指示された変更要求をMFP300に送信するよう通信要求を出力する。
ステップ902に続いてステップ903に進み、通信クライアント部353は、要求項目をリクエストとしてMFP300に送信する。このとき、リクエストは、httpリクエストとして表現した場合、HTTPのPUT(http://sample.com/ws/addressbook/hoge)がMFP300に送信される。
ステップ903に続いてステップ904に進み、MFP300は、通信クライアント部353に対し、リクエストに対応するレスポンスを送信する。ステップ904に続いてステップ905に進み、通信クライアント部353は、データ処理部355に対し、レスポンスのデータを解析するよう依頼する。
このとき、データ処理部355では、前述したとおり、第一の記述形式で記述されたレスポンスを取得し、データの解析を行い、応答項目を取得する。
ステップ905に続いてステップ906に進み、通信クライアント部353は、解析された応答項目を情報アクセス部356に出力する。ステップ906に続いてステップ907に進み、情報アクセス部356は、ビュー生成部357に対し、応答項目に基づいて表示画面データを生成するよう依頼する。
ここで、図27は、アドレス帳に変更要求を出力した際のレスポンスの例を示す図である。つまり、ステップ904において、MFP300から、図27に示すようなレスポンスが送信されたとする。
次にステップ905に続いて、データ処理部355が図27に示すレスポンスの解析を行う。ここで、図27に示す符号xの部分については、MFP300側で新たに追加された拡張データ(新規データ)であるため、クライアント側はこのデータを知らない。
図28は、新規データに対して表示画面データを生成する例を示す図である。図28(a)は、クライアントPC側のデータ処理を示す図である。図28(a)に示すように、クライアントPC350が知らない符号xの新規なデータ部分に対して、クライアントPC350で処理できるように、名前空間、要素名、値に記述形式が変換される。
次にステップ907に続いて、ビュー生成手段357は、取得した応答項目に対して表示画面データを生成する。このとき、図27に示す符号xの新規なデータを図28(a)に示すように変換することで、クライアントPC側で決まった規則に従って処理を行い、新規なデータを表示画面に表示することが可能となる。
図28(b)は、新規なデータが表示画面に表示された例を示す図である。図24と図28(b)とを比較すればわかるように、同じデータに対して異なる表示画面データが生成される。本来は、図24に示す画面が表示されるところ、クライアントPC側では、新規なデータに対して、クライアントPC350の表示画面データ生成に係る規則に従って表示画面データを生成した結果、図28(b)に示すような表示画面が表示される。
これより、クライアントPC側では、特にデータを知らなくても規則的に表示画面データの生成処理を行うことができるようになっている。また、表示画面データの生成処理は一例であり、データの中身を知らなくても処理が実行できるのであれば、特にクライアント側で修正を加える必要なく対応することが可能である。
また、実施例1では、クライアントPCとサーバ(MFP等)間のやりとりは1回で済むようにリクエスト又はレスポンスの中に、機器の設定に必要なパラメータ等を全て記述していることにより、表示画面データの表示程度であれば1回のやりとりで処理を済ませることができる。
<コンピュータの構成>
図29は、実施例1のMFP又はクライアントPCを実現するコンピュータの構成図である。図29のコンピュータは、主処理部2800、入力デバイス2804、表示装置2805、プリンタ2806、スキャナ2807、及び、HDD2808を有する。
主処理部2800は、コンピュータの機能を実現する主たる部分であり、CPU2801、ROM2802、及び、RAM2803を有する。CPU2801は、コンピュータプログラムをROM2802等から読み出し、RAM2803に展開することにより、実施例1の処理に係るコンピュータプログラムを実行する。ROM2802は不揮発性のメモリであり、CPU2801によって実行されるプログラム、及び、MFP又はクライアントPCの制御に必要なパラメータ等を保持する。RAM2803は、CPU2801が処理を行う際の、ワークメモリである。
入力デバイス2804は、例えば、キーボード等であり、操作者が指示の入力を行う際に使用する。表示装置2805は、コンピュータの状態等の表示を行う。プリンタ430は、画像を媒体に形成して出力する装置であり、スキャナ2807は、媒体上に形成された画像を光学的に読み取る装置である。HDD2808は、画像のデータ等の大容量のデータを格納する。
実施例1のコンピュータプログラムは、HDD2808、又は、ROM2802に格納される他に、その他図示しないドライブ装置に挿入可能な記録媒体に格納されていてもよい。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記以外にも種々の変形・変更が可能である。また、図4に示すように、MFPとクライアントPCとを接続して画像形成システムとしても、本願発明の目的を達成することができる。
本実施例による画像形成システムの概略構成の例を示す図。 実施例1に係る画像形成システムの概要を示す図。 実施例1に係る画像形成システムの詳細な構成を示す図。 実施例1に係るMFPとPCとの主要機能構成の例を示す図。 リクエストが解析される処理の例を示すフローチャート。 リクエストの例を示す図。 要求項目を第二の記述形式に変換する例を示す図。 レスポンスが生成される処理の例を示すフローチャート。 第二の記述形式による応答項目から第一の記述形式によるレスポンスが生成されることを示す図。 レスポンスの例を示す図。 レスポンスの例を示す図。 Webサービス・フレームワークの内部構成を示す図。 共通I/Fと共通処理部との例を示す図。 ロジック管理部の内部構成を示す図。 記憶手段に格納される管理テーブルの例を示す図。 新機能を追加したときの管理テーブルへの登録処理を示すシーケンス図。 新機能を削除したときの管理テーブルへの削除処理を示すシーケンス図。 クライアントからの参照要求に対する処理を示すシーケンス図。 クライアントからのデータ作成・変更要求に対する処理を示すシーケンス図。 クライアントPCの処理を示すシーケンス図。 クライアントPC側の表示画面生成処理を示すフローチャート。 追加したアドレス帳機能の例を示す図。 アドレス帳拡張データ部が保持するデータの一例を示す図。 アドレス帳の拡張データが表示画面に表示された例を示す図。 クライアントからの追加されたアドレス帳の参照要求に対する処理を示すシーケンス図。 MFPに追加されたアドレス帳に変更要求を出力するクライアントPC側の処理を示すシーケンス図。 アドレス帳に変更要求を出力した際のレスポンスの例を示す図。 新規データに対して表示画面データを生成する例を示す図。 実施例1のMFP又はクライアントPCを実現するコンピュータの構成図。
符号の説明
1、2、3、201、350、450 クライアントPC
4、5、6、202、300、400 MFP
301,351 ネットワークインタフェース
302、352 Webサービス・フレームワーク
303、353 通信クライアント部
304、354 通信サーバ部
305、355 データ処理部
306 情報処理ロジック部
307、356 情報アクセス部
308 情報保持部
309 新機能
310 新機能ロジック部
311 新機能拡張データ部
312 機能管理部
313 機能処理部
357 ビュー生成部
358 UI
401 リクエスト解析手段
402 処理内容取得手段
403 レスポンス生成手段
404、454 通信手段
405、455 機能実現手段
406、456 一覧管理手段
407、457 データ形式保持手段
451 リクエスト生成手段
452 レスポンス解析手段
453 ステータス取得手段
1201 共通I/F
1202 共通処理部
1203 ロジック管理部
1401 判定手段
1402 記憶手段
1403 生成手段
2100 アドレス帳機能
2101 アドレス帳ロジック部
2102 アドレス帳拡張データ部
2103 アドレス帳管理部
2104 アドレス帳処理部

Claims (13)

  1. クライアント装置からの第一の記述形式によるリクエストを受信する通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段とを備える画像形成装置であって、
    クエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、
    複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段と、を備え、
    前記管理手段は、
    新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行なわせるためのロジック部を生成し、
    前記共通処理手段は、
    前記管理手段により生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う画像形成装置。
  2. 当該画像形成装置に新規な機能実現手段が追加された場合、
    前記管理手段は、前記新規な機能実現手段の識別情報とロジック名とをさらに前記記憶手段に記憶して管理し、
    前記データ処理手段は、
    前記新規な機能実現手段に対する要求項目を含むリクエストが受信された場合、該リクエストに含まれる要求項目を前記第二の記述形式に変換する請求項1記載の画像形成装置。
  3. 前記管理手段は、
    前記ロジック部を生成する場合、前記共通処理手段で定義される複数の処理のうち、前記識別情報に対応する機能実現手段に必要な処理のみを規定する請求項1又は2記載の画像形成装置。
  4. 前記リクエスト中に、前記要求項目における処理対象のデータが含まれている場合、
    前記ロジック部は前記データ処理手段に前記処理対象のデータの解析依頼を行う請求項1乃至3何れか一項に記載の画像形成装置。
  5. 前記機能実現手段毎に、前記処理内容に対応する応答項目のデータ形式を保持するデータ形式保持手段と、
    前記機能実現手段から、前記応答項目のデータ形式による応答項目、及び/又は、前記第二の記述形式による応答項目を取得して、前記第一の記述形式により前記応答項目が記述されたレスポンスを生成するレスポンス生成手段と、を備え、
    前記通信手段は、さらに、前記レスポンスを前記クライアント装置に送信する請求項1乃至4何れか一項に記載の画像形成装置。
  6. クライアント装置からの第一の記述形式によるリクエストを受信する通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段と、リクエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段とを備える画像形成装置における情報処理方法であって、
    前記管理手段が、新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行わせるためのロジック部を生成する生成ステップと、
    前記共通処理手段が、前記生成ステップにより生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う依頼ステップと、
    を有する情報処理方法。
  7. 当該画像形成装置に新規な機能実現手段が追加された場合、
    前記管理手段が、前記新規な機能実現手段の識別情報とロジック名とをさらに前記記憶手段に記憶する記憶ステップと、
    前記データ処理手段が、前記新規な機能実現手段に対する要求項目を含むリクエストが受信された場合、該リクエストに含まれる要求項目を前記第二の記述形式に変換する変換ステップとを有する請求項6記載の情報処理方法。
  8. 前記生成ステップは、前記共通処理手段で定義される複数の処理のうち、前記識別情報に対応する機能実現手段に必要な処理のみを規定して前記ロジック部を生成する請求項6又は7記載の情報処理方法。
  9. 前記リクエスト中に、前記要求項目における処理対象のデータが含まれている場合、
    前記ロジック部は、前記データ処理部手段に前記データの解析依頼を行う依頼ステップを有する請求項6乃至8何れか一項に記載の情報処理方法。
  10. 前記画像形成装置は、前記機能実現手段毎に、前記処理内容に対応する応答項目のデータ形式を保持するデータ形式保持手段を備え、
    レスポンス生成手段が、前記機能実現手段から、前記応答項目のデータ形式による応答項目、及び/又は、前記第二の記述形式による応答項目を取得して、前記第一の記述形式により前記応答項目が記述されたレスポンスを生成するレスポンス生成ステップと、
    前記通信手段が、前記レスポンスを前記クライアント装置に送信する送信ステップと
    を有する請求項6乃至9何れか一項に記載の情報処理方法。
  11. クライアント装置と画像形成装置が接続された画像形成システムであって、
    前記クライアント装置は、
    前記画像形成装置に対する要求項目を有するリクエストを第一の記述形式により生成するリクエスト生成手段と、
    前記リクエストを送信する第一の通信手段と、を備え、
    前記画像形成装置は、クライアント装置からの第一の記述形式によるリクエストを受信する第二の通信手段と、該リクエストに含まれる要求項目に対応する処理内容のデータ形式がある場合は、前記要求項目を前記データ形式に変換し、前記データ形式がない場合は、前記要求項目を第二の記述形式に変換するデータ処理手段とを備える画像形成装置であって、
    クエストに含まれる要求項目に対し、前記データ処理手段により変換された形式で処理を実行する機能実現手段であって、画像形成装置に備えられた該機能実現手段の識別情報とロジック名とを関連付けて記憶手段に記憶して管理する管理手段と、
    複数の前記機能実現手段に共通して必要な処理を定義する共通処理手段とを備え、
    前記管理手段は、
    新たに受信されたリクエストに含まれる要求項目に対する前記機能実現手段の識別情報が、前記記憶手段に記憶されている場合、前記識別情報と前記ロジック名とに基づいて、前記機能実現手段に処理を行わせるためのロジック部を生成し、
    前記共通処理手段は、
    前記管理手段により生成されたロジック部に対し、前記リクエストに含まれる要求項目の処理依頼を行う画像形成システム。
  12. 前記画像形成装置において、
    前記機能実現手段毎に、前記処理内容に対応する応答項目のデータ形式を保持するデータ形式保持手段と、
    前記機能実現手段から、前記応答項目のデータ形式による応答項目、及び/又は、前記第二の記述形式による応答項目を取得して、前記第一の記述形式により前記応答項目が記述されたレスポンスを生成するレスポンス生成手段とを備え、
    前記第二の通信手段は、さらに、前記レスポンスを前記クライアント装置に送信する請求項11に記載の画像形成システム。
  13. 前記クライアント装置は、さらに、
    前記第一の通信手段より受信されたレスポンスに基づいて表示画面データを生成する表示画面生成手段を備え、
    前記表示画面生成手段は、
    前記第二の記述形式による応答項目に基づいて前記レスポンスが生成された場合、該応答項目のデータに対して、前記クライアント装置により表示可能な表示規則に従って前記表示画面データを生成する請求項12に記載の画像形成システム。
JP2008177332A 2008-07-07 2008-07-07 画像形成装置、情報処理方法、及び、画像形成システム Expired - Fee Related JP5157690B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008177332A JP5157690B2 (ja) 2008-07-07 2008-07-07 画像形成装置、情報処理方法、及び、画像形成システム
US12/492,175 US8363238B2 (en) 2008-07-07 2009-06-26 Image forming apparatus having a management unit and a shared processing unit, information processing method using the image forming apparatus, and image forming system having the image forming apparatus
EP09251730A EP2144162A1 (en) 2008-07-07 2009-07-03 Image forming apparatus, information processing method, and image forming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008177332A JP5157690B2 (ja) 2008-07-07 2008-07-07 画像形成装置、情報処理方法、及び、画像形成システム

Publications (2)

Publication Number Publication Date
JP2010016778A JP2010016778A (ja) 2010-01-21
JP5157690B2 true JP5157690B2 (ja) 2013-03-06

Family

ID=41076752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008177332A Expired - Fee Related JP5157690B2 (ja) 2008-07-07 2008-07-07 画像形成装置、情報処理方法、及び、画像形成システム

Country Status (3)

Country Link
US (1) US8363238B2 (ja)
EP (1) EP2144162A1 (ja)
JP (1) JP5157690B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5510056B2 (ja) * 2010-05-17 2014-06-04 富士ゼロックス株式会社 画像形成装置及びプログラム
JP5668376B2 (ja) * 2010-09-06 2015-02-12 株式会社リコー 画像形成システム、サーバ、画像形成装置及びプログラム
JP5711512B2 (ja) * 2010-12-10 2015-04-30 キヤノン株式会社 情報処理装置及び当該情報処理装置を制御するための制御方法
JP2012213144A (ja) 2011-03-18 2012-11-01 Ricoh Co Ltd 情報処理装置、情報処理システム、機器連携方法およびプログラム
JP5720649B2 (ja) 2011-11-04 2015-05-20 株式会社リコー 機器管理装置およびプログラム
JP5551141B2 (ja) * 2011-11-05 2014-07-16 京セラドキュメントソリューションズ株式会社 クライアントサイドWebサービスインターフェイス及びこれを備えたソフトウェア開発キット並びにこの開発キットを用いたソフトウェア開発方法
JP6194575B2 (ja) 2012-03-19 2017-09-13 株式会社リコー 情報処理装置、情報処理方法、およびプログラム
US9231819B2 (en) * 2012-11-30 2016-01-05 Red Hat Israel, Ltd. Abstracting restful web service HTTP between a client and a server
JP7516754B2 (ja) 2019-12-19 2024-07-17 株式会社リコー 情報処理システム、方法、プログラムおよび記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272317A (ja) 2003-03-05 2004-09-30 Hitachi Ltd プログラム管理方法及びシステム並びにその処理プログラムを格納した記憶媒体
JP2005055983A (ja) 2003-08-06 2005-03-03 Canon Inc サービス管理方法、サービス管理装置および制御プログラム
JP2006072910A (ja) 2004-09-06 2006-03-16 Ricoh Co Ltd クライアント、サービス利用プログラム及び記録媒体
US7970813B2 (en) * 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration and subscription
US8051140B2 (en) * 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for imaging device control
JP2006252481A (ja) * 2005-03-14 2006-09-21 Ricoh Co Ltd 機能提供装置、機能提供方法、機能提供プログラム及び記録媒体
JP5041972B2 (ja) 2007-11-07 2012-10-03 株式会社リコー 画像形成装置、画像形成システム、情報処理装置、コンピュータプログラム、及び情報記録媒体
US20090063612A1 (en) 2007-08-30 2009-03-05 Kiyohiro Hyo Image forming apparatus and image forming system

Also Published As

Publication number Publication date
US20100002254A1 (en) 2010-01-07
JP2010016778A (ja) 2010-01-21
US8363238B2 (en) 2013-01-29
EP2144162A1 (en) 2010-01-13

Similar Documents

Publication Publication Date Title
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
JP4811808B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP5448542B2 (ja) 情報処理装置、制御方法、及びプログラム
US20090063612A1 (en) Image forming apparatus and image forming system
US20060200867A1 (en) Document processing device, and document processing control method thereof
JP2021149782A (ja) 情報処理装置、印刷システム、画像形成装置、情報処理方法、及びプログラム
JP2004303218A (ja) 情報提供装置及び情報表示装置
US20100220352A1 (en) Image forming apparatus, image forming system, and information processing method
US7822864B2 (en) Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product
US8959126B2 (en) Device management apparatus and device management method
JP2014041591A (ja) 機器管理装置、機器管理システムおよびプログラム
JP2005050018A (ja) 文書ファイル管理装置及びデータ構造
JP5041972B2 (ja) 画像形成装置、画像形成システム、情報処理装置、コンピュータプログラム、及び情報記録媒体
JP6413219B2 (ja) 情報処理システム、変換送信システム及び変換送信方法
JP2005322222A (ja) 通信機能付加方法、プログラム、記録媒体及び通信装置
JP5223653B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2006202176A (ja) 文書管理システムおよび文書管理方法
JP5235349B2 (ja) フロー記述文書処理装置、フロー記述文書処理方法及びプログラム
US8024375B2 (en) Method and apparatus for processing messages
JPH11249835A (ja) 印刷システム及び印刷方法並びに印刷処理プログラムが記録された記録媒体
JP2006065549A (ja) データ管理装置
JP4089519B2 (ja) ユーザ管理付加情報を利用可能な業務システム及びサーバ並びにプログラム
JP2011090691A (ja) ドキュメント処理装置、ドキュメント処理装置の制御方法、及びプログラム
JP2004272888A (ja) サービス提供装置、ユーザ端末装置、サービス提供方法、サービス利用方法、サービス提供プログラム、サービス利用プログラム及び記録媒体
JP2005107884A (ja) インタフェース定義記述を生成する方法、およびインタフェース定義記述生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

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: 20121113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121126

R151 Written notification of patent or utility model registration

Ref document number: 5157690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees