[go: up one dir, main page]

JP2002312301A - 制御システム - Google Patents

制御システム

Info

Publication number
JP2002312301A
JP2002312301A JP2001118769A JP2001118769A JP2002312301A JP 2002312301 A JP2002312301 A JP 2002312301A JP 2001118769 A JP2001118769 A JP 2001118769A JP 2001118769 A JP2001118769 A JP 2001118769A JP 2002312301 A JP2002312301 A JP 2002312301A
Authority
JP
Japan
Prior art keywords
interface
program
entry point
control system
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001118769A
Other languages
English (en)
Other versions
JP4491989B2 (ja
Inventor
Atsushi Sakai
淳 酒井
Hiroaki Hayashi
裕明 林
Toshiyuki Sugimoto
季之 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2001118769A priority Critical patent/JP4491989B2/ja
Priority to EP02008180A priority patent/EP1251427A3/en
Priority to US10/124,559 priority patent/US7330825B2/en
Priority to CNB021231184A priority patent/CN1294501C/zh
Priority to KR10-2002-0020877A priority patent/KR100461887B1/ko
Publication of JP2002312301A publication Critical patent/JP2002312301A/ja
Application granted granted Critical
Publication of JP4491989B2 publication Critical patent/JP4491989B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated
    • G07G1/14Systems including one or more distant stations co-operating with a central processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 Java(登録商標)をベースとしてPOS
アプリケーションに対しユニフォームなインターフェイ
スを与える制御システムをさらにシンプルな構成にす
る。 【解決手段】 デバイスサービス(DS)13にデータ
ベース33のエントリーポイントを渡す関数SetEntryを
定義した新しい第5のインタフェース35iを作成し、
制御システム39に組み込むDS13はこのインタフェ
ースを実装するルールにする。これにより、DSの作成
方法に自由度ができ、より良いDSを作成することがで
きる。また、他のメーカのDSや、他のデバイスのDS
であっても共通のファクトリクラスによってロードする
ことができ、Java(登録商標)をベースとしたPO
Sシステムをさらにシンプルで低コストで提供可能にす
ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ジャババーチャル
マシンをプラットフォームとして実行されるオブジェク
トソフトウェアを用いた制御システムに関するものであ
る。
【0002】
【従来の技術】オブジェクト指向プログラミングによる
コンポーネントベースのプログラムあるいはソフトウェ
ア(オブジェクト)は、オペレーティングシステム上で
稼動する再利用可能なソフトウェアであり、オブジェク
トを用いて多種多様なシステムが開発されている。特
に、ジャバ(Java)言語(Javaは登録商標)で
書かれたプログラム(Javaアプリケーションあるい
はJavaアプレット)はジャババーチャルマシン(J
VM)さえ存在すれば実行できるので、JVMをサポー
トするオペレーティングシステム(OS)であれば、O
Sの種類やバージョンを問わずに実行できる。したがっ
て、マイクロソフト社が提供するOSのウィンドウズ
(登録商標)が稼動するシステム上であっても、リナッ
クスがOSとして稼動するシステム上であっても、さら
には、専用コンピュータチップにマイクロコードとして
埋め込まれていても、Javaアプリケーションは稼動
する。このようにJavaアプリケーションは特定のO
Sに依存しないので、ソフトウェア資産の保護が図れ、
システム毎に開発する必要がないので経済的である。ま
た、ユーザにとっては特定のOSに縛られることがない
ので、選択の幅が大きく広がる。さらに、OSを変えた
り、更新された場合であっても既存のソフトウェア資産
を継続あるいは承継できる。
【0003】POSシステムは多種多様な周辺装置によ
り組み立てられるシステムの1つであり、パーソナルコ
ンピュータなどの中心となるホストコンピュータにディ
スプレイ、プリンタ、スキャナ、ドロワ、カードリーダ
など様々な入出力装置が接続されることによりシステム
が構築される。このため、ホストコンピュータの仕様に
依存しないJavaアプリケーションによるPOSシス
テムを提供することにより、既存のハードウェアを用い
て新しいPOSシステムを導入することが可能となり、
また、アプリケーションの開発コストを低減できるので
ユーザの負担も小さくできる。それと共に、POSシス
テムを構築するシステムがフレキシブルに選択できるの
でユーザの選択肢が広がり、ユーザの環境に合致したシ
ステムを構築できるなどの多くのメリットを得ることが
できる。
【0004】図1に、JavaPOSシステム10の概
要を示してある。このPOSシステム10は、各POS
メーカが提供するPOSアプリケーションプログラム1
1と、プリンタ21、スキャナ22あるいはドロワ23
などの周辺装置(デバイス)の種類単位(デバイスクラ
ス単位)に供給されるデバイスコントロールオブジェク
ト(第1のオブジェクト、以降ではDC)12と、周辺
装置毎、すなわち、デバイス毎に供給されるサービスオ
ブジェクト(第2のオブジェクト、以降ではDS)13
とを備えている。これらのDS13により制御される各
デバイス21〜23は、シリアルポート、パラレルポー
トあるいはUSBポートなどを制御するポートドライバ
14を介してパーソナルコンピュータ18などのアプリ
ケーションプログラム11およびオブジェクトプログラ
ムが稼動するホストと接続されている。したがって、P
OSアプリケーションプログラム11がプリンタ21か
ら出力するときは、データがプリンタのDC12に渡さ
れ、さらに、出力するプリンタのメーカおよび機種に対
応したDS13に渡され、ポートドライバ14を介して
プリンタ21に供給される。
【0005】図1に示したJavaPOSシステム10
では、DC12およびDS13を備えたオブジェクト制
御システム19がPOSアプリケーションプログラム1
1に対して、また、プリンタ21などの周辺機器に対し
て機種依存性のないインターフェイスを提供する。これ
らのアプリケーション11、DC12およびDS13は
Java言語で作成されたプログラムであり、ジャバ仮
想マシン(JVM)で実行可能なようにコンパイラによ
ってJavaバイトコードに変換されたものである。し
たがって、ホスト18にインストールされているOSに
依存せずにユニフォームなサービスを提供することがで
きる。
【0006】図2に、あるデバイス、たとえばプリンタ
21を制御するシステム19を抜き出して示してある。
アプリケーション11に対しプリンタとのインターフェ
イスを提供するDC12は、アプリケーション11が利
用できるインターフェイス(第1のインターフェイス)
12iを備えている。同様に、DC12に対し、特定の
プリンタ21とのインターフェイスを提供するDS13
は、DC12が利用できるインターフェイス(第2のイ
ンターフェイス)13iを備えている。このDS13
は、DC12がデバイス21にアクセスするためにDS
13を呼ぶとインスタンスが生成されてオブジェクトと
して利用できるようになっている。
【0007】このため、制御システム19は、DC12
に呼び出されて特定のプリンタの名前を指定して接続を
確立し切断することができるJCL(jpos config/load
er)オブジェクト(第3のオブジェクト、以降ではJC
L)31と、このJCL31からの指示によりDS13
のインスタンスを生成するファクトリオブジェクト(第
4のオブジェクト、以降ではファクトリクラス)34を
備えている。さらに、制御システム19は、ファクトリ
クラス34によりDS13のインスタンスを生成すると
きの条件および設定などの情報が、XMLなどによって
蓄積されたデータベース(以降ではDB)33と、XM
Lパーサなどからなる、名称の情報のDB33における
エントリーポイントを取得できる名称解決のためのオブ
ジェクト32を備えている。したがって、JCL31
は、DC12がプリンタの名前を指定するために利用で
きるインターフェイス(第3のインターフェイス)31
iを備えており、また、ファクトリクラス34は、JC
L31がエントリーポイントを指定することができるイ
ンターフェイス(第4のインターフェイス)34iを備
えている。
【0008】
【発明が解決しようとする課題】このように、この制御
システム19では、ユニフォームなインターフェイスを
アプリケーション11に対して提供するために各々の機
能がオブジェクトに分散されており、最小限のプログラ
ムを提供するだけで様々なデバイスが利用できるように
なっている。たとえば、デバイス21を提供するメーカ
は、デバイス21に対応したDS13と、そのインスタ
ンスを生成するファクトリクラス34を提供し、ユーザ
はそれをホストにインストールすることによりPOSシ
ステムにデバイス21を組み込むことができる。しかし
ながら、本願の発明者らは、さらにJavaを用いて多
数のデバイスを制御できる分散システムを簡易にするこ
とを検討した。そして、DS13をより簡単に精度良く
開発および提供できるシステムを検討した。
【0009】
【課題を解決するための手段】図2に示した制御システ
ム19では、ファクトリクラス34はDS13と共にメ
ーカから提供されることが前提となっており、これは、
インスタンスを生成するオブジェクトDS13とファク
トリクラス34とのマッチングをメーカに一任するとい
う点で自由度が高く、また、オブジェクト13が稼動す
るときの設定値などをどのように提供するかという点で
も自由度が高い。すなわち、ファクトリクラス34で生
成されたインスタンスによるオブジェクトが稼動するた
めに必要な情報を提供しきれるのであればDS13はD
B33にアクセスする必要がないし、DS13がDB3
3にアクセスする必要があるのであればそのエントリー
ポイントを適当な方法でファクトリクラス34からDS
13に提供すればよい。
【0010】これに対し、本願の発明者らは、DS13
にファクトリクラス34からエントリーポイントを取得
できるインターフェイスを設けることにより、ファクト
リクラス34をDS13に依存しないプログラムとして
提供することが可能であり、デバイスメーカはDSだけ
を提供することによりデバイスをシステムに組み込むこ
とができることを見出した。さらに、ファクトリクラス
34とDS13をセットで提供することが前提としてこ
れらのプログラムが開発されていると、DSでエントリ
ーポイントが必要な場合は、DSにエントリーポイント
を取得する関数が用意され、それに合わせてファクトリ
クラスでDSのクラスの型にキャストしてエントリーポ
イントがDSに提供される処理が行われやすい。このよ
うな方法でエントリーポイントを渡そうとすると、DS
とファクトリクラスが1対1に対応している場合は、ま
だ面倒がないが、ファクトリクラスをDSに共通にしよ
うとすると、全てのDSに共通の親クラスを作成する必
要があり、DSの開発効率が大幅に低下する。これに対
し、DSにエントリーポイントを取得するインターフェ
イスを用意することにより、キャストする必要がなくな
るので、DSの開発も容易になるというメリットがあ
る。
【0011】したがって、デバイスサービスにエントリ
ーポイントを取得するインターフェイスを設けることに
より、デバイスサービスの開発の自由度が向上すると共
に、他のメーカなどのデバイスサービスを容易にロード
することができるファクトリクラスを提供することが可
能となり、多数のデバイスを取り扱うJVM上で稼動す
るシステムをさらに簡易な構成にすることができる。
【0012】すなわち、本発明の、ジャババーチャルマ
シン(JVM)をプラットフォームとして稼動する制御
システムにおいては、複数種類のデバイスを制御可能な
アプリケーションプログラムに対しデバイスの種類毎の
第1のインターフェイスを提供する第1のオブジェクト
と、デバイス単位の第2のインターフェイスを第1のオ
ブジェクトに対し提供する第2のオブジェクトと、第2
のオブジェクトを呼び出して接続および切断する第3の
インターフェイスを第1のオブジェクトに対し提供する
第3のオブジェクトと、第2のオブジェクトを設定およ
びロードする情報を記憶したデータベースと、第2のオ
ブジェクトの情報が記録されたデータベースのエントリ
ーポイントを得て、デバイスに対応した第2のオブジェ
クトを生成する第4のインターフェイスを第3のオブジ
ェクトに対し提供する第4のオブジェクトとを有し、第
2のオブジェクトが、さらに、第4のオブジェクトに対
しエントリーポイントを取得する第5のインターフェイ
スを提供するようになっていることを特徴としている。
【0013】このため、JVMにより実行されることに
より、複数種類のデバイスを制御可能なアプリケーショ
ンプログラムにデバイスの種類毎の第1のインターフェ
イスを提供する第1のオブジェクト、すなわち、上記の
デバイスコントロール(DC)に対し、デバイス単位の
第2のインターフェイスを提供する第2のオブジェクト
として機能するプログラム、すなわち、上記のデバイス
サービス(DS)として、この第2のオブジェクトを呼
び出して接続および切断するために第3のインターフェ
イスを第1のオブジェクトに対し提供する第3のオブジ
ェクトから第2のオブジェクトの情報が記録されたデー
タベースのエントリーポイントを得る第4のインターフ
ェイスを備え、デバイスに対応した第2のオブジェクト
を生成する第4のオブジェクトに対しエントリーポイン
トを取得する第5のインターフェイスを提供する命令を
有するプログラムを提供する。
【0014】また、JVMにより実行されることによ
り、複数種類のデバイスを制御可能なアプリケーション
プログラムにデバイスの種類毎の第1のインターフェイ
スを提供する第1のオブジェクトに対し、デバイス単位
の第2のインターフェイスを提供する第2のオブジェク
トを生成する第4のオブジェクト、すなわち、上記のフ
ァクトリクラスとして機能するプログラムとして、第2
のオブジェクトを呼び出して接続および切断するために
第3のインターフェイスを第1のオブジェクトに対し提
供する第3のオブジェクトから第2のオブジェクトの情
報が記録されたデータベースのエントリーポイントを取
得する第4のインターフェイスを提供する命令と、第2
のオブジェクトが第4のオブジェクトに対し提供する第
5のインターフェイスによりエントリーポイントを提供
する命令とを有するプログラムを提供する。
【0015】この本発明の第2のオブジェクト、すなわ
ちDSと、第4のオブジェクト、すなわち、ファクトリ
クラスとを有する制御システムにおいては、ファクトリ
クラスが第3のオブジェクト、すなわち、上記のJCL
から取得したデータベース、上記のDBのエントリーポ
イントを、DSに用意されたインターフェイスを利用し
てDSに与えることができる。したがって、本発明にお
いては、複数の異なるメーカのデバイス用の第2のオブ
ジェクト、すなわちDSを生成可能な第4のオブジェク
ト、すなわちファクトリクラスを提供することができ
る。このため、デバイスメーカはDSをユーザに提供す
るだけで、本発明の制御システム、すなわち、多数のデ
バイスに対しユニフォームなインターフェイスをアプリ
ケーションに提供する制御システムに、そのメーカのデ
バイスを組み込むことが可能となる。さらに、各デバイ
ス毎に開発する必要があるDSを、本発明においては、
そのDSをロードするファクトリクラスを共通化するた
めに共通のクラスから派生させる必要がなくなる。した
がって、全てのメーカに共通の親クラスを設けたりしな
くても各メーカにおいて、各デバイス毎に自由にデバイ
スサービス(DS)を開発することが可能となる。ま
た、DSを変更した場合でも、親クラスに影響が及ぶこ
とはないので、検査も容易であり開発効率の良いシステ
ムとなる。
【0016】また、本発明の制御システムを構成するた
めの上述したオブジェクトは、上述した処理を実行可能
な命令を有するプログラムであり、CD−ROMなどの
適当な記録媒体に記録して、あるいはコンピュータネッ
トワークを介して提供することが可能であり、JVMが
稼動するコンピュータの適当な記録媒体に記録して使用
することができる。
【0017】デバイスは仮想的なものであっても良い
が、本発明では、制御システムを簡素にできると共に、
デバイスサービスの開発も容易となるので、プリンタ、
スキャナなどメーカや機種によって性能や仕様が異なり
デバイスサービスも異なることとなる制御システムに本
発明は適している。すなわち、パーソナルコンピュータ
などのホストコンピュータの周辺機器をデバイスとし
て、アプリケーションにユニフォームなインターフェイ
スを提供可能な制御システムに本発明は好適である。し
たがって、上述したような、第1のオブジェクトは周辺
機器の種類毎に提供されるデバイスコントロールオブジ
ェクトであり、第2のオブジェクトは周辺機器毎に提供
されるデバイスサービスオブジェクトである制御システ
ムに本発明は好適であり、その1つとしてアプリケーシ
ョンプログラムがPOSアプリケーションプログラムで
ある制御システムを挙げることができる。
【0018】
【発明の実施の形態】以下では、上記にて図1および図
2に基づき説明したJavaPOSシステム10に基づ
き本発明についてさらに説明する。まず、以下に図2に
示した制御システム19で、エントリーポイントを渡す
関数をインターフェイスで定義せずにデバイスサービス
(DS)13に直接組み込むとすると、ファクトリクラ
ス(ファクトリ)34の実装(コード)は次のようにな
る。 (ファクトリクラスの第1の例) public JposServiceInstance createInstance( String logicalName, JposEntry entry ) throws JposException { if (!entry.hasPropertyWithName(JposEntry.SERVICE_CLASS_PROP_NAME)) throw new JposException(JposConst.JPOS_E_NOSERVICE,""); //DeviceServiceのクラス名を取得 String serviceClassName = (String)entry.getPropertyValue(JposEntry.SERVICE_CLASS_PROP_NAME); //DeviceServiceのインスタンス名を宣言 JposServiceInstance serviceInstance = null; try { Class serviceClass = Class.forName(serviceClassName); Class[] params = new Class[0]; Constructor ctor = serviceClass.getConstructor(params); //DeviceServiceをJposServiceInstanceインタフェース型でロード serviceInstance = (JposServiceInstance)ctor.newInstance(params); //データベースのエントリーポイントをDeviceServiceに渡す・・・(A) ((DeviceServiceName)serviceInstance).setEntry(entry); } catch(Exception e) { throw new JposException(JposConst.JPOS_E_NOSERVICE, "Could not create service instance."); } return serviceInstance; } このファクトリクラス34の第1のコードで問題になる
個所は(A)の部分であり、データベースのエントリー
ポイントを渡すのにDS13のインスタンスをいったん
DSのクラスの型にキャスト(変換)しなければならな
い。しかしながら、DSは制御するデバイス毎に作成す
る。したがって、同一の名称にすることは不可能であ
り、この方法でDSをロードしてエントリーポイントを
渡すためには次の2つの方法しかない。これらの方法で
は、開発効率が低下し、プログラムの設計において制限
が大きい。
【0019】第1の方法は、各デバイスのDS13のそ
れぞれにファクトリクラス34を作成することである。
すなわち、DS13とファクトリクラス34は常にペア
で提供されるようにすることである。図2に示した制御
システムでは、この方法が前提として開発されており、
その意味では問題はない。しかしながら、ファクトリク
ラス34は、DS13のインスタンスを生成するのが目
的であり、DS13のようにデバイス毎に作成して提供
する意味合いはほとんどないことに注目した場合はシス
テムを簡略化しようとしたときに大きなネックになる。
また、DS13の各々に対応してファクトリ34を提供
し制御システム19に格納しておくことは、制御システ
ム19で取り扱うデバイスが増加するにつれてオブジェ
クト数が大幅に増加することになり、分散型システムと
しては望ましい方向ではない。さらに、同一のDS13
であっても、それを更新したときにファクトリクラス3
4も更新するのか否かなどの問題もある。したがって、
ファクトリクラス34はDS13と独立して機能し、複
数のDS13に共通なオブジェクトであることが望まし
い。
【0020】第2の方法は、全てのDS13に共通の親
クラスを作成し、この親クラスでデータベース33のエ
ントリーポイントを取得する関数を用意する方法であ
る。この方法であると、ファクトリクラス34は全ての
DS13に対し同一の命令によりエントリーポイントを
渡すことが可能であり、分散型のシステムとして望まし
い。しかしながら、全てのDS13、すなわち、全ての
メーカの全てのデバイス、あるいは少なくともある程度
の範囲の全てのDS13を作成するときに必ず決まった
親クラスを継承しなけらばならないという制限がある。
したがって、デバイスの種類毎に親クラスを設けたり、
メーカ毎に親クラスを設けたりしないと実現することが
できず、デバイス毎の設計の自由度が奪われる。さら
に、親クラスに含まれる部分を更新しようとしたとき
に、それに関連する全てのオブジェクトを再検査する必
要があるなど、DSの開発を進める上で非常に大きなネ
ックになる可能性がある。
【0021】図3に、本発明に係る制御システム39の
構成を示してある。この制御システム39においては、
DS13にエントリーポイントを取得するためのインタ
ーフェイス35iを設けることにより、上記の2つの方
法の問題を解決している。すなわち、DS13をデバイ
ス単位で自由に開発および設計できると共に、ファクト
リクラス34は各DS13に共通に利用できるものと
し、機種の異なるデバイスや、他のメーカのデバイス用
のDS13であってもロードできるようにしている。
【0022】図3に示した制御システム39も、あるデ
バイス、たとえばプリンタ21を制御するシステムであ
り、各々のプログラムおよびオブジェクトはJVMをプ
ラットフォームとして稼動する。この制御システム39
も、アプリケーション11に対しプリンタとのインター
フェイスを提供するDC12は、アプリケーション11
が利用できる第1のインターフェイス12iを備え、D
C12に対し特定のプリンタ21とのインターフェイス
を提供するDS13は、DC12が利用できる第2のイ
ンターフェイス13iを備えている。また、DC12に
呼び出されて特定のプリンタの名前を指定して接続を確
立し切断することができるJCL31と、このJCL3
1からの指示によりDS13のインスタンスを生成する
ファクトリクラス34も備えており、ファクトリクラス
34によりDS13のインスタンスを生成するときの条
件および設定などの情報はDB33に格納され、その名
前の解決のためのオブジェクト32も備えている。JC
L31は、DC12がプリンタの名前を指定するために
利用できる第3のインターフェイス31iを備えてお
り、また、ファクトリクラス34は、JCL31がエン
トリーポイントを指定することができる第4のインター
フェイス34iを備えており、さらに、DS13がファ
クトリクラス34からエントリーポイントを渡すことが
できる第5のインターフェイス35iを備えている。
【0023】したがって、この制御システム39におい
て、データベース33のエントリーポイントを渡すファ
クトリクラス34のコードは次のようになる。 (ファクトリクラスの第2の例) public JposServiceInstance createInstance( String logicalName, JposEntry entry ) throws JposException { if (!entry.hasPropertyWithName(JposEntry.SERVICE_CLASS_PROP_NAME)) throw new JposException(JposConst.JPOS_E_NOSERVICE,""); //DeviceServiceのクラス名を取得 String serviceClassName = (String)entry.getPropertyValue(JposEntry.SERVICE_CLASS_PROP_NAME); //DeviceServiceのインスタンス名を宣言 EpsonJposServiceInstance serviceInstance = null; try { Class serviceClass = Class.forName(serviceClassName); Class[] params = new Class[0]; Constructor ctor = serviceClass.getConstructor(params); //DeviceServiceをJposServiceInstanceインタフェース型でロード serviceInstance = (EpsonJposServiceInstance)ctor.newInstance(params); //データベースのエントリーポイントをDeviceServiceに渡す・・・(B) serviceInstance.setEntry(entry); } catch(Exception e) { throw new JposException(JposConst.JPOS_E_NOSERVICE, "Could not create service instance."); } return serviceInstance; } このファクトリクラス34の第2のコードでは、(B)
に示したように、DSがSetEntry関数を定義した新しい
EpsonJposServiceInstanceインタフェースを実装してい
るために、上記の第1のコードのようにデータベース3
3のエントリーポイントを渡すのにDSのクラスの型に
キャスト(変換)する必要がなくなる。したがって、ファ
クトリクラス34は各デバイスのDS13のそれぞれに
対応している必要はなくなり、各種のDS13に対し共
通したサービスを提供することができるオブジェクトと
して提供することができる。また、全てのDS13にSe
tEntry関数を定義した新しいEpsonJposServiceInstance
インタフェースを実装するだけで、共通の親クラスを継
承する必要はなくなり、DSを作成する上で制限も解除
することができる。
【0024】現在のJavaPOSの標準仕様では、J
CL31に関連してDSにインターフェイスを用意する
ことが義務づけられているが、そのインターフェイスに
はコネクションが切断されたことを示すメソッドが1つ
定義されているだけである。すなわち、以下のようなイ
ンターフェイスを提供するコードとなる。 (インターフェイスの第1の例) public interface JposServiceInstance { public void deleteInstance() throws JposException ・・・・・・ したがって、本例の制御システム39では、このJposSe
rviceInstanceを継承すると共にSetEntryをメソッドと
して定義した新たなEpson JposServiceInstanceを作成
し、そのインターフェイスをDSが提供するようにして
いる。したがって、本例のDSのインターフェイスを提
供するコードは以下のようになる。 (インターフェイスの第2の例) public interface EpsonJposServiceInstance extends JposServiceInstance { public void setEntry(JposEntry entry); } 以上のように、現状の仕様でも、DS13を実装する上
で、DS13の上位層であるDC12がDS13をロー
ドするときに使用するJCL31と、DS13との間の
やり取りを定義したJposServiceInstanceインタフェー
スが規定されている。しかしながら、JposServiceInsta
nceインターフェイスには、ファクトリクラス34がD
S13に対してDS13が使用するデータベース33の
エントリーポイントを渡すことは考慮されていない。し
たがって、DS13でエントリーポイントが必要なとき
は、各デバイス用のDSで統一がとれておらず、また、
DSを実装するメーカ間でも統一が取れる状態にはなっ
ていない。これに対し、上記のように、DS13にデー
タベース33のエントリーポイントを渡す関数SetEntry
を定義した新しいインタフェース(仮称:EpsonJposServ
iceInstance)を作成し、制御システム39に組み込むD
S13はこのインタフェースを実装するルールにするこ
とにより、DSの作成方法に自由度ができ、より良いD
Sを作成することができる。また、他のメーカのDS
や、他のデバイスのDSであっても共通のファクトリク
ラスによってロードすることができ、Javaをベース
としたPOSシステムをさらにシンプルで低コストで提
供可能にすることができる。
【0025】本例のJavaPOS用の制御システム3
9を構築するサービスオブジェクト(DS)13および
ファクトリクラス34は、上述したインターフェイスを
提供する命令、あるいはそのインターフェイスを使用し
てエントリーポイントを渡す命令を有するJavaアプ
レットあるいはプログラムであり、これらはCD−RO
Mあるいはその他のコンピュータに読み取り可能な記録
媒体に記録して提供することができる。そして、JVM
が稼動するコンピュータであれば、OSなどに依存せず
にJVMをプラットフォームとして動作し、上述したよ
うな機能を発揮することができる。
【0026】なお、以上では、多種多様なデバイスを取
り扱うPOSシステムに基づき本発明を説明している
が、POSシステムに限定されることはなく、多種多様
な機器をJavaをプラットフォームとして統合した制
御を行うようなシステム、たとえば、ファクトリーオー
トメーションシステムやロボット制御システムなどにお
いても適用することが可能である。
【0027】
【発明の効果】以上に説明したように、本発明において
は、デバイス毎のインターフェイスを提供するデバイス
サービスを実装する上で、デバイスサービスの上位層で
あるデバイスコントロールがデバイスサービスをJCL
を介して接続するときに、デバイスサービスにファクト
リクラスからデータベースのエントリーポイントを取得
できる第5のインターフェイスを設け、ファクトリクラ
スがデバイスサービスをロードするときにインターフェ
イスを用いてエントリーポイントをデバイスサービスに
渡せるようにしている。したがって、本発明の第5のイ
ンタフェースを実装したデバイスサービスを組み込んだ
本発明の制御システムにおいては、他のメーカのデバイ
スサービスや、他のデバイスのデバイスサービスであっ
ても共通のファクトリクラスによってロードすることが
でき、Javaをベースとしてアプリケーションに対し
ユニフォームなインターフェイスを与えるPOSシステ
ムなどに適した制御システムをさらにシンプルにでき、
また、低コストで提供できる。
【0028】さらに、各デバイスサービスは、本発明に
係る第5のインターフェイスを実装するだけでデータベ
ースのエントリーポイントをファクトリクラスから取得
できるので、各メーカに共通した親クラスを設けてそれ
を継承するような作成方法を採用しなくても良く、デバ
イスサービスの作成方法の自由度が向上する。このた
め、共通のファクトリクラスに対応可能なデバイスサー
ビスであって、アプリケーションから各々のデバイスを
取り扱うのにより適した品質の高いデバイスサービスを
提供することが可能となる。
【図面の簡単な説明】
【図1】オブジェクトサービスによりPOSシステムの
概要を示す図である。
【図2】JVMをプラットフォームとする制御システム
の例であり、デバイスサービスがエントリーポイントを
取得するインターフェイスを提供しないシステムの概要
を示す図である。
【図3】JVMをプラットフォームとする本発明の制御
システムの例であり、デバイスサービスがエントリーポ
イントを取得するインターフェイスを提供するシステム
の概要を示す図である。
【符号の説明】
10 POSシステム 11 アプリケーションプログラム 12 デバイスコントロールオブジェクト(第1のオ
ブジェクト) 12i 第2のインターフェイス 13 デバイスサービスオブジェクト(第2のオブジ
ェクト) 13i 第3のインターフェイス 19、39 POS制御システム 31 JCL(第3のオブジェクト) 31i 第3のインターフェイス 33 データベース 34 ファクトリクラス 34i 第4のインターフェイス 35i 第5のインターフェイス
フロントページの続き (72)発明者 杉本 季之 長野県諏訪市大和3丁目3番5号 セイコ ーエプソン株式会社内 Fターム(参考) 5B014 GD02 GD31 GD44 5B076 AA03 BB17

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ジャババーチャルマシンをプラットフォ
    ームとして稼動する制御システムであって、 複数種類のデバイスを制御可能なアプリケーションプロ
    グラムに対し前記デバイスの種類毎の第1のインターフ
    ェイスを提供する第1のオブジェクトと、 前記デバイス単位の第2のインターフェイスを前記第1
    のオブジェクトに対し提供する第2のオブジェクトと、 前記第2のオブジェクトを呼び出して接続および切断す
    る第3のインターフェイスを前記第1のオブジェクトに
    対し提供する第3のオブジェクトと、 前記第2のオブジェクトを設定およびロードする情報を
    記憶したデータベースと、 前記第2のオブジェクトの情報が記録された前記データ
    ベースのエントリーポイントを得て、前記デバイスに対
    応した前記第2のオブジェクトを生成する第4のインタ
    ーフェイスを前記第3のオブジェクトに対し提供する第
    4のオブジェクトとを有し、 前記第2のオブジェクトは、さらに、前記第4のオブジ
    ェクトに対し前記エントリーポイントを取得する第5の
    インターフェイスを提供する制御システム。
  2. 【請求項2】 請求項1において、前記第4のオブジェ
    クトは複数の異なるメーカの前記デバイス用の前記第2
    のオブジェクトを生成可能である制御システム。
  3. 【請求項3】 請求項1において、前記デバイスはホス
    トコンピュータの周辺機器である制御システム。
  4. 【請求項4】 請求項3において、前記第1のオブジェ
    クトは前記周辺機器の種類毎に提供されるデバイスコン
    トロールオブジェクトであり、前記第2のオブジェクト
    は前記周辺機器毎に提供されるデバイスサービスオブジ
    ェクトである制御システム。
  5. 【請求項5】 請求項3において、前記アプリケーショ
    ンプログラムはPOSアプリケーションプログラムであ
    る制御システム。
  6. 【請求項6】 ジャババーチャルマシンにより実行され
    ることにより、複数種類のデバイスを制御可能なアプリ
    ケーションプログラムに前記デバイスの種類毎の第1の
    インターフェイスを提供する第1のオブジェクトに対
    し、前記デバイス単位の第2のインターフェイスを提供
    する第2のオブジェクトとして機能するプログラムであ
    って、 前記第2のオブジェクトを呼び出して接続および切断す
    るために第3のインターフェイスを前記第1のオブジェ
    クトに対し提供する第3のオブジェクトから前記第2の
    オブジェクトの情報が記録されたデータベースのエント
    リーポイントを得る第4のインターフェイスを備え、前
    記デバイスに対応した前記第2のオブジェクトを生成す
    る第4のオブジェクトに対し前記エントリーポイントを
    取得する第5のインターフェイスを提供する命令を有す
    るプログラム。
  7. 【請求項7】 請求項1において、前記デバイスはホス
    トコンピュータの周辺機器であるプログラム。
  8. 【請求項8】 請求項7において、前記第1のオブジェ
    クトは前記周辺機器の種類毎に提供されるデバイスコン
    トロールオブジェクトであり、前記第2のオブジェクト
    は前記周辺機器毎に提供されるデバイスサービスオブジ
    ェクトであるプログラム。
  9. 【請求項9】 請求項7において、前記アプリケーショ
    ンプログラムはPOSアプリケーションプログラムであ
    るプログラム。
  10. 【請求項10】 ジャババーチャルマシンにより実行さ
    れることにより、複数種類のデバイスを制御可能なアプ
    リケーションプログラムに前記デバイスの種類毎の第1
    のインターフェイスを提供する第1のオブジェクトに対
    し、前記デバイス単位の第2のインターフェイスを提供
    する第2のオブジェクトを生成する第4のオブジェクト
    として機能するプログラムであって、 前記第2のオブジェクトを呼び出して接続および切断す
    るために第3のインターフェイスを前記第1のオブジェ
    クトに対し提供する第3のオブジェクトから前記第2の
    オブジェクトの情報が記録されたデータベースのエント
    リーポイントを取得する前記第4のインターフェイスを
    提供する命令と、 前記第2のオブジェクトが前記第4のオブジェクトに対
    し提供する第5のインターフェイスにより前記エントリ
    ーポイントを提供する命令とを有するプログラム。
  11. 【請求項11】 請求項10において、前記第4のオブ
    ジェクトは複数の異なるメーカの前記デバイス用の前記
    第2のオブジェクトを生成可能であるプログラム。
  12. 【請求項12】 請求項10において、前記デバイスは
    ホストコンピュータの周辺機器であるプログラム。
  13. 【請求項13】 請求項12において、前記第1のオブ
    ジェクトは前記周辺機器の種類毎に提供されるデバイス
    コントロールオブジェクトであり、前記第2のオブジェ
    クトは前記周辺機器毎に提供されるデバイスサービスオ
    ブジェクトであるプログラム。
  14. 【請求項14】 請求項12において、前記アプリケー
    ションプログラムはPOSアプリケーションプログラム
    であるプログラム。
JP2001118769A 2001-04-17 2001-04-17 制御システム Expired - Fee Related JP4491989B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001118769A JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム
EP02008180A EP1251427A3 (en) 2001-04-17 2002-04-16 Control system
US10/124,559 US7330825B2 (en) 2001-04-17 2002-04-17 Control system
CNB021231184A CN1294501C (zh) 2001-04-17 2002-04-17 控制系统中装置的控制方法
KR10-2002-0020877A KR100461887B1 (ko) 2001-04-17 2002-04-17 제어 시스템 및 프로그램을 기록한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001118769A JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム

Publications (2)

Publication Number Publication Date
JP2002312301A true JP2002312301A (ja) 2002-10-25
JP4491989B2 JP4491989B2 (ja) 2010-06-30

Family

ID=18969104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001118769A Expired - Fee Related JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム

Country Status (5)

Country Link
US (1) US7330825B2 (ja)
EP (1) EP1251427A3 (ja)
JP (1) JP4491989B2 (ja)
KR (1) KR100461887B1 (ja)
CN (1) CN1294501C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158651A (ja) * 2006-12-21 2008-07-10 Shinko Electric Ind Co Ltd Rfidタグのリーダライタのためのミドルウェア
JP2013058065A (ja) * 2011-09-08 2013-03-28 Seiko Epson Corp 制御装置の制御方法、及び、プログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133136A1 (en) * 2001-12-27 2003-07-17 Tsutomu Ohishi Method for generating and launching application for information processing apparatus and image forming apparatus
US9135021B2 (en) * 2003-06-30 2015-09-15 International Business Machines Corporation Method and system for input and output of data with non-standard I/O devices for web applications
US20050261969A1 (en) * 2004-05-10 2005-11-24 International Business Machines Corporation Layered architecture for POS (point-of sale) systems
KR100607141B1 (ko) * 2004-05-12 2006-08-01 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 시스템
KR100559251B1 (ko) * 2004-05-12 2006-03-15 한국생산기술연구원 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법
US20090018698A1 (en) * 2004-11-26 2009-01-15 Electronics And Telecommunications Research Instit Robot system based on network and execution method of that system
US20060206442A1 (en) * 2005-03-08 2006-09-14 Rockwell Automation Technologies, Inc. Systems and methods for managing control systems through java extensions
US7873615B2 (en) * 2005-12-14 2011-01-18 Sap Ag Control object based report generation using a central class
JP5381009B2 (ja) * 2008-10-20 2014-01-08 セイコーエプソン株式会社 デバイス制御システム
CN102915215B (zh) * 2011-08-03 2015-05-27 精工爱普生株式会社 控制装置以及控制方法
CN102800153B (zh) * 2012-07-17 2015-09-23 武汉天喻信息产业股份有限公司 刷卡终端的业务下载方法及系统
US20160098994A1 (en) * 2014-10-03 2016-04-07 Speaktoit, Inc. Cross-platform dialog system
CN107590925B (zh) * 2017-08-10 2021-01-26 百富计算机技术(深圳)有限公司 Pos终端控制方法、装置、存储介质和计算机设备
CN108665654A (zh) * 2018-05-18 2018-10-16 任飞翔 收银信息同步方法及收银系统
US10789048B2 (en) * 2019-01-30 2020-09-29 Salesforce.Com, Inc. Namespace and class utilities for managed packages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758070A (en) * 1995-10-06 1998-05-26 Canon Kabushiki Kaisha System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table
US6820255B2 (en) * 1999-02-17 2004-11-16 Elbrus International Method for fast execution of translated binary code utilizing database cache for low-level code correspondence

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762273B1 (en) * 1995-09-06 2002-05-15 Seiko Epson Corporation Peripheral device control system using a plurality of objects
JPH10187224A (ja) * 1996-12-25 1998-07-14 Smc Corp 自動コントロールシステム
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
JP2000057081A (ja) * 1998-08-13 2000-02-25 Toshiba Tec Corp 情報処理装置
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
EP1956492B1 (en) * 1999-09-21 2018-09-05 Wyse Technology L.L.C. Displaying windowing application programs on a terminal
US6691302B1 (en) * 2000-05-31 2004-02-10 Siemens Information & Communications Networks, Inc. Interfacing a service component to a native API

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758070A (en) * 1995-10-06 1998-05-26 Canon Kabushiki Kaisha System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table
US6820255B2 (en) * 1999-02-17 2004-11-16 Elbrus International Method for fast execution of translated binary code utilizing database cache for low-level code correspondence

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7009001687, JAVA FOR RETAIL POS COMMITEE, Java for Retail POS, Version 1.5, 20000924, 第1〜54ページ, US, 第1〜54ページ *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158651A (ja) * 2006-12-21 2008-07-10 Shinko Electric Ind Co Ltd Rfidタグのリーダライタのためのミドルウェア
JP2013058065A (ja) * 2011-09-08 2013-03-28 Seiko Epson Corp 制御装置の制御方法、及び、プログラム

Also Published As

Publication number Publication date
KR100461887B1 (ko) 2004-12-14
US20030061021A1 (en) 2003-03-27
KR20020081141A (ko) 2002-10-26
CN1294501C (zh) 2007-01-10
CN1384440A (zh) 2002-12-11
EP1251427A2 (en) 2002-10-23
US7330825B2 (en) 2008-02-12
JP4491989B2 (ja) 2010-06-30
EP1251427A3 (en) 2006-08-23

Similar Documents

Publication Publication Date Title
JP2002312301A (ja) 制御システム
US7802249B2 (en) Techniques for implementing pluggable virtual machines
US6345382B1 (en) Run-time customization in object-oriented design
CA2178581C (en) Automatic booting framework
US5574915A (en) Object-oriented booting framework
US8452950B2 (en) Component firmware integration in distributed systems
KR101795844B1 (ko) 런타임 시스템
WO2003071444A9 (en) Component model for real time system control
WO1999066399A9 (en) Method to reflect bios setup changes into acpi machine language
US8271622B2 (en) Method and apparatus for a system management tool to adapt command interface and behavior based on installed features
EP0747811A2 (en) A design pattern for instantiating objects of unknown type in object-oriented applications
US20040088687A1 (en) Code analysis for selective runtime data processing
US20040068733A1 (en) Method and system for integrating non-compliant providers of dynamic services into a resource management infrastructure
AU2019372246B2 (en) Selective substitution of legacy load module programs with classes for execution in a java virtual machine
EP0811913A1 (en) An object-oriented intra-process messaging arrangement for windows environments
JP2005182419A (ja) コンポーネント処理システム及びコンポーネント処理方法
JP2002318703A (ja) 制御システム
WO2005033848A2 (en) Method for iterating through elements of a collection
US7945920B2 (en) Enforcing proper resolution for classes of shared objects in a virtual machine
CA2234796C (en) Portable object-oriented operating system
EP0860776A1 (en) Inter-object communication method
JPH0830455A (ja) オブジェクト指向情報処理システム
EP3885898A1 (en) Processing portable extensions at build time
JPH08272757A (ja) マルチプロセッサシステム及びプログラム起動方法
Lindemann et al. Using CORBA middleware in finite element software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees