JP6125865B2 - Information processing apparatus, information processing system, and information processing method - Google Patents

Information processing apparatus, information processing system, and information processing method Download PDF

Info

Publication number
JP6125865B2
JP6125865B2 JP2013060675A JP2013060675A JP6125865B2 JP 6125865 B2 JP6125865 B2 JP 6125865B2 JP 2013060675 A JP2013060675 A JP 2013060675A JP 2013060675 A JP2013060675 A JP 2013060675A JP 6125865 B2 JP6125865 B2 JP 6125865B2
Authority
JP
Japan
Prior art keywords
class library
information
file
information processing
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.)
Expired - Fee Related
Application number
JP2013060675A
Other languages
Japanese (ja)
Other versions
JP2013225300A (en
Inventor
徹朗 小松
徹朗 小松
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.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo 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 Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2013060675A priority Critical patent/JP6125865B2/en
Publication of JP2013225300A publication Critical patent/JP2013225300A/en
Application granted granted Critical
Publication of JP6125865B2 publication Critical patent/JP6125865B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、カードリーダライタ等の電子機器装置の通信制御処理等に適用可能なオブジェクト指向環境で動作するソフトウェアシステムを採用する情報処理装置、情報処理システム、情報処理方法、およびプログラムに関するものである。   The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program that employ a software system that operates in an object-oriented environment that can be applied to communication control processing of an electronic device such as a card reader / writer. .

オブジェクト指向環境で動作するソフトウェアシステムを採用する情報処理装置を含む情報処理システムには、たとえば、カードリーダライタ等の電子機器装置と、カードリーダライタと通信を行うATM等の上位装置が含まれる。
金融機関などで使用され、キャッシュレスや個人認証などを実現するカードとして、プラスチック基板内部に集積回路チップ(ICチップ)が埋め込まれ、表面にIC端子が配置されたICカード(接触式ICカード)や内部にアンテナコイルが配置されたICカード(非接触式ICカード)がある。
そして、このICカードに対する情報の再生または記録は、電子機器装置としてのカードリーダライタによって行われる。
An information processing system including an information processing apparatus that employs a software system that operates in an object-oriented environment includes, for example, an electronic device such as a card reader / writer and a host device such as an ATM that communicates with the card reader / writer.
IC card (contact IC card) that is used in financial institutions, etc., as a card that realizes cashless and personal authentication, etc., with an integrated circuit chip (IC chip) embedded inside a plastic substrate and an IC terminal on the surface There is also an IC card (non-contact IC card) in which an antenna coil is arranged.
Information is reproduced or recorded on the IC card by a card reader / writer as an electronic device.

カードリーダライタは、上位装置からのコマンド(コマンドAPDU:Application Protocol Data Unit)を受信し、ICカードとの通信プロトコルに沿った形式(コマンドTPDU:Transmission Protocol Data Unit)に変換する。
そして、電圧や通信速度等も変換した後に、そのコマンドをICカードへ送信する。また、ICカードからの応答を受信した後、逆変換(レスポンスTPDUからレスポンスAPDUへの変換)を行って、その応答を上位装置へ送信する。
The card reader / writer receives a command (command APDU: Application Protocol Data Unit) from the host device and converts the command into a format (command TPDU: Transmission Protocol Data Unit) according to the communication protocol with the IC card.
Then, after converting the voltage, communication speed, etc., the command is transmitted to the IC card. Further, after receiving the response from the IC card, reverse conversion (conversion from response TPDU to response APDU) is performed, and the response is transmitted to the host device.

上位装置とカードリーダライタとの間の通信は、RS232CやUSB(Universal Serial Bus)などが一般的であり、カードリーダライタとICカードとの間の通信は、TTLレベル、USB、および非接触通信等が一般的である。
また、一般に、カードリーダライタは、APDUのデータ内容を解釈することなく、単にTPDUに変換する処理を行う。
Communication between the host device and the card reader / writer is generally RS232C or USB (Universal Serial Bus), and communication between the card reader / writer and the IC card is TTL level, USB, and non-contact communication. Etc. are common.
In general, the card reader / writer simply performs a process of converting into TPDU without interpreting the data content of the APDU.

このようなカードリーダライタ等の電子機器装置と通信を行うATM等の上位装置には、電子機器装置との通信を制御するために、オブジェクト指向環境で動作する通信制御用クラスライブラリ(ソフトウェアシステム)が適用される場合がある。
なお、対象となる通信制御用クラスライブラリは、ターゲットとなるカードリーダライタとの通信規約をカプセル化し、カードリーダライタを機能させるためのコマンド送信、レスポンス受信を行うためのインターフェースの提供を主な目的とする。
In a host device such as an ATM that communicates with an electronic device such as a card reader / writer, a communication control class library (software system) that operates in an object-oriented environment in order to control communication with the electronic device. May apply.
The target communication control class library encapsulates the communication protocol with the target card reader / writer, and provides an interface for command transmission and response reception for the card reader / writer to function. And

以下、一例として、オブジェクト指向プログラミング言語であるJava(登録商標)で開発されたクラスライブラリについて説明する。
Javaで開発されたミドルウェアは、一般にクラスライブラリという形にまとめられて提供される。
Hereinafter, as an example, a class library developed in Java (registered trademark) which is an object-oriented programming language will be described.
Middleware developed in Java is generally provided in a form of a class library.

Java言語で開発されたクラスライブラリは、複数のクラスを名前空間内に配置し、一つのファイルにまとめた形で提供されることが一般的である。この名前空間をパッケージと呼ぶ。
パッケージへのライブラリの配置は、フォルダ構造(フォルダを使用した階層構造)という形で実現され、このフォルダ構造を維持したままjar(ファイルフォーマット)という形式の圧縮ファイルとして配布するのが一般的である。なお、jarはzip方式によるファイル圧縮の一形態である。
以下に一例を示す。
A class library developed in the Java language is generally provided by arranging a plurality of classes in a name space and collecting them in one file. This namespace is called a package.
The arrangement of the library in the package is realized in the form of a folder structure (hierarchical structure using folders), and is generally distributed as a compressed file in the form of jar (file format) while maintaining this folder structure. . Note that jar is a form of file compression by the zip method.
An example is shown below.

例)
ICT3K5_3R6940Ctrl.jar
+META‐INF
| +MANIFEST.MF
+jp
+co
+nidec_sankyo
+crd
+ICT3K5_3R6940
+DevCtrl.class
+ICCardTransmitCtrl.class
+SAMCardTransmitCtrl.class
+UpdateFirmwareCtrl.class
+<以下省略>
Example)
ICT3K5_3R6940Ctrl. jar
+ META-INF
| + MANIFEST. MF
+ Jp
+ Co
+ Nidec_sankyo
+ Crd
+ ICT3K5_3R6940
+ DevCtrl. class
+ ICCardTransmitCtrl. class
+ SAMCardTransmitCtrl. class
+ UpdateFirmwareCtrl. class
+ <Omitted below>

例は、拡張子“class”を持つ複数のJavaクラスのファイル、すなわち、クラスライブラリが、“jp/co/nidec_sankyo/crd/ICT3K5_3R6940”なるパッケージ内に配置され、“ICT3K5_3R6940Ctrl.jar”なる名称のファイルとしてまとめられていることを示している。
一つのjarファイルには複数のパッケージを格納することも可能である。
また、“MANIFEST.MF”は“マニフェストファイル”と呼ばれ、一つのjarファイルに一つだけ存在する。
In the example, a plurality of Java class files having an extension “class”, that is, a class library is arranged in a package “jp / co / nidec_sankyo / crd / ICT3K5 — 3R6940”, and a file named “ICT3K5_3R6940Ctrl.jar”. It is shown that it is summarized.
It is possible to store a plurality of packages in one jar file.
“MANIFEST.MF” is called a “manifest file”, and only one exists in one jar file.

上述したように、対象となる通信制御用Javaクラスライブラリは、ターゲットとなるカードリーダライタとの通信規約をカプセル化し、このカードリーダライタを機能させるためのコマンド送信、レスポンス受信を行うためのインターフェースの提供を主な目的とする。   As described above, the target communication control Java class library encapsulates the communication protocol with the target card reader / writer, and the interface for performing command transmission and response reception for causing the card reader / writer to function. The main purpose is provision.

なお、特許文献1〜3には“Java言語プログラムを用いた大規模業務系の影響分析ツール”に関する技術が記載され、特許文献4は“クラス情報を管理するための方法および装置”が記載されている。   Patent Documents 1 to 3 describe a technique related to “a large-scale business impact analysis tool using a Java language program”, and Patent Document 4 describes “a method and apparatus for managing class information”. ing.

特開2008−134699号公報JP 2008-134699 A 特開2008−123259号公報JP 2008-123259 A 特開2008−123254号公報JP 2008-123254 A 特開平5−158699号公報JP-A-5-158699

ところで、上記クラスライブラリは、jarと呼ばれる圧縮形式のファイルとして適用されるが、そのファイルの固有情報、たとえばバージョン情報の取得方法については一般化されておらず、特に具体的に示されていない。
ただし、そのファイルのバージョン情報を取得する方法としては、以下の第1から第4の方法が考えられる。
以下にこれらの方法とその課題について述べる。
By the way, the class library is applied as a compressed file called jar. However, the method for acquiring the unique information of the file, for example, version information, is not generalized and is not specifically shown.
However, the following first to fourth methods are conceivable as methods for acquiring the version information of the file.
These methods and their problems are described below.

[第1の方法]
第1の方法は、マニフェストファイルにバージョン情報を埋め込む方法である。
この第1の方法では、所定のプログラムを実行し、“マニフェストファイル”に埋め込んだ情報を読み出すことは可能である。
ただしこの場合、以下の不利益がある。
一般的にオペレーティングシステム(OS)は所定の検索ルールに従ってファイルを探し出すようになっている。
アプリケーションプログラムを実行することによりバージョン情報を取得する方式では、バージョン確認対象となるクラスライブラリを格納するjarファイルが複数存在した場合、意図するものとは異なるものがロードされ、結果として誤った情報を取得する事態が懸念される。
アプリケーションプログラムよりメソッドを実行することによりバージョン情報取得を行う方式は、あくまでも間接的な情報取得方法の範疇に留まるため、前出の例のようなjarファイルが存在しないかなど、予め環境設定にも気を配っておく必要がある。
また、CUI(Character User Interface)での操作が必須となるため、不慣れな場合には間違いやすい。
[First method]
The first method is a method of embedding version information in a manifest file.
In this first method, it is possible to execute a predetermined program and read information embedded in the “manifest file”.
However, this case has the following disadvantages.
Generally, an operating system (OS) searches for a file according to a predetermined search rule.
In the method of acquiring version information by executing an application program, if there are multiple jar files that store the class library for which version confirmation is to be performed, something different from the intended one is loaded, resulting in incorrect information There are concerns about the situation of acquisition.
The method of acquiring version information by executing a method from an application program is only in the category of indirect information acquisition methods, so it is necessary to set environment settings in advance, such as whether there is a jar file as in the previous example. It is necessary to be careful.
In addition, since an operation on a CUI (Character User Interface) is essential, it is easy to make a mistake when inexperienced.

また、第1の方法によれば、以下の不利益がある。
クラスライブラリパッケージは通常jarファイルとして配布される。jarファイルは、前述したように、ファイル圧縮方式であるzipの一形態である。
このため、jarファイルを一旦解凍してマニフェストファイルを取り出し、テキストエディタで閲覧することでバージョン情報を読み出す方法がある。この場合、解凍、閲覧にそれぞれ専用のソフトウェアが必要になる。また、そのための手間が発生する。
Moreover, according to the first method, there are the following disadvantages.
Class library packages are usually distributed as jar files. As described above, the jar file is a form of zip that is a file compression method.
For this reason, there is a method of reading the version information by once decompressing the jar file, taking out the manifest file, and browsing with a text editor. In this case, dedicated software is required for decompression and browsing. Moreover, the trouble for that arises.

[第2の方法]
第2の方法は、バージョンを通知するメソッド(手続き)を実装する方法である。
しかし、第2の方法によれば、以下の不利益がある。
第2の方法では、別のソフトウェアモジュール経由でないとメソッドを実行することができないため、別のソフトウェアモジュールであるアプリケーションプログラムを別途準備する必要がある。
第2の方法では、バージョン確認は、それを利用するソフトウェアの開発着手時やクラスライブラリのバージョンアップ時など、利用者が当該クラスライブラリに関する知識や、それを利用するためのソフトウェア開発環境に関する知識を十分に持ち合わせていない状況下で必要となるケースがほとんどである。
このような状況下でのアプリケーションプログラムの作成は、利用者の負担となり、確認までに時間を要する原因となる。
[Second method]
The second method is a method of implementing a method (procedure) for notifying the version.
However, the second method has the following disadvantages.
In the second method, since the method can be executed only through another software module, it is necessary to separately prepare an application program that is another software module.
In the second method, the version confirmation is performed when the user starts to develop the software that uses the software or upgrades the class library, such as when the user knows about the class library or the software development environment for using the class library. Most of the cases are necessary in situations where you do not have enough.
The creation of an application program under such circumstances is a burden on the user and causes time for confirmation.

また、第2の方法では、上述した第1の方法と同様の不利益がある。
一般的にOSは所定の検索ルールに従ってファイルを探し出すようになっている。
アプリケーションプログラムを実行することによりバージョン情報を取得する方式では、バージョン確認対象となるクラスライブラリを格納するjarファイルが複数存在した場合、意図するものとは異なるものがロードされ、結果として誤った情報を取得する事態が懸念される。
アプリケーションプログラムよりメソッドを実行することによりバージョン情報取得を行う方式は、あくまでも間接的な情報取得方法の範疇に留まるため、前出の例のようなjarファイルが存在しないかなど、予め環境設定にも気を配っておく必要がある。
The second method has the same disadvantage as the first method described above.
Generally, the OS searches for a file according to a predetermined search rule.
In the method of acquiring version information by executing an application program, if there are multiple jar files that store the class library for which version confirmation is to be performed, something different from the intended one is loaded, resulting in incorrect information There are concerns about the situation of acquisition.
The method of acquiring version information by executing a method from an application program is only in the category of indirect information acquisition methods, so it is necessary to set environment settings in advance, such as whether there is a jar file as in the previous example. It is necessary to be careful.

[第3の方法]
第3の方法は、バイナリイメージにバージョン情報を埋め込む方法である。
しかし、第3の方法によれば、以下の不利益がある。
Java言語によるソフトウェアの開発においては、バイナリイメージにおける出力位置を指定する方法がない。したがって、第3の方法では、キーワードを設けるなどして検索できるようにしておく必要がある。
第3の方法では、閲覧にはバイナリエディタが必要となる。
また、jarファイルは圧縮ファイルにつき、元々のバイナリイメージは原型をとどめない。したがって、直接jarファイルを閲覧しても意味がない。このため、第3の方法では、一旦解凍し、バージョン情報が書かれているファイルを閲覧することになるが、通常複数の元ファイルにより構成されるため、バージョンが書かれているファイルがどれであるか別ルールを設けるなどして明らかにしておく必要がある。
第3の方法では、難読化処理を施した場合には、可読性の確保ができないケースも発生する。
[Third method]
The third method is a method of embedding version information in a binary image.
However, the third method has the following disadvantages.
In software development using the Java language, there is no method for designating an output position in a binary image. Therefore, in the third method, it is necessary to be able to search by providing a keyword or the like.
In the third method, a binary editor is required for browsing.
Also, the jar file is a compressed file, and the original binary image does not remain the original. Therefore, it is meaningless to browse the jar file directly. For this reason, in the third method, a file in which version information is written is browsed once. However, since the file is usually composed of a plurality of original files, which of the files has a version written in it. It is necessary to clarify whether there is another rule.
In the third method, when obfuscation processing is performed, there are cases where readability cannot be ensured.

[第4の方法]
第4の方法は、バージョン情報をファイル名に反映させる方法である。
しかし、この第4の方法によれば、ファイルのリネームは使用者に関する制限等なく、また容易であるため、管理上混乱をきたす恐れがある。
[Fourth method]
The fourth method is a method of reflecting version information in the file name.
However, according to the fourth method, the renaming of the file is easy without any restrictions on the user and is easy to be confused.

本発明は、ファイルのバージョン情報等の固有情報を直接かつ容易に取得することが可能な情報処理装置、情報処理システム、情報処理方法、およびプログラムを提供することにある。   An object of the present invention is to provide an information processing apparatus, an information processing system, an information processing method, and a program capable of directly and easily acquiring unique information such as file version information.

本発明の第1の観点は、少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する情報処理装置であって、状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有しており、前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成され、前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを備え、前記固有情報は前記クラスライブラリのファイル自身に内蔵されており、ファイルを直接クリックすることにより、メッセージボックスが現れ、前記固有情報が表示装置に表示されるように構成されている
これにより、ソフトウェアシステムのバージョン情報等の固有情報を他のモジュールを介することなく直接かつ容易に取得することができる。
A first aspect of the present invention is an information processing apparatus that performs communication control with at least an electronic device device and acquires information from the electronic device device, and an application program that executes processing according to a situation, and A software system including a plurality of middleware for communication control with the electronic device, the plurality of middleware for communication control are collectively formed as a class library, and the class library includes the software system A class for storing unique information is provided , and the unique information is embedded in the file of the class library itself. By directly clicking the file, a message box appears and the unique information is displayed on the display device. Is configured .
As a result, unique information such as version information of the software system can be acquired directly and easily without going through other modules.

好適には、前記クラスライブラリを提供するクラスは、実行プログラム部およびクラスライブラリのエキスポート部を含む形態で形成され、前記クラスライブラリのエキスポート部は、前記電子機器装置との通信制御用クラスライブラリのエキスポートを行う機能を含み、前記実行プログラム部は、実行すると前記ファイルまたはエキスポートされるクラスライブラリの固有情報としてのバーション情報を出力する機能を含む。
これにより、ファイルまたはエキスポートされるクラスライブラリのバーション情報を直接かつ容易に取得することができる。
Preferably, the class providing the class library is formed in a form including an execution program part and an export part of the class library, and the export part of the class library is a class library for controlling communication with the electronic device. The execution program unit includes a function of outputting version information as specific information of the file or the class library to be exported when executed.
Thereby, the version information of the file or the exported class library can be acquired directly and easily.

本発明の第2の観点の情報処理システムは、情報処理装置と、前記情報処理装置との間で通信を行うとともに状況に応じた処理を実行して、前記情報処理装置に対し現在の状態と処理結果を送信する電子機器装置と、を有し、前記情報処理装置は、少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する機能を含み、状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有しており、前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成され、前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを備え、前記固有情報は前記クラスライブラリのファイル自身に内蔵されており、ファイルを直接クリックすることにより、メッセージボックスが現れ、前記固有情報が表示装置に表示されるように構成されている
An information processing system according to a second aspect of the present invention communicates between an information processing apparatus and the information processing apparatus and executes processing according to a situation to An electronic device that transmits a processing result, and the information processing device includes a function of performing communication control with at least the electronic device and acquiring information from the electronic device, and according to circumstances. And a software system including a plurality of middleware for communication control with the electronic device, the plurality of middleware for communication control is collectively formed as a class library, and the class the library includes a class that stores specific information of the software system, the specific information of the class library files Itself has a built-in, by clicking the file directly, appears a message box, the unique information is configured to be displayed on the display device.

本発明の第3の観点は、少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する情報処理装置における情報処理方法であって、状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを形成し、前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成し、前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを形成し、前記固有情報は前記クラスライブラリのファイル自身に内蔵し、ファイルを直接クリックすることにより、メッセージボックスを現出させ、前記固有情報を表示装置に表示する
A third aspect of the present invention is an information processing method in an information processing apparatus that performs communication control with at least an electronic device and acquires information from the electronic device, and executes processing according to the situation And a software system including a plurality of middleware for communication control with the electronic device, and a plurality of middleware for communication control are collectively formed as a class library. A class for storing system specific information is formed, and the specific information is built in the file of the class library itself, and by directly clicking on the file, a message box appears to display the specific information on a display device. .

本発明の第4の観点は、少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する上位装置としての情報処理装置における情報処理であって、状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを形成し、前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成し、前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを形成する情報処理をコンピュータに実行させるプログラムである。   A fourth aspect of the present invention is information processing in an information processing apparatus as a higher-level apparatus that performs communication control with at least an electronic apparatus device and acquires information from the electronic apparatus device, and according to the situation A software system including a plurality of middleware for controlling communication with an application program for executing processing and the electronic device is formed, and a plurality of middleware for controlling communication are collectively formed as a class library. A program for causing a computer to execute information processing for forming a class for storing unique information of the software system.

本発明によれば、ファイルのバージョン情報等の固有情報を直接かつ容易に取得することができる。   According to the present invention, unique information such as file version information can be acquired directly and easily.

本発明の実施形態に係る情報処理システムの概要を示すブロック図である。It is a block diagram which shows the outline | summary of the information processing system which concerns on embodiment of this invention. 本実施形態に係る上位装置の構成例を概念的に示す図である。It is a figure which shows notionally the structural example of the high-order apparatus which concerns on this embodiment. 本実施形態に係るクラスライブラリを提供するファイルについて説明するための図である。It is a figure for demonstrating the file which provides the class library which concerns on this embodiment. 本実施形態に係る情報処理装置としての上位装置の要部の具体的なアーキテクチャを示す図である。It is a figure which shows the specific architecture of the principal part of the high-order apparatus as an information processing apparatus which concerns on this embodiment. 本実施形態に係る電子機器装置としてのカードリーダライタの信号処理系の構成例を示す図である。It is a figure which shows the structural example of the signal processing system of the card reader / writer as an electronic device apparatus which concerns on this embodiment. 本実施形態に係るバージョン情報取得の基本的な処理を示すフローチャートである。It is a flowchart which shows the basic process of version information acquisition which concerns on this embodiment.

以下、本発明の実施形態を図面に関連付けて説明する。
以下の実施形態においては、電子機器装置としてカードリーダライタを例に説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
In the following embodiments, a card reader / writer will be described as an example of an electronic apparatus device.

図1は、本発明の実施形態に係る情報処理システムの概要を示すブロック図である。   FIG. 1 is a block diagram showing an overview of an information processing system according to an embodiment of the present invention.

情報処理システム10は、情報処理装置としての上位装置(ホスト装置)20、カードリーダライタ(電子機器装置)30、およびICカード40を含んで構成されている。   The information processing system 10 includes a host device (host device) 20 as an information processing device, a card reader / writer (electronic device device) 30, and an IC card 40.

本実施形態では、このようなカードリーダライタ等の電子機器装置と通信を行うATM等の上位装置20には、電子機器装置との通信を制御するために、オブジェクト指向環境で動作する通信制御用クラスライブラリ(ソフトウェアシステム)が適用される。
上位装置20には、提供するアプリケーションプログラムAPが格納されている。このアプリケーションプログラムAPは、オブジェクト指向のコンピュータ言語の1つであるJava(登録商標)により記述されたプログラムであり、Java実行環境で実行可能なJavaバイトコードで構成されている。
本実施形態では、本発明に係るプログラム実行装置をJava(登録商標)言語で記述されたJava(登録商標)アプリケーションプログラムを実行するJava(登録商標)アプリケーション実行装置を一例として実施の形態で、図面を参照しながら説明する。
In this embodiment, the host device 20 such as an ATM that communicates with an electronic device such as a card reader / writer is used for communication control that operates in an object-oriented environment in order to control communication with the electronic device. A class library (software system) is applied.
The host device 20 stores an application program AP to be provided. The application program AP is a program described in Java (registered trademark), which is one of object-oriented computer languages, and is configured by Java bytecode that can be executed in the Java execution environment.
In the present embodiment, a Java (registered trademark) application execution device that executes a Java (registered trademark) application program described in the Java (registered trademark) language as an example of the program execution device according to the present invention is illustrated in the drawings. Will be described with reference to FIG.

[上位装置の構成および機能]
上位装置20は、カードリーダライタ30との間で通信制御を行い、コマンドの送信に対応したレスポンスを受信する等の各種情報の授受を行って、カードリーダライタ30からの情報を取得する。
[Configuration and function of host device]
The host device 20 performs communication control with the card reader / writer 30, exchanges various information such as receiving a response corresponding to the transmission of the command, and acquires information from the card reader / writer 30.

図2は、本実施形態に係る上位装置の構成例を概念的に示す図である。
図2の上位装置20は、基本的に、処理装置であるCPU21、ROM22、RAM23、ストレージユニット24、バージョン(リビジョン)等の情報が表示される表示装置25、およびキーボード261やマウス262を含む操作部26を含んで構成される。
FIG. 2 is a diagram conceptually illustrating a configuration example of the host device according to the present embodiment.
2 basically includes a CPU 21, a ROM 22, a RAM 23, a storage unit 24, a display device 25 on which information such as a version (revision) is displayed, and an operation including a keyboard 261 and a mouse 262. The unit 26 is configured.

CPU21は、Java(登録商標)仮想マシン、オペレーティングシステム(OS)、アプリケーションプログラムを実行する。
RAM23は、具体的にはSRAM、DRAM等の一時記憶メモリで構成され、CPU21が処理を行う際、一時的にデータを保存するために使用される。
ROM22は、具体的にはフラッシュメモリや、ハードディスク等の不揮発性メモリで構成され、CPU21から指示されたデータやプログラムを記憶する。
The CPU 21 executes a Java (registered trademark) virtual machine, an operating system (OS), and an application program.
The RAM 23 is specifically composed of a temporary storage memory such as an SRAM or a DRAM, and is used for temporarily storing data when the CPU 21 performs processing.
Specifically, the ROM 22 is configured by a flash memory, a nonvolatile memory such as a hard disk, and stores data and programs instructed by the CPU 21.

本例においては、図中のストレージユニット24内に保存されたオペレーティングシステム(OS)、Java実行環境を構築するためのソフトウェアとしてのミドルウェアMW、オブジェクト指向プログラム言語で記載されたJava(登録商標)言語などで記述されたアプリケーション等のプログラムがソフトウェアシステムの一部をなして格納されている。そして、これらプログラムを実行する実行時にいわゆるコンピュータ(電子計算機)のソフトウェアとしてRAM23上に展開される。   In this example, an operating system (OS) stored in the storage unit 24 in the figure, middleware MW as software for constructing a Java execution environment, and a Java (registered trademark) language described in an object-oriented programming language A program such as an application described in the above is stored as a part of the software system. Then, when executing these programs, they are expanded on the RAM 23 as so-called computer (electronic computer) software.

このような構成を有する上位装置20においては、次の特徴をもって構成されている。
上記したように、状況に応じた処理を実行するアプリケーションプログラムおよびカードリーダライタ30との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有している。
上位装置20においては、この通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成され、この通信制御用クラスライブラリには、ソフトウェアシステムの固有情報を記憶するクラスを備えている。
The host device 20 having such a configuration is configured with the following features.
As described above, the software system includes an application program for executing processing according to the situation and a plurality of middleware for controlling communication with the card reader / writer 30.
In the host device 20, a plurality of middleware for communication control are collectively formed as a class library, and the class library for communication control is provided with a class for storing software system specific information.

なお、クラスライブラリとは、ある特定の機能をもったプログラムを、オブジェクト指向プログラミング言語を用いて一つの「クラス」として部品化し、関連する複数のクラスを一つのファイルにまとめたものをいう。
オブジェクト指向プログラミング言語では、共通する属性やメソッド(データと、このデータを操作する手続き)をもったオブジェクト群の雛形を「クラス」と呼ぶ。
こうした「クラス」はプログラムの部品として利用できるため、よく使われる汎用的なものをクラスライブラリに集めておくことで、プログラミングの労力を軽減することができる。
また、クラスライブラリでは、ファイル入出力、数学演算、ネットワークなど様々な機能を提供するライブラリを用意することが可能である。
また、クラスライブラリは「パッケージ」と呼ばれる単位で機能ごとに分類されている。
Note that a class library is a program in which a program having a specific function is converted into a single “class” using an object-oriented programming language and a plurality of related classes are collected into one file.
In an object-oriented programming language, a template of an object group having common attributes and methods (data and procedures for manipulating this data) is called a “class”.
Since these “classes” can be used as parts of programs, it is possible to reduce the programming effort by collecting commonly used general-purpose items in a class library.
In the class library, it is possible to prepare a library that provides various functions such as file input / output, mathematical operation, and network.
Class libraries are classified by function in units called “packages”.

本実施形態では、通信制御用のクラスライブラリに関連する処理について説明する。
本実施形態において、対象となる通信制御用クラスライブラリは、ターゲットとなるカードリーダライタ30との通信規約をカプセル化し、カードリーダライタ30を機能させるためのコマンド送信、レスポンス受信を行うためのインターフェースの提供を主な目的とする。
In the present embodiment, processing related to a class library for communication control will be described.
In this embodiment, the target communication control class library encapsulates the communication protocol with the target card reader / writer 30, and transmits an interface for performing command transmission and response reception for causing the card reader / writer 30 to function. The main purpose is provision.

また、固有情報とは、クラスライブラリを提供するファイルまたはエキスポートされるクラスライブラリのバーション情報を例示することができる。
固有情報は、このようなバージョン情報だけでなく、クラスライブラリのバージョン以外のプロパティ、たとえば著作権者、作成年月日、コメント(社内ユーザオンリー等)、テストバージョン等も同時にあるいは個別に情報提供することが可能である。
本実施形態では、通信制御用ソフトウェアシステムを開発等する際に、極めて重要な情報となるバージョン情報を例に説明する。
In addition, the specific information can be exemplified by version information of a file providing a class library or an exported class library.
In addition to such version information, the unique information provides properties other than the class library version, such as copyright holder, date of creation, comment (internal user only, etc.), test version, etc. simultaneously or individually. It is possible.
In the present embodiment, version information, which is extremely important information when developing a communication control software system, will be described as an example.

ここで、本実施形態に係るクラスライブラリを提供するファイルについて説明する。
図3は、本実施形態に係るクラスライブラリを提供するファイルについて概念的に説明するための図である。
Here, a file that provides the class library according to the present embodiment will be described.
FIG. 3 is a diagram for conceptually explaining the file providing the class library according to the present embodiment.

クラスライブラリを提供するファイル200は、実行プログラム部201およびクラスライブラリのエキスポート部202を含む形態で形成される。   The file 200 providing the class library is formed in a form including an execution program unit 201 and a class library export unit 202.

実行プログラム部201は、実行すると(実行指示を受けて実行すると)ファイルまたはエキスポートされるクラスライブラリのバーション情報を出力する実行機能を有する。
ここで、実行指示を受けて実行するとは、たとえば図2の構成において、Windows(登録商標)環境などで、ユーザがマウス262を使って表示装置25上に表示されているファイル200を示すアイコンに対してダブルクリックを行うこと等の操作が含まれる。
The execution program unit 201 has an execution function for outputting version information of a file or a class library to be exported when it is executed (when it is executed upon receiving an execution instruction).
Here, the execution upon receipt of an execution instruction is an icon indicating the file 200 displayed on the display device 25 by the user using the mouse 262 in the Windows (registered trademark) environment in the configuration of FIG. For example, operations such as double-clicking are included.

クラスライブラリのエキスポート部202は、カードリーダライタ30との通信制御用クラスライブラリのエキスポートを行う機能を含む。
ここで、エキスポート(またはエクスポート)とは他のアプリケーションソフトで使用できるよう、インターフェースを提供することを言う。
The class library export unit 202 includes a function for exporting a class library for communication control with the card reader / writer 30.
Here, exporting (or exporting) means providing an interface so that it can be used by other application software.

クラスライブラリを提供するファイルの一例としてJavaのjarファイルをあげると、jarファイルを目的別に分類すると、次の3形態が存在する。
(1)クラスライブラリのエキスポートのみ
(2)実行プログラムのみ
(3)実行プログラム+クラスライブラリのエキスポート
As an example of a file that provides a class library, a Java jar file is given. When the jar file is classified by purpose, the following three forms exist.
(1) Class library export only (2) Execution program only (3) Execution program + class library export

本実施形態においては、(3)実行プログラム+クラスライブラリのエキスポートの形態を応用したものである。
すなわち、本実施形態においては、本来の目的であるカードリーダライタとの通信制御用クラスライブラリのエキスポートに加え、バージョン情報を出力する実行機能を持たせている。
In the present embodiment, (3) an export program + class library export form is applied.
That is, in this embodiment, in addition to the export of the class library for communication control with the card reader / writer, which is the original purpose, an execution function for outputting version information is provided.

これらの具体的な例は後で詳述する。この場合、一例として、オブジェクト指向プログラミング言語であるJava(登録商標)で開発されたクラスライブラリに関連付けて説明する。   These specific examples will be described in detail later. In this case, as an example, description will be made in association with a class library developed in Java (registered trademark) which is an object-oriented programming language.

次に、上位装置20の要部の具体的なアーキテクチャの例について説明する。
図4は、本実施形態に係る情報処理装置としての上位装置の要部の具体的なアーキテクチャを示す図である。
Next, an example of a specific architecture of the main part of the higher-level device 20 will be described.
FIG. 4 is a diagram illustrating a specific architecture of the main part of the host device as the information processing apparatus according to the present embodiment.

ソフトウェアシステム(ブロック)210は、ソフトウェアを実行するプログラムを収納し実行する。
ソフトウェアシステム210は、たとえば図4に示すように、アプリケーション部210A、ミドルウェア部210B、システム全体を制御するオペレーティングシステム(OS)部210C、および仮想マシン(JavaVM)210Dにより形成される。
また、ソフトウェアシステム210は、システム起動時に働くブートプログラム(BP)220を含んで構成されてもよい。
The software system (block) 210 stores and executes a program for executing software.
As shown in FIG. 4, for example, the software system 210 includes an application unit 210A, a middleware unit 210B, an operating system (OS) unit 210C that controls the entire system, and a virtual machine (Java VM) 210D.
The software system 210 may include a boot program (BP) 220 that works when the system is started.

図4は、OS上で仮想マシン(JavaVM)が動いているJava実行環境の一例を示しており、システム起動時に働くインターフェース(I/F)、システム全体を制御するOS、OSの違いを吸収して共通のプラットフォームを提供する仮想マシン(JavaVM)、仮想マシン(JavaVM)上で動くクラスライブラリ、機器の利用目的を実行する実行アプリケーションによって構成されている。
ここで、OS、仮想マシン(JavaVM)、およびクラスライブラリがアップデート対象となる動作プログラムである。
FIG. 4 shows an example of a Java execution environment in which a virtual machine (Java VM) is running on the OS, and it absorbs the difference between the interface (I / F) that works at system startup, the OS that controls the entire system, and the OS. A virtual machine (JavaVM) that provides a common platform, a class library that runs on the virtual machine (JavaVM), and an execution application that executes the purpose of use of the device.
Here, the OS, the virtual machine (Java VM), and the class library are operation programs to be updated.

アプリケーション部210Aは、オブジェクト指向プログラミング言語のソースコード生成部211、並列コンパイラ212、および実行形式部213を含む。
ミドルウェア部210Bは、通信制御用クラスライブラリ214を含む。
通信制御用クラスライブラリ214には、バージョン情報用クラスの“RevInfo.class”、カードリーダライタ30を機能させるためのコマンド送信、レスポンス受信を行うための主たる制御を行う通信制御用の“DevCtrl.class”等を含む。クラスライブラリ214には、ソフトウェアシステムの固有情報であるバージョン情報を記憶するクラスCLSを備えている。
また、オペレーティングシステム部210Cは、ホストファイル部215、ユーティリティ部216、および常駐プログラム部217を含む。
The application unit 210A includes an object-oriented programming language source code generation unit 211, a parallel compiler 212, and an execution format unit 213.
The middleware unit 210B includes a communication control class library 214.
The communication control class library 214 includes a version information class “RevInfo.class”, a command transmission for functioning the card reader / writer 30 and a communication control “DevCtrl.class” for performing main control for receiving a response. Etc. " The class library 214 includes a class CLS that stores version information that is unique information of the software system.
The operating system unit 210C includes a host file unit 215, a utility unit 216, and a resident program unit 217.

なお、実行環境とは、オブジェクト指向技術を用いてアプリケーションプログラムを実行する環境をいい、本実施形態では、オブジェクト指向技術の1つとしてのJava(商標登録)を用いている。
仮想マシン210Dでは、たとえば中間言語である実行コード(バイトコード)の実行時に最終的にハードウェアにネイティブな機械語コードに変換されて実行される。
The execution environment refers to an environment in which an application program is executed using object-oriented technology. In this embodiment, Java (registered trademark) is used as one of object-oriented technologies.
In the virtual machine 210D, for example, when an execution code (byte code) which is an intermediate language is executed, the virtual machine 210D is finally converted into a machine language code native to hardware and executed.

このように形成されるソフトウェアシステム210の実行ファイル生成について説明する。   The execution file generation of the software system 210 formed in this way will be described.

実行ファイルの生成処理においては、まず、ソースコード生成部211において、ソースコードを作成する。
クラスライブラリ214を参照しコンパイラ212で作成したソースコードに関するコンパイルを行う。
コンパイル結果を用いて実行形式部213が並列アプリケーションの実行ファイルを完成する。完成した実行ファイルは、OS(オペレーティングシステム)部210Cに与えられる。
そして、仮想マシン210DはOS上で動作し、バイトコードを解釈して実行する。
In the execution file generation process, first, the source code generation unit 211 creates a source code.
Compile the source code created by the compiler 212 with reference to the class library 214.
The execution form part 213 completes the execution file of the parallel application using the compilation result. The completed execution file is given to the OS (operating system) unit 210C.
The virtual machine 210D operates on the OS and interprets and executes the bytecode.

以上、上位装置20の構成および機能について具体的に説明した。
次に、カードリーダライタ30の構成および機能について説明する。
Heretofore, the configuration and function of the host device 20 have been specifically described.
Next, the configuration and function of the card reader / writer 30 will be described.

[カードリーダライタ30の構成および機能]
カードリーダライタ30は、上位装置20との通信およびICカード40との通信機能を有する。
図5は、本実施形態に係る電子機器装置としてのカードリーダライタの信号処理系の構成例を示す図である。
[Configuration and Function of Card Reader / Writer 30]
The card reader / writer 30 has a communication function with the host device 20 and a communication function with the IC card 40.
FIG. 5 is a diagram illustrating a configuration example of a signal processing system of a card reader / writer as an electronic apparatus device according to the present embodiment.

カードリーダライタ30は、カードリーダライタ30全体を統合的に制御するCPU31、カードリーダライタ30の動作プログラムや初期値、パラメータなどを格納するROM32、CPU31のワーキングエリアとして機能するRAM33、上位装置I/F(インターフェース)34、およびカードI/F35を有している。
カードリーダライタ30は、上位装置I/F34を介して上位装置20と接続され、カードI/F35を介してICカード40と(無線または有線で)通信可能に構成されている。
カードリーダライタ30は、上位装置20との間の通信規約に沿った情報列のコマンドに基づき動作し、ICカード40との間の通信規約に沿った情報列の送受信を行う機能を有する。
The card reader / writer 30 includes a CPU 31 that controls the entire card reader / writer 30 in an integrated manner, a ROM 32 that stores operation programs, initial values, parameters, and the like of the card reader / writer 30, a RAM 33 that functions as a working area for the CPU 31, An F (interface) 34 and a card I / F 35 are included.
The card reader / writer 30 is connected to the host device 20 via the host device I / F 34 and is configured to be communicable (wirelessly or wired) with the IC card 40 via the card I / F 35.
The card reader / writer 30 operates based on an information sequence command in accordance with a communication protocol with the host device 20 and has a function of transmitting and receiving an information sequence with the IC card 40 in accordance with the communication protocol.

上位装置I/F34は、上位装置20からカードリーダライタ30へ送られた信号をTTLレベルの信号に変換し、それをCPU31に転送する機能を有する。
また、CPU31からの信号を逆変換して、上位装置20に転送する。上位装置20とカードリーダライタ30の間の通信は、USBやRS232C等が一般的である。
The host device I / F 34 has a function of converting a signal sent from the host device 20 to the card reader / writer 30 into a TTL level signal and transferring it to the CPU 31.
Further, the signal from the CPU 31 is inversely converted and transferred to the host device 20. Communication between the host device 20 and the card reader / writer 30 is generally USB, RS232C, or the like.

CPU31は、上位装置20との間の通信規約(たとえばUSB)に沿った情報列(コマンドAPDU)内のコマンドに基づいて動作する。
そして、CPU31は、そのコマンドAPDUを、ICカード40との間の通信規約(たとえば非接触通信)に沿った情報列に変換し、これをICカード40に送信する。
すなわち、CPU31は、上位装置20からのコマンドAPDUを、ICカード40との通信プロトコルに沿った形式(コマンドTPDU)に変換する。
変換されたコマンドTPDUは、カードI/F35を通じてICカード40に送信される。
The CPU 31 operates based on a command in an information sequence (command APDU) that conforms to a communication protocol (for example, USB) with the host device 20.
Then, the CPU 31 converts the command APDU into an information string that conforms to a communication protocol (for example, non-contact communication) with the IC card 40, and transmits this to the IC card 40.
That is, the CPU 31 converts the command APDU from the higher-level device 20 into a format (command TPDU) according to the communication protocol with the IC card 40.
The converted command TPDU is transmitted to the IC card 40 through the card I / F 35.

一方で、ICカード40からのレスポンス受信時には、CPU31はレスポンスTPDUをレスポンスAPDUに変換する。変換されたレスポンスAPDUは、上位装置I/F34を通じて上位装置20に転送される。   On the other hand, when receiving a response from the IC card 40, the CPU 31 converts the response TPDU into a response APDU. The converted response APDU is transferred to the host device 20 through the host device I / F 34.

カードI/F35は、コマンドTPDUを、ICカード40に応じた電圧や通信速度に変換し、ICカード40に送信する。
また、カードI/F35は、ICカード40から受信した信号をTTLレベルの信号に変換し、それをCPU31に伝える機能を有する。
カードリーダライタ30とICカード40間の通信は、TTLレベル、非接触通信、およびUSB等が一般的である。
The card I / F 35 converts the command TPDU into a voltage or communication speed corresponding to the IC card 40 and transmits it to the IC card 40.
The card I / F 35 has a function of converting a signal received from the IC card 40 into a TTL level signal and transmitting it to the CPU 31.
Communication between the card reader / writer 30 and the IC card 40 is generally TTL level, non-contact communication, USB, or the like.

ROM32は、プログラム等の不揮発性データを保存するのに対し、RAM33は、CPU31のワーキングエリアとして機能するとともに、一時的にデータを保存する。   The ROM 32 stores non-volatile data such as programs, while the RAM 33 functions as a working area for the CPU 31 and temporarily stores data.

[クラスライブラリの具体的な実行例]
上述したように、本実施形態においては、対象となるクラスライブラリは、ターゲットとなるカードリーダライタとの通信規約をカプセル化し、カードリーダライタを機能させるためのコマンド送信、レスポンス受信を行うためのインターフェースの提供を主な目的とする。
そして、本実施形態において、クラスライブラリを提供するファイルは、本来の目的であるカードリーダライタ通信制御用クラスライブラリのエキスポートに加え、バージョン情報を出力する実行機能を持たせている。
以下これらの具体的な例を説明する。
ここでは、一例として、オブジェクト指向プログラミング言語であるJava(登録商標)で開発されたクラスライブラリに関連付けて説明する。
[Specific execution example of class library]
As described above, in the present embodiment, the target class library encapsulates communication rules with the target card reader / writer, and an interface for performing command transmission and response reception for causing the card reader / writer to function. The main purpose is to provide
In this embodiment, the file providing the class library has an execution function for outputting version information in addition to the export of the card reader / writer communication control class library, which is the original purpose.
Specific examples of these will be described below.
Here, as an example, a description will be given in association with a class library developed in Java (registered trademark) which is an object-oriented programming language.

Jarファイルは、Java(登録商標)アプリケーションを構成する複数のファイルをひとつにまとめた、上位装置のプラットフォームに依存しないファイルの形式である。
Java言語で開発されたクラスライブラリは、複数のクラスを名前空間内に配置し、一つのファイルにまとめた形で提供されることが一般的である。この名前空間をパッケージと呼ぶ。
パッケージへのライブラリの配置は、フォルダを使用した階層構造という形で実現され、このフォルダ構造を維持したままjarという形式の圧縮ファイルとして配布するのが一般的である。なお、jarはzip方式によるファイル圧縮の一形態である。
以下に一例を示す。また、図6は、本実施形態に係るバージョン情報取得の基本的な処理を示すフローチャートである。
The Jar file is a file format that does not depend on the platform of the host device, in which a plurality of files constituting a Java (registered trademark) application are combined into one.
A class library developed in the Java language is generally provided by arranging a plurality of classes in a name space and collecting them in one file. This namespace is called a package.
The arrangement of the library in the package is realized in the form of a hierarchical structure using folders, and is generally distributed as a compressed file of the jar format while maintaining this folder structure. Note that jar is a form of file compression by the zip method.
An example is shown below. FIG. 6 is a flowchart showing basic processing for obtaining version information according to the present embodiment.

(具体的な実現例)
ICT3K5_3R6940Ctrl.jar
+META−INF
| +MANIFEST.MF
+jp
+co
+nidec_sankyo
+crd
+ICT3K5_3R6940
+RevInfo.class(→*)
+DevCtrl.class
+ICCardTransmitCtrl.class
+SAMCardTransmitCtrl.class
+UpdateFirmwareCtrl.class
+<以下省略>
(Specific examples)
ICT3K5_3R6940Ctrl. jar
+ META-INF
| + MANIFEST. MF
+ Jp
+ Co
+ Nidec_sankyo
+ Crd
+ ICT3K5_3R6940
+ RevInfo. class (→ *)
+ DevCtrl. class
+ ICCardTransmitCtrl. class
+ SAMCardTransmitCtrl. class
+ UpdateFirmwareCtrl. class
+ <Omitted below>

この例は、前述した例と同様に、拡張子“class”を持つ複数のJavaクラスのファイル、すなわち、クラスライブラリが、“jp/co/nidec_sankyo/crd/ICT3K5_3R6940”なるパッケージ内に配置され、“ICT3K5_3R6940Ctrl.jar”なる名称のファイルとしてまとめられていることを示している(図6のステップST1)。
一つのjarファイルには複数のパッケージを格納することも可能である。
また、“MANIFEST.MF”は“マニフェストファイル”と呼ばれ、一つのjarファイルに一つだけ存在する。
In this example, similarly to the example described above, a plurality of Java class files having the extension “class”, that is, a class library is arranged in a package “jp / co / nidec_sankyo / crd / ICT3K5_3R6940”. This indicates that the files are grouped as a file named “ICT3K5_3R6940Ctrl.jar” (step ST1 in FIG. 6).
It is possible to store a plurality of packages in one jar file.
“MANIFEST.MF” is called a “manifest file”, and only one exists in one jar file.

上述したように、対象となるJavaクラスライブラリは、ターゲットとなるカードリーダとの通信規約をカプセル化し、このカードリーダを機能させるためのコマンド送信、レスポンス受信を行うためのインターフェースの提供を主な目的とする。   As described above, the target Java class library encapsulates the communication protocol with the target card reader, and provides an interface for performing command transmission and response reception for causing the card reader to function. And

本実施形態では、このクラスライブラリにバージョン情報を取得するためのクラスである、(*)印を付した“RevInfoクラス”を作成し、クラスライブラリ214に追加する(ステップST2)。
RevInfoクラスにはmainメソッドを定義する(ステップST3)。
そして、ICT3K5_3R6940Ctrl.jarを実行すると(ステップST4)、このmainメソッドがコールされる(ステップST5)。
これに伴い、mainメソッドはバージョン情報を出力する(ステップST6)。
In the present embodiment, a “RevInfo class” marked with (*), which is a class for acquiring version information, is created in this class library and added to the class library 214 (step ST2).
A main method is defined in the RevInfo class (step ST3).
And ICT3K5_3R6940Ctrl. When jar is executed (step ST4), this main method is called (step ST5).
Accordingly, the main method outputs version information (step ST6).

このjarファイルには、通常どおりのクラスライブラリが、通常どおりの形でパッケージに格納されている。したがって、バージョン出力機能が追加されたこと以外は、通常のものに対して完全互換となっている。   In this jar file, a normal class library is stored in a package in a normal form. Therefore, except for the addition of the version output function, it is completely compatible with the normal version.

こうすることで、通常の方法に対し次の利点が生じる。
アプリケーションプログラムなど、他のモジュールを介することなく、使用するjarファイルのバージョン情報を取得することができる。
Windows環境などでは、jarファイルをダブルクリックすることにより直接実行することができる。したがって、ファイルの検索パスを気にする必要がない。換言すると、意図したものとは異なるjarファイルのバージョン情報を取得するような誤りを犯す心配がない。
jarファイルの解凍用ソフト、バイナリエディタ、テキストエディタなどを使用する必要がない。
This has the following advantages over the normal method.
The version information of the jar file to be used can be acquired without going through other modules such as an application program.
In a Windows environment or the like, it can be executed directly by double-clicking the jar file. Therefore, there is no need to worry about the file search path. In other words, there is no worry of making an error such as obtaining version information of a jar file different from the intended one.
There is no need to use a jar file decompression software, binary editor, text editor or the like.

すなわち、本実施形態によれば、クラスライブラリのファイル自身にバージョン情報を内蔵することにより、間接的なバージョン確認による誤りを排除することが可能になる。
ここでいう「間接的なバージョン確認」とは、ファイルの更新日時など、本来バージョンとは無関係な情報を介した形でのバージョン確認のことを指す。
本実施形態では、ファイルを直接クリックすることにより、メッセージボックスが現れ、バージョンが表示装置25に表示されるように構成されている。これは、客観的に考えて、現在考え得る最も直接的なバージョン確認手段である。
That is, according to the present embodiment, it is possible to eliminate errors due to indirect version confirmation by incorporating version information in the class library file itself.
Here, “indirect version confirmation” refers to version confirmation via information that is not originally related to the version, such as file update date and time.
In this embodiment, a message box appears when a file is directly clicked, and the version is displayed on the display device 25. This is the most direct version checking means that can be considered now objectively.

なお、本実施形態では、通信制御対象としてカードリーダライタを例に説明したが、本発明は、上述したICカードに対する情報の再生または記録を行うICカードリーダライタに限らず、磁気情報を記録された磁気ストライプを搭載する磁気カードに対する情報の再生または記録を行う磁気カードリーダライタであってもよく、または、他の電子機器装置、たとえば、カードスキャナ、カードプリンタ等にも適用が可能である。
また、クラスライブラリのバージョン以外のプロパティ、たとえば、著作権者、作成年月日、なども同時に情報提供することが可能である。
In the present embodiment, the card reader / writer has been described as an example of the communication control target. However, the present invention is not limited to the IC card reader / writer that reproduces or records information on the IC card described above, and magnetic information is recorded. It may be a magnetic card reader / writer that reproduces or records information on a magnetic card on which a magnetic stripe is mounted, or may be applied to other electronic device devices such as a card scanner and a card printer.
Also, it is possible to provide information on properties other than the version of the class library, such as the copyright holder and the creation date.

10・・・情報処理システム、20・・・上位装置(情報処理装置)、21・・・CPU、22・・・ROM、23・・・RAM、24・・・ストレージユニット、25・・・表示装置、26・・・操作部、261・・・キーボード、262・・・マウス、200・・・ファイル、201・・・実行プログラム部、202・・・クラスライブラリのエキスポート部、210・・・ソフトウェアシステム、210A・・・アプリケーション部、210B・・・ミドルウェア部、210C・・・オペレーティングシステム(OS)部、210D・・・仮想マシン(JavaVM)、30・・・カードリーダライタ(電子機器装置)、40・・・ICカード。   DESCRIPTION OF SYMBOLS 10 ... Information processing system, 20 ... High-order apparatus (information processing apparatus), 21 ... CPU, 22 ... ROM, 23 ... RAM, 24 ... Storage unit, 25 ... Display Device, 26 ... operation unit, 261 ... keyboard, 262 ... mouse, 200 ... file, 201 ... execution program unit, 202 ... export part of class library, 210 ... Software system, 210A ... application unit, 210B ... middleware unit, 210C ... operating system (OS) unit, 210D ... virtual machine (Java VM), 30 ... card reader / writer (electronic device) 40 IC card.

Claims (6)

少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する情報処理装置であって、
状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有しており、
前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成され、
前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを備え
前記固有情報は前記クラスライブラリのファイル自身に内蔵されており、
ファイルを直接クリックすることにより、メッセージボックスが現れ、前記固有情報が表示装置に表示されるように構成されている
情報処理装置。
An information processing device that performs communication control with at least an electronic device device and acquires information from the electronic device device,
Having a software system including an application program for executing processing according to the situation and a plurality of middleware for communication control with the electronic device device;
A plurality of middleware for communication control are collectively formed as a class library,
The class library includes a class that stores unique information of the software system ,
The unique information is embedded in the class library file itself,
An information processing apparatus configured such that when a file is directly clicked, a message box appears and the unique information is displayed on a display device.
前記クラスライブラリを提供するファイルは、
実行プログラム部およびクラスライブラリのエキスポート部を含む形態で形成され、
前記クラスライブラリのエキスポート部は、
前記電子機器装置との通信制御用クラスライブラリのエキスポートを行う機能を含み、
前記実行プログラム部は、
実行すると前記ファイルまたはエキスポートされるクラスライブラリの固有情報としてのバーション情報を出力する機能を含む
請求項1記載の情報処理装置。
The file providing the class library is:
It is formed in a form that includes an executable program part and a class library export part,
The export part of the class library is
Including a function of exporting a class library for communication control with the electronic device,
The execution program part is
The information processing apparatus according to claim 1, comprising a function of outputting version information as specific information of the file or the exported class library when executed.
情報処理装置と、
前記情報処理装置との間で通信を行うとともに状況に応じた処理を実行して、前記情報処理装置に対し現在の状態と処理結果を送信する電子機器装置と、を有し、
前記情報処理装置は、
少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する機能を含み、
状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを有しており、
前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成され、
前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを備え
前記固有情報は前記クラスライブラリのファイル自身に内蔵されており、
ファイルを直接クリックすることにより、メッセージボックスが現れ、前記固有情報が表示装置に表示されるように構成されている
情報処理システム。
An information processing device;
An electronic device that performs communication with the information processing apparatus and executes processing according to the situation, and transmits a current state and a processing result to the information processing apparatus,
The information processing apparatus includes:
Including at least a function of performing communication control with an electronic device device and acquiring information from the electronic device device,
Having a software system including an application program for executing processing according to the situation and a plurality of middleware for communication control with the electronic device device;
A plurality of middleware for communication control are collectively formed as a class library,
The class library includes a class that stores unique information of the software system ,
The unique information is embedded in the class library file itself,
An information processing system configured such that when a file is directly clicked, a message box appears and the unique information is displayed on a display device .
前記クラスライブラリを提供するファイルは、
実行プログラム部およびクラスライブラリのエキスポート部を含む形態で形成され、
前記クラスライブラリのエキスポート部は、
前記電子機器装置との通信制御用クラスライブラリのエキスポートを行う機能を含み、
前記実行プログラム部は、
実行すると前記ファイルまたはエキスポートされるクラスライブラリの固有情報としてのバーション情報を出力する機能を含む
請求項3記載の情報処理システム。
The file providing the class library is:
It is formed in a form that includes an executable program part and a class library export part,
The export part of the class library is
Including a function of exporting a class library for communication control with the electronic device,
The execution program part is
The information processing system according to claim 3, further comprising a function of outputting version information as specific information of the file or the exported class library when executed.
少なくとも電子機器装置との間で通信制御を行い、当該電子機器装置からの情報を取得する情報処理装置における情報処理方法であって、
状況に応じた処理を実行するアプリケーションプログラムおよび前記電子機器装置との通信制御用の複数のミドルウェアを含むソフトウェアシステムを形成し、
前記通信制御用の複数のミドルウェアをまとめてクラスライブラリとして形成し、
前記クラスライブラリには、前記ソフトウェアシステムの固有情報を記憶するクラスを形成し、
前記固有情報は前記クラスライブラリのファイル自身に内蔵し、
ファイルを直接クリックすることにより、メッセージボックスを現出させ、前記固有情報を表示装置に表示する
情報処理方法。
An information processing method in an information processing device that performs communication control with at least an electronic device device and acquires information from the electronic device device,
Forming a software system including an application program for executing processing according to a situation and a plurality of middleware for communication control with the electronic device,
A plurality of middleware for communication control are collectively formed as a class library,
In the class library, a class for storing unique information of the software system is formed,
The unique information is embedded in the class library file itself,
An information processing method for causing a message box to appear by directly clicking a file and displaying the unique information on a display device .
前記クラスライブラリを提供するファイルは、
実行プログラム部およびクラスライブラリのエキスポート部を含む形態で形成し、
前記クラスライブラリのエキスポート部により、前記電子機器装置との通信制御用クラスライブラリのエキスポートを行い、
前記実行プログラム部により、実行すると前記ファイルまたはエキスポートされるクラスライブラリの固有情報としてのバーション情報を出力する
請求項5記載の情報処理方法。
The file providing the class library is:
It is formed in the form including the execution program part and the export part of the class library,
The class library export unit exports a class library for communication control with the electronic device.
The information processing method according to claim 5, wherein the execution program unit outputs version information as unique information of the file or the class library to be exported when executed.
JP2013060675A 2012-03-23 2013-03-22 Information processing apparatus, information processing system, and information processing method Expired - Fee Related JP6125865B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013060675A JP6125865B2 (en) 2012-03-23 2013-03-22 Information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012067509 2012-03-23
JP2012067509 2012-03-23
JP2013060675A JP6125865B2 (en) 2012-03-23 2013-03-22 Information processing apparatus, information processing system, and information processing method

Publications (2)

Publication Number Publication Date
JP2013225300A JP2013225300A (en) 2013-10-31
JP6125865B2 true JP6125865B2 (en) 2017-05-10

Family

ID=49595284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013060675A Expired - Fee Related JP6125865B2 (en) 2012-03-23 2013-03-22 Information processing apparatus, information processing system, and information processing method

Country Status (1)

Country Link
JP (1) JP6125865B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091420A (en) * 2001-09-14 2003-03-28 Toshiba Corp Program for update, device program and program update supporting method
JP4938485B2 (en) * 2007-02-08 2012-05-23 株式会社エヌ・ティ・ティ・ドコモ Communication terminal, management apparatus, communication system, and program

Also Published As

Publication number Publication date
JP2013225300A (en) 2013-10-31

Similar Documents

Publication Publication Date Title
US9244709B2 (en) Automatic recognition of web application
TWI577539B (en) Computer-implemented method, computer-readable storage memory, and system for runtime system
TWI536263B (en) Projecting native application programming interfaces of an operating system into other programming languages
TWI599877B (en) Method for reading complete kernel log when kernel panic takes place in operating system
CN100573454C (en) Be used to carry out the method and apparatus of the instruction of JAVA virtual machine
US8086618B2 (en) Configuration rule translation mapper
CN101151608A (en) Ability for developers to easily find or extend well known locations on a system
US7747942B2 (en) System and method for obtaining a markup language template through reversing engineering
CN103853535A (en) Method and device for modifying middleware
US10394756B2 (en) System and method for customizing archive of a device driver generator tool for a user
CN111985055B (en) Model packaging method and device and electronic equipment
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
JP2004341671A (en) Information processing system, control method, control program and recording medium
CN110637521B (en) Data real-time storage method and system based on model simulation
CN109426511B (en) Soft core updating method and system
JP6125865B2 (en) Information processing apparatus, information processing system, and information processing method
CN111782474A (en) Log processing method and device, electronic equipment and medium
US8661425B1 (en) Method, apparatus, and computer-readable medium for storing data associated with a firmware program
JP7148804B2 (en) SOURCE FILE GENERATION PROGRAM, SOURCE FILE GENERATION METHOD, AND INFORMATION PROCESSING DEVICE
Dawson et al. GFAKluge: A C++ library and command line utilities for the Graphical Fragment Assembly formats
CN111273913B (en) Method and device for outputting application program interface data represented by specifications
US9720660B2 (en) Binary interface instrumentation
CN103713864B (en) Book ticket output device and book ticket output method
JP2007193435A (en) Information processing terminal and program
CN101299191A (en) Method for generating a set of machine-interpretable instructions for presenting media content to a user

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170224

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: 20170328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170406

R150 Certificate of patent or registration of utility model

Ref document number: 6125865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees