(57)【要約】【課題】既存バンドルを実装の変更なくＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させて、複数のバンドルを異なる端末で実行させるＯＳＧｉサービス登録装置を提供する。【解決手段】ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録装置１であって、ＯＳＧｉ標準仕様で規定されるＯＳＧｉサービスのサービスプロパティを既存のバンドルから取得する取得部２と、ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、取得したサービスプロパティに付与する付与部３と、サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録部４とを備える。【選択図】図１
2014229114.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録装置であって、
前記ＯＳＧｉ標準仕様で規定されるＯＳＧｉサービスのサービスプロパティを既存のバンドルから取得する取得部と、
前記ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、前記取得したサービスプロパティに付与する付与部と、
前記サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録部と
を備えることを特徴とするＯＳＧｉサービス登録装置。
【請求項２】
前記付与部は、前記取得したサービスプロパティに前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加し、
前記登録部は、前記サービスプロパティが付加されたバンドルが提供するサービスを前記サービスレジストリに新規に登録することを特徴とする請求項１に記載のＯＳＧｉサービス登録装置。
【請求項３】
前記付与部は、前記取得したサービスプロパティを前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティに変更し、
前記登録部は、前記既存のバンドルが提供するサービスを前記サービスプロパティを変更されたバンドルが提供するサービスに置換して前記サービスレジストリに登録することを特徴とする請求項１に記載のＯＳＧｉサービス登録装置。
【請求項４】
ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録方法であって、
ＯＳＧｉサービス登録装置の取得部が、ＯＳＧｉサービスのサービスプロパティを既存のバンドルから取得する取得ステップと、
前記ＯＳＧｉサービス登録装置の付与部が、前記ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、前記取得したサービスプロパティに付与する付与ステップと、
前記ＯＳＧｉサービス登録装置の登録部が、前記サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録ステップと
を有することを特徴とするＯＳＧｉサービス登録方法。
【請求項５】
前記付与ステップは、前記取得したサービスプロパティに前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加し、
前記登録ステップは、前記サービスプロパティが付加されたバンドルが提供するサービスを前記サービスレジストリに新規に登録することを特徴とする請求項４に記載のＯＳＧｉサービス登録方法。
【請求項６】
前記付与ステップは、前記取得したサービスプロパティを前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティに変更し、
前記登録ステップは、前記既存のバンドルが提供するサービスを前記サービスプロパティを変更されたバンドルが提供するサービスに置換して前記サービスレジストリに登録することを特徴とする請求項４に記載のＯＳＧｉサービス登録方法。
【請求項７】
請求項１〜３の何れかに記載のＯＳＧｉサービス登録装置としてコンピュータを機能させるためのＯＳＧｉサービス登録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＳＧｉ（Open Services Gateway initiative）標準仕様に基づくＯＳＧｉサービスの登録装置、登録方法および登録プログラムに関する。
【背景技術】
【０００２】
ＯＳＧｉ（登録商標）のバンドルは、ＯＳＧｉ仕様で規定されるＯＳＧｉサービスというＪａｖａ（登録商標）オブジェクトを通じて連携することができる。即ち、例えば図７に示すように、ＯＳＧｉフレームワーク１２上で動作するバンドルＡとバンドルＢは、ＯＳＧｉサービスを介して連携することができる。
【０００３】
バンドルとは、クラスファイルや画像ファイル等のプログラムの実行に必要なファイルの集合であり、ＯＳＧｉ仕様では、複数のバンドルが連携する仕組み、つまり、あるバンドルが提供するクラスファイルを別のバンドルが呼び出すことができる仕組みを定めている。
【０００４】
その１つがＯＳＧｉサービスによる連携であり、例えばバンドルＡが、Ｊａｖａインターフェイスで定義されるサービスの実装クラスを提供し、生成したオブジェクトをＯＳＧｉサービスとしてＯＳＧｉフレームワーク１２のサービスレジストリ（図示せず）に登録する。また、バンドルＢは、例えばサービスレジストリに登録されている当該ＯＳＧｉサービスを取得し、そのオブジェクトが持つサービスのメソッドを呼び出すことができる。
【０００５】
ここで、ＯＳＧｉバンドルはＯＳＧｉサービスを複数登録することができる。
【０００６】
また、ＯＳＧｉサービスを通じて、複数のＯＳＧｉフレームワーク間でＯＳＧｉバンドルを実行するための仕様に、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅがある。
【０００７】
ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅの詳細については、非特許文献１および２に記載されている。
【０００８】
本仕様に対応したＯＳＧｉバンドルを作成するためには、該当ＯＳＧｉバンドルが作成するサービスプロパティに特定のサービスプロパティを付与しなければならない。
【０００９】
なお、サービスプロパティは、ＯＳＧｉ仕様で定められたｋｅｙ／ｖａｌｕｅからなるプロパティである。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】“OSGi Service Platform Core Specification Release 4, Version 4.3, Section6 ”、［ｏｎｌｉｎｅ］、OSGi Alliance、［平成２５年５月１５日検索］、インターネット＜ＵＲＬ：http://www.osgi.org/download/r4v43/osgi.core-4.3.0.pdf＞
【非特許文献２】“OSGi Service Platform Service Compendium Release 4, Version 4.3, Section122”、［ｏｎｌｉｎｅ］、OSGi Alliance、［平成２５年５月１５日検索］、インターネット＜ＵＲＬ：http://www.osgi.org/Download/File?url=/download/r4v43/osgi.cmpn-4.3.0.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記従来技術では、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に基づき、複数のＯＳＧｉフレームワーク上で実行することを目的に作成したバンドルは、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様に基づいたサービスプロパティを事前に付与する必要がある。
【００１２】
しかし、既に作成済みのバンドル（既存バンドル）をＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に基づき複数のＯＳＧｉフレームワーク上で実行させたい場合には、サービスプロパティを付与するためにバンドルの実装を変える必要がある。
【００１３】
したがって、従来技術では、既存バンドルの実装を変えずにＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させることはできないという不都合があった。
【００１４】
本発明は、上述のような課題を解決すべくなされたものであり、既存バンドルを実装の変更なくＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させて、複数のバンドルを異なる端末で実行させることができるＯＳＧｉサービス登録装置、登録方法および登録プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
前記課題を解決するため、請求項１の発明に係るＯＳＧｉサービス登録装置は、ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録装置であって、前記ＯＳＧｉ標準仕様で規定されるＯＳＧｉサービスのサービスプロパティを既存のバンドルから取得する取得部と、前記ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、前記取得したサービスプロパティに付与する付与部と、前記サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録部とを備えることを特徴とする。
【００１６】
請求項２の発明に係るＯＳＧｉサービス登録装置は、請求項１記載のＯＳＧｉサービス登録装置において、前記付与部は、前記取得したサービスプロパティに前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加し、前記登録部は、前記サービスプロパティが付加されたバンドルが提供するサービスを前記サービスレジストリに新規に登録することを特徴とする。
【００１７】
請求項３の発明に係るＯＳＧｉサービス登録装置は、請求項１記載のＯＳＧｉサービス登録装置において、前記付与部は、前記取得したサービスプロパティを前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティに変更し、前記登録部は、前記既存のバンドルが提供するサービスを前記サービスプロパティを変更されたバンドルが提供するサービスに置換して前記サービスレジストリに登録することを特徴とする。
【００１８】
請求項４の発明に係るＯＳＧｉサービスの登録方法は、ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録方法であって、ＯＳＧｉサービス登録装置の取得部が、ＯＳＧｉサービスのサービスプロパティを既存のバンドルから取得する取得ステップと、前記ＯＳＧｉサービス登録装置の付与部が、前記ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、前記取得したサービスプロパティに付与する付与ステップと、前記ＯＳＧｉサービス登録装置の登録部が、前記サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録ステップとを有することを特徴とする。
【００１９】
請求項５の発明に係るＯＳＧｉサービスの登録方法は、請求項４記載のＯＳＧｉサービスの登録方法において、前記付与ステップは、前記取得したサービスプロパティに前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加し、前記登録ステップは、前記サービスプロパティが付加されたバンドルが提供するサービスを前記サービスレジストリに新規に登録することを特徴とする。
【００２０】
請求項６の発明に係るＯＳＧｉサービスの登録方法は、請求項４記載のＯＳＧｉサービスの登録方法において、前記付与ステップは、前記取得したサービスプロパティを前記ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティに変更し、前記登録ステップは、前記既存のバンドルが提供するサービスを前記サービスプロパティを変更されたバンドルが提供するサービスに置換して前記サービスレジストリに登録することを特徴とする。
【００２１】
請求項７の発明に係るＯＳＧｉサービス登録プログラムは、請求項１〜３の何れかに記載のＯＳＧｉサービス登録装置としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、既存バンドルを実装の変更なくＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させて、複数のバンドルを異なる端末で実行させることができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態に係るＯＳＧｉサービス登録装置の概略構成を示すブロック図である。
【図２】第１実施例におけるＯＳＧｉサービスによるバンドル間の連携を示す図である。
【図３−１】第１実施例におけるＯＳＧｉサービスプロキシ機能（機能１）を実現するプログラム例を示す図である。
【図３−２】図３−１のプログラム例の続きを示す図である。
【図４】第２実施例におけるＯＳＧｉサービスによるバンドル間の連携を示す図である。
【図５−１】第２実施例におけるＯＳＧｉサービスプロキシ機能（機能２）を実現するプログラム例を示す図である。
【図５−２】図５−１のプログラム例の続きを示す図である。
【図５−３】図５−２のプログラム例の続きを示す図である。
【図６】第３実施例におけるＯＳＧｉサービスによるバンドル間の連携を示す図である。
【図７】従来におけるＯＳＧｉサービスによるバンドル間の連携を示す図である。
【図８】比較例におけるＯＳＧｉサービスによるバンドル間の連携を示す図である。
【発明を実施するための形態】
【００２４】
［構成例］
図１は、本実施の形態に係るＯＳＧｉサービス登録装置１の概略構成を示すブロック図である。
【００２５】
本実施の形態に係るＯＳＧｉサービス登録装置１は、ＯＳＧｉ標準仕様に基づくＯＳＧｉサービスの登録装置であって、ＯＳＧｉ標準仕様で規定されるＯＳＧｉサービスのサービスプロパティを既存のバンドル（例えば、バンドルＡ）から取得する取得部２と、ＯＳＧｉ標準仕様に準拠するＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを、取得したサービスプロパティに付与する付与部３と、サービスプロパティが付与されたバンドルが提供するサービスをサービスレジストリに登録する登録部４とを備える。
【００２６】
ここで、機器連携を実現するためのミドルウェアとしてＯＳＧｉフレームワークは、バンドルというソフトウェアモジュールを起動することで、他の機器を動作させ、機器連携を行うことができる。また、バンドル同士が連携して所定のサービスを実現することができる。
【００２７】
〔ＯＳＧｉについて〕
ＯＳＧｉは、ソフトウェアのモジュール化技術である。ＯＳＧｉ標準仕様に基づくソフトウェアモジュールは、上述のようにバンドルと呼ばれている。
【００２８】
システムアーキテクチャとしては、図７に示すように、動作端末のＯＳ（Operating System）１０上でＪａｖａＶＭ（Java Virtual Machine：Ｊａｖａ仮想マシン）１１が１つのプロセスとして動作し、ＪａｖａＶＭ１１上でバンドルの実行環境であるＯＳＧｉフレームワーク１２（１２ａ、１２ｂ）が動作する。このＯＳＧｉフレームワーク１２上で複数のバンドルを動作させることができる。ＯＳＧｉフレームワーク１２およびバンドルは、Ｊａｖａプログラム（ＪＡＲファイル）である。
【００２９】
ＪａｖａプログラムをＪａｖａＶＭ１１上で動作させるには、まず、Ｊａｖａ言語で書かれたソースコードを、ＪａｖａＶＭ１１が解釈できるバイナリファイルであるクラスファイルにコンパイルする。ＪａｖａＶＭ１１は、そのクラスファイルを解釈し、プログラムを実行する。
【００３０】
バンドルは、クラスファイルや画像ファイル等のプログラムの実行に必要なファイルの集合である。ＯＳＧｉ仕様では、複数のバンドルが連携する仕組み、つまり、あるバンドルが提供するクラスファイルを別のバンドルが呼び出すことができる仕組みを定めている。
【００３１】
その１つがＯＳＧｉサービスによる連携である。具体的には、図７に示すように、バンドルＡが、Ｊａｖａインターフェイスで定義されるＯＳＧｉサービスの実装クラスを提供し、生成したオブジェクトをＯＳＧｉサービスとしてＯＳＧｉフレームワーク１２のサービスレジストリに登録する。
【００３２】
バンドルＢは、サービスレジストリに登録されている当該ＯＳＧｉサービスを取得し、そのオブジェクトが持つサービスのメソッドを呼び出すことができる。
【００３３】
〔実施例１〕
図２および図３を参照して、機能１（ＯＳＧｉサービスプロキシ機能１）を具備するＯＳＧｉバンドルの実装に係る第１実施例について説明する。
【００３４】
第１実施例に示す機能１は、既存バンドルの実装を変更せずにＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応するために用意されるＯＳＧｉサービスプロキシ機能の１例である。
【００３５】
ここで、機能１は、ＯＳＧｉサービスコピー機能である。機能１は、既存バンドルのＯＳＧｉサービスを取得し、ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加して新規にＯＳＧｉサービス登録を実行する。
【００３６】
機能１により、ＯＳＧｉサービス登録装置１の付与部３は、取得部２で取得したサービスプロパティにＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加し、登録部４は、サービスプロパティが付加されたバンドルが提供するサービスをサービスレジストリに新規に登録する。
【００３７】
図２に示す例では、ＯＳＧｉフレームワーク１２ａ上で、既存バンドルであるバンドルＡ（１００）からサービスＡに係るサービスプロパティを取得し、サービスレジストリにＯＳＧｉサービスＡを登録する。次いで、サービスプロパティを付与する機能１を具備したバンドル１０１によってＲｅｍｏｔｅＳｅｒｖｉｃｅｓ対応とされたＯＳＧｉサービスをサービスレジストリに新規に登録して、ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ実装バンドル１０２が利用可能なＯＳＧｉサービスとする。
【００３８】
これにより、プロセス間通信やネットワークＮなどで接続されるＯＳＧｉ端末において受信されるＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ実装バンドル１０２と連携してバンドルＢ（１０３）は、ＯＳＧｉサービスＡを利用することができる。
【００３９】
図３（図３−１および図３−２）には、第１実施例におけるＯＳＧｉサービスプロキシ機能（機能１）を実現するプログラム（ＯＳＧｉサービス登録プログラム）の例を示す。
【００４０】
このプログラムでは、サービスイベントをフックしてＯＳＧｉ  Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅｓ形式でコピーして登録するメソッドにおいて、ＳｅｒｖｉｃｅＥｖｅｎｔオブジェクトから、ＳｅｒｖｉｃｅＲｅｆｅｒｅｎｃｅを取得する。
【００４１】
次いで、元サービスのサービスプロパティをチェックを行い、ＳｅｒｖｉｃｅＲｅｆｅｒｅｎｃｅからサービスオブジェクトを取得する。
【００４２】
続いて、Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅ用のサービスプロパティのセットを行い、元のサービスのサービスプロパティにＲｅｍｏｔｅＳｅｒｖｉｃｅ用のサービスプロパティを付加し、コピーする形で登録する。
【００４３】
次いで、Ｓｅｒｖｉｃｅ  Ｒｅｇｉｓｔｒａｔｉｏｎをサービスレジストリに保存して処理を終了する。
【００４４】
このように、本実施例によれば、既存バンドルを実装の変更なくＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させて、複数のバンドルを異なる端末で実行させて分散処理を効率的に実行することができる。また、機能１によれば、実装がより単純になるというメリットがある。
【００４５】
〔実施例２〕
図４および図５を参照して、機能２（ＯＳＧｉサービスプロキシ機能２）を具備するＯＳＧｉバンドルの実装に係る第２実施例について説明する。
【００４６】
第２実施例に示す機能２は、既存バンドルの実装を変更せずにＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応するために用意されるＯＳＧｉサービスプロキシ機能の他の例である。
【００４７】
ここで、機能２は、ＯＳＧｉサービスプロパティの変更機能である。機能２は、既存バンドルのＯＳＧｉサービスを取得し、ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティを付加してＯＳＧｉサービス登録を実行する。
【００４８】
機能２は、前記機能１とは異なり、既存バンドルのＯＳＧｉサービスをＲｅｍｏｔｅＳｅｒｖｉｃｅｓとして登録する際に、新規サービスとして登録するのではなく、元のＯＳＧｉサービスのサービスプロパティを変更し、ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ対応ＯＳＧｉサービスとして登録することを特徴とする。
【００４９】
機能２により、ＯＳＧｉサービス登録装置１の付与部３は、取得部２で取得したサービスプロパティをＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様で規定されるサービスプロパティに変更し、登録部４は、サービスプロパティを変更されたバンドルが提供するサービスを既存のバンドルが提供するサービスに置換してサービスレジストリに登録する。
【００５０】
図４に示す例では、ＯＳＧｉフレームワーク１２ａ上で、既存バンドルであるバンドルＡ（１００）からサービスＡに係るサービスプロパティを取得し、サービスレジストリにＯＳＧｉサービスＡを登録する。次いで、サービスプロパティを付与する機能２を具備したバンドル１０４によってＲｅｍｏｔｅＳｅｒｖｉｃｅｓ対応とされたＯＳＧｉサービスをサービスレジストリに登録して、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ実装バンドル１０５が利用可能なＯＳＧｉサービスととする。
【００５１】
これにより、プロセス間通信やネットワークＮなどで接続されるＯＳＧｉ端末において受信されるＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ実装バンドル１０５と連携してバンドルＢ（１０３）は、ＯＳＧｉサービスＡを利用することができる。
【００５２】
図５（図５−１、図５−２および図５−３）には、第２実施例におけるＯＳＧｉサービスプロキシ機能（機能２）を実現するプログラム（ＯＳＧｉサービス登録プログラム）の例を示す。
【００５３】
このプログラムでは、サービスイベントをフックしてＯＳＧｉ  Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅｓ形式で再登録するメソッドにおいて、ＳｅｒｖｉｃｅＥｖｅｎｔオブジェクトから、ＳｅｒｖｉｃｅＲｅｆｅｒｅｎｃｅを取得する。
【００５４】
次いで、Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅ登録処理では、元サービスのサービスプロパティをチェックし、ＳｅｒｖｉｃｅＲｅｆｅｒｅｎｃｅからサービスオブジェクトを取得する。
【００５５】
次に、Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅ用のサービスプロパティをセットし、元のサービスのサービスプロパティを変更する形で登録する。そして、Ｓｅｒｖｉｃｅ  Ｒｅｇｉｓｔｒａｔｉｏｎをサービスレジストリに保存する。
【００５６】
また、Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅ用のサービスプロパティをセットするメソッドでは、既存のサービスプロパティを格納し、Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅｓのサービスプロパティをサービスレジストリに格納して処理を終了する。
【００５７】
機能２によれば、機能１と比較して、同一のＯＳＧｉサービスが生成されない分だけ、省メモリとすることができる。
【００５８】
〔実施例３〕
図６を参照して、上記機能２（ＯＳＧｉサービスプロキシ機能２）を具備するＯＳＧｉバンドルの実装に係る第３実施例について説明する。
【００５９】
実施例３は、図６に示すように、機能２をＯＳＧｉフレームワーク１２ｃに具備する実施形態である。なお、適用されるプログラム例は、実施例２と同様である。
【００６０】
Ｊａｖａのリフレクション（クラスのフィールド、メソッドなどの情報を取得したり、クラスを生成したり、メソッド名の文字列を使ってメソッドを呼び出したりすることができるＡＰＩ（Application Programming Interface））は、一般的に処理速度を要する処理である。そのため、機能２をＯＳＧｉフレームワーク１２ｃに具備させることにより、実施例２のＯＳＧｉバンドルによる処理に比して、処理時間を短縮できるというメリットがある。但し、実施例３の構成におけるＯＳＧｉフレームワーク１２ａ、１２ｃは標準仕様からは外れる。
【００６１】
〔比較例〕
図８は、比較例におけるＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅを用いた複数フレームワーク間の連携を示す図である。
【００６２】
ここで、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に基づき複数のＯＳＧｉフレームワーク１２ａ、１２ｂ上で実行することを目的に作成したバンドル９０１は、ＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ仕様に基づいたサービスプロパティを事前に付与する必要がある。
【００６３】
ところが、既に作成済みのバンドル（既存バンドル）９０１をＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に基づき複数のＯＳＧｉフレームワーク１２ａ、１２ｂ上で実行させたい場合には、サービスプロパティを付与するためにバンドルの実装を変える必要があった。
【００６４】
このように、比較例においては、既存バンドル９０１の実装を変えずにＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させることはできなかった。
【００６５】
以上述べたように、本実施の形態に係るＯＳＧｉサービス登録装置、登録方法および登録プログラムによれば、既存バンドル（バンドルＡ（１００））を実装の変更なくＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様に対応させ、複数のバンドルを異なる実行端末で実行させることができる。
【００６６】
また、既存バンドルだけではなく、新規にバンドルを作成する際にもＯＳＧｉＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ仕様を意識することなく、複数ＯＳＧｉフレームワーク１２ａ、１２ｂ間で連携させることが可能になる。
【００６７】
なお、本発明は上記実施の形態に限定されるものではなく、その要旨の範囲内で数々の変更が可能である。
【符号の説明】
【００６８】
１…ＯＳＧｉサービス登録装置
２…取得部
３…付与部
４…登録部
１０、１０ａ、１０ｂ…ＯＳ
１１、１１ａ、１１ｂ…ＪａｖａＶＭ
１２、１２ａ、１２ｂ、１２ｃ…ＯＳＧｉフレームワーク
１００…バンドルＡ
１０２、１０５…ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ・ＲｅｍｏｔｅＳｅｒｖｉｃｅＡｄｍｉｎＳｅｒｖｉｃｅ実装バンドル
１０３…バンドルＢ
９０１…既存バンドル（ＲｅｍｏｔｅＳｅｒｖｉｃｅｓ対応バンドル）
Ｎ…ネットワーク
【図１】
2014229114.tif 000003
【図２】
2014229114.tif 000004
【図３−１】
2014229114.tif 000005
【図３−２】
2014229114.tif 000006
【図４】
2014229114.tif 000007
【図５−１】
2014229114.tif 000008
【図５−２】
2014229114.tif 000009
【図５−３】
2014229114.tif 000010
【図６】
2014229114.tif 000011
【図７】
2014229114.tif 000012
【図８】
2014229114.tif 000013