(57)【要約】【課題】従来の画像形成装置などの実行環境で動作するアプリケーションについても、Ｗｅｂ  Ｉｎｔｅｎｔｓのようなアプリケーション連携の技術を用いることが可能となる仕組みを提供すること。【解決手段】画像形成装置５０２は、アプリケーション１０３が提供する機能の機能情報を用いて、中継機能１０２を介した処理要求が行われた際に、当該処理要求を受け付け、処理要求に従う指示に応じて、アプリケーション１０３が提供する機能を実行し、実行結果を中継機能１０２に通知する。アプリケーション１０３はサーブレットとして実現される。【選択図】  図５
2015149568.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションとの間でデータの共有を行うための中継機能と、アプリケーションとが動作する画像形成装置であって、
前記アプリケーションが提供する機能の機能情報を用いて、前記中継機能を介した処理要求が行われた際に、当該処理要求を受け付ける受け付け手段と、
前記受け付けた処理要求に従う指示に応じて、前記アプリケーションが提供する機能を実行する実行手段と、
前記実行手段による実行結果を、前記中継機能に通知する通知手段と、を有し、
前記受け付け手段及び通知手段は、前記アプリケーションのサーブレットとして実現される
ことを特徴とする画像形成装置。
【請求項２】
前記実行手段による機能の実行で用いるデータを前記中継機能を介して取得する、前記サーブレットとして実現される取得手段をさらに有する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記アプリケーションは、前記中継機能に対応する機能情報が登録されており、かつ前記処理要求を実行可能な、一または複数のアプリケーションから選択される
ことを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記サーブレットとして実現される前記各手段は、既に動作中のアプリケーションに追加する追加手段をさらに備える
ことを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記中継機能を介した処理要求を禁止するために、前記サーブレットを無効化する無効化手段をさらに備える
ことを特徴とする請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項６】
前記実行手段は、前記中継機能を介した処理要求に従う指示なしに、前記画像形成装置の操作部を介した指示に応じて前記アプリケーションが提供する機能を実行する
ことを特徴とする請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項７】
前記中継機能は、前記画像形成装置で動作するオペレーティングシステムまたはブラウザである
ことを特徴とする請求項１乃至６のいずれか一項に記載の画像形成装置。
【請求項８】
前記アプリケーションの前記機能情報に制限条件が定義されている場合、当該アプリケーションの機能が制限される
ことを特徴とする請求項１乃至７のいずれか一項に記載の画像形成装置。
【請求項９】
複数のアプリケーションとの間でデータの共有を行うための中継機能と、アプリケーションとが動作する画像形成装置における制御方法であって、
前記アプリケーションが提供する機能の機能情報を用いて、前記中継機能を介した処理要求が行われた際に、当該処理要求を受け付ける受け付け工程と、
前記受け付けた処理要求に従う指示に応じて、前記アプリケーションが提供する機能を実行する実行工程と、
前記実行手段による実行結果を、前記中継機能に通知する通知工程と、を有し、
前記受け付け工程及び通知工程は、前記アプリケーションのサーブレットを用いて実現される
ことを特徴とする制御方法。
【請求項１０】
請求項１乃至８のいずれか１項に記載の画像形成装置が備える各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをアプリケーション間で共有する画像形成装置、その制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、Ｗｅｂブラウザを経由して、Ｗｅｂアプリケーションから任意のＷｅｂサービス（または、Ｗｅｂアプリケーション）を呼び出し、それぞれ連携する仕組みが提案されている。一例として、処理を実行時まで遅延させる遅延バインディングによりサービス受け側と提供側とを疎結合状態とし、それらの連携を実現するＷｅｂ  Ｉｎｔｅｎｔｓ（ウェブインテンツ）という仕組みが提案されている。
【０００３】
また、従来の画像形成装置においては、アプリケーションやサービスをインストールさせて機能を拡張させる環境が整備されている。しかしながら、他のアプリケーションやサービスと連携するシステムは搭載されていない。そのため、アプリケーションから他のアプリケーションに操作が移動する場合には、メイン画面にいったん戻るなどユーザによる操作が発生する場合がある。
【０００４】
従来技術として、特許文献１は、サーバ装置のアプリケーションが、ＪａｖａＳｃｒｉｐｔ（登録商標）を利用したＨＴＭＬを用意して、画像形成装置内の機能を利用したり、データを取得するシステムを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−５５０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１が開示しているシステムでは、ＨＴＭＬコンテンツ内に記述されているＪａｖａＳｃｒｉｐｔ（登録商標）をブラウザが解釈してコマンドを発行する。特許文献１が開示しているシステムは、例えば上述のＷｅｂ  Ｉｎｔｅｎｔｓのようなアプリケーションの連携のための仕組みを特に想定していない。
【０００７】
本発明は、従来の画像形成装置等の実行環境で動作するアプリケーションについても、複数アプリケーション間でのデータ共有やデータ処理のため、Ｗｅｂ  Ｉｎｔｅｎｔｓのようなアプリ連携の技術を用いることが可能となる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の画像形成装置は、複数のアプリケーションとの間でデータの共有を行うための中継機能と、アプリケーションとが動作する。前記画像形成装置は、前記アプリケーションが提供する機能の機能情報を用いて、前記中継機能を介した処理要求が行われた際に、当該処理要求を受け付ける受け付け手段と、前記受け付けた処理要求に従う指示に応じて、前記アプリケーションが提供する機能を実行する実行手段と、前記実行手段による実行結果を、前記中継機能に通知する通知手段と、を有する。前記受け付け手段及び通知手段は、前記アプリケーションのサーブレットとして実現される。
【発明の効果】
【０００９】
本発明の画像形成装置によれば、従来の画像形成装置などの実行環境で動作していたようなアプリケーションについても、前述したアプリケーション連携の技術を用いることが可能となる仕組みが提供できる。
【図面の簡単な説明】
【００１０】
【図１】Ｗｅｂ  Ｉｎｔｅｎｔｓの全体構成例を示す図である。
【図２】Ｗｅｂ  Ｉｎｔｅｎｔｓの基本的な動作を示したシーケンス図である。
【図３】Ｗｅｂ  Ｉｎｔｅｎｔｓサービスが持つ登録用マークアップの一例である。
【図４】クライアントが生成するＩｎｔｅｎｔ処理要求の一例である。
【図５】実施例１におけるシステム構成例を示す図である。
【図６】クライアントと画像形成装置のハードウェア構成例を示す図である。
【図７】クライアントとＵＳのソフトウェア構成例を示す図である。
【図８】Ｗｅｂ  ＩｎｔｅｎｔｓサービスとＷｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーションのソフトウェア構成例を示す図である。
【図９】ＵＡの登録済みＷｅｂ  Ｉｎｔｅｎｔｓサービステーブルの一例である。
【図１０】ＵＡがＩｎｔｅｎｔｓの処理要求を発行する際のシーケンス図である。
【図１１】ＵＡが表示するクライアントの画面例を示す。
【図１２】ＵＡが共有ボタンを押下された際に表示する画面例を示す。
【図１３】ＵＡがＩｎｔｅｎｔｓを発行する処理を示したフローチャートである。
【図１４】ＵＡがＩｎｔｅｎｔｓを発行する処理を示したフローチャートである。
【発明を実施するための形態】
【００１１】
（実施例１）
以下、本発明を実施するための形態について図面を用いて説明する。本実施例では、クライアントアプリケーションからサーバアプリケーションを呼び出す連携機能として、データの橋渡しをする仕組みであるＷｅｂ  Ｉｎｔｅｎｔｓを例に説明を行うが、これに限定されるものではない。図１は、Ｗｅｂ  Ｉｎｔｅｎｔｓの全体構成を示す図である。Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３は、Ｉｎｔｅｎｔｓ技術を利用してサービスや機能を提供する。Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１は、前記サービスを利用するクライアントである。ＵＡ（ユーザエージェント）１０２は、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１からの要求をＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３に渡し、サービスからの結果をクライアントに渡す役割をする。換言すれば、ＵＡ１０２は、中継機能としての役割を果たす。
【００１２】
ＳＮＳサイトの「いいね」「チェック」「シェア」といったソーシャルボタンをＷｅｂ  Ｉｎｔｅｎｔｓの仕組みで例えると、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１はボタンを配置しているサイトとなる。なお、ＳＮＳはsocial networking serviceの略称である。ＵＡ１０２はブラウザ、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３は「いいね」などの投稿先サービスになる。Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３が機能を提供するにあたって、ユーザ認証やユーザによる操作が必要な場合、ＵＡ１０２上でユーザが操作を行う。
【００１３】
なお、ＵＡ１０２は、後述するサービスと連携するための機能を持つのであれば、ブラウザ以外にも、情報処理端末で動作するオペレーティングシステム（ＯＳ）やアプリケーションなどで実現することも可能である。ここで、情報処理端末の例としては、パーソナルコンピュータ（ＰＣ）、スマートフォン、タブレット、カーナビなどが挙げられる。
【００１４】
また、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３については、上記した投稿先サービスのようなインターネット上のサービス提供者以外にも、例えば情報処理端末が内蔵するカメラ、プリンタ、スキャナなどといったデバイスもサービス提供者になり得る。また、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３については、ネットワークで接続されるプリンタ、スキャナ、ネットワークカメラなどの周辺機器や、冷蔵庫やテレビといった家電製品などもサービス提供者になり得る。
【００１５】
図２は、Ｗｅｂ  Ｉｎｔｅｎｔｓを利用したサービス提供に関する基本動作を説明するためのシーケンス図である。Ｓ２０１で、ＵＡ１０２は、ユーザの操作によりＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３にアクセスする。Ｓ２０２で、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３は、提供するサービスをＵＡ１０２に登録してもらうための登録用マークアップを含むＨＴＭＬ応答をＵＡ１０２に返信する。
【００１６】
図３の例を用いて、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３からＵＡ１０２に返信されるＨＴＭＬ応答の中身について説明する。本実施例では、あらゆるフォーマットの画像データを”ｓｈａｒｅ（共有）”できるサービスを利用する例をもとに説明するが、これに限定されるものではない。＜ｉｎｔｅｎｔ＞タグにはサービスを特定する情報が記載されている。ａｃｔｉｏｎは＜ｉｎｔｅｎｔ＞タグで特定されるサービスにより提供される機能、サービスを示し、ｔｙｐｅはａｃｔｉｏｎに対して扱えるデータ形式を示している。ｈｒｅｆはサービスのＵＲＬを示し、ｔｉｔｌｅはサービスのタイトルを示している。また、ｄｉｓｐｏｓｉｔｉｏｎはサービスがどのように表示されるかを示す。
【００１７】
この例では、＜ｉｎｔｅｎｔ＞タグによりＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３が特定される。また、ａｃｔｉｏｎとｔｙｐｅによりあらゆるフォーマットの画像データが”ｓｈａｒｅ（共有）”可能であることが示されている。また、画像データの接続先は”ｓｈａｒｅ．ｈｔｍｌ”で、タイトルは”Ｓｈａｒｅ  ｉｍａｇｅ  ｕｓｉｎｇ  ｅ−ｍａｉｌ”であり、別ウィンドウで表示されることが示されている。
【００１８】
図３に示すＨＴＭＬ応答を受信すると、ＵＡ１０２はユーザに対してＷｅｂ  ＩｎｔｅｎｔｓサービスをＵＡ１０２に登録するか否か確認を促す。例えばＵＡ１０２がブラウザであれば、ポップアップウィンドウを表示させユーザに選択を促す。ユーザがこのＷｅｂ  Ｉｎｔｅｎｔｓの登録を選択すると、ＵＡ１０２はＷｅｂ  Ｉｎｔｅｎｔｓサービスを内部に記憶する。
【００１９】
Ｓ２０３で、ＵＡ１０２は、ユーザの操作によりＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１にアクセスする。Ｓ２０４で、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１はＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を利用することが記載されたＨＴＭＬ応答をＵＡ１０２へ返信する。例えば、あるＷｅｂサイトにおいて、画像と「共有」ボタンがある場合に、サイトは図４に示すＥＣＭＡＳｃｒｉｐｔを含むＨＴＭＬをＵＡ１０２へ返す。
【００２０】
図４の例を用いて、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１からＵＡ１０２に返信されるＨＴＭＬ応答の中身について説明する。ＥＣＭＡＳｃｒｉｐｔは、ＨＴＭＬ内のＩＤ「ｓｈａｒｅ―ｐｈｏｔｏ」を持つボタンがクリックされると、指定された無名関数を実行することを示している。無名関数は、まず、新規のＩｎｔｅｎｔオブジェクトを作成し、これを引数にしてｓｔａｒｔＡｃｔｉｖｅｔｙ（）関数を呼び出す。この関数を実行すると、ＵＡ１０２は自身に登録されているＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３の中から、指定されたＩｎｔｅｎｔｓのａｃｔｉｏｎとｔｙｐｅが一致するものを抽出し、一覧表示させることでユーザに選択を要求する。また、無名関数内で呼び出しているｇｅｔＩｍａｇｅＦｒｏｍ（）関数を実行することにより、ＵＡ１０２はＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１が持つ画像データを取得する。
【００２１】
Ｓ２０５で、ＵＡ１０２はＨＴＭＬ応答を受け取り、画面上に表示する。Ｓ２０６で、ユーザにより画面上の「共有」ボタンが押下されると、ＵＡ１０２は上述したようにＷｅｂ  Ｉｎｔｅｎｔｓ起動用のＥＣＭＡＳｃｒｉｐｔを実行し、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１が持つ画像データを取得する。また、「共有」ボタン押下により、ＵＡ１０２は内部に登録しているＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３の一覧を表示する。ユーザにより一覧からＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３が選択されると、Ｓ２０７で、ＵＡ１０２は選択されたＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３へ要求を送信する。その際、ＵＡ１０２は、送信データに、図４のＥＣＭＡＳｃｒｉｐｔが作成したＩｎｔｅｎｔオブジェクトの内容を含める。
【００２２】
Ｓ２０８で、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３は要求からＩｎｔｅｎｔオブジェクトを取り出し、ＵＡ１０２を介してユーザと相互作用しながら、選択されたサービス（ここでは画像の「共有」）の利用を実現する。例えば、ユーザが画像、共有ボタンがあるサイトに訪れ、共有ボタンを押下すると、ポップアップウィンドウにサービス一覧が表示される。そこでＷｅｂメールサービスを選択したとすると、画像データが添付された新規メールが作成され、ユーザは電子メールを送信することが出来る。
【００２３】
Ｓ２０９で、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３は処理が終了すると、処理結果をＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１に伝えるＥＣＭＡＳｃｒｉｐｔを含む応答を返す。Ｓ２１０で、ＵＡ１０２は応答中に含まれるＥＣＭＡＳｃｒｉｐｔを実行し、Ｓ２０５のｓｔａｒｔＡｃｔｉｖｅｔｙ（）関数の引数で指定されたコールバック関数ｏｎＳｕｃｃｅｓｓ（）を呼び出す。Ｓ２１１で、ＵＡ１０２はコールバック関数ｏｎＳｕｃｃｅｓｓ（）によってＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１へ処理結果を返す。
【００２４】
以上の処理により、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１は、ＵＡ１０２を介して、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３が提供するＷｅｂ  Ｉｎｔｅｎｔｓの機能、サービス（この例では画像の「共有」）を呼び出すことが可能となる。
【００２５】
図５は、本発明の実施例の一形態に係わる、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント、およびＵＡ、Ｗｅｂ  Ｉｎｔｅｎｔｓサービスを含む画像形成装置がインターネットを介して接続された関係を示す図である。図５において、クライアント５０１は上述したＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１にあたり、ここでは画像データの保管などのストレージ機能を提供する一般的なＷｅｂサイトを表したＷｅｂ  Ｉｎｔｅｎｔｓクライアントである。本実施例では、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント５０１は汎用コンピュータによって構成され、Ｉｎｔｅｒｎｅｔ５０８を介して接続されている。
【００２６】
画像形成装置５０２は、上述したＵＡ１０２およびＷｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３を含むＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を備えた画像形成装置である。画像形成装置５０２は、ブラウザであるＵＡ、および、機能やサービスを提供するＷｅｂサイト（Ｗｅｂアプリケーション）であるＷｅｂ  Ｉｎｔｅｎｔｓサービスを備える。また、Ｉｎｔｒａｎｅｔ環境５０７は、画像形成装置５０２、Ｐｒｏｘｙ  Ｓｅｒｖｅｒ５０４、Ｉｎｔｒａｎｅｔのセキュリティを高めるために設置されたＦｉｒｅｗａｌｌ５０５がＬＡＮ５０６を介して相互に接続されていることを示す。実際には複数のＩｎｔｒａｎｅｔ環境５０７と、ＵＡ１０２およびＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を含む画像形成装置５０２とがＩｎｔｅｒｎｅｔ５０８を介して相互に接続されている。
【００２７】
図６（Ａ）は、汎用コンピュータによって構成されるＷｅｂ  Ｉｎｔｅｎｔｓクライアント５０１のハードウェア構成を示す図である。また、図６（Ｂ）はＵＡ１０２およびＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を含む画像形成装置５０２のハードウェア構成を示す図である。
【００２８】
図６（Ａ）において、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント５０１は、ＣＰＵ６０１乃至入出力Ｉ／Ｆ６０７を備える。各ユニットは内部バス６０６を介してデータの送受信が可能である。ＣＰＵ（Central Processing Unit）６０１は、内部バス６０６を介して各ユニットを総括的に制御する。また、ＣＰＵ６０１は、ＲＯＭ６０３またはＨＤＤ６０４に格納されているプログラムを一時作業領域であるＲＡＭ６０２にロードし、実行することで各種処理を実現する。ＲＡＭ、ＲＯＭ、ＨＤＤはそれぞれ、Random Access Memory、Read Only Memory、Hard Disk Driveの略称である。入出力Ｉ／Ｆ６０７は、例えばＰＳ２やＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ  Ｉ／Ｆ）、アナログやデジタルのディスプレイＩ／Ｆを備える。入出力装置６０８は、キーボードやマウス、ＣＲＴや液晶ディスプレイであり、入出力Ｉ／Ｆ６０７を介して管理サーバ１０６と接続することができる。
【００２９】
図６（Ｂ）において、画像形成装置５０２は、機能部６１１、インタフェース部６１６、画像メモリ６１７、制御部６１８、ＨＤＤ６１９を備える。制御部６１８は、ＣＰＵ６２０、ＲＯＭ６２１、及びＲＡＭ６２２を備え、画像形成装置５０２の全体の動作を制御する。ＣＰＵ６２０は、ＲＯＭ６２１に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ６２２は、ＣＰＵ６２０の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、制御部６１８は、機能部６１１と接続され、操作表示部６１２、スキャナ部６１３、及びプリンタ部６１４の動作を制御する。
【００３０】
操作表示部６１２には、タッチパネル機能を有する液晶等の表示部やキーボード等が配置されている。操作表示部６１２は、ＵＡ１０２にあたるブラウザ機能を備えており、ブラウザは、受信したＨＴＭＬファイルを解析し、解析したＨＴＭＬファイルの記述に基づく操作画面を操作表示部６１２に表示する。
【００３１】
プリンタ部６１４は、制御部６１８から出力された画像データを用紙に印刷する。スキャナ部６１３は、原稿の画像を読み取って画像データを生成し、制御部６１８に出力する。インタフェース部６１６は、制御部６１８をＩｎｔｅｒｎｅｔ５０８に接続して外部の情報処理装置（不図示）から印刷用の画像データを受信したり、操作表示部６１２で表示する画面データを受信したりする。ＨＤＤ６１９は、画像データや各種プログラムを記憶する。本実施例における、ＵＡ１０２およびＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を含む各種プログラムも、ＨＤＤ６１９に格納される。なお、外部の情報処理装置から受信した印刷用の画像データは、画像メモリ６１７に一時的に格納され、制御部６１８を介してプリンタ部６１４により印刷される。
【００３２】
図７（Ａ）は、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント５０１で動作するＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１のソフトウェア（処理部）構成の一例を示す図である。Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１は、Ｗｅｂアプリケーション７００、通信部７０４、データベースサービス部７０５を備える。Ｗｅｂアプリケーション７００および各処理部は、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント５０１のＨＤＤ６０４に保存されたファイルとして存在する。これらは実行時にＯＳやその各処理部を利用する他の処理部によってＲＡＭ６０２にロードされ実行されるプログラムモジュールである。
【００３３】
Ｗｅｂアプリケーション７００は、例えば画像データなどのコンテンツを保管するストレージ機能を提供するアプリケーションである。Ｗｅｂアプリケーション７００は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）リクエストに応答して処理を実行するプログラムとして実装される。Ｗｅｂアプリケーション７００は、Ｉｎｔｅｎｔ処理要求作成部７０１、プレゼンテーション部７０２、コンテンツ管理部７０３を備える。
【００３４】
Ｉｎｔｅｎｔ処理要求作成部７０１は、Ｉｎｔｅｎｔの処理要求であるＥＣＭＡＳｃｒｉｐｔを作成するソフトウェアモジュールである。プレゼンテーション部７０２は、通信部７０４を介して受け取ったページ取得要求などに応じてＨＴＭＬ文書を作成するソフトウェアモジュールである。コンテンツ管理部７０３は、プレゼンテーション部７０２からの要求に応じてデータベースサービス部７０５によりＨＤＤ６０４からコンテンツを取得したり、格納したりするソフトウェアモジュールである。データベースサービス部７０５は、他の処理部からの要求に応じて、ＨＤＤ６０４へのコンテンツの格納と取り出しを行うソフトウェアモジュールである。また、データベースサービス部７０５は、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント５０１と別の機器上にあってもよい。
【００３５】
図７（Ｂ）は、画像形成装置５０２で動作するＵＡ１０２のソフトウェア（処理部）構成の一例を示す図である。ＵＡ１０２は、Ｗｅｂブラウザ７３０、通信部７３４、データベースサービス部７３５を備える。ブラウザ７３０および各処理部は、画像形成装置５０２のＨＤＤ６１９に保存されたファイルとして存在する。これらは実行時にＯＳやその各処理部を利用する他の処理部によってＲＡＭ６２２にロードされ実行されるプログラムモジュールである。
【００３６】
ブラウザ７３０は、表示部７３１、解析部７３２、サービス管理部７３３を備える。表示部７３１は、ＨＴＭＬ文書をレンダリングするソフトウェアモジュールである。また、サービス管理部７３３の要求に応じて、Ｗｅｂ  Ｉｎｔｅｎｔｓサービスをユーザに選択させる画面を表示する。解析部７３２は、ＨＴＭＬ文書を解析するソフトウェアモジュールである。また、解析部７３２は、Ｉｎｔｅｎｔ処理要求であるＥＣＭＡ  Ｓｃｒｉｐｔも解析する。サービス管理部７３３は、データベースサービス部７３５を介してＨＤＤ６１９から登録済みのＷｅｂ  Ｉｎｔｅｎｔｓサービスを取得したり、格納したりするソフトウェアモジュールである。
【００３７】
図８（Ａ）は、画像形成装置５０２で動作するＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３のソフトウェア（処理部）構成の一例を示す図である。また図８（Ｂ）は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３が動作する画像形成装置５０２のソフトウェア構造の一例を示す図である。
【００３８】
なお、本実施例においては、少なくともプリンタ部やスキャナ部などを有するような画像形成装置５０２がＷｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３が動作するような実行環境をさらに備える例を説明している。しかしながら、同様な実行環境を備えることが可能な携帯端末やカーナビといった情報処理装置であっても、本発明を適用することが可能である。
【００３９】
まず図８（Ｂ）について説明する。画像形成装置５０２は、ＯＳ７７１乃至Ｎａｉｖｅ機能部７７７を備える。図８（Ｂ）に示される各ソフトウェアは、ＲＯＭ６２１あるいはＨＤＤ６１９に格納され、ＣＰＵ６２０によって実行される。ＯＳ（Ｏｐｅｒａｔｉｏｎ Ｓｙｓｔｅｍ）層７７１は、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳが用いられても良い。Ｊａｖａ（登録商標）ＶＭ７７２は、Ｊａｖａ（登録商標）などの仮想マシンであり、アプリケーションの実行環境を提供する。アプリケーションフレームワーク７７３は、アプリケーションのライフサイクルを管理する機能を提供する。インストーラサービス７７４は、後述のアプリケーションＡ，Ｂなど複数のアプリケーションを、アプリケーションフレームワーク７７３に登録することでインストール処理を行う。   
【００４０】
Ｗｅｂ  Ｉｎｔｅｎｔｓサービスを提供するアプリケーションＡ７７５，アプリケーションＢ７７６は、インストーラサービス７７４によってインストールされたアプリケーションであり、画像形成装置５０２上で様々な機能を提供する。アプリケーションＡ７７５，アプリケーションＢ７７６は、画像形成装置５０２の外部からダウンロードしてインストールすることが可能である。アプリケーションＡ７７５，Ｂ７７６の少なくともいずれかは、操作表示部６１２を介してユーザとやり取りを行うことが可能である。
【００４１】
Ｎａｔｉｖｅ機能７７７は、画像形成装置５０２に組み込まれた機能を提供する。インタフェース部６１６を介して受信した印刷データに基づき、プリンタ部６１４で印刷を行う機能がＮａｔｉｖｅ機能の一例である。なお、本実施形態では、Ｊａｖａ（登録商標）ＶＭ７７２、アプリケーションフレームワーク７７３、アプリケーションＡ７７５、アプリケーションＢ７７６はＨＤＤ６１９に格納されているものとする。また、Ｎａｔｉｖｅ機能７７７はＲＯＭ６２１に格納されているものとする。
【００４２】
図８（Ａ）は、画像形成装置５０２で動作するＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３のソフトウェア（処理部）構成の一例を示す図である。Ｗｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービスアプリケーション５０３、通信部７５４、データベースサービス部７５５を備える。Ｗｅｂ  Ｉｎｔｅｎｔｓサービスアプリケーション５０３のサーブレット部７５０および各処理部は、ＲＯＭ６２１あるいはＨＤＤ６１９に格納され、ＣＰＵ６２０によって実行される。
【００４３】
サーブレット部７５０は、ＨＴＴＰリクエストに応答して処理を実行するプログラムとして実装される。サーブレット部７５０は、Ｉｎｔｅｎｔ処理部７５１、プレゼンテーション部７５２を備える。Ｉｎｔｅｎｔ処理部７５１は、Ｉｎｔｅｎｔオブジェクトを解析し、ＵＡ１０２からの要求に応じてコンテンツ処理部７５３へ処理を指示するソフトウェアモジュールである。プレゼンテーション部７５２は、通信部７５４を介して受け取ったページ取得要求などに応じてＨＴＭＬ文書を作成するソフトウェアモジュールである。
【００４４】
コンテンツ処理部７５３は、Ｉｎｔｅｎｔ処理部７５１からの指示を受けてコンテンツに対して処理をするソフトウェアモジュールである。例えば、画像データを編集したり、要求に応じてデータベースサービス部７５５を介してＨＤＤ６１９へコンテンツを格納したりするソフトウェアモジュールである。データベースサービス部７５５は、他の処理部からの要求に応じて、データの格納と取り出しを行う。また、データベースサービス部７５５は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３と別の機器上にあってもよい。
【００４５】
図９は、ＵＡ１０２が自身に登録されたＷｅｂ  Ｉｎｔｅｎｔｓサービスを管理するために保持する登録済みＷｅｂ  Ｉｎｔｅｎｔｓサービステーブルの一例である。図９に示す情報が、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３が提供する機能のインテント（機能情報）として用いられる。本テーブルは画像形成装置５０２内のＨＤＤ６１９で保持され、データベースサービス部７３５によって制御される。
【００４６】
ＳｅｒｖｉｃｅＩＤ８０１は、ブラウザ７３０内でＷｅｂ  Ｉｎｔｅｎｔｓサービスを一意に識別するためのＩＤである。ａｃｔｉｏｎ８０２は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３が提供する機能、サービスを示す情報であり、ｔｙｐｅ８０３はａｃｔｉｏｎ８０２に対して扱えるデータ形式を示している。
【００４７】
ｈｒｅｆ８０４は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３の相対ＵＲＬを示し、ｔｉｔｌｅ８０５Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３のタイトルを示している。また、ｄｉｓｐｏｓｉｔｉｏｎ８０６は、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３がどのように表示されるかを示す。つまり、ＵＡ１０２はブラウザ７３０を介して、本テーブルを参照することで各Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３へＩｎｔｅｎｔの処理要求を出すことが可能である。なお本実施例では、図９に示したように、サービステーブルとして、ＳｅｒｖｉｃｅＩＤ８０１やａｃｔｉｏｎ８０２、ｔｙｐｅ８０３などを想定して説明したが、特にそれらに限定するものではない。例えば、サービステーブルにおいて特定のサービスが提供する機能、サービスを制限する制限条件を定義することも可能である。例えば、認証が必要なスキャンサービスなど、特定の条件下においてのみ呼び出し対象となるサービスをＵＡ１０２に登録することができる。これにより、一つの要求に対して対応できるサービスが数多く登録されている場合でも、サービスを絞り込むことができる。
【００４８】
図１０は、ＵＡ１０２がＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１へアクセスし、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３に対してＩｎｔｅｎｔｓの処理要求を発行する際のシーケンス図である。ここでは、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１はスキャン機能を提供するＷｅｂサイトとして扱う。また、ＵＡ１０２にＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３が既に登録されている状態で、ＵＡ１０２がＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１へアクセスした時点から処理の説明をする。
【００４９】
Ｓ９０１で、ユーザ操作によってＵＡ１０２のブラウザ７３０は通信部７３４を介してＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１にＨＴＴＰのリクエストメッセージとしてページを要求する。Ｓ９０２で、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１のＷｅｂアプリケーション７００はページの作成を行う。Ｓ９０３で、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１のＷｅｂアプリケーション７００は、Ｓ９０２で作成したページをＵＡ１０２へＨＴＴＰのレスポンスメッセージとして応答する。Ｓ９０４で、ＵＡ１０２のブラウザ７３０の表示部７３１は、受信したページを表示する。具体的には、解析部７３２が、通信部７３４を介してＨＴＭＬ文書を受け取って解析し、表示部７３１がレンダリングする。
【００５０】
ここで、Ｓ９０４で表示する画面の一例について、図１１を用いて説明する。図１０は、ＵＡ１０２がＳ９０４で表示する画面の一例である。画面１０００はブラウザ７３０の表示部７３１が表示する。ボタン１００１、１００２、１００３は提供するサービスを表し、それぞれ、コピー、スキャン、プリントの各機能を実行するためのボタンである。ブラウザ７３０は、ボタン１００１、１００２、１００３が押下されたことを検知すると、Ｉｎｔｅｎｔ処理を実行する。
【００５１】
Ｓ９０４で表示された画面において、ユーザにより「スキャンする」ボタン１００２が押下されると、Ｓ９０５で、ブラウザ７３０は登録済みＷｅｂ  Ｉｎｔｅｎｔｓサービステーブル８００（図９）を参照する。そして、ブラウザ７３０はスキャン処理要求を実行可能なＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を表示部７３１に表示させる。ここでは、ボタン１００２が押下されている場合を想定しているので、ａｃｔｉｏｎ８０２が「ｓｃａｎ」であるＳｅｒｖｉｃｅ  ＩＤ８０１の１、３、４が対象Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３となる。図１２は、その際にＵＡ１０２のブラウザ７３０が表示する画面例である。画面１１００は、ボタン１００２が押下されることで、ポップアップ表示される。リスト１１０１は、Ｓ９０５で表示対象となったＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３の一覧である。
【００５２】
Ｓ９０５で表示された画面において、ユーザによりＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３が選択され、「ＯＫ」ボタンが押下されると、Ｓ９０６で、ブラウザ７３０の解析部７３２は、Ｉｎｔｅｎｔｓ処理要求を実行する。Ｓ９０７で、ＵＡ１０２はＩｎｔｅｎｔ発行処理に入る。
【００５３】
Ｓ９０７のＩｎｔｅｎｔｓ発行処理について図１３および図１４のフローチャートを用いて説明する。図１３および図１４は、ＵＡ１０２のＩｎｔｅｎｔ発行処理をＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３との関連処理も含めて示したフローチャートである。Ｓ１２０１で、ＵＡ１０２はユーザにより選択されたＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３をＲＡＭ６２２に記憶する。Ｓ１２０２でＵＡ１０２はＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３に対してＩｎｔｅｎｔ処理要求を行う。
【００５４】
Ｓ１２０３で、サーブレット部７５０はＵＡ１０２からのＩｎｔｅｎｔ処理要求を受信する。Ｓ１２０４で、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３のサーブレット部７５０は、Ｓ１２０３で受信した要求からＩｎｔｅｎｔオブジェクトを取り出して解析し、コンテンツ処理部７５３に処理実行要求を送信する。Ｓ１２０５では、コンテンツ処理部７５３は、処理実行要求を受信する。Ｓ１２０６では、Ｓ１２０５で受信した要求を元に処理を開始する。
【００５５】
本実施例ではＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３のコンテンツ処理部７５３は、ＵＡ１０２のブラウザ７３０を介してユーザと相互作用しながら、原稿を「スキャン」してＷｅｂ  Ｉｎｔｅｎｔｓクライアントに画像を渡すことを行う。コンテンツ処理部７５３はスキャンを実行後、ＨＤＤ６１９にスキャン画像を保存する。Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３はスキャンの処理が終了すると、図１４のＳ１２０７にて、サーブレット部７５０に対して、処理終了通知を行う。Ｓ１２０８において、サーブレット部７５０は処理終了通知を受け取ると、Ｓ１２０９において、ＵＡ１０２に対して実行結果を通知、具体的にはＩｎｔｅｎｔ処理終了通知と共にスキャン画像を送信する。
【００５６】
Ｓ１２１０で、ＵＡ１０２はＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３からの処理終了通知およびスキャン画像を受信し、その結果をデータベースサービス部７３５に保存する。Ｓ１２１１で、ＵＡ１０２のブラウザ７３０はＩｎｔｅｎｔ終了処理を行う。例えば、Ｓ１２１２で、ＵＡ１０２のブラウザ７３０はＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３にＩｎｔｅｎｔ処理終了要求を送信する。Ｓ１２１３で、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１はＵＡ１０２から送られたＩｎｔｅｎｔ処理終了要求を受信する。Ｓ１２１４で、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１のプレゼンテーション部７０２はＩｎｔｅｎｔ処理が終了したことを通知するための処理終了ページをＨＴＭＬ文書で作成し、通信部７０４を介してＵＡ１０２へ送信する。Ｓ１２１５で、ＵＡ１０２はＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１から送信された処理終了ページのＨＴＭＬ文書を受信する。Ｓ１２１６で、ＵＡ１０２のブラウザ７３０は、Ｓ１２１５で受信した処理終了ページを表示する。
【００５７】
以上の処理により、従来の画像形成装置などの実行環境で動作していたようなアプリケーションについても、アプリケーション連携の技術を用いることが可能となる仕組みが提供できる。具体的には、ＵＡ１０２がＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１へＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を提供する。これによりユーザはＵＡ１０２を介してＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を利用することが可能となる。
【００５８】
また、本実施例では、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１が定義するａｃｔｉｏｎ８０２に該当するＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３をＵＡ１０２は全て表示するとして説明してきた。しかし、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１がａｃｔｉｏｎ８０２以外の属性を定義することで、ＵＡ１０２の表示を制御することも可能である。例えば、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１側でコンテンツに対してセキュアを意味する属性を定義する。ＵＡ１０２はＩｎｔｅｒｎｅｔ経由でアクセスするＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３を無効化し、ローカルサービスのみの利用を可能とする。ローカルサービスとはＵＡ１０２内に存在するＷｅｂ  Ｉｎｔｅｎｔｓサービス１０３のことである。
【００５９】
本実施例において、各サーバや装置の構成、ソフトモジュールの構成、また、サービスを同利用する処理フローを示してきたが、これらは一例であり、限定されるものではない。また、本実施例では、サービスを呼び出す機能として、Ｗｅｂ  Ｉｎｔｅｎｔｓを例に説明を行ったが、これはサービスの一例であり、これに限定されるものではない。
【００６０】
また、本実施例ではＷｅｂ  Ｉｎｔｅｎｔｓクライアント１０１はスキャン機能を提供するＷｅｂサイト、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３はスキャンを実行して画像を保存するサービスとして説明してきた。しかし、Ｗｅｂ  Ｉｎｔｅｎｔｓクライアント１０１を画像形成装置、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス１０３をプリントサービスなどのＭＰＳ（Ｍａｎａｇｅｄ  Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅ）に対して適用することも可能である。
【００６１】
（実施例２）
実施例１では、サーブレット部７５０がＷｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３に組み込まれる形で説明をしたが、サーブレット部のみ後から組み込むことも可能である。例えば、サーブレットは、既に動作中のアプリケーションに追加されてよい。また、Ｗｅｂ  ＩｎｔｅｎｔｓサービスのＩｎｔｅｎｔｓ処理部が無効化手段として機能し、ＵＡを介して処理要求を禁止するためにサーブレット部のみを無効化することも可能である。また、サーブレット部が存在しない、もしくは無効化されている場合でも、Ｗｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３は、画像形成装置の操作部を介した指示に応じて、コンテンツ処理部７５３およびＵＩ処理部７５６のみで動作可能である。具体的には、操作表示部６１２に画面を表示し、提供する機能をユーザ操作によって利用可能とするものである。その他、ブラウザ以外でもインテントを用いて情報を共有するアプリケーションによって、アプリケーション間でデータを共有することが可能である。サーブレット部の有無にかかわらずＷｅｂ  Ｉｎｔｅｎｔｓサービス対応アプリケーション５０３は動作可能となり、また、あとからの機能追加および機能の動作の切り替えが可能になる。
【００６２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015149568.tif 000003
【図２】
2015149568.tif 000004
【図３】
2015149568.tif 000005
【図４】
2015149568.tif 000006
【図５】
2015149568.tif 000007
【図６】
2015149568.tif 000008
【図７】
2015149568.tif 000009
【図８】
2015149568.tif 000010
【図９】
2015149568.tif 000011
【図１０】
2015149568.tif 000012
【図１１】
2015149568.tif 000013
【図１２】
2015149568.tif 000014
【図１３】
2015149568.tif 000015
【図１４】
2015149568.tif 000016