(57)【要約】【課題】異なるサービスを利用可能なアプリケーションの保守性を向上させることができる情報処理システム、情報処理装置、処理要求方法及びプログラムを提供する。【解決手段】ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得部１７１と、機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、第１環境情報と一致するか否かを判定する判定部１７２と、判定結果に応じた処理要求をサービスに送信する処理要求部１７４と、を備える。【選択図】図２
2015172914.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得部と、
前記機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、前記第１環境情報と一致するか否かを判定する判定部と、
判定結果に応じた処理要求を前記サービスに送信する処理要求部と、
を備える情報処理システム。
【請求項２】
前記第２環境情報が前記第１環境情報と異なる場合、前記処理要求を前記第１環境情報に応じた処理要求に変換する変換部を更に備え、
前記処理要求部は、前記変換された処理要求を前記サービスに送信する請求項１に記載の情報処理システム。
【請求項３】
環境情報毎に当該環境情報に応じた処理要求に用いられるパラメータを定義したパラメータ情報を記憶する記憶部を更に備え、
前記変換部は、前記第２環境情報が前記第１環境情報と異なる場合、前記パラメータ情報を参照して、前記処理要求のパラメータを、前記第１環境情報のパラメータに変換する請求項２に記載の情報処理システム。
【請求項４】
前記処理要求部は、前記第２環境情報が前記第１環境情報と一致する場合、前記処理要求を前記サービスに送信する請求項１〜３のいずれか１つに記載の情報処理システム。
【請求項５】
前記サービスに対して、当該サービスで実行されたイベントの有無を確認する確認部と、
実行されたイベントがある場合、当該実行されたイベントに関するイベント情報を通知する通知部と、
を更に備える請求項１〜４のいずれか１つに記載の情報処理システム。
【請求項６】
前記サービスから、当該サービスで実行されたイベントに関するイベント情報を受信する受信部と、
前記イベント情報を通知する通知部と、
を更に備える請求項１〜４のいずれか１つに記載の情報処理システム。
【請求項７】
前記サービスは、前記送信された処理要求を実行する請求項１〜６のいずれか１つに記載の情報処理システム。
【請求項８】
前記サービスは、画像形成装置が第１ネットワーク上で提供するサービス又はクラウドが第２ネットワーク上で提供するサービスである請求項１〜７のいずれか１つに記載の情報処理システム。
【請求項９】
ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得部と、
前記機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、前記第１環境情報と一致するか否かを判定する判定部と、
判定結果に応じた処理要求を前記サービスに送信する処理要求部と、
を備える情報処理装置。
【請求項１０】
ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得ステップと、
前記機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、前記第１環境情報と一致するか否かを判定する判定ステップと、
判定結果に応じた処理要求を前記サービスに送信する処理要求ステップと、
を含む処理要求方法。
【請求項１１】
ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得ステップと、
前記機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、前記第１環境情報と一致するか否かを判定する判定ステップと、
判定結果に応じた処理要求を前記サービスに送信する処理要求ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、処理要求方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、ＷｅｂブラウザにＵＩ画面を表示する際に、１以上のスクリプトを用いて、Ｗｅｂブラウザの種類やバージョンの差異を吸収する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、近年では、クラウドによりネットワーク上で提供されるサービスを用いて処理を行う技術や、画像形成装置によりネットワーク上で提供されるサービスを用いて処理行う技術なども普及しだしている。
【０００４】
ここで、これらの異なるサービスを単一のアプリケーションで利用できれば、ユーザの利便性を向上できるが、この場合、サービスそれぞれの環境が変化する毎にアプリケーションの頻更が必要となり、アプリケーションの保守性が劣ってしまう。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、異なるサービスを利用可能なアプリケーションの保守性を向上させることができる情報処理システム、情報処理装置、処理要求方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる情報処理システムは、ネットワークを介して機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する取得部と、前記機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、前記第１環境情報と一致するか否かを判定する判定部と、判定結果に応じた処理要求を前記サービスに送信する処理要求部と、を備える。
【発明の効果】
【０００７】
本発明によれば、異なるサービスを利用可能なアプリケーションの保守性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態の情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、本実施形態のクライアント端末の構成の一例を示すブロック図である。
【図３】図３は、本実施形態のパラメータ情報の一例を示す図である。
【図４】図４は、本実施形態のクラウドサーバ装置の構成の一例を示すブロック図である。
【図５】図５は、本実施形態のイベントの状態の一例の説明図である。
【図６】図６は、本実施形態のイベントの状態の一例の説明図である。
【図７】図７は、本実施形態の画像形成装置の構成の一例を示すブロック図である。
【図８】図８は、本実施形態の情報処理システムで実行される取得処理の一例を示すフローチャートである。
【図９】図９は、本実施形態の情報処理システムで実行される処理要求処理の一例を示すフローチャートである。
【図１０】図１０は、本実施形態の情報処理システムで実行されるイベント通知処理の一例を示すフローチャートである。
【図１１】図１１は、本実施形態の各装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明にかかる情報処理システム、情報処理装置、処理要求方法及びプログラムの最良な実施の形態を詳細に説明する。
【００１０】
図１は、本実施形態の情報処理システム１の構成の一例を示すブロック図である。図１に示すように、情報処理システム１は、クライアント端末１００（情報処理装置の一例）と、アプリケーションサーバ装置２００（以下、「アプリサーバ装置２００」と称する）と、クラウドサーバ装置３００と、画像形成装置４００（情報処理装置の一例）と、を備える。
【００１１】
クライアント端末１００、アプリサーバ装置２００、及び画像形成装置４００は、第１ネットワーク２に接続されている。クラウドサーバ装置３００は、第２ネットワーク３に接続されている。第１ネットワーク２は、第２ネットワーク３と接続されている。
【００１２】
第１実施形態では、第１ネットワーク２がＬＡＮ（Local  Area  Network）であり、第２ネットワーク３がインターネットであることを想定しているが、第１ネットワーク２及び第２ネットワーク３は、これに限定されるものではない。
【００１３】
クラウドサーバ装置３００は、第２ネットワーク３上で機能を提供するものであり、例えば、コンピュータなどにより実現できる。クラウドサーバ装置３００は、第２ネットワーク３上で機能を提供するクラウドサービス３５１（サービスの一例）を有する。第１実施形態では、クラウドサービス３５１が提供する機能は、画像形成（例えば、印刷やスキャナ）に関する機能であるものとするが、これに限定されるものではない。
【００１４】
画像形成装置４００は、画像を形成するものであり、例えば、印刷装置、複写機、複合機（ＭＦＰ：Multifunction  Peripheral）、スキャナ装置、及びファクシミリ装置などが挙げられる。複合機は、複写機能、印刷機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有するものである。なお本実施形態では、画像形成装置４００が複合機である場合を想定して説明するが、これに限定されるものではない。
【００１５】
画像形成装置４００は、第１ネットワーク２上で機能を提供するＷｅｂサービス４７２（サービスの一例）と、当該Ｗｅｂサービス４７２やクラウドサービス３５１を利用するためのＷｅｂブラウザ４７１とを、有する。なお、Ｗｅｂサービス４７２が提供する機能は、オンプレミス環境内（第１ネットワーク２上）で利用可能であり、オンプレミス環境外からは利用できない。第１実施形態では、Ｗｅｂサービス４７２が提供する機能は、画像形成（例えば、印刷やスキャナ）に関する機能であるものとするが、これに限定されるものではない。
【００１６】
クライアント端末１００は、例えば、スマートフォンやタブレット端末などにより実現できる。クライアント端末１００は、Ｗｅｂサービス４７２やクラウドサービス３５１を利用するためのＷｅｂブラウザ１６０を有する。
【００１７】
アプリサーバ装置２００は、Ｗｅｂサービス４７２及びクラウドサービス３５１の双方を利用するためのＷｅｂアプリケーション（以下、「Ｗｅｂアプリ」と称する）のＷｅｂアプリケーションプログラム（以下、「Ｗｅｂアプリプログラム」と称する）と、当該Ｗｅｂアプリに対する１以上のスクリプトプログラムとを、クライアント端末１００や画像形成装置４００に配信するものであり、例えば、コンピュータなどにより実現できる。
【００１８】
図２は、本実施形態のクライアント端末１００の構成の一例を示すブロック図である。図２に示すように、クライアント端末１００は、通信部１１０と、操作部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを、備える。
【００１９】
通信部１１０は、第１ネットワーク２及び第２ネットワーク３の少なくとも一方を介して、アプリサーバ装置２００、クラウドサーバ装置３００、及び画像形成装置４００などの外部装置と通信するものであり、ＮＩＣ（Network  Interface  Card）などにより実現できる。
【００２０】
操作部１２０は、各種操作の入力を行うものであり、キーボード、マウス、及びタッチパネルなどの入力装置により実現できる。
【００２１】
表示部１３０は、各種画面を表示するものであり、液晶ディスプレイ及びタッチパネル式ディスプレイなどの表示装置により実現できる。
【００２２】
記憶部１４０は、クライアント端末１００で実行される各種プログラム、及びクライアント端末１００で行われる各種処理に使用されるデータを記憶する。記憶部１４０は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＯＭ（Read  Only  Memory）、及びＲＡＭ（Random  Access  Memory）などの磁気的、光学的、及び電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００２３】
制御部１５０は、クライアント端末１００の各部を制御するものであり、例えば、ＣＰＵ（Central  Processing  Unit）などの制御装置により実現できる。制御部１５０は、Ｗｅｂブラウザ１６０を、含む。
【００２４】
Ｗｅｂブラウザ１６０は、Ｗｅｂを利用するためのアプリケーションであり、例えば、制御部１５０が、記憶部１４０に記憶されているＷｅｂブラウザプログラムを実行（起動）することにより実現される。
【００２５】
Ｗｅｂブラウザ１６０は、Ｗｅｂアプリ１６１と、スクリプト１７０−１〜１７０−ｎ（ｎは、１以上の自然数）とを、含む。
【００２６】
Ｗｅｂアプリ１６１は、Ｗｅｂブラウザ１６０が、アプリサーバ装置２００から配信されたＷｅｂアプリプログラムを読み込み、解析して実行することにより、Ｗｅｂブラウザ１６０上で実現される。スクリプト１７０−１〜１７０−ｎは、Ｗｅｂブラウザ１６０が、アプリサーバ装置２００から配信されたＷｅｂアプリに対するｎ個のスクリプトプログラムを読み込み、解析して実行することにより、Ｗｅｂブラウザ１６０上で実現される。
【００２７】
以下では、スクリプト１７０−１〜１７０−ｎについては、スクリプト１７０−１を例に取り説明する。なお、スクリプト１７０−１は、クラウドサービス３５１の環境の差異を吸収するものである。スクリプト１７０−２〜１７０−ｎについては、説明を省略するが、差異を吸収する対象（サービスの環境）が異なる点を除き、スクリプト１７０−１と同様である。
【００２８】
スクリプト１７０−１は、取得部１７１と、判定部１７２と、変換部１７３と、処理要求部１７４と、確認部１７５と、通知部１７６とを、含む。
【００２９】
取得部１７１は、第１ネットワーク２及び第２ネットワーク３の少なくとも一方を介して、機能を提供するサービスから、当該機能の情報である機能情報と、当該サービスの環境に関する環境情報である第１環境情報と、を取得する。本実施形態では、環境は、サービスのバージョンであるものとするが、これに限定されるものではない。
【００３０】
具体的には、取得部１７１は、Ｗｅｂアプリ１６１の指示を受け、クラウドサービス３５１へアクセスし、クラウドサービス３５１から、機能情報と第１環境情報と、を取得し、機能情報をＷｅｂアプリ１６１へ返却する。なお、第１環境情報は、クラウドサービス３５１のバージョンを示す。
【００３１】
判定部１７２は、Ｗｅｂアプリ１６１から、機能情報が示す機能を用いた処理を要求する処理要求を受け付け、当該処理要求に含まれる環境情報である第２環境情報が、取得部１７１により取得された第１環境情報と一致するか否かを判定する。
【００３２】
なお、Ｗｅｂアプリ１６１は、取得部１７１から取得した機能情報を表示部１３０に表示させ、操作部１２０からのユーザ操作に基づいて、使用する機能の選択を受け付け、Ｗｅｂアプリプログラム内で定義されている第２環境情報及び選択を受け付けた機能のパラメータを含む処理要求を、判定部１７２に通知する。
【００３３】
ここで、第２環境情報は、クラウドサービス３５１のバージョンを示すものであるが、Ｗｅｂアプリプログラム内で定義されているため、Ｗｅｂアプリ１６１のリリース時のクラウドサービス３５１のバージョンを示す。このため、Ｗｅｂアプリ１６１のリリース後に、クラウドサービス３５１がバージョンアップした場合には、第２環境情報が示すバージョンと、クラウドサービス３５１の最新のバージョンである第１環境情報が示すバージョンとは、異なることになる。また、処理要求に含まれる機能のパラメータも第２環境情報が示すバージョンでのパラメータである。
【００３４】
変換部１７３は、判定部１７２により第２環境情報が第１環境情報と異なると判定された場合、判定部１７２が受け付けた処理要求を第１環境情報に応じた処理要求に変換する。具体的には、変換部１７３は、判定部１７２により第２環境情報が第１環境情報と異なると判定された場合、環境情報毎に当該環境情報に応じた処理要求に用いられるパラメータを定義したパラメータ情報を参照して、判定部１７２が受け付けた処理要求のパラメータを、第１環境情報のパラメータに変換する。
【００３５】
本実施形態では、パラメータ情報は、記憶部１４０に記憶されているものとするが、これに限定されるものではない。なお本実施形態では、パラメータ情報は、スクリプト１７０−１がＷｅｂブラウザ１６０上で実現されることに伴い、記憶部１４０に記憶される。
【００３６】
図３は、本実施形態のパラメータ情報の一例を示す図であり、クラウドサービス３５１のバージョン毎に印刷機能のパラメータを示している。図３に示す例では、印刷機能のパラメータとして、バージョン１．０のパラメータと、バージョン１．１のパラメータとを示している。なお、パラメータは、パス、メソッド、及びパラムが該当する。図３に示す例では、バージョン１．０のパスと、バージョン１．１のパスとが異なっている。
【００３７】
例えば、第２環境情報がバージョン１．０を示し、第１環境情報がバージョン１．１を示すとする。この場合、判定部１７２により第２環境情報が第１環境情報と異なると判定されるので、変換部１７３は、取得部１７１により取得された第１環境情報に基づいて、パラメータ情報から、バージョン１．１のパラメータを取得し、判定部１７２が受け付けた処理要求のバージョン１．０、バージョン１．０のパラメータを、それぞれ、バージョン１．１、バージョン１．１のパラメータに変換する。
【００３８】
処理要求部１７４は、判定部１７２の判定結果に応じた処理要求をサービスに送信する。具体的には、処理要求部１７４は、判定部１７２により第２環境情報が第１環境情報と異なると判定された場合には、変換部１７３により変換された処理要求をクラウドサービス３５１に送信し、処理結果を取得する。一方、処理要求部１７４は、判定部１７２により第２環境情報が第１環境情報と一致すると判定された場合には、判定部１７２が受け付けた処理要求をクラウドサービス３５１に送信し、処理結果を取得する。
【００３９】
なお処理要求部１７４は、印刷など処理結果に対して更なる処理が必要な場合には、画像形成装置４００など当該更なる処理を実行する装置に、処理結果を送信する。
【００４０】
確認部１７５は、サービスに対して、当該サービスで実行されたイベントの有無を確認する。具体的には、確認部１７５は、処理要求部１７４によりクラウドサービス３５１に処理要求が送信されると、クラウドサービス３５１に対して、実行されたイベントの有無を定期的に確認する。
【００４１】
通知部１７６は、確認部１７５の確認の結果、実行されたイベントがある場合、当該実行されたイベントに関するイベント情報を通知する。具体的には、通知部１７６は、イベント情報をＷｅｂアプリ１６１に通知する。
【００４２】
図４は、本実施形態のクラウドサーバ装置３００の構成の一例を示すブロック図である。図３に示すように、クラウドサーバ装置３００は、通信部３１０と、操作部３２０と、表示部３３０と、記憶部３４０と、制御部３５０とを、備える。
【００４３】
通信部３１０は、第１ネットワーク２及び第２ネットワーク３を介して、クライアント端末１００及び画像形成装置４００などの外部装置と通信するものであり、ＮＩＣなどにより実現できる。
【００４４】
操作部３２０は、各種操作の入力を行うものであり、キースイッチ及びタッチパネルなどの入力装置により実現できる。
【００４５】
表示部３３０は、各種画面を表示するものであり、液晶ディスプレイ及びタッチパネル式ディスプレイなどの表示装置により実現できる。
【００４６】
記憶部３４０は、クラウドサーバ装置３００で実行される各種プログラム、及びクラウドサーバ装置３００で行われる各種処理に使用されるデータを記憶する。記憶部３４０は、例えば、ＨＤＤ、ＳＳＤ、メモリカード、光ディスク、ＲＯＭ、及びＲＡＭなどの磁気的、光学的、及び電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００４７】
制御部３５０は、クラウドサーバ装置３００の各部を制御するものであり、例えば、ＣＰＵなどの制御装置により実現できる。制御部３５０は、クラウドサービス３５１を含む。
【００４８】
クラウドサービス３５１は、前述したように、第２ネットワーク３上で機能を提供するものであり、例えば、ソフトウェアなどにより実現できる。
【００４９】
クラウドサービス３５１は、Ｗｅｂブラウザ１６０やＷｅｂブラウザ４７１から、機能情報及び第１環境情報の取得が行われると、機能情報及び第１環境情報を返却する。なお、クラウドサービス３５１の機能情報及び第１環境情報は、例えば、記憶部３４０内に記憶されている。
【００５０】
また、クラウドサービス３５１は、Ｗｅｂブラウザ１６０やＷｅｂブラウザ４７１から処理要求が行われると、当該処理要求を行い、処理結果を返却する。
【００５１】
また、クラウドサービス３５１は、Ｗｅｂブラウザ１６０から、実行されたイベントの有無の確認が行われると、新たに実行したイベントの有無を確認し、新たに実行したイベントがあれば、当該新たに実行したイベントのイベント情報を返却する。
【００５２】
例えば、クラウドサービス３５１が、印刷ジョブを実行しており、ジョブデータが図５に示す待機中の状態から図６に示す処理中の状態に遷移したとする。そして、ジョブデータが処理中の状態に遷移した後に、Ｗｅｂブラウザ１６０から、実行されたイベントの有無の確認が行われると、クラウドサービス３５１は、新たに実行したイベントのイベント情報として、例えば、ジョブデータのＩＤ及び当該ジョブデータの処理が実行中であることを示す情報などをＷｅｂブラウザ１６０に返却する。
【００５３】
図７は、本実施形態の画像形成装置４００の構成の一例を示すブロック図である。図７に示すように、画像形成装置４００は、通信部４１０と、操作部４２０と、表示部４３０と、記憶部４４０と、印刷部４５０と、読取部４６０と、制御部４７０とを、備える。
【００５４】
通信部４１０は、第１ネットワーク２及び第２ネットワーク３の少なくとも一方を介して、クライアント端末１００、アプリサーバ装置２００、及びクラウドサーバ装置３００などの外部装置と通信するものであり、ＮＩＣなどにより実現できる。
【００５５】
操作部４２０は、各種操作の入力を行うものであり、キースイッチ及びタッチパネルなどの入力装置により実現できる。
【００５６】
表示部４３０は、各種画面を表示するものであり、液晶ディスプレイ及びタッチパネル式ディスプレイなどの表示装置により実現できる。
【００５７】
記憶部４４０は、画像形成装置４００で実行される各種プログラム、及び画像形成装置４００で行われる各種処理に使用されるデータを記憶する。記憶部４４０は、例えば、ＨＤＤ、ＳＳＤ、メモリカード、光ディスク、ＲＯＭ、及びＲＡＭなどの磁気的、光学的、及び電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００５８】
印刷部４５０は、印刷を行うものであり、例えば、プリンタなどにより実現できる。なお、Ｗｅｂブラウザ１６０やＷｅｂブラウザ４７１がクラウドサービス３５１やＷｅｂサービス４７２から取得した処理結果（印刷対象の画像データ）に対して印刷が必要な場合には、印刷部４５０は、当該処理結果（印刷対象の画像データ）を印刷する。
【００５９】
読取部４６０は、原稿から画像データを読み取るものであり、例えば、スキャナなどにより実現できる。
【００６０】
制御部４７０は、画像形成装置４００の各部を制御するものであり、例えば、ＣＰＵなどの制御装置により実現できる。制御部４７０は、Ｗｅｂブラウザ４７１と、Ｗｅｂサービス４７２と、確認部４７３とを、含む。
【００６１】
Ｗｅｂブラウザ４７１は、Ｗｅｂを利用するためのアプリケーションであり、例えば、制御部４７０が、記憶部４４０に記憶されているＷｅｂブラウザプログラムを実行（起動）することにより実現される。
【００６２】
Ｗｅｂブラウザ４７１は、Ｗｅｂアプリ４８０と、スクリプト４９０−１〜４９０−ｎ（ｎは、１以上の自然数）とを、含む。
【００６３】
Ｗｅｂアプリ４８０は、Ｗｅｂブラウザ４７１が、アプリサーバ装置２００から配信されたＷｅｂアプリプログラムを読み込み、解析して実行することにより、Ｗｅｂブラウザ４７１上で実現される。スクリプト４９０−１〜４９０−ｎは、Ｗｅｂブラウザ４７１が、アプリサーバ装置２００から配信されたＷｅｂアプリに対するｎ個のスクリプトプログラムを読み込み、解析して実行することにより、Ｗｅｂブラウザ４７１上で実現される。
【００６４】
以下では、スクリプト４９０−１〜４９０−ｎについては、スクリプト４９０−１を例に取り説明する。なお、スクリプト４９０−１は、Ｗｅｂサービス４７２の環境の差異を吸収するものである。スクリプト４９０−２〜４９０−ｎについては、説明を省略するが、対象が異なる点を除き、スクリプト１７０−１と同様である。
【００６５】
スクリプト４９０−１は、取得部４９１と、判定部４９２と、変換部４９３と、処理要求部４９４と、受信部４９５と、通知部４９６とを、含む。なお、取得部４９１、判定部４９２、変換部４９３、処理要求部４９４は、対象がＷｅｂアプリ４８０及びＷｅｂサービス４７２である点を除き、それぞれ、取得部１７１、判定部１７２、変換部１７３、処理要求部１７４と同様であるため、説明を省略する。受信部４９５及び通知部４９６については、後述する。
【００６６】
Ｗｅｂサービス４７２は、前述したように、第１ネットワーク２上で機能を提供するものであり、例えば、ソフトウェアなどにより実現できる。
【００６７】
Ｗｅｂサービス４７２は、Ｗｅｂブラウザ１６０やＷｅｂブラウザ４７１から、機能情報及び第１環境情報の取得が行われると、機能情報及び第１環境情報を返却する。なお、Ｗｅｂサービス４７２の機能情報及び第１環境情報は、例えば、記憶部４４０内に記憶されている。
【００６８】
また、Ｗｅｂサービス４７２は、Ｗｅｂブラウザ１６０やＷｅｂブラウザ４７１から処理要求が行われると、当該処理要求を行い、処理結果を返却する。
【００６９】
また、Ｗｅｂサービス４７２は、確認部４７３から、実行されたイベントの有無の確認が行われると、新たに実行したイベントの有無を確認し、新たに実行したイベントがあれば、当該新たに実行したイベントのイベント情報を返却する。
【００７０】
例えば、Ｗｅｂサービス４７２が、印刷ジョブを実行しており、ジョブデータが図５に示す待機中の状態から図６に示す処理中の状態に遷移したとする。そして、ジョブデータが処理中の状態に遷移した後に、確認部４７３から、実行されたイベントの有無の確認が行われると、Ｗｅｂサービス４７２は、新たに実行したイベントのイベント情報として、例えば、ジョブデータのＩＤ及び当該ジョブデータの処理が実行中であることを示す情報などを確認部４７３に返却する。
【００７１】
確認部４７３は、Ｗｅｂサービス４７２に対して、当該Ｗｅｂサービス４７２で実行されたイベントの有無を確認する。具体的には、確認部４７３は、Ｗｅｂサービス４７２に対して、実行されたイベントの有無を定期的に確認する。そして確認部４７３は、Ｗｅｂサービス４７２から、イベント情報が返却されると、返却されたイベント情報をスクリプト４９０−１に通知する。
【００７２】
ここで、受信部４９５及び通知部４９６について説明する。
【００７３】
受信部４９５は、確認部４７３からイベント情報を受信する。
【００７４】
通知部４９６は、受信部４９５により受信されたイベント情報をＷｅｂアプリ４８０に通知する。
【００７５】
図８は、本実施形態の情報処理システム１で実行される取得処理の一例を示すフローチャートである。図８では、スクリプト１７０−１が実行する場合を例に取り説明するが、他のスクリプトで実行される場合も、対象が異なる点を除き、同様である。
【００７６】
まず、Ｗｅｂアプリ１６１は、スクリプト１７０−１にクラウドサービス３５１の機能情報の取得を依頼する（ステップＳ１０１）。
【００７７】
続いて、取得部１７１は、Ｗｅｂアプリ１６１の指示を受け、接続先であるクラウドサービス３５１へアクセスし、クラウドサービス３５１から、機能情報と第１環境情報と、を取得し（ステップＳ１０３）、機能情報をＷｅｂアプリ１６１へ応答する（ステップＳ１０５）。
【００７８】
図９は、本実施形態の情報処理システム１で実行される処理要求処理の一例を示すフローチャートであり、図８に示す取得処理の後に実行される。図９では、スクリプト１７０−１が実行する場合を例に取り説明するが、他のスクリプトで実行される場合も、対象が異なる点を除き、同様である。
【００７９】
まず、Ｗｅｂアプリ１６１は、取得部１７１から取得した機能情報を表示部１３０に表示させ、操作部１２０からのユーザ操作に基づいて、使用する機能の選択を受け付け、Ｗｅｂアプリプログラム内で定義されている第２環境情報及び選択を受け付けた機能のパラメータを含む処理要求を、判定部１７２に通知する（ステップＳ２０１）。
【００８０】
続いて、判定部１７２は、Ｗｅｂアプリ１６１から通知された処理要求に含まれる環境情報である第２環境情報が、取得部１７１により取得された環境情報である第１環境情報と一致するか否かを判定する（ステップＳ２０３）。
【００８１】
一致しない場合（ステップＳ２０３でＮｏ）、変換部１７３は、パラメータ情報を参照して、判定部１７２が受け付けた処理要求のパラメータを、第１環境情報のパラメータに変換する（ステップＳ２０５）。なお、一致する場合（ステップＳ２０３でＹｅｓ）、ステップＳ２０５は行われない。
【００８２】
続いて、処理要求部１７４は、判定部１７２により第２環境情報が第１環境情報と異なると判定された場合には、変換部１７３により変換された処理要求をクラウドサービス３５１に送信し、判定部１７２により第２環境情報が第１環境情報と一致すると判定された場合には、判定部１７２が受け付けた処理要求をクラウドサービス３５１に送信する（ステップＳ２０７）。
【００８３】
続いて、クラウドサービス３５１は、Ｗｅｂブラウザ１６０から処理要求が行われると、当該処理要求を行い、処理結果を返却する（ステップＳ２０９）。
【００８４】
なお処理要求部１７４は、印刷など処理結果に対して更なる処理が必要な場合には、画像形成装置４００など当該更なる処理を実行する装置に、クラウドサービス３５１の処理結果を送信する。
【００８５】
図１０は、本実施形態の情報処理システム１で実行されるイベント通知処理の一例を示すフローチャートである。なお、図１０に示すイベント通知処理は、定期的に行われる。
【００８６】
まず、図１０を参照しながら、スクリプト１７０−１が実行する場合を例に取り説明するが、スクリプト４９０−１を除き、他のスクリプトで実行される場合も、対象が異なる点を除き、同様である。
【００８７】
確認部１７５は、処理要求部１７４によりクラウドサービス３５１に処理要求が送信されると、クラウドサービス３５１に対して、実行されたイベントの有無の確認を依頼する（ステップＳ３０１）。
【００８８】
続いて、クラウドサービス３５１は、新たに実行したイベントの有無を確認する（ステップＳ３０３）。
【００８９】
新たに実行したイベントがある場合（ステップＳ３０３でＹｅｓ）、クラウドサービス３５１は、当該新たに実行したイベントのイベント情報をＷｅｂブラウザ１６０に返却し、通知部１７６は、返却されたイベント情報をＷｅｂアプリ１６１に通知する（ステップＳ３０５）。
【００９０】
次に、図１０を参照しながら、スクリプト４９０−１が実行する場合を例に取り説明する。
【００９１】
確認部４７３は、Ｗｅｂサービス４７２に対して、実行されたイベントの有無の確認を依頼する（ステップＳ３０１）。
【００９２】
続いて、Ｗｅｂサービス４７２は、新たに実行したイベントの有無を確認する（ステップＳ３０３）。
【００９３】
新たに実行したイベントがある場合（ステップＳ３０３でＹｅｓ）、Ｗｅｂサービス４７２は、当該新たに実行したイベントのイベント情報を確認部４７３に返却し、確認部４７３は、Ｗｅｂブラウザ４７１に返却し、通知部４９６は、返却されたイベント情報をＷｅｂアプリ４８０に通知する（ステップＳ３０５）。
【００９４】
以上のように本実施形態によれば、画像形成装置により第１ネットワーク上で提供されるＷｅｂサービスとクラウドにより第２ネットワーク上で提供されるクラウドサービスとの双方を、画像形成装置上で実行される単一のＷｅｂアプリで利用可能とすることができる。
【００９５】
特に本実施形態では、Ｗｅｂアプリだけでなく１以上のスクリプトを用いており、当該１以上のスクリプトでサービスの環境の差分を吸収しているため、サービスの環境が変化しても該当するスクリプトを更新するだけで済み、Ｗｅｂアプリの更新を必要としない。このため、本実施形態によれば、異なるサービスを利用可能なアプリケーションの保守性を向上させることができる。
【００９６】
また本実施形態では、１以上のスクリプトそれぞれがイベント確認機能を有しているため、ネットワークを介したサービスが実行するイベントに対しても、イベント確認を行うことができる。特に本実施形態では、１以上のスクリプトそれぞれがイベント確認機能を有しているため、サービス毎の差分を吸収できる。
【００９７】
（変形例）
上記実施形態では、パラメータを変更することでバージョンの差異を吸収する例について説明したが、例えば、最新のバージョンでは、該当する機能が使用できなくなっているような場合（パラメータ情報でパラメータが設定されていない場合）には、その旨をＷｅｂアプリに通知し、当該処理要求を実行させないようにしてもよい。
【００９８】
（ハードウェア構成）
図１１は、上記実施形態の画像形成装置、アプリサーバ装置、クラウドサーバ装置、及びクライアント端末（以下、上記実施形態の各装置と称する）のハードウェア構成の一例を示す図である。上記実施形態の各装置は、ＣＰＵなどの制御装置８０１と、ＲＯＭやＲＡＭなどの記憶装置８０２と、ＨＤＤなどの外部記憶装置８０３と、ディスプレイなどの表示装置８０４と、キーボードやマウスなどの入力装置８０５と、通信Ｉ／Ｆ（インタフェース）８０６と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９９】
上記実施形態の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１００】
また、上記実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態の各装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記実施形態の各装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１０１】
上記実施形態の各装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【符号の説明】
【０１０２】
１  情報処理システム
２  第１ネットワーク
３  第２ネットワーク
１００  クライアント端末
１１０  通信部
１２０  操作部
１３０  表示部
１４０  記憶部
１５０  制御部
１６０  Ｗｅｂブラウザ
１６１  Ｗｅｂアプリ
１７０−１〜１７０−ｎ  スクリプト
１７１  取得部
１７２  判定部
１７３  変換部
１７４  処理要求部
１７５  確認部
１７６  通知部
２００  アプリサーバ装置
３００  クラウドサーバ装置
３１０  通信部
３２０  操作部
３３０  表示部
３４０  記憶部
３５０  制御部
３５１  クラウドサービス
４００  画像形成装置
４１０  通信部
４２０  操作部
４３０  表示部
４４０  記憶部
４５０  印刷部
４６０  読取部
４７０  制御部
４７１  Ｗｅｂブラウザ
４７２  Ｗｅｂサービス
４７３  確認部
４８０  Ｗｅｂアプリ
４９０−１〜４９０−ｎ  スクリプト
４９１  取得部
４９２  判定部
４９３  変換部
４９４  処理要求部
４９５  受信部
４９６  通知部
８０１  制御装置
８０２  記憶装置
８０３  外部記憶装置
８０４  表示装置
８０５  入力装置
８０６  通信Ｉ／Ｆ
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２０１３−１２２６５５号公報
【図１】
2015172914.tif 000003
【図２】
2015172914.tif 000004
【図３】
2015172914.tif 000005
【図４】
2015172914.tif 000006
【図５】
2015172914.tif 000007
【図６】
2015172914.tif 000008
【図７】
2015172914.tif 000009
【図８】
2015172914.tif 000010
【図９】
2015172914.tif 000011
【図１０】
2015172914.tif 000012
【図１１】
2015172914.tif 000013