(57)【特許請求の範囲】
【請求項１】
ウェブアプリケーションの実行環境である第１のソフトウェアプラットフォームと、当該第１のソフトウェアプラットフォームとは異なる第２のソフトウェアプラットフォームとを搭載した情報処理装置であって、
第２のソフトウェアを呼び出すために前記第２のソフトウェアプラットフォームに登録される前記第２のソフトウェアのサービス情報を変換する変換手段と、
前記変換手段による変換後の情報を、前記第１のソフトウェアプラットフォームに登録する登録手段と、
前記第１のソフトウェアプラットフォームで実行中のウェブアプリケーションにより、前記登録された前記変換後の情報が呼び出されたことに応じて、当該変換後の情報に対応する前記サービス情報を特定する特定手段と、
前記特定されたサービス情報を用いて、前記第２のソフトウェアプラットフォームで実行される前記第２のソフトウェアによる、前記ウェブアプリケーションからの要求に含まれるデータに対するサービスを開始させる手段と、を有し、
前記第２のソフトウェアプラットフォームは、Ｊａｖａアプリケーションを実行するプラットフォームであることを特徴とする情報処理装置。
【請求項２】
ウェブアプリケーションの実行環境である第１のソフトウェアプラットフォームと、当該第１のソフトウェアプラットフォームとは異なる第２のソフトウェアプラットフォームとを搭載した情報処理装置であって、
第２のソフトウェアを呼び出すために前記第２のソフトウェアプラットフォームに登録される前記第２のソフトウェアのサービス情報を変換する変換手段と、
前記変換手段による変換後の情報を、前記第１のソフトウェアプラットフォームに登録する登録手段と、
前記第１のソフトウェアプラットフォームで実行中のウェブアプリケーションにより、前記登録された前記変換後の情報が呼び出されたことに応じて、当該変換後の情報に対応する前記サービス情報を特定する特定手段と、
前記特定されたサービス情報を用いて、前記第２のソフトウェアプラットフォームで実行される前記第２のソフトウェアによる、前記ウェブアプリケーションからの要求に含まれるデータに対するサービスを開始させる手段と、を有し、
前記第２のソフトウェアは、前記サービスの開始に応じて、前記情報処理装置で実行中の前記ウェブアプリケーションにより提供される画面が表示されている表示部に、当該サービスに関する画面を追加で表示させることを特徴とする情報処理装置。
【請求項３】
前記変換手段は、前記情報処理装置内で提供されるサービスであることを示す情報を含めるように、前記サービス情報を、前記ウェブアプリケーションと連携させるために利用できるＵＲＬの形式の情報に変換することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２のソフトウェアプラットフォームに対するサービス情報の登録を検知することに応じて、前記変換手段は当該サービス情報を変換し、さらに、前記登録手段は前記変換手段による変換後の情報を前記第１のソフトウェアプラットフォームに登録することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置は、プリンタ部を備え、
前記第２のソフトウェアによるサービスは、前記プリンタ部を利用するプリントサービスであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記ウェブアプリケーションは、ネットワークを介して前記情報処理装置と通信するサーバからダウンロードされることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
前記ダウンロードされたウェブアプリケーションからの要求に応じて、前記第２のソフトウェアプラットフォームでアプリケーションが実行されることで前記情報処理装置が備えるプリンタ部を利用するプリントサービスが提供されることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
ウェブアプリケーションの実行環境である第１のソフトウェアプラットフォームと、当該第１のソフトウェアプラットフォームとは異なる第２のソフトウェアプラットフォームとを搭載した情報処理装置を制御する制御方法であって、
第２のソフトウェアを呼び出すために前記第２のソフトウェアプラットフォームに登録される前記第２のソフトウェアのサービス情報を変換する変換工程と、
前記変換工程による変換後の情報を、前記第１のソフトウェアプラットフォームに登録する登録工程と、
前記第１のソフトウェアプラットフォームで実行中のウェブアプリケーションにより、前記登録された前記変換後の情報が呼び出されたことに応じて、当該変換後の情報に対応する前記サービス情報を特定する特定工程と、
前記特定されたサービス情報を用いて、前記第２のソフトウェアプラットフォームで実行される前記第２のソフトウェアによる、前記ウェブアプリケーションからの要求に含まれるデータに対するサービスを開始させる工程と、を有し、
前記第２のソフトウェアプラットフォームは、Ｊａｖａアプリケーションを実行するプラットフォームであることを特徴とする制御方法。
【請求項９】
ウェブアプリケーションの実行環境である第１のソフトウェアプラットフォームと、当該第１のソフトウェアプラットフォームとは異なる第２のソフトウェアプラットフォームとを搭載した情報処理装置を制御する制御方法であって、
第２のソフトウェアを呼び出すために前記第２のソフトウェアプラットフォームに登録される前記第２のソフトウェアのサービス情報を変換する変換工程と、
前記変換工程による変換後の情報を、前記第１のソフトウェアプラットフォームに登録する登録工程と、
前記第１のソフトウェアプラットフォームで実行中のウェブアプリケーションにより、前記登録された前記変換後の情報が呼び出されたことに応じて、当該変換後の情報に対応する前記サービス情報を特定する特定工程と、
前記特定されたサービス情報を用いて、前記第２のソフトウェアプラットフォームで実行される前記第２のソフトウェアによる、前記ウェブアプリケーションからの要求に含まれるデータに対するサービスを開始させる工程と、を有し、
前記第２のソフトウェアは、前記サービスの開始に応じて、前記情報処理装置で実行中の前記ウェブアプリケーションにより提供される画面が表示されている表示部に、当該サービスに関する画面を追加で表示させることを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置とその制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、アプリケーションやサービスが相互に連携動作する仕組みが携帯電話等に搭載されつつある。また複合機（Multi-Function Peripheral）やプリンタ装置のような機器にも、複数のアプリケーションやサービスが存在する場合もある。これら複数のアプリケーションやサービスと、携帯電話に搭載されているアプリケーションやサービスとが相互に連携動作する仕組みが望まれつつある。
【０００３】
従来のアプリケーションやサービスが連携動作する仕組みとして、例えばAndroid（登録商標）に組み込まれているIntentsや一部のＷｅｂブラウザに組み込まれているWeb Intentsがある。更に、マニフェストファイルとIntentsを応用したサービス特定技術（特許文献１参照）などがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３７６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載された従来技術でも、アプリケーションやサービスが相互に連携動作することは可能である。しかし、上記従来技術では、アプリケーションやサービスが相互に連携動作するための前提条件として、それぞれが同一のソフトウェアプラットフォームに存在し、かつ同一の連携機構を利用することが必須となっている。このため情報処理装置のように、内部に複数のプラットフォームや複数の連携機構が存在し、その上でアプリケーションやサービスを実行する場合が考慮されていない。即ち、異なるプラットフォームや連携機構の垣根を越えて連携動作する場合は、従来技術では機構的に充分とは言えない。
【０００６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００７】
本発明の特徴は、複数のソフトウェアプラットフォームを搭載し、各プラットフォーム上で実行されるプログラム同士を垣根なく連携して動作できるようにする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
ウェブアプリケーションの実行環境である第１のソフトウェアプラットフォームと、当該第１のソフトウェアプラットフォームとは異なる第２のソフトウェアプラットフォームとを搭載した情報処理装置であって、
第２のソフトウェアを呼び出すために前記第２のソフトウェアプラットフォームに登録される前記第２のソフトウェアのサービス情報を変換する変換手段と、
前記変換手段による変換後の情報を、前記第１のソフトウェアプラットフォームに登録する登録手段と、
前記第１のソフトウェアプラットフォームで実行中のウェブアプリケーションにより、前記登録された前記変換後の情報が呼び出されたことに応じて、当該変換後の情報に対応する前記サービス情報を特定する特定手段と、
前記特定されたサービス情報を用いて、前記第２のソフトウェアプラットフォームで実行される前記第２のソフトウェアによる、前記ウェブアプリケーションからの要求に含まれるデータに対するサービスを開始させる手段と、を有し、前記第２のソフトウェアプラットフォームは、Ｊａｖａアプリケーションを実行するプラットフォームであることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のソフトウェアプラットフォームを搭載し、各プラットフォーム上で実行されるプログラム同士を垣根なく連携して動作できるという効果がある。
【００１０】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１１】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係るシステム全体の構成を示す図。
【図２】実施形態に係る情報処理装置のハードウェア構成を説明するブロック図。
【図３】実施形態に係る情報処理装置のソフトウェア構成を説明するブロック図。
【図４】実施形態に係るプリントサービス提供モジュールが登録したプリントサービス（ＯＳＧｉサービス）を、WebIntents管理モジュールが管理するWebIntentsとして登録するまでの処理を説明するシーケンス図。
【図５】実施形態に係るＷｅｂアプリケーションがWebIntents管理モジュールに登録されたWebIntentsを呼び出すことにより、プリントサービス提供モジュールが呼び出されるまでの処理の流れを説明するシーケンス図。
【図６】実施形態に係る変換データテーブルに登録されている情報の一例を示す図。
【図７】実施形態に係るＷｅｂアプリケーションが表示する画面の一例を示す図。
【図８】実施形態に係るプリントサービス提供モジュールが表示する画面の一例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施形態に係るシステム全体の構成を示す図である。
【００１４】
本実施形態に係るシステムは、情報処理装置１０１と、情報処理装置１０１とネットワーク１０２を経由して接続されるＷｅｂサーバ１０３と、Ｗｅｂサーバ１０３で動作するＷｅｂアプリケーション１０４とを有する。
【００１５】
ユーザ１００は、情報処理装置１０１のユーザインターフェース部を介してＷｅｂアプリケーション１０４を利用することができる。尚、この実施形態では、情報処理装置１０１は、スキャナやプリンタ部を有する複合機（多機能処理装置：ＭＦＰ）を例に説明するが、本発明の情報処理装置は、このようなＭＦＰやプリンタ等に限定されない。
【００１６】
図２は、実施形態に係る情報処理装置１０１のハードウェア構成を説明するブロック図である。
【００１７】
情報処理装置１０１は、コア部２００と、コア部２００に接続されたユーザインターフェース部２０１、記憶部２０２、ネットワークインターフェース部２０３、スキャナ部２０４、プリンタ部２０５、フィニッシャ部２０６を有する。コア部２００は、ＣＰＵ２１１、ＣＰＵ２１１にワークエリアを提供するとともに、記憶部２０２に記憶されたプログラムの展開領域を提供するＲＡＭ２１２等を含み、情報処理装置１０１の動作を制御している。
【００１８】
ユーザインターフェース部２０１は、ユーザ１００からの操作を受け付けるとともに、ユーザ１００に対して、Ｗｅｂアプリケーション１０４やプリントサービス提供モジュール３０２（図３）の情報を表示できる。記憶部２０２は、情報処理装置１０１のソフトウェア及び各種データ等を記憶している。ネットワークインターフェース部２０３は、情報処理装置１０１とネットワーク１０２とを接続する通信機能を提供する。スキャナ部２０４、プリンタ部２０５、フィニッシャ部２０６は、それぞれ情報処理装置１０１のソフトウェアにより制御される。これにより、スキャナ部２０４により原稿を読み取り、その原稿を読み取って得られた画像データに従ってプリンタ部２０５で印刷するコピー処理や、ネットワーク１０２を介して受信した印刷ジョブを実行して印刷するプリント処理等を実行できる。尚、図２に示す構成要素はあくまでもハード要素の一例を示すもので、本発明を記載内容の形に限定するものではない。
【００１９】
図３は、本実施形態に係る情報処理装置１０１のソフトウェア構成を説明するブロック図である。尚、これらソフトウェアは記憶部２０２に記憶されており、実行時にはＲＡＭ２１２に展開され、ＣＰＵ２１１の制御の下に実行される。
【００２０】
この情報処理装置は、異なる複数のソフトウェアプラットフォームを搭載した情報処理装置で、これらソフトウェアプラットフォームは、大きくｊａｖａ（登録商標）３００とＷｅｂ３１１の領域に分けられる。
【００２１】
ｊａｖａ３００の領域には、ｊａｖａモジュール群が存在し、その中心的なモジュールがＯＳＧｉ（Open Services Gateway initiative）３０４である。ＯＳＧｉ３０４は、プリントサービス提供モジュール３０２が提供するプリントサービスをはじめとする種々のＯＳＧｉサービスを提供するモジュールからのリクエストに応じて動作する。ここでは、例えばＯＳＧｉサービスデータテーブル３０３に対してサービスの登録や削除などを行うことができる。また、Ｊａｖａアプリケーション（Ｊａｖａアプリ）３０１などアプリケーションからのサービス取得リクエストに応じて、ＯＳＧｉサービスデータテーブル３０３に登録されたサービスを返信できる。例えば、ｊａｖａアプリ３０１は、ＯＳＧｉ３０４を経由してプリントサービス提供モジュール３０２が提供するプリントサービスを利用することができる。
【００２２】
更にｊａｖａ３００には、自己の領域外に存在するサービスをｊａｖａ３００の領域で扱えることができるように、仲介の役割を持つ３つのモジュールが存在する。一つ目のモジュールは、ＯＳＧｉサービス代理モジュール３０５である。このサービス代理モジュール３０５は、ｊａｖａ３００の領域外に存在するサービスで、自身が提供するサービスをＯＳＧｉ３０４に対して登録するために仲介するモジュールである。このＯＳＧｉサービス代理モジュール３０５によって、サービス管理モジュール３０８を経由してＷｅｂ３１１の領域に存在するサービス提供モジュールのサービスを登録することができる。
【００２３】
二つ目のモジュールは、ＯＳＧｉサービスクライアント代理モジュール３０６である。このサービスクライアント代理モジュール３０６は、ｊａｖａ３００の領域外に存在するサービスを利用するクライアントのリクエストを代理実行するモジュールである。このＯＳＧｉクライアント代理モジュール３０６によって、サービス管理モジュール３０８を経由して、Ｗｅｂ３１１の領域に存在するクライアントモジュールが、利用するサービスを取得し利用することができる。
【００２４】
三つ目のモジュールはＯＳＧｉサービス監視モジュール３０７である。この監視モジュール３０７は、ＯＳＧｉ３０４と連携することでサービスの登録や削除、サービスの要求などのイベントを発行できる。このＯＳＧｉサービス監視モジュール３０７によって、サービス管理モジュール３０８と連携することで、Ｗｅｂ３１１の領域のモジュールに対してさまざまなイベントを発行することができる。
【００２５】
Ｗｅｂ３１１の領域には、Ｗｅｂサーバ１０３からダウンロードしたＷｅｂアプリケーション１０４をはじめ、Ｗｅｂコンテンツを扱うモジュールが存在し、その中心的なモジュールはWebIntents管理モジュール３１３である。WebIntents管理モジュール３１３は、WebIntents提供モジュール３１２をはじめ、種々のWebIntentsと呼ばれるサービスを提供するモジュールからのリクエストに応じて、WebIntentsデータテーブル３１４にサービスの登録や削除などを行う。またWebIntents管理モジュール３１３は、Ｗｅｂアプリケーション１０４などからのサービス取得リクエストに応じて、WebIntentsデータテーブル３１４に登録されたサービスを返信することができる。これによりＷｅｂアプリケーション１０４は、WebIntents管理モジュール３１３を介して、WebIntents提供モジュール３１２が提供するサービスを利用することができる。WebIntentsは、Ｗｅｂアプリケーション同士をつなげる仕組みを提供しており、Intentは基本的にEdit，View，Shareなどの汎用アクションであって、そのアクションに関連したパラメータを伴う。
【００２６】
またｊａｖａ３００と同様に、Ｗｅｂ３１１の領域外に存在するサービスをＷｅｂ３１１の領域で扱えるよう仲介の役割を持つ３つのモジュールが存在する。これら３つのモジュールは、WebIntents代理モジュール３１５、WebIntentsクライアント代理モジュール３１６、WebIntents監視モジュール３１７である。これらは前述のＯＳＧｉサービス代理モジュール３０５、ＯＳＧｉサービスクライアント代理モジュール３０６、ＯＳＧｉサービス監視モジュール３０７と同等の役割を持つモジュールである。
【００２７】
サービス管理モジュール３０８は、ＯＳＧｉサービス監視モジュール３０７とWebIntents監視モジュール３１７と連携し、ＯＳＧｉ３０４やWebIntents管理モジュール３１３からそれぞれに登録されたＯＳＧｉサービスとWebIntentsを検知できる。そして、その検知したタイミングで関連情報を取得することもできる。サービス管理モジュール３０８は、取得した関連情報を確認し、変換データテーブル３０９に登録されているか否かを判定する。ここで変換データテーブル３０９に登録されていない場合、サービス管理モジュール３０８は、サービス変換モジュール３１０を利用して、ＯＳＧｉサービスはWebIntentsへ、WebIntentsはＯＳＧｉサービスへ名称を変換する。その後、サービス管理モジュール３０８は、その変換した名称を基に変換データテーブル３０９へ情報を登録する。
【００２８】
また同機構を用いることで、サービス管理モジュール３０８は、ＯＳＧｉ３０４やWebIntents管理モジュール３１３から、それぞれ削除されたＯＳＧｉサービスとWebIntentsを検知し、変換データテーブル３０９から削除することもできる。
【００２９】
上述のモジュールを介することで、プリントサービス提供モジュール３０２が提供するプリントサービスをＯＳＧｉ３０４に登録したタイミングで、WebIntents管理モジュール３１３にもあたかもWebIntentsであるように登録できる。また、Ｗｅｂアプリケーション１０４は、WebIntents管理モジュール３１３を経由してWebIntentsを利用するように、プリントサービス提供モジュール３０２が提供するプリントサービスを利用することが可能となる。
【００３０】
図４は、本実施形態に係るプリントサービス提供モジュール３０２が登録したプリントサービス（ＯＳＧｉサービス）を、WebIntents管理モジュール３１３が管理するWebIntentsとして登録するまでの処理を説明するシーケンス図である。
【００３１】
この処理は、プリントサービス提供モジュール３０２がＯＳＧｉ３０４に対してＯＳＧｉサービス（プリントサービス）を登録し、ＯＳＧｉ監視モジュール３０７が、その登録を検知したことにより開始される。
【００３２】
先ずＳ１００で、ＯＳＧｉサービス監視モジュール３０７は、ＯＳＧｉ３０４から登録されたＯＳＧｉサービス情報を取得してＳ１０１へ進む。Ｓ１０１でＯＳＧｉサービス監視モジュール３０７は、その取得したＯＳＧｉサービス情報をサービス管理モジュール３０８に通知する。
【００３３】
これによりＳ１０２でサービス管理モジュール３０８は、その取得したＯＳＧｉサービス情報が変換データテーブル３０９に登録されているかを確認する確認処理を実行してＳ１０３へ進む。Ｓ１０３でサービス管理モジュール３０８は、その取得したＯＳＧｉサービス情報が変換データテーブル３０９に登録されていると判定したときは、新たに登録する必要がないためこの処理を終了する。
【００３４】
一方、登録されていないと判定した場合は、サービス変換モジュール３１０へＯＳＧｉサービス情報を通知する。
【００３５】
これによりサービス変換モジュール３１０はＳ１０４で、受け取ったＯＳＧｉサービス情報からクラス情報を抽出し、そのクラス情報に応じたＵＲＬ情報に変換し、そのＵＲＬ情報をサービス管理モジュール３０８へ通知する。
【００３６】
これによりＳ１０５に進みサービス管理モジュール３０８は、ＯＳＧｉサービス監視モジュール３０７から受け取ったＯＳＧｉサービス情報と、サービス変換モジュール３１０から取得したＵＲＬ情報を変換データテーブル３０９に登録してＳ１０６へ進む。Ｓ１０６でサービス管理モジュール３０８は、Ｓ１０５で変換データテーブル３０９に登録した情報からＵＲＬ情報を抽出して、WebIntents代理モジュール３１５に通知する。
【００３７】
これによりＳ１０７でWebIntents代理モジュール３１５は、その通知されたＵＲＬ情報をWebIntents管理モジュール３１３へ、WebIntentsとして代理登録を行う。
【００３８】
これによりＳ１０８に進みWebIntents管理モジュール３１３は、その受け取ったＵＲＬ情報がWebIntentsデータテーブル３１４に存在するか否かを判定する。ここで存在すると判定した場合は、この処理を終了し、存在しないと判定した場合はＳ１０９へ進む。Ｓ１０９でWebIntents管理モジュール３１３は、WebIntentsデータテーブル３１４に、そのＵＲＬ情報を登録して、この処理を終了する。
【００３９】
以上説明した処理により、プリントサービス提供モジュール３０２がプリントサービス（ＯＳＧｉサービス）を登録すると、変換データテーブル３０９にそのサービスが登録されているかを調べる。ここで登録されていないときは、そのＯＳＧｉサービス情報からクラス情報を抽出し、そのクラス情報に応じたＵＲＬ情報に変換して、そのＯＳＧｉサービス情報ともに変換データテーブル３０９に登録する。更に、そのＵＲＬ情報がWebIntentsデータテーブル３１４に存在しないときは、WebIntentsデータテーブル３１４に、そのＵＲＬ情報を登録する。こうしてプリントサービス提供モジュール３０２がプリントサービス（ＯＳＧｉサービス）を登録すると、そのプリントサービスで使用されるＵＲＬ情報がWebIntentsとして登録される。
【００４０】
図５は、本実施形態に係るＷｅｂアプリケーション１０４がWebIntents管理モジュール３１３に登録されたWebIntentsを呼び出すことにより、プリントサービス提供モジュール３０２が呼び出されるまでの処理の流れを説明するシーケンス図である。
【００４１】
この処理は、Ｗｅｂアプリケーション１０４が、WebIntents管理モジュール３１３に登録されたWebIntentsを呼び出すために、WebIntentsデータテーブル３１４に登録されているＵＲＬ情報とWebIntentsに渡すデータ（例えば文書データ）を通知する。そして、そのＵＲＬ情報に紐付けられたWebIntents代理モジュール３１５が呼び出されることにより開始される。
【００４２】
まずＳ２００でWebIntents代理モジュール３１５は、サービス管理モジュール３０８に対してＵＲＬ情報とデータを含む情報を通知する。
【００４３】
これによりＳ２０１でサービス管理モジュール３０８は、その通知された情報内のＵＲＬ情報を基に、そのＵＲＬ情報に紐づくＯＳＧｉサービスが変換データテーブル３０９に登録されているか否かを調べる検索処理を行う。そしてＳ２０２へ進みサービス管理モジュール３０８は、変換データテーブル３０９にＵＲＬ情報に紐づくＯＳＧｉサービスが登録されていないと判定すると、この処理を終了する。一方、登録されていると判定した場合はＳ２０３へ進む。Ｓ２０３でサービス管理モジュール３０８は、そのＵＲＬ情報に紐づけられたＯＳＧｉサービス情報を含むデータと共に、ＯＳＧｉサービスクライアント代理モジュール３０６に対して情報を通知する。
【００４４】
これによりＳ２０４でＯＳＧｉサービスクライアント代理モジュール３０６は、サービス管理モジュール３０８から受け取った情報を基に、ＯＳＧｉ３０４に対してＯＳＧｉサービスの代理呼び出し処理を行う。
【００４５】
これによりＳ２０５に進みＯＳＧｉ３０４は、その呼び出されたＯＳＧｉサービスがＯＳＧｉサービスデータテーブル３０３に存在するか否かを判定する。ここで存在しないと判定した場合は、この処理を終了する。一方、存在すると判定した場合はＳ２０６へ進み、ＯＳＧｉ３０４は、プリントサービス提供モジュール３０２が提供するＯＳＧｉサービスを、ＯＳＧｉサービスクライアント代理モジュール３０６に返却する。
【００４６】
これによりＳ２０７でＯＳＧｉサービスクライアント代理モジュール３０６は、ＯＳＧｉ３０４から受け取ったＯＳＧｉサービスに対してデータを通知してサービス開始処理を行う。
【００４７】
これにより、Ｗｅｂアプリケーション１０４から、文書データを含むプリントサービスが要求されると、そのプリントサービスのＵＲＬ情報に紐づけられたプリントサービス情報を含むデータがＯＳＧｉサービスクライアント代理モジュール３０６に送られる。これによりＯＳＧｉサービスクライアント代理モジュール３０６は、プリントサービス提供モジュール３０２を起動させてプリントサービスを実行させることができる。こうしてＷｅｂアプリケーション１０４からのサービス要求に応答して、ＯＳＧｉが管理しているソフトウェアを実行して、そのサービス要求を実行することができる。
【００４８】
図６は、実施形態に係る変換データテーブル３０９に登録されている情報の一例を示す図である。
【００４９】
具体的な登録情報の構成要素としては、ＵＵＩＤ６００、Ｔｙｐｅ６０１，ＯＳＧｉサービス名６０２、ＵＲＬ６０３がある。ＵＵＩＤ６００は、変換データテーブル３０９に登録された情報のユニークなＩＤ（識別子）を示す。Ｔｙｐｅ６０１は、変換データテーブル３０９に登録されたサービスのＴｙｐｅ（種別）を表す。例えば、プリントサービスは「Print」、エラー発生時のリカバリサービスは「Error_recovery」で示される。
【００５０】
ＯＳＧｉサービス名６０２は、ＯＳＧｉ３０４がハンドリング可能なＯＳＧｉサービスの名称である。ＯＳＧｉサービス名６０２は、プリントサービス提供モジュール３０２がＯＳＧｉ３０４に対してサービスを登録する際に利用する名称と同一である。
【００５１】
ＵＲＬ６０３は、WebIntents管理モジュール３１３がハンドリング可能なＵＲＬを示す。これもWebIntents提供モジュール３１２がWebIntents管理モジュール３１３に対してサービス登録する際に利用するＵＲＬと同一である。このように変換データテーブル３０９は、ＯＳＧｉ３０４がハンドリング可能なＯＳＧｉサービスの名称と、Ｗｅｂアプリケーションがハンドリング可能なＵＲＬとを関連付けて登録している。
【００５２】
次にＯＳＧｉサービス名６０２からＵＲＬ６０３を変換生成する処理を説明する。例えば図６に示すように、パッケージを含めたクラス名に対して「.」に「/」を割り当て、大文字を小文字化し、先頭に「http://localhost/」を加える。こうしてユニークなＵＲＬ情報に変換することが可能である。また、ＵＲＬ６０３からＯＳＧｉサービス名６０２に変換する際も同様に、ＵＲＬ６０３の先頭から「http://localhost/」を除くことによりＯＳＧｉサービス名６０２に変換できる。
【００５３】
図７は、実施形態に係るＷｅｂアプリケーション１０４が表示する画面の一例を示す図である。
【００５４】
情報処理装置１０１は、ネットワーク１０２を経由してＷｅｂサーバ１０３上にあるＷｅｂアプリケーション１０４を取得し、ユーザインターフェース部２０１のＷｅｂブラウザに、図７に示す画面を表示することができる。
【００５５】
例えば図７では、サーバ上のユーザフォルダを表示するようなものが考えられる。この状態で、ユーザ１００は、この画面を利用して自身のフォルダ内の文書を確認し、印刷したい文書に対応する実行ボタン７００を押下する。この実行ボタン７００が押下されると、前述の図５のシーケンスに従って、Ｗｅｂアプリケーション１０４が、プリントサービス提供モジュール３０２が提供するプリントサービスを呼び出し、図７から図８へと表示画面を遷移する。
【００５６】
図８は、実施形態に係るプリントサービス提供モジュール３０２が表示する画面の一例を示す図である。
【００５７】
情報処理装置１０１のプリントサービス提供モジュール３０２は、ＯＳＧｉ３０４からの命令に応じてユーザインターフェース部２０１に、図８に示すような印刷処理を実行するための印刷設定画面８０１をポップアップ表示することができる。この状態で、ユーザ１００は、この画面を利用して印刷設定を確認し、実行ボタン８００を押下する。実行ボタン８００が押下されると、プリントサービス提供モジュール３０２は、プリンタ部２０５及びフィニッシャ部２０６を制御し、この画面で設定された印刷設定に応じた印刷処理を実行することができる。
【００５８】
以上説明したように本実施形態によれば、複数のソフトウェアプラットフォームを搭載し、各ソフトウェアプラットフォーム上で実行されるプログラム同士を垣根なく連携させて、ユーザが所望するサービスを提供できる。
【００５９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６０】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００６１】
１００…ユーザ、１０１…情報処理装置、１０２…ネットワーク、１０３…Ｗｅｂサーバ、１０４…Ｗｅｂアプリケーション、２１１…ＣＰＵ，３０２…プリントサービス提供モジュール、３０４…ＯＳＧｉ，３０８…サービス管理モジュール、３０９…変換データテーブル、３１０…サービス変換モジュール。
【図１】
0006366373.tif 000002
【図２】
0006366373.tif 000003
【図３】
0006366373.tif 000004
【図４】
0006366373.tif 000005
【図５】
0006366373.tif 000006
【図６】
0006366373.tif 000007
【図７】
0006366373.tif 000008
【図８】
0006366373.tif 000009