(57)【特許請求の範囲】
【請求項１】
ジャババーチャルマシンをプラットフォームとして稼動する制御システムであって、
複数種類のデバイスを制御可能なアプリケーションプログラムに対し前記デバイスの種類毎の第１のインターフェイスを提供する第１のオブジェクトと、
前記デバイスの種類毎の第２のインターフェイスを前記第１のオブジェクトに対し提供する第２のオブジェクトと、
前記第２のオブジェクトを呼び出して接続および切断する第３のインターフェイスを前記第１のオブジェクトに対し提供する第３のオブジェクトと、
前記第２のオブジェクトを設定およびロードする情報を蓄積したデータベースと、
前記第２のオブジェクトの前記情報が蓄積された前記データベースのエントリーポイントを得て、前記デバイスに対応した前記第２のオブジェクトを生成する第４のインターフェイスを前記第３のオブジェクトに対し提供する第４のオブジェクトとを有し、
前記第２のオブジェクトは、さらに、前記第４のオブジェクトに対し、前記第４のオブジェクトが前記エントリーポイントを前記第２のオブジェクトに渡す関数を定義した第５のインターフェイスを提供する制御システム。
【請求項２】
請求項１において、前記第４のオブジェクトは複数の異なるメーカの前記デバイス用の前記第２のオブジェクトを生成可能である制御システム。
【請求項３】
請求項１において、前記デバイスはホストコンピュータの周辺機器である制御システム。
【請求項４】
請求項３において、前記第１のオブジェクトは前記周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、前記第２のオブジェクトは前記周辺機器の種類毎に提供されるデバイスサービスオブジェクトである制御システム。
【請求項５】
請求項３において、前記アプリケーションプログラムはＰＯＳアプリケーションプログラムである制御システム。
【請求項６】
ジャババーチャルマシンにより実行されることにより、複数種類のデバイスを制御可能なアプリケーションプログラムに前記デバイスの種類毎の第１のインターフェイスを提供する第１のオブジェクトに対し、前記デバイスの種類毎の第２のインターフェイスを提供する第２のオブジェクトとして機能するプログラムであって、
前記第２のオブジェクトを呼び出して接続および切断するために第３のインターフェイスを前記第１のオブジェクトに対し提供する第３のオブジェクトから前記第２のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得る第４のインターフェイスを備え、前記デバイスに対応した前記第２のオブジェクトを生成する第４のオブジェクトに対し、前記第４のオブジェクトが前記エントリーポイントを前記第２のオブジェクトに渡す関数を定義した第５のインターフェイスを提供する命令を有するプログラム。
【請求項７】
請求項６において、前記デバイスはホストコンピュータの周辺機器であるプログラム。
【請求項８】
請求項７において、前記第１のオブジェクトは前記周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、前記第２のオブジェクトは前記周辺機器の種類毎に提供されるデバイスサービスオブジェクトであるプログラム。
【請求項９】
請求項７において、前記アプリケーションプログラムはＰＯＳアプリケーションプログラムであるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ジャババーチャルマシンをプラットフォームとして実行されるオブジェクトソフトウェアを用いた制御システムに関するものである。
【０００２】
【従来の技術】
オブジェクト指向プログラミングによるコンポーネントベースのプログラムあるいはソフトウェア（オブジェクト）は、オペレーティングシステム上で稼動する再利用可能なソフトウェアであり、オブジェクトを用いて多種多様なシステムが開発されている。特に、ジャバ（Ｊａｖａ）言語（Ｊａｖａは登録商標）で書かれたプログラム（ＪａｖａアプリケーションあるいはＪａｖａアプレット）はジャババーチャルマシン（ＪＶＭ）さえ存在すれば実行できるので、ＪＶＭをサポートするオペレーティングシステム（ＯＳ）であれば、ＯＳの種類やバージョンを問わずに実行できる。したがって、マイクロソフト社が提供するＯＳのウィンドウズ（登録商標）が稼動するシステム上であっても、リナックスがＯＳとして稼動するシステム上であっても、さらには、専用コンピュータチップにマイクロコードとして埋め込まれていても、Ｊａｖａアプリケーションは稼動する。このようにＪａｖａアプリケーションは特定のＯＳに依存しないので、ソフトウェア資産の保護が図れ、システム毎に開発する必要がないので経済的である。また、ユーザにとっては特定のＯＳに縛られることがないので、選択の幅が大きく広がる。さらに、ＯＳを変えたり、更新された場合であっても既存のソフトウェア資産を継続あるいは承継できる。
【０００３】
ＰＯＳシステムは多種多様な周辺装置により組み立てられるシステムの１つであり、パーソナルコンピュータなどの中心となるホストコンピュータにディスプレイ、プリンタ、スキャナ、ドロワ、カードリーダなど様々な入出力装置が接続されることによりシステムが構築される。このため、ホストコンピュータの仕様に依存しないＪａｖａアプリケーションによるＰＯＳシステムを提供することにより、既存のハードウェアを用いて新しいＰＯＳシステムを導入することが可能となり、また、アプリケーションの開発コストを低減できるのでユーザの負担も小さくできる。それと共に、ＰＯＳシステムを構築するシステムがフレキシブルに選択できるのでユーザの選択肢が広がり、ユーザの環境に合致したシステムを構築できるなどの多くのメリットを得ることができる。
【０００４】
図１に、ＪａｖａＰＯＳシステム１０の概要を示してある。このＰＯＳシステム１０は、各ＰＯＳメーカが提供するＰＯＳアプリケーションプログラム１１と、プリンタ２１、スキャナ２２あるいはドロワ２３などの周辺装置（デバイス）の種類単位（デバイスクラス単位）に供給されるデバイスコントロールオブジェクト（第１のオブジェクト、以降ではＤＣ）１２と、周辺装置毎、すなわち、デバイス毎に供給されるサービスオブジェクト（第２のオブジェクト、以降ではＤＳ）１３とを備えている。これらのＤＳ１３により制御される各デバイス２１〜２３は、シリアルポート、パラレルポートあるいはＵＳＢポートなどを制御するポートドライバ１４を介してパーソナルコンピュータ１８などのアプリケーションプログラム１１およびオブジェクトプログラムが稼動するホストと接続されている。したがって、ＰＯＳアプリケーションプログラム１１がプリンタ２１から出力するときは、データがプリンタのＤＣ１２に渡され、さらに、出力するプリンタのメーカおよび機種に対応したＤＳ１３に渡され、ポートドライバ１４を介してプリンタ２１に供給される。
【０００５】
図１に示したＪａｖａＰＯＳシステム１０では、ＤＣ１２およびＤＳ１３を備えたオブジェクト制御システム１９がＰＯＳアプリケーションプログラム１１に対して、また、プリンタ２１などの周辺機器に対して機種依存性のないインターフェイスを提供する。これらのアプリケーション１１、ＤＣ１２およびＤＳ１３はＪａｖａ言語で作成されたプログラムであり、ジャバ仮想マシン（ＪＶＭ）で実行可能なようにコンパイラによってＪａｖａバイトコードに変換されたものである。したがって、ホスト１８にインストールされているＯＳに依存せずにユニフォームなサービスを提供することができる。
【０００６】
図２に、あるデバイス、たとえばプリンタ２１を制御するシステム１９を抜き出して示してある。アプリケーション１１に対しプリンタとのインターフェイスを提供するＤＣ１２は、アプリケーション１１が利用できるインターフェイス（第１のインターフェイス）１２ｉを備えている。同様に、ＤＣ１２に対し、特定のプリンタ２１とのインターフェイスを提供するＤＳ１３は、ＤＣ１２が利用できるインターフェイス（第２のインターフェイス）１３ｉを備えている。このＤＳ１３は、ＤＣ１２がデバイス２１にアクセスするためにＤＳ１３を呼ぶとインスタンスが生成されてオブジェクトとして利用できるようになっている。
【０００７】
このため、制御システム１９は、ＤＣ１２に呼び出されて特定のプリンタの名前を指定して接続を確立し切断することができるＪＣＬ（jpos config/loader）オブジェクト（第３のオブジェクト、以降ではＪＣＬ）３１と、このＪＣＬ３１からの指示によりＤＳ１３のインスタンスを生成するファクトリオブジェクト（第４のオブジェクト、以降ではファクトリクラス）３４を備えている。さらに、制御システム１９は、ファクトリクラス３４によりＤＳ１３のインスタンスを生成するときの条件および設定などの情報が、ＸＭＬなどによって蓄積されたデータベース（以降ではＤＢ）３３と、ＸＭＬパーサなどからなる、名称の情報のＤＢ３３におけるエントリーポイントを取得できる名称解決のためのオブジェクト３２を備えている。したがって、ＪＣＬ３１は、ＤＣ１２がプリンタの名前を指定するために利用できるインターフェイス（第３のインターフェイス）３１ｉを備えており、また、ファクトリクラス３４は、ＪＣＬ３１がエントリーポイントを指定することができるインターフェイス（第４のインターフェイス）３４ｉを備えている。
【０００８】
【発明が解決しようとする課題】
このように、この制御システム１９では、ユニフォームなインターフェイスをアプリケーション１１に対して提供するために各々の機能がオブジェクトに分散されており、最小限のプログラムを提供するだけで様々なデバイスが利用できるようになっている。たとえば、デバイス２１を提供するメーカは、デバイス２１に対応したＤＳ１３と、そのインスタンスを生成するファクトリクラス３４を提供し、ユーザはそれをホストにインストールすることによりＰＯＳシステムにデバイス２１を組み込むことができる。しかしながら、本願の発明者らは、さらにＪａｖａを用いて多数のデバイスを制御できる分散システムを簡易にすることを検討した。そして、ＤＳ１３をより簡単に精度良く開発および提供できるシステムを検討した。
【０００９】
【課題を解決するための手段】
図２に示した制御システム１９では、ファクトリクラス３４はＤＳ１３と共にメーカから提供されることが前提となっており、これは、インスタンスを生成するオブジェクトＤＳ１３とファクトリクラス３４とのマッチングをメーカに一任するという点で自由度が高く、また、オブジェクト１３が稼動するときの設定値などをどのように提供するかという点でも自由度が高い。すなわち、ファクトリクラス３４で生成されたインスタンスによるオブジェクトが稼動するために必要な情報を提供しきれるのであればＤＳ１３はＤＢ３３にアクセスする必要がないし、ＤＳ１３がＤＢ３３にアクセスする必要があるのであればそのエントリーポイントを適当な方法でファクトリクラス３４からＤＳ１３に提供すればよい。
【００１０】
これに対し、本願の発明者らは、ＤＳ１３にファクトリクラス３４からエントリーポイントを取得できるインターフェイスを設けることにより、ファクトリクラス３４をＤＳ１３に依存しないプログラムとして提供することが可能であり、デバイスメーカはＤＳだけを提供することによりデバイスをシステムに組み込むことができることを見出した。さらに、ファクトリクラス３４とＤＳ１３をセットで提供することが前提としてこれらのプログラムが開発されていると、ＤＳでエントリーポイントが必要な場合は、ＤＳにエントリーポイントを取得する関数が用意され、それに合わせてファクトリクラスでＤＳのクラスの型にキャストしてエントリーポイントがＤＳに提供される処理が行われやすい。このような方法でエントリーポイントを渡そうとすると、ＤＳとファクトリクラスが１対１に対応している場合は、まだ面倒がないが、ファクトリクラスをＤＳに共通にしようとすると、全てのＤＳに共通の親クラスを作成する必要があり、ＤＳの開発効率が大幅に低下する。これに対し、ＤＳにエントリーポイントを取得するインターフェイスを用意することにより、キャストする必要がなくなるので、ＤＳの開発も容易になるというメリットがある。
【００１１】
したがって、デバイスサービスにエントリーポイントを取得するインターフェイスを設けることにより、デバイスサービスの開発の自由度が向上すると共に、他のメーカなどのデバイスサービスを容易にロードすることができるファクトリクラスを提供することが可能となり、多数のデバイスを取り扱うＪＶＭ上で稼動するシステムをさらに簡易な構成にすることができる。
【００１２】
すなわち、本発明の、ジャババーチャルマシン（ＪＶＭ）をプラットフォームとして稼動する制御システムにおいては、複数種類のデバイスを制御可能なアプリケーションプログラムに対しデバイスの種類毎の第１のインターフェイスを提供する第１のオブジェクトと、デバイスの種類毎の第２のインターフェイスを第１のオブジェクトに対し提供する第２のオブジェクトと、第２のオブジェクトを呼び出して接続および切断する第３のインターフェイスを第１のオブジェクトに対し提供する第３のオブジェクトと、第２のオブジェクトを設定およびロードする情報を蓄積したデータベースと、第２のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得て、デバイスに対応した第２のオブジェクトを生成する第４のインターフェイスを第３のオブジェクトに対し提供する第４のオブジェクトとを有し、第２のオブジェクトが、さらに、第４のオブジェクトに対し、前記第４のオブジェクトがエントリーポイントを第２のオブジェクトに渡す関数を定義した第５のインターフェイスを提供する。
【００１３】
このため、ＪＶＭにより実行されることにより、複数種類のデバイスを制御可能なアプリケーションプログラムにデバイスの種類毎の第１のインターフェイスを提供する第１のオブジェクト、すなわち、上記のデバイスコントロール（ＤＣ）に対し、デバイスの種類毎の第２のインターフェイスを提供する第２のオブジェクトとして機能するプログラム、すなわち、上記のデバイスサービス（ＤＳ）として、この第２のオブジェクトを呼び出して接続および切断するために第３のインターフェイスを第１のオブジェクトに対し提供する第３のオブジェクトから第２のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得る第４のインターフェイスを備え、デバイスに対応した第２のオブジェクトを生成する第４のオブジェクトに対し、第４のオブジェクトがエントリーポイントを第２のオブジェクトに渡す関数を定義した第５のインターフェイスを提供する命令を有するプログラムを提供する。
【００１５】
この本発明の第２のオブジェクト、すなわちＤＳと、第４のオブジェクト、すなわち、ファクトリクラスとを有する制御システムにおいては、ファクトリクラスが第３のオブジェクト、すなわち、上記のＪＣＬから取得したデータベース、上記のＤＢのエントリーポイントを、ＤＳに用意されたインターフェイスを利用してＤＳに与えることができる。したがって、本発明においては、複数の異なるメーカのデバイス用の第２のオブジェクト、すなわちＤＳを生成可能な第４のオブジェクト、すなわちファクトリクラスを提供することができる。このため、デバイスメーカはＤＳをユーザに提供するだけで、本発明の制御システム、すなわち、多数のデバイスに対しユニフォームなインターフェイスをアプリケーションに提供する制御システムに、そのメーカのデバイスを組み込むことが可能となる。さらに、各デバイス毎に開発する必要があるＤＳを、本発明においては、そのＤＳをロードするファクトリクラスを共通化するために共通のクラスから派生させる必要がなくなる。したがって、全てのメーカに共通の親クラスを設けたりしなくても各メーカにおいて、各デバイス毎に自由にデバイスサービス（ＤＳ）を開発することが可能となる。また、ＤＳを変更した場合でも、親クラスに影響が及ぶことはないので、検査も容易であり開発効率の良いシステムとなる。
【００１６】
また、本発明の制御システムを構成するための上述したオブジェクトは、上述した処理を実行可能な命令を有するプログラムであり、ＣＤ−ＲＯＭなどの適当な記録媒体に記録して、あるいはコンピュータネットワークを介して提供することが可能であり、ＪＶＭが稼動するコンピュータの適当な記録媒体に記録して使用することができる。
【００１７】
デバイスは仮想的なものであっても良いが、本発明では、制御システムを簡素にできると共に、デバイスサービスの開発も容易となるので、プリンタ、スキャナなどメーカや機種によって性能や仕様が異なりデバイスサービスも異なることとなる制御システムに本発明は適している。すなわち、パーソナルコンピュータなどのホストコンピュータの周辺機器をデバイスとして、アプリケーションにユニフォームなインターフェイスを提供可能な制御システムに本発明は好適である。したがって、上述したような、第１のオブジェクトは周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、第２のオブジェクトは周辺機器毎に提供されるデバイスサービスオブジェクトである制御システムに本発明は好適であり、その１つとしてアプリケーションプログラムがＰＯＳアプリケーションプログラムである制御システムを挙げることができる。
【００１８】
【発明の実施の形態】
以下では、上記にて図１および図２に基づき説明したＪａｖａＰＯＳシステム１０に基づき本発明についてさらに説明する。まず、以下に図２に示した制御システム１９で、エントリーポイントを渡す関数をインターフェイスで定義せずにデバイスサービス（ＤＳ）１３に直接組み込むとすると、ファクトリクラス（ファクトリ）３４の実装(コード)は次のようになる。
0004491989.tif 000002
0004491989.tif 000003
このファクトリクラス３４の第１のコードで問題になる個所は（Ａ）の部分であり、データベースのエントリーポイントを渡すのにＤＳ１３のインスタンスをいったんＤＳのクラスの型にキャスト(変換)しなければならない。しかしながら、ＤＳは制御するデバイス毎に作成する。したがって、同一の名称にすることは不可能であり、この方法でＤＳをロードしてエントリーポイントを渡すためには次の2つの方法しかない。これらの方法では、開発効率が低下し、プログラムの設計において制限が大きい。
【００１９】
第１の方法は、各デバイスのＤＳ１３のそれぞれにファクトリクラス３４を作成することである。すなわち、ＤＳ１３とファクトリクラス３４は常にペアで提供されるようにすることである。図２に示した制御システムでは、この方法が前提として開発されており、その意味では問題はない。しかしながら、ファクトリクラス３４は、ＤＳ１３のインスタンスを生成するのが目的であり、ＤＳ１３のようにデバイス毎に作成して提供する意味合いはほとんどないことに注目した場合はシステムを簡略化しようとしたときに大きなネックになる。また、ＤＳ１３の各々に対応してファクトリ３４を提供し制御システム１９に格納しておくことは、制御システム１９で取り扱うデバイスが増加するにつれてオブジェクト数が大幅に増加することになり、分散型システムとしては望ましい方向ではない。さらに、同一のＤＳ１３であっても、それを更新したときにファクトリクラス３４も更新するのか否かなどの問題もある。したがって、ファクトリクラス３４はＤＳ１３と独立して機能し、複数のＤＳ１３に共通なオブジェクトであることが望ましい。
【００２０】
第２の方法は、全てのＤＳ１３に共通の親クラスを作成し、この親クラスでデータベース３３のエントリーポイントを取得する関数を用意する方法である。この方法であると、ファクトリクラス３４は全てのＤＳ１３に対し同一の命令によりエントリーポイントを渡すことが可能であり、分散型のシステムとして望ましい。しかしながら、全てのＤＳ１３、すなわち、全てのメーカの全てのデバイス、あるいは少なくともある程度の範囲の全てのＤＳ１３を作成するときに必ず決まった親クラスを継承しなけらばならないという制限がある。したがって、デバイスの種類毎に親クラスを設けたり、メーカ毎に親クラスを設けたりしないと実現することができず、デバイス毎の設計の自由度が奪われる。さらに、親クラスに含まれる部分を更新しようとしたときに、それに関連する全てのオブジェクトを再検査する必要があるなど、ＤＳの開発を進める上で非常に大きなネックになる可能性がある。
【００２１】
図３に、本発明に係る制御システム３９の構成を示してある。この制御システム３９においては、ＤＳ１３にエントリーポイントを取得するためのインターフェイス３５ｉを設けることにより、上記の２つの方法の問題を解決している。すなわち、ＤＳ１３をデバイス単位で自由に開発および設計できると共に、ファクトリクラス３４は各ＤＳ１３に共通に利用できるものとし、機種の異なるデバイスや、他のメーカのデバイス用のＤＳ１３であってもロードできるようにしている。
【００２２】
図３に示した制御システム３９も、あるデバイス、たとえばプリンタ２１を制御するシステムであり、各々のプログラムおよびオブジェクトはＪＶＭをプラットフォームとして稼動する。この制御システム３９も、アプリケーション１１に対しプリンタとのインターフェイスを提供するＤＣ１２は、アプリケーション１１が利用できる第１のインターフェイス１２ｉを備え、ＤＣ１２に対し特定のプリンタ２１とのインターフェイスを提供するＤＳ１３は、ＤＣ１２が利用できる第２のインターフェイス１３ｉを備えている。また、ＤＣ１２に呼び出されて特定のプリンタの名前を指定して接続を確立し切断することができるＪＣＬ３１と、このＪＣＬ３１からの指示によりＤＳ１３のインスタンスを生成するファクトリクラス３４も備えており、ファクトリクラス３４によりＤＳ１３のインスタンスを生成するときの条件および設定などの情報はＤＢ３３に格納され、その名前の解決のためのオブジェクト３２も備えている。ＪＣＬ３１は、ＤＣ１２がプリンタの名前を指定するために利用できる第３のインターフェイス３１ｉを備えており、また、ファクトリクラス３４は、ＪＣＬ３１がエントリーポイントを指定することができる第４のインターフェイス３４ｉを備えており、さらに、ＤＳ１３がファクトリクラス３４からエントリーポイントを渡すことができる第５のインターフェイス３５ｉを備えている。
【００２３】
したがって、この制御システム３９において、データベース３３のエントリーポイントを渡すファクトリクラス３４のコードは次のようになる。
0004491989.tif 000004
0004491989.tif 000005
このファクトリクラス３４の第２のコードでは、（Ｂ）に示したように、ＤＳがSetEntry関数を定義した新しいEpsonJposServiceInstanceインタフェースを実装しているために、上記の第１のコードのようにデータベース３３のエントリーポイントを渡すのにＤＳのクラスの型にキャスト(変換)する必要がなくなる。したがって、ファクトリクラス３４は各デバイスのＤＳ１３のそれぞれに対応している必要はなくなり、各種のＤＳ１３に対し共通したサービスを提供することができるオブジェクトとして提供することができる。また、全てのＤＳ１３にSetEntry関数を定義した新しいEpsonJposServiceInstanceインタフェースを実装するだけで、共通の親クラスを継承する必要はなくなり、ＤＳを作成する上で制限も解除することができる。
【００２４】
現在のＪａｖａＰＯＳの標準仕様では、ＪＣＬ３１に関連してＤＳにインターフェイスを用意することが義務づけられているが、そのインターフェイスにはコネクションが切断されたことを示すメソッドが１つ定義されているだけである。すなわち、以下のようなインターフェイスを提供するコードとなる。
0004491989.tif 000006
したがって、本例の制御システム３９では、このJposServiceInstanceを継承すると共にSetEntryをメソッドとして定義した新たなEpson JposServiceInstanceを作成し、そのインターフェイスをＤＳが提供するようにしている。したがって、本例のＤＳのインターフェイスを提供するコードは以下のようになる。
0004491989.tif 000007
以上のように、現状の仕様でも、ＤＳ１３を実装する上で、ＤＳ１３の上位層であるＤＣ１２がＤＳ１３をロードするときに使用するＪＣＬ３１と、ＤＳ１３との間のやり取りを定義したJposServiceInstanceインタフェースが規定されている。しかしながら、JposServiceInstanceインターフェイスには、ファクトリクラス３４がＤＳ１３に対してＤＳ１３が使用するデータベース３３のエントリーポイントを渡すことは考慮されていない。したがって、ＤＳ１３でエントリーポイントが必要なときは、各デバイス用のＤＳで統一がとれておらず、また、ＤＳを実装するメーカ間でも統一が取れる状態にはなっていない。これに対し、上記のように、ＤＳ１３にデータベース３３のエントリーポイントを渡す関数SetEntryを定義した新しいインタフェース(仮称：EpsonJposServiceInstance)を作成し、制御システム３９に組み込むＤＳ１３はこのインタフェースを実装するルールにすることにより、ＤＳの作成方法に自由度ができ、より良いＤＳを作成することができる。また、他のメーカのＤＳや、他のデバイスのＤＳであっても共通のファクトリクラスによってロードすることができ、ＪａｖａをベースとしたＰＯＳシステムをさらにシンプルで低コストで提供可能にすることができる。
【００２５】
本例のＪａｖａＰＯＳ用の制御システム３９を構築するサービスオブジェクト（ＤＳ）１３およびファクトリクラス３４は、上述したインターフェイスを提供する命令、あるいはそのインターフェイスを使用してエントリーポイントを渡す命令を有するＪａｖａアプレットあるいはプログラムであり、これらはＣＤ−ＲＯＭあるいはその他のコンピュータに読み取り可能な記録媒体に記録して提供することができる。そして、ＪＶＭが稼動するコンピュータであれば、ＯＳなどに依存せずにＪＶＭをプラットフォームとして動作し、上述したような機能を発揮することができる。
【００２６】
なお、以上では、多種多様なデバイスを取り扱うＰＯＳシステムに基づき本発明を説明しているが、ＰＯＳシステムに限定されることはなく、多種多様な機器をＪａｖａをプラットフォームとして統合した制御を行うようなシステム、たとえば、ファクトリーオートメーションシステムやロボット制御システムなどにおいても適用することが可能である。
【００２７】
【発明の効果】
以上に説明したように、本発明においては、デバイス毎のインターフェイスを提供するデバイスサービスを実装する上で、デバイスサービスの上位層であるデバイスコントロールがデバイスサービスをＪＣＬを介して接続するときに、デバイスサービスにファクトリクラスからデータベースのエントリーポイントを取得できる第５のインターフェイスを設け、ファクトリクラスがデバイスサービスをロードするときにインターフェイスを用いてエントリーポイントをデバイスサービスに渡せるようにしている。したがって、本発明の第５のインタフェースを実装したデバイスサービスを組み込んだ本発明の制御システムにおいては、他のメーカのデバイスサービスや、他のデバイスのデバイスサービスであっても共通のファクトリクラスによってロードすることができ、Ｊａｖａをベースとしてアプリケーションに対しユニフォームなインターフェイスを与えるＰＯＳシステムなどに適した制御システムをさらにシンプルにでき、また、低コストで提供できる。
【００２８】
さらに、各デバイスサービスは、本発明に係る第５のインターフェイスを実装するだけでデータベースのエントリーポイントをファクトリクラスから取得できるので、各メーカに共通した親クラスを設けてそれを継承するような作成方法を採用しなくても良く、デバイスサービスの作成方法の自由度が向上する。このため、共通のファクトリクラスに対応可能なデバイスサービスであって、アプリケーションから各々のデバイスを取り扱うのにより適した品質の高いデバイスサービスを提供することが可能となる。
【図面の簡単な説明】
【図１】オブジェクトサービスによりＰＯＳシステムの概要を示す図である。
【図２】ＪＶＭをプラットフォームとする制御システムの例であり、デバイスサービスがエントリーポイントを取得するインターフェイスを提供しないシステムの概要を示す図である。
【図３】ＪＶＭをプラットフォームとする本発明の制御システムの例であり、デバイスサービスがエントリーポイントを取得するインターフェイスを提供するシステムの概要を示す図である。
【符号の説明】
１０    ＰＯＳシステム
１１    アプリケーションプログラム
１２    デバイスコントロールオブジェクト（第１のオブジェクト）
１２ｉ  第２のインターフェイス
１３    デバイスサービスオブジェクト（第２のオブジェクト）
１３ｉ  第３のインターフェイス
１９、３９    ＰＯＳ制御システム
３１    ＪＣＬ（第３のオブジェクト）
３１ｉ  第３のインターフェイス
３３    データベース
３４    ファクトリクラス
３４ｉ  第４のインターフェイス
３５ｉ  第５のインターフェイス
【図１】
0004491989.tif 000008
【図２】
0004491989.tif 000009
【図３】
0004491989.tif 000010