デバイス制御プログラム、情報処理装置およびデバイス制御方法
【課題】利用するデバイスの指定を容易に行えるようにすること。
【解決手段】記憶手段1eは、複数の文字列と、デバイス1c,1dおよび外部デバイス2を制御するためのプログラムと、を対応付けた定義情報を記憶する。判定手段1fは、画面の要素を示すタグA,B,C,Dを含む画面情報4に基づいて表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、記憶手段1eに格納された定義情報を参照して、定義情報に設定された何れかの文字列が画面情報4に含まれるタグA,B,C,Dに含まれるか判定する。制御手段1gは、複数の文字列の何れかが存在する場合、当該文字列に対応するプログラムを用いてデバイス1c,1dおよび外部デバイス2を制御する。
【解決手段】記憶手段1eは、複数の文字列と、デバイス1c,1dおよび外部デバイス2を制御するためのプログラムと、を対応付けた定義情報を記憶する。判定手段1fは、画面の要素を示すタグA,B,C,Dを含む画面情報4に基づいて表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、記憶手段1eに格納された定義情報を参照して、定義情報に設定された何れかの文字列が画面情報4に含まれるタグA,B,C,Dに含まれるか判定する。制御手段1gは、複数の文字列の何れかが存在する場合、当該文字列に対応するプログラムを用いてデバイス1c,1dおよび外部デバイス2を制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデバイス制御プログラム、デバイスの動作を制御する情報処理装置およびデバイス制御方法に関する。
【背景技術】
【0002】
情報処理装置には種々のデバイスが設けられる。情報処理装置は各種のデバイスを利用することで、データの入出力や他の情報処理装置とのデータ通信等、種々の処理を行う。
近年では、携帯可能な情報処理装置(携帯端末装置)にも多様なデバイスが設けられ、多機能化が進んでいる。例えば、携帯端末装置に近距離無線通信用のデバイスを設け、当該デバイスによりスキャナやプリンタ等の外部機器と通信することで、外部機器を利用可能とし、拡張性を向上させたものがある。
【0003】
ここで、サーバ装置に接続された情報処理装置では、情報処理装置に設けられたデバイスをサーバ装置の指示により動作させるものがある。例えば、携帯端末装置がセンタ側のコンピュータからダウンロードしたプログラムを用いて携帯端末装置に接続された外部機器を制御することで、センタ側のデータ処理に応じた外部機器の制御を実現する技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−74338号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、情報処理システムでは、サーバ装置が提供するグラフィカルユーザインタフェースを情報処理装置に設けられた表示装置に表示させ、当該インタフェースに従った操作をユーザに行わせるものがある。例えば、Webシステムでは、情報処理装置が備えるWebブラウザがサーバ装置からダウンロードした画面情報により、グラフィカルユーザインタフェースを生成し、ユーザによる操作入力を受け付ける。
【0006】
このような情報処理システムでも、グラフィカルユーザインタフェースに対する操作に応じて、サーバ装置が指定するデバイスを動作させて、所定の処理を行わせたいという要求がある。その場合、サーバ装置が指定するデバイスの制御を、情報処理装置側での操作に応じて行う仕組みを、どのようにして実現するか問題となる。
【0007】
本発明はこのような点に鑑みてなされたものであり、利用するデバイスの指定を容易に行えるようにしたデバイス制御プログラム、情報処理装置およびデバイス制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、デバイス制御プログラムが提供される。このデバイス制御プログラムを実行するコンピュータは、タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、画面情報に含まれるタグ内に含まれているか判定する。定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【0009】
また、上記課題を解決するために、情報処理装置が提供される。この情報処理装置は、記憶手段、判定手段および制御手段を有する。記憶手段は、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報を記憶する。判定手段は、タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、画面情報に含まれるタグ内に、定義情報に示される何れかの文字列が含まれているか判定する。制御手段は、定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【0010】
また、上記課題を解決するために、デバイス制御プログラムを実行するコンピュータのデバイス制御方法が提供される。
【発明の効果】
【0011】
上記デバイス制御プログラム、情報処理装置およびデバイス制御方法によれば、利用するデバイスの指定を容易に行える。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態の情報処理装置を示す図である。
【図2】第2の実施の形態の情報処理システムを示す図である。
【図3】携帯端末装置のハードウェア構成を示す図である。
【図4】携帯端末装置の機能構成を示すブロック図である。
【図5】イベント定義ファイルの記述例を示す図である。
【図6】起動定義ファイルの記述例を示す図である。
【図7】ログイン前後の画面の例を示す図である。
【図8】報告入力画面の例を示す図である。
【図9】報告入力画面のHTMLファイルの記述例を示す図である。
【図10】報告入力画面のHTMLファイルの変形例を示す図である。
【図11】報告書印刷画面の例を示す図である。
【図12】報告書印刷画面のHTMLファイルの記述例を示す図である。
【図13】報告データ入力処理を示すフローチャートである。
【図14】Webデータ処理を示すフローチャートである。
【図15】デバイス制御処理を示す第1のフローチャートである。
【図16】報告データ入力処理の流れを示すシーケンス図である。
【図17】報告書印刷処理を示すフローチャートである。
【図18】デバイス制御処理を示す第2のフローチャートである。
【図19】報告書印刷処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、外部デバイス2と通信可能である。情報処理装置1は、表示装置1a、入力装置1b、デバイス1c、1d、記憶手段1e、判定手段1fおよび制御手段1gを有する。
【0014】
表示装置1aは、グラフィカルユーザインタフェースである画面3を表示する。情報処理装置1は画面情報4に基づいて画面3を生成し、表示装置1aに表示させる。情報処理装置1は、画面情報4をネットワークを介して接続されたサーバ装置(図示を省略)から取得できる。
【0015】
入力装置1bは、ユーザの操作入力を受け付ける。情報処理装置1のユーザは、画面3に含まれるインタフェースに従って、入力装置1bによる操作入力を行える。
ここで、画面情報4はタグA,B,C,Dを含む。タグA,B,Cは、画面3に表示される画面部品3a,3b,3cを示すものである。画面部品3a,3b,3cは、文字、図形、記号等であり、その色彩、位置、大きさ、範囲等も含む。例えば、タグA,Bは、画面部品3a,3bを定義したタグである。タグCは、画面部品3cを定義したタグである。画面部品3cは、入力装置1bを操作することで押下操作できるボタンの画面部品である。
【0016】
また、画面部品には画面3には非表示であるものの、画面3に関連付けて保持する情報も含む。タグDは、画面3には非表示であるものの、画面3に関連付けて保持する情報を記述したタグである。
【0017】
このように、複数のタグによって画面情報を記述可能な言語には、例えばHTML(HyperText Markup Language)やXML(Extensible Markup Language)等がある。
なお、表示装置1aおよび入力装置1bは、情報処理装置1の外部に設けてもよい。
【0018】
デバイス1c,1dは、情報処理装置1の種々の機能を実現する装置である。デバイス1cは、例えば静止画・動画の撮像、スキャナまたは音声入出力等を実現する。デバイス1dは、例えば外部デバイス2との間の無線または有線でのデータ通信を実現する。
【0019】
記憶手段1eは、デバイス1c,1dを制御するためのプログラムを、所定の文字列に対応付けて定義した定義情報を記憶する。例えば、定義情報には、デバイス1cを制御するためのプログラムと文字列M1とが対応付けられる。
【0020】
判定手段1fは、表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、画面情報4に含まれるタグ内に、定義情報に設定された文字列が含まれるか否かを判定する。例えば、判定手段1fはボタンとして表示される画面部品3cを押下する操作入力が検出されるとタグA,B,C,D内に含まれる文字列を参照する。そして、定義情報に設定された文字列M1がタグBに含まれると判定する。
【0021】
ここで、タグ内に含まれる文字列とは、例えば、タグ内の所定の属性に設定された文字列である。
制御手段1gは、記憶手段1eに格納された定義情報を参照して、検出した文字列に対応するプログラムを特定する。制御手段1gは、特定したプログラムを呼び出すことで、デバイス1c,1dおよび外部デバイス2を制御する。
【0022】
例えば、判定手段1fが画面情報4に含まれるタグBに文字列M1が存在すると判定したとする。すると、制御手段1gは定義情報を参照して、文字列M1に対応するプログラムを特定する。制御手段1gは、当該プログラムを呼び出すことでデバイス1cを制御する。
【0023】
なお、定義情報には、一つの文字列に対して、複数のデバイスを制御する複数のプログラムを対応付けてもよい。その際、複数のデバイスを制御する順番を定義してもよい。例えば、文字列M1に対して、デバイス1cを制御するプログラムおよびデバイス1dを制御するプログラムを処理順序とともに定義情報に定義してもよい。このように、定義した順番に従って、デバイス1c,1dを制御することもできる。
【0024】
また、当該プログラムに外部デバイス2を制御するプログラムを含めてもよい。このようにすれば、制御手段1gはデバイス1dを介して外部デバイス2の動作を制御することもできる。
【0025】
更に、文字列M1に加えて、制御に用いる他の情報をタグに含めてもよい。例えば、デバイス1cによる撮像時の解像度を示す情報をタグに含めることができる。また、例えば外部デバイス2がプリンタであれば印刷時のフォーム(紙面サイズやレイアウト等)を指定する情報をタグに含めることができる。制御手段1gは、このような情報をタグから取得して、デバイス1c,1dおよび外部デバイス2を制御する処理に利用できる。
【0026】
情報処理装置1によれば、判定手段1fにより、画面情報4に基づいて表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、記憶手段1eに格納された定義情報が参照されて、定義情報に設定された1またはそれ以上の文字列の何れかが画面情報4に含まれるタグA,B,C,D内に含まれるかが判定される。何れかの文字列が含まれる場合、制御手段1gにより、当該文字列に対応するプログラムが呼び出されて、デバイス1c,1dおよび外部デバイス2が制御される。
【0027】
このように、画面情報4に含まれるタグ内に含まれる文字列により、情報処理装置1で動作させるデバイスを指定できる。このため、例えばサーバ装置側で制御対象のデバイスの指定を追加・変更したい場合には、画面情報4のタグに設定する文字列の変更で対応可能である。すなわち、サーバ装置および情報処理装置1においてアプリケーションプログラム等の変更を伴わずに、デバイス指定の設定を容易に行える。
【0028】
特に、タグの属性に所定の文字列を設定することが考えられる。その場合、HTML等で一般的に用いられる属性(例えば、name属性)を使用することが考えられる。このようにすれば、情報処理装置1とサーバ装置との間で、タグの定義につき事前の合意を伴わずに済む。また、画面情報4を解析する一般的なWebブラウザの機能の拡張も伴わずに済む。よって、情報処理装置1の機能を容易に実現できる。
【0029】
このようにして、情報処理装置1に設けられたデバイス1c,1dや情報処理装置1と接続された外部デバイス2につき、利用するデバイスの指定を容易に行える。
以下に説明する第2の実施の形態では、情報機器等の保守管理を支援する情報処理システムに情報処理装置1を適用する例を示す。
【0030】
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。この情報処理システムは、情報機器(例えば、コンピュータやその周辺機器)の保守業務を支援する。この情報処理システムでは、保守内容をサーバ装置(以下、単にサーバということもある)で一元管理するとともに、保守結果を報告書に印字して報告可能とする。
【0031】
この情報処理システムは、携帯端末装置100および管理サーバ200がネットワーク10および基地局20を介して接続されている。管理サーバ200は、ネットワーク10に接続されている。基地局20は、ネットワーク10に接続されている。携帯端末装置100は、基地局20と無線で接続されている。携帯端末装置100と基地局20との間の通信網は、移動通信網である。
【0032】
ここで、ネットワーク10はインターネット、イントラネットまたは本情報処理システムのために設けられた専用の通信網である。また、基地局20は、携帯端末装置100と無線通信する無線通信装置である。また、基地局20は、ネットワーク10を介して管理サーバ200と通信する。
【0033】
携帯端末装置100は、バーコードリーダ11およびプリンタ12と無線で接続されている。携帯端末装置100とバーコードリーダ11およびプリンタ12との間で確立される通信は、近距離無線通信である。近距離無線通信の例として、IrDA(Infrared Data Association)通信、Bluetooth(登録商標)、Wi−Fi(登録商標)(Wireless - Fidelity)およびZigbee(登録商標)等がある。以下では、近距離無線通信の一例としてBluetoothを示して説明する。ただし、他の近距離無線通信を用いる場合も同様である。
【0034】
バーコードリーダ11は、保守対象の情報機器に付されたバーコードの情報を読み取るスキャナである。バーコードリーダ11は、携帯端末装置100とBluetoothにより通信可能である。バーコードリーダ11は、読み取ったバーコードの情報を携帯端末装置100に送信する。
【0035】
プリンタ12は、報告書を印刷する出力装置である。プリンタ12は、携帯端末装置100とBluetoothにより通信可能である。プリンタ12は、携帯端末装置100から印刷データを受信する。プリンタ12は、受信した印刷データに基づいて報告書を印刷する。
【0036】
携帯端末装置100は、保守作業を行う保守員が所持するコンピュータである。携帯端末装置100は、第1の実施の形態の情報処理装置1の一例である。保守員は、保守作業の完了後に、携帯端末装置100を用いて、管理サーバ200へ保守内容を示す報告データを送信できる。また、保守員は、携帯端末装置100を用いて報告書の印刷等の作業を行える。
【0037】
管理サーバ200は、携帯端末装置100から受信した報告データを管理する。管理サーバ200は、保守業務を支援するGUI(Graphical User Interface)を携帯端末装置100に提供する。管理サーバ200は、Webサーバ機能を有しており、HTMLによって記述された画面情報(以下、HTMLファイルという)によりGUIを提供する。
【0038】
ここで、携帯端末装置100はWebブラウザを有している。Webブラウザは、管理サーバ200から受信したHTMLファイルを解析して、携帯端末装置100に設けられたモニタにGUIを表示する。保守員は、GUIに従った操作入力を行うことで保守業務を進めることができる。保守作業完了後に行う保守員の作業手順は、具体的には次の通りである。
【0039】
(1)保守員は、携帯端末装置100を用いて管理サーバ200にログインする。すると、携帯端末装置100は、業務メニュー画面のHTMLファイルを管理サーバ200から受信し、業務メニュー画面を表示する。業務メニュー画面は、複数の業務を選択可能に表示するGUIである。
【0040】
(2)保守員は、業務メニュー画面において報告入力の業務を選択する。すると、携帯端末装置100は、管理サーバ200に報告入力が選択された旨通知する。携帯端末装置100は、報告入力画面のHTMLファイルを管理サーバ200から受信する。報告入力画面は、報告データの入力を支援するGUIである。報告入力画面では、機器に付されたバーコード読取の選択を受け付け、バーコードリーダ11で読み取った結果を携帯端末装置100に入力できる。また、報告入力画面では、読取結果を含む報告データの管理サーバ200への送信を選択できる。
【0041】
(3)保守員は、報告入力画面においてバーコード読取を選択する。すると、携帯端末装置100は、バーコードリーダ11との通信を開始し、バーコードリーダ11が読み取ったバーコードの情報を受信する。
【0042】
(4)保守員は、報告入力画面において報告データの送信を選択する。すると、携帯端末装置100は、読み取ったバーコードの情報を含む報告データを移動通信網を介して管理サーバ200に送信する。管理サーバ200は、所定の記憶装置に報告データを格納する。
【0043】
(5)管理サーバ200は報告書印刷画面のHTMLファイルを携帯端末装置100に送信する。携帯端末装置100は、当該HTMLファイルを受信し、報告書印刷画面を表示する。報告書印刷画面は、報告書の印刷開始の指示を行うためのGUIである。
【0044】
(6)保守員は、報告書印刷画面において、報告書の印刷を選択する。すると、携帯端末装置100は、プリンタ12との通信を開始する。プリンタ12は、携帯端末装置100から受信した印刷データに基づいて、報告書を印刷する。
【0045】
ここで、(1)〜(6)の一連の手順において、携帯端末装置100は、バーコードリーダ11、プリンタ12および基地局20との通信を行う。すなわち、携帯端末装置100は、移動通信網を介した通信とBluetoothによる通信との2種類の通信方式を利用する。この場合、両方の通信方式を同時に利用しようとすると、携帯端末装置100が高負荷状態となる、電力消費が過大となる、という問題が生じる。
【0046】
そこで、携帯端末装置100は一方の通信方式を利用する場合に、他方の通信方式による通信を行わないよう制御する。具体的には、携帯端末装置100は通常時は移動通信網と接続して、音声通話や電子メール等を受け付け可能な待ち受け状態とする。そして、上記作業で必要な場合に、移動通信網との通信を切断し、Bluetoothによるデータ通信を行う。Bluetoothによるデータ通信が完了すると、Bluetoothによる通信を切断し、移動通信網と接続する。
【0047】
以下では、このような制御を携帯端末装置100に容易に指示可能とするための構成を詳細に説明する。まず、携帯端末装置100が備えるデバイス(ハードウェア)の構成を説明する。
【0048】
図3は、携帯端末装置のハードウェア構成を示す図である。携帯端末装置100は、CPU(Central Processing Unit)101、移動通信部102、アンテナ102a,103a、近距離無線通信部103、撮像部104、バーコード読取部105、ROM(Read Only Memory)106、RAM(Random Access Memory)106a、外部メモリインタフェース106b、表示処理部107、ディスプレイ107a、入力処理部108、タッチパネル108a、キーパッド108b、音声処理部109、マイク109aおよびスピーカ109bを有する。
【0049】
CPU101は、OS(Operating System)プログラムやアプリケーションプログラムを実行して、携帯端末装置100全体の動作を制御する。
移動通信部102は、無線信号処理を行い、基地局20と移動通信網を介した無線通信を実現する。具体的には、移動通信部102は、基地局20からアンテナ102aを介して受信した信号を復調・復号し、得られた受信データをCPU101に出力する。また、移動通信部102は、CPU101から取得した送信データを符号化・変調し、得られた送信信号をアンテナ102aを介して基地局20へ送信する。
【0050】
近距離無線通信部103は、無線信号処理を行い、バーコードリーダ11およびプリンタ12とのBluetoothによる無線通信を実現する。具体的には、近距離無線通信部103は、バーコードリーダ11およびプリンタ12からアンテナ103aを介して受信した信号を復調・復号し、得られた受信データをCPU101に出力する。また、近距離無線通信部103は、CPU101から取得した送信データを符号化・変調し、得られた送信信号をアンテナ103aを介してバーコードリーダ11およびプリンタ12へ送信する。
【0051】
撮像部104は、静止画または動画を撮像する。
バーコード読取部105は、携帯端末装置100に内蔵されたバーコード読取用のスキャナである。
【0052】
ROM106は、携帯端末装置100の実行時に実行されるBIOS(Basic Input / Output System)プログラムなどの所定のプログラムを記憶する。ROM106は、書換え可能な不揮発性メモリであってもよい。
【0053】
RAM106aは、CPU101が実行するOSプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM106aは、CPU101の処理に用いられるデータの少なくとも一部を一時的に記憶する。
【0054】
外部メモリインタフェース106bは、記録媒体13に記憶されたデータを読み取り、また、記録媒体13にデータを格納する。記録媒体13には、例えば、携帯端末装置100に実行させるプログラムが記録されている。携帯端末装置100は、例えば、記録媒体13に記録されたデバイス制御プログラムを実行することで、後述するようなデバイス制御機能を実現することができる。すなわち、デバイス制御の処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体13に記録して配布することが可能である。
【0055】
記録媒体13としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
【0056】
表示処理部107は、画像表示処理を行う。具体的には、表示処理部107は、CPU101から画像データを取得し、ディスプレイ107aに表示させる。
入力処理部108は、ユーザによる入力操作の処理を行う。具体的には、入力処理部108は、タッチパネル108aに対するタッチ操作やキーパッド108bに対するキー押下を検出すると、押下されたタッチ位置やキーを示す入力信号をCPU101に出力する。
【0057】
音声処理部109は、音声信号処理を行う。具体的には、音声処理部109は、マイク109aから音声アナログ信号を取得し、必要な信号変換処理を行ってCPU101に音声データを出力する。また、音声処理部109は、CPU101から音声データを取得し、必要な信号変換処理を行ってスピーカ109bに音声再生させる。
【0058】
なお、ネットワーク10に接続された管理サーバ200やその他のサーバ装置(図示せず)にデバイス制御プログラムを格納しておいてもよい。その場合、携帯端末装置100は、管理サーバ200やその他のサーバ装置からデバイス制御プログラムをダウンロードして実行することもできる。
【0059】
図4は、携帯端末装置の機能構成を示すブロック図である。携帯端末装置100は、定義情報記憶部110、プログラム記憶部120、Webデータ処理部130、Webブラウザ140および制御部150を有する。これらのユニットの機能は、CPU101が所定のプログラムを実行することにより、携帯端末装置100上に実現される。特に、少なくともWebデータ処理部130および制御部150の機能は、CPU101がデバイス制御プログラムを実行することにより、携帯端末装置100上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実装してもよい。
【0060】
定義情報記憶部110は、イベント定義ファイルおよび起動定義ファイルを記憶する。イベント定義ファイルは、HTMLファイル内で指定される所定の文字列と当該文字列に対して発生させるイベントの名称とを対応付けたファイルである。起動定義ファイルは、発生させたイベントの名称(以下、イベント名という)に対応して呼び出すプログラムおよび呼び出した当該プログラムの実行に用いるパラメータを定義したファイルである。
【0061】
また、定義情報記憶部110は、管理サーバ200から受信したHTMLファイルを一時的に記憶する。
プログラム記憶部120は、携帯端末装置100が備える各デバイス、バーコードリーダ11およびプリンタ12を制御するためのプログラムを記憶する。
【0062】
Webデータ処理部130は、管理サーバ200からHTMLファイルを受信する。Webデータ処理部130は、受信したHTMLファイルを定義情報記憶部110に格納する。Webデータ処理部130は、HTMLファイルをWebブラウザ140に出力する。
【0063】
また、Webデータ処理部130は、管理サーバ200からHTMLファイル内で参照されるスクリプトや画像データのファイルを受信することもある。Webデータ処理部130は、受信したこれらのファイルを定義情報記憶部110に格納する。
【0064】
Webデータ処理部130はWebサーバとしての機能を有し、Webブラウザ140とHTTP(Hyper Text Transfer Protocol)により通信する。
Webデータ処理部130は、Webブラウザ140に出力したHTMLファイルに基づいてWebブラウザ140からデータを受信すると、定義情報記憶部110を参照して当該データに所定の文字列が含まれるか判定する。所定の文字列が含まれる場合、当該文字列に対応して実行するプログラムを特定する。Webデータ処理部130は、特定したプログラムの実行を制御部150に指示する。Webデータ処理部130は、制御部150による当該プログラムの実行結果を取得してHTMLファイルを更新し、Webブラウザ140に出力する。
【0065】
Webブラウザ140は、Webデータ処理部130から取得したHTMLファイルを解析してGUIの画像データを生成する。具体的には、Webブラウザ140は、HTMLファイルに記述されたタグを解析して、タグにより定義される画面部品を特定する。そして、特定した画面部品を組み合わせて画像データを生成する。Webブラウザ140は、生成した画像データを表示処理部107に出力する。
【0066】
また、Webブラウザ140は、入力処理部108を介してGUIに従ったタッチパネル108aやキーパッド108bの操作入力を受け付けると、GUIに対する操作入力に応じた処理を行う。
【0067】
制御部150は、プログラム記憶部120に格納されたプログラムを実行して、移動通信部102、近距離無線通信部103、撮像部104およびバーコード読取部105の各デバイスの動作を制御する。制御部150は、何れのプログラムを実行してデバイスの制御を行うかにつき、Webデータ処理部130から指示を受ける。制御部150は、当該指示によって指定されたプログラムを実行することで、対応するデバイスの制御を行う。
【0068】
図5は、イベント定義ファイルの記述例を示す図である。イベント定義ファイル111は、定義情報記憶部110に予め格納される。イベント定義ファイル111は、所定の文字列に対応して発生させるイベントの名称を定義した定義情報である。イベント定義ファイル111には、レコード111a,111b,111c,111dが記述されている。
【0069】
レコード111aには、“#BARCODE# = BarcodeScan”という情報が設定されている。これは、文字列“#BARCODE#”に対してイベント名“BarcodeScan”が定義されていることを示す。
【0070】
同様に、レコード111bでは、“#PRINT_DATA#”という文字列に対して“PrintData”というイベント名が定義されている。レコード111cでは、“#CAMERA#”という文字列に対して“ExecInnerCameraAndPost”というイベント名が定義されている。レコード111dでは、“#Alert#”という文字列に対して“Alert”というイベント名が定義されている。
【0071】
Webデータ処理部130は、Webブラウザ140から取得したデータ内にイベント定義ファイル111のレコード111a,111b,111c,111dの左辺に設定された文字列を検出すると、当該文字列に対応するイベント名を特定する。Webデータ処理部130は、起動定義ファイルを参照して、イベント名に対応するプログラムを特定する。
【0072】
図6は、起動定義ファイルの記述例を示す図である。起動定義ファイル112は、定義情報記憶部110に予め格納される。起動定義ファイル112は、イベント名に対応するプログラムを定義した定義情報である。また、起動定義ファイル112には、当該プログラムを実行する際に用いるパラメータも定義される。起動定義ファイル112には、プログラムを定義したレコードとして、レコード112a,112b,112c,112d,112eが記述されている。
【0073】
レコード112aには、“BarcodeScan(1) = /program/APP/Btbr.dat”という情報が設定されている。これは、イベント名“BarcodeScan”に対して実行するプログラムが“/program/APP/Btbr.dat”であることを示す。レコード112aの左辺につき“(1)”のように括弧の記号で括られた数値は、同一イベントにつき定義された複数のプログラムを呼び出して実行する順番を示している。“(1)”は、1番目に実行するプログラムであることを示す。“(2)”は、2番目に実行するプログラムであることを示す。“(3)”以降も同様である。なお、起動定義ファイル112では、イベント名“BarcodeScan”に対して1つのプログラムが対応付けられているため、同イベント名に“(2)”以降の数値が付加されたレコードは記述されていない。
【0074】
ここで、“/program/APP/Btbr.dat”はバーコードリーダ11とのBluetoothによる通信を確立して、バーコードリーダ11が読み取ったバーコードの情報を取得するためのプログラムである。このプログラムで実現される処理には、移動通信部102に移動通信網との通信を切断させる処理、近距離無線通信部103にバーコードリーダ11とBluetoothによる通信を確立させる処理が含まれる。更に、このプログラムで実現される処理には、データ受信後に近距離無線通信部103にバーコードリーダ11とBluetoothによる通信を切断させる処理、移動通信部102に移動通信網との通信を確立させる処理が含まれる。これらの処理を複数のプログラムにより定義してもよい。例えば、各プログラムに順番を定義し、順次呼び出すようにすることで、同様の処理を実現することもできる。
【0075】
レコード112b,112c,112d,112eに関してもレコード112aと同様の構成である。
すなわち、レコード112bでは、イベント名“PrintData”に対して実行するプログラムが“/program/APP/Print.dat”であることを示す。ここで、当該プログラムはプリンタ12に報告書を印刷させる処理を実現する。このプログラムで実現される処理には、移動通信部102に移動通信網との通信を切断させる処理、近距離無線通信部103にプリンタ12とBluetoothによる通信を確立させる処理が含まれる。更に、このプログラムで実現される処理には、データ受信後に近距離無線通信部103にプリンタ12とBluetoothによる通信を切断させる処理、移動通信部102に移動通信網との通信を確立させる処理が含まれる。
【0076】
レコード112cでは、イベント名“ExecInnerCameraAndPost”に対して実行するプログラムが“/program/APP/Camera.dat”であることを示す。当該プログラムは撮像部104に撮像を行わせるものである。ここで、レコード112cでは、イベント名に“(1)”が付加され“ExecInnerCameraAndPost(1)”に対するプログラムが定義されている。これは、当該イベント名に対して1番目に実行するプログラムであることを示す。
【0077】
レコード112dでは、イベント名“ExecInnerCameraAndPost”に対して実行するプログラムが“/program/APP/Sender.dat”であることを示す。当該プログラムは撮像部104が撮像して生成したデータを管理サーバ200に送信するプログラムであることを示す。ここで、レコード112dでは、イベント名に“(2)”が付加され“ExecInnerCameraAndPost(2)”に対するプログラムが定義されている。これは、当該イベント名に対して2番目に実行するプログラムであることを示す。
【0078】
レコード112eでは、イベント名“Alert”に対して実行するプログラムが“/program/APP/Alert.dat”であることを示す。当該プログラムは、音声処理部109を介してスピーカ109bから警告用の音声を出力するものである。
【0079】
また、起動定義ファイル112には、プログラムを実行する際に用いるパラメータを定義したレコードとして、レコード112f,112g,112h,112iが記述されている。
【0080】
レコード112fには、“BarcodeScan(1) = param1(mode),param2(connect)”という情報が設定されている。これは、“Barcodescan(1)”に対応付けられたプログラム“Btbr.dat”を実行する際に入力される第1のパラメータおよび第2のパラメータの定義を示す。
【0081】
“param1(mode)”は、第1のパラメータが、外部デバイスとして設けられたバーコードリーダ11を利用するか、内蔵デバイスとして設けられたバーコード読取部105を利用するか、を指定するためのパラメータであることを示す。
【0082】
“param2(connect)”は、第2のパラメータが、Bluetoothによる接続方法を指定するためのパラメータであることを示す。例えば、第1の方法として、携帯端末装置100にバーコードリーダ11が登録済みである場合、登録された設定内容に従ってバーコードリーダ11と通信を確立する方法が考えられる。また、第2の方法として、バーコードリーダ11が報知する無線信号を検知し、検知した信号に基づいてバーコードリーダ11との通信を確立する方法が考えられる。
【0083】
レコード112gには、“PrintData(1) = param1(formID,param2(variable)”という情報が設定されている。これは、“PrintData(1)”に対応付けられたプログラム“Print.dat”を実行する際に入力される第1のパラメータおよび第2のパラメータの定義を示す。
【0084】
“param1(formID)”は、第1のパラメータが、報告書の様式を示すパラメータであることを示す。報告書の様式は、フォームIDに対応付けて予め定義された様式がRAM106a等に格納されている。このため、携帯端末装置100は、管理サーバ200からフォームIDを第1のパラメータとして受信すれば、印刷すべき報告書の様式を特定できる。このようにすれば、例えば印刷する報告書のイメージデータを受信する場合に比べて、より小さいデータ量で済むので携帯端末装置100と管理サーバ200との間の通信負荷を軽減できる。
【0085】
“param2(variable)”は、第2のパラメータが、報告書の様式の可変項目に対する設定を行うためのパラメータであることを示す。第2のパラメータで指定された設定内容によって、例えば、報告書の様式中の罫線や枠の位置・大きさ等、可変な項目に対する詳細な設定を行える。
【0086】
レコード112hには、“ExecInnerCameraAndPost(1) =”という情報が設定されている。これは、“ExecInnerCameraAndPost(1)”に対応付けられたプログラム“Camera.dat”を実行する際に入力されるパラメータが存在しないことを示す。
【0087】
レコード112iには、“ExecInnerCameraAndPost(2) = param(Data)”という情報が設定されている。これは、“ExecInnerCameraAndPost(2)”に対応付けられたプログラム“Sender.dat”を実行する際に、プログラム“Camera.dat”により撮像したデータを入力することを示している。
【0088】
なお、イベント定義ファイル111および起動定義ファイル112には、上述したデバイス以外にも種々のデバイスの情報を設定できる。例えば、携帯端末装置100が内蔵のGPS(Global Positioning System)デバイスを有する場合、当該デバイスの利用を開始させるための文字列、イベント名、制御用のプログラム等を定義できる。
【0089】
次に、ディスプレイ107aが表示するGUIの具体例を説明する。携帯端末装置100のOSが提供する所定のGUIには、例えばWebデータ処理部130、Webブラウザ140および制御部150の機能を実現するアプリケーションプログラムのアイコンが表示される。保守員は、タッチパネル108a等を操作してアイコンを選択することで、CPU101に当該アプリケーションプログラムの実行を開始させ、以下に示すGUIの利用を開始できる。
【0090】
図7は、ログイン前後の画面の例を示す図である。(A)はログイン画面310(ログイン前の画面)を示している。(B)は業務メニュー画面320(ログイン直後の画面)を示している。
【0091】
ログイン画面310は、ログイン用の認証情報を入力する画面である。ログイン画面310を生成するためのHTMLファイルはアプリケーション起動時に管理サーバ200から受信する。ログイン画面310には、ID(Identifier)入力フォーム311、パスワード入力フォーム312およびログインボタン313が表示されている。
【0092】
ID入力フォーム311は、保守員のIDを入力するテキストボックスである。パスワード入力フォーム312は、IDに対応するパスワードを入力するテキストボックスである。ログインボタン313は、ID入力フォーム311およびパスワード入力フォーム312に入力した内容を確定して管理サーバ200に送信し、ログイン認証を要求するためのボタンである。保守員は、キーパッド108bを操作して、ID入力フォーム311およびパスワード入力フォーム312に文字列を入力できる。保守員は、タッチパネル108aをタッチ操作して、ログインボタン313を押下操作できる。
【0093】
管理サーバ200は、ログイン認証が成功すると、業務メニュー画面320のHTMLファイルを携帯端末装置100に送信する。Webブラウザ140は、受信したHTMLファイルに基づいて、業務メニュー画面320を生成する。
【0094】
業務メニュー画面320は、保守員が行う保守業務の選択入力を受け付ける画面である。業務メニュー画面320には、保守報告ボタン321、部品交換ボタン322、サプライ品納入ボタン323および終了ボタン324が表示されている。
【0095】
保守報告ボタン321は、保守作業後に保守報告の業務を開始する際に押下するボタンである。部品交換ボタン322は、保守作業において部品交換を行った場合に、交換した部品を登録する際に押下するボタンである。サプライ品納入ボタン323は、新規に納品した商品を登録する際に押下するボタンである。終了ボタン324は、当該アプリケーションを終了させる際に押下するボタンである。
【0096】
保守員は、保守作業後に、保守報告を行うため保守報告ボタン321を押下する。すると、携帯端末装置100は、当該ボタンが押下された旨を管理サーバ200へ通知する。管理サーバ200は当該通知に応答して、報告入力画面のHTMLファイルを携帯端末装置100に送信する。Webブラウザ140は、受信したHTMLファイルに基づいて、報告入力画面を生成する。
【0097】
図8は、報告入力画面の例を示す図である。報告入力画面330は、保守作業の内容を入力する画面である。報告入力画面330には、日付入力フォーム331、ID入力フォーム332、機番入力フォーム333、作業内容入力フォーム334、バーコード読取ボタン335、送信ボタン336および終了ボタン337が表示されている。
【0098】
日付入力フォーム331は、報告日を入力するテキストボックスである。ID入力フォーム332は、報告を行う保守員のIDを入力するテキストボックスである。機番入力フォーム333は、保守対象の機器に付与された識別番号を入力するテキストボックスである。作業内容入力フォーム334は、保守作業の内容を入力するためのリストボックスである。
【0099】
バーコード読取ボタン335は、バーコードリーダ11とのBluetoothによる通信を開始して、保守対象の機器に付与されたバーコードの情報をバーコードリーダ11に読み取らせ、携帯端末装置100に送信させるためのボタンである。ここで、バーコードの情報は当該機器の識別番号を示す。携帯端末装置100は、バーコードリーダ11からバーコードの情報を受信すると、この情報を機番入力フォーム333に表示させる。
【0100】
送信ボタン336は、読み取った識別情報を含む報告データを管理サーバ200に送信するためのボタンである。終了ボタン337は、報告入力画面330の表示を中止して、業務メニュー画面320に戻るためのボタンである。
【0101】
図9は、報告入力画面のHTMLファイルの記述例を示す図である。HTMLファイル410は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル410は、タグ411,412,413,414を含む。
【0102】
タグ411は、報告入力画面330では非表示とする隠しデータを設定するタグである。タグ411は、name属性411aおよびvalue属性411bを含む。
name属性411aは、データの名称を定義する属性である。name属性411aには、値“#BARCODE#”が設定されている。
【0103】
value属性411bは、データを設定するための属性である。value属性411bには、値“mode1,connect1”が設定されている。“mode1”は、バーコードリーダ11の利用を指定するパラメータである。“connect1”は、携帯端末装置100に予め設定された情報に基づいて、バーコードリーダ11と接続できることを示すパラメータである。
【0104】
value属性411bにおいて、1番目に記述されている値“mode1”は、起動定義ファイル112のレコード112fで説明した第1のパラメータ“param1(mode)”に対応付けることができる。2番目に記述されている値“connect1”は、同レコード112fで説明した第2のパラメータ“param2(connect)”に対応付けることができる。なお、第1のパラメータに“mode2”を設定した場合、当該設定値はバーコード読取部105の利用を指定するものであるとする。
【0105】
タグ412は、機番入力フォーム333を定義するタグである。
タグ413は、バーコード読取ボタン335を定義するタグである。タグ413は、バーコード読取ボタン335が操作されると、“##BARCODE_CALL##”を引数としてJavascript(登録商標)で記述された関数“myPost”を実行することを示している。
【0106】
タグ414は、送信ボタン336を定義するタグである。タグ414は、送信ボタン336が操作されると、“http://www.xxx.yyy/system/send.do”を引数として関数“myPost”を実行することを示している。
【0107】
ここで、関数“myPost”は引数に応じてデータの送信先を変更する。具体的には、“##”で囲まれた文字列が引数となる場合には、データの送信先をWebデータ処理部130とする。また、“##”で囲まれていない通常のURL(Uniform Resource Locator)が引数となる場合には、データの送信先をそのURLで指定される宛先とする。タグ414に設定されたURLは管理サーバ200を指定する情報である。
【0108】
具体的には、バーコード読取ボタン335が操作されると、Webブラウザ140は関数“myPost”を実行して、Webデータ処理部130にデータを出力する。一方、送信ボタン336が操作されると、Webブラウザ140は関数“myPost”を実行して、管理サーバ200にデータを送信する。
【0109】
Webブラウザ140が送信するデータには、フォームの機能により、タグ411,412に設定されたname属性とvalue属性とのセットが含まれる。また、報告入力画面330の日付入力フォーム331、ID入力フォーム332および作業内容入力フォーム334で入力された内容が含まれる(図9では、これらのフォームを定義するタグの図示を省略している)。
【0110】
Webデータ処理部130は、Webブラウザ140からデータを受信すると、次の処理を行う。Webデータ処理部130は、Webブラウザ140から受信したデータのデータ名として、イベント定義ファイル111に設定された文字列“#BARCODE#”が存在することを検出する。すると、当該文字列に基づいて、対応するイベント名と、実行するプログラムとを特定し、当該イベントを発生させる。また、Webデータ処理部130は、value属性411bの値を当該プログラムの実行に用いるパラメータに対応付ける。Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111や起動定義ファイル112を参照することで、これらの処理を行える。Webデータ処理部130は、特定したプログラムを制御部150に実行させる。
【0111】
管理サーバ200は、Webブラウザ140からデータを受信すると、次の処理を行う。管理サーバ200は、日付入力フォーム331、ID入力フォーム332、機番入力フォーム333および作業内容入力フォーム334を含むデータ(報告データ)を管理サーバ200あるいは別のコンピュータに設けられたデータベースに登録する。そして、管理サーバ200は、報告書印刷画面のHTMLファイルを携帯端末装置100に送信する。
【0112】
なお、関数“myPost”では、送信先に応じて、フォームに入力されたデータから送信するデータを更に選択してもよい。例えば、Webデータ処理部130にデータを出力する場合には、タグ411に設定されたデータのみを送信してもよい。また、例えば、管理サーバ200にデータを送信する場合には、タグ411に設定されたデータを送信しなくてもよい。
【0113】
また、HTMLファイル410では、type属性が“hidden”のタグ411のname属性にイベントを特定するための文字列を設定する例を示したが、他のtype属性(例えば、“text”)のタグに当該文字列を設定してもよい。
【0114】
図10は、報告入力画面のHTMLファイルの変形例を示す図である。HTMLファイル420は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル420は、タグ421,422,423を含む。
【0115】
タグ421は、機番入力フォーム333を定義するタグである。タグ421は、name属性421aおよびvalue属性421bを含む。
name属性421aは、データの名称を定義する属性である。name属性421aには、値“#BARCODE#”が設定されている。
【0116】
value属性421bは、データを設定するための属性である。value属性421bには、データが設定されていない。
タグ422は、タグ413に対応する。タグ423は、タグ414に対応する。
【0117】
このように、機番入力フォーム333を定義するタグ421のname属性にイベントを特定するための文字列を設定することもできる。
なお、HTMLファイル420では、タグ421のvalue属性を設定なしとして、イベントに対応するプログラムの実行に用いるパラメータを指定しない場合を例示している。ただし、図9で示したHTMLファイル410と同様にして、value属性に当該パラメータの指定を行ってもよい。
【0118】
図11は、報告書印刷画面の例を示す図である。報告書印刷画面340は、プリンタ12を用いて報告書を印刷するための画面である。報告書印刷画面340には、日付表示フォーム341、ID表示フォーム342、機番表示フォーム343、作業内容表示フォーム344、印刷ボタン345および終了ボタン346が表示されている。
【0119】
日付表示フォーム341は、報告日を表示するフォームである。ID表示フォーム342は、保守員のIDを表示するフォームである。機番表示フォーム343は、保守対象の機器の機番を表示するフォームである。作業内容表示フォーム344は、作業内容を示す情報を表示するフォームである。
【0120】
印刷ボタン345は、プリンタ12とのBluetoothによる通信を開始して、プリンタ12に報告書の印刷を実行させるためのボタンである。終了ボタン346は、報告書印刷画面340の表示を中止して、業務メニュー画面320に戻るためのボタンである。
【0121】
管理サーバ200は、携帯端末装置100から受信した報告データに基づいて、各表示フォームに予め印刷する情報を設定する。
図12は、報告書印刷画面のHTMLファイルの記述例を示す図である。HTMLファイル430は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル430は、タグ431,432を含む。
【0122】
タグ431は、報告書印刷画面340では非表示とする隠しデータを設定するタグである。タグ431は、name属性431aおよびvalue属性431bを含む。
name属性431aは、データの名称を定義する属性である。name属性431aには、値“#PRINT_DATA#”が設定されている。
【0123】
value属性431bは、データを設定するための属性である。value属性431bには、値“form001,AYYY”が設定されている。“form1”は、報告書の様式を指定するパラメータである。“AYYY”は、様式内の可変項目に対する設定内容を指定するパラメータである。
【0124】
value属性431bにおいて、1番目に記述されている値“form1”は、起動定義ファイル112のレコード112gで説明した第1のパラメータ“param1(formID)”に対応付けることができる。2番目に記述されている値“AYYY”は、同レコード112gで説明した第2のパラメータ“param2(variable)”に対応付けることができる。
【0125】
タグ432は、印刷ボタン345を定義するタグである。印刷ボタン345が操作されると“##PRINT_CALL##”を引数として関数“myPost”を実行することを示している。
【0126】
ここで、図9で説明したように関数“myPost”は引数に応じてデータの送信先を変更する。“##”で囲まれた文字列が引数となる場合、データの送信先をWebデータ処理部130とする。したがって、印刷ボタン345が操作されると、Webブラウザ140は関数“myPost”を実行して、Webデータ処理部130にデータを出力する。
【0127】
Webブラウザ140が出力するデータには、タグ431に設定されたname属性431aおよびvalue属性431bが含まれる。また、報告書印刷画面340の日付表示フォーム341、ID表示フォーム342、機番表示フォーム343および作業内容表示フォーム344に表示された情報が含まれる(図12では、これらのフォームを定義するタグの図示を省略している)。
【0128】
Webデータ処理部130は、Webブラウザ140からデータを受信すると、次の処理を行う。Webデータ処理部130は、Webブラウザ140から受信したデータのデータ名として、イベント定義ファイル111に設定された文字列“#PRINT_DATA#”が存在することを検出する。すると、当該文字列に基づいて、対応するイベント名と、実行するプログラム、を特定し、当該イベントを発生させる。また、Webデータ処理部130は、value属性431bの値を当該プログラムの実行に用いるパラメータに対応付ける。Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111や起動定義ファイル112を参照することで、これらの処理を行える。Webデータ処理部130は、特定したプログラムを制御部150に実行させる。
【0129】
次に、以上のような構成の携帯端末装置100の処理手順を説明する。なお、保守員は保守作業後、事前に次の手順で携帯端末装置100の操作を行う。(1)ログイン画面310でログイン操作する。(2)ログイン成功後に表示される業務メニュー画面320で保守報告ボタン321を押下操作する。すると、Webブラウザ140は報告入力画面330のHTMLファイル410を管理サーバ200に要求する。管理サーバ200は、要求に応じて報告入力画面330のHTMLファイル410を生成し、携帯端末装置100に送信する。
【0130】
図13は、報告データ入力処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS11)Webデータ処理部130は、管理サーバ200からHTMLファイル410を受信する。
【0131】
(ステップS12)Webデータ処理部130は、定義情報記憶部110にHTMLファイル410を格納する。Webデータ処理部130は、HTMLファイル410をWebブラウザ140に出力する。
【0132】
(ステップS13)Webブラウザ140は、HTMLファイル410に含まれるタグを解析して、報告入力画面330の画像データを生成し、ディスプレイ107aに表示させる。
【0133】
(ステップS14)Webブラウザ140は、報告入力画面330において保守員によるバーコード読取ボタン335の押下操作を受け付ける。
(ステップS15)Webブラウザ140は、バーコード読取ボタン335に対応するタグ413に定義された処理を行う。具体的には、“##BARCODE_CALL##”を引数としてjavascriptの関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、出力先をWebデータ処理部130として、各フォーム(隠しデータを含む)に入力されたデータを出力する。
【0134】
(ステップS16)Webデータ処理部130は、Webブラウザ140から受信したデータに基づく処理を行う。本報告データ入力処理では、保守対象機器に付与されたバーコードのバーコードリーダ11による読み取りである。
【0135】
(ステップS17)Webデータ処理部130は、バーコードリーダ11が読み取ったバーコード値を取得すると、定義情報記憶部110に格納したHTMLファイル410のタグ412のvalue属性にバーコード値を設定し、Webブラウザ140に出力する。Webブラウザ140は、更新後のHTMLファイル410により報告入力画面330の表示を更新する。
【0136】
(ステップS18)Webブラウザ140は、報告入力画面330において保守員による送信ボタン336の押下操作を受け付ける。
(ステップS19)Webブラウザ140は、送信ボタン336に対応するタグ414に定義された処理を行う。具体的には、“http://www.xxx.yyy/system/send.do”を引数として関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、送信先を当該URLで示される管理サーバ200として、各フォームに入力されたデータ(報告データ)を送信する。
【0137】
このようにして、Webブラウザ140は、報告入力画面330で表示された各ボタンに対する操作に応じて、各フォームに入力されたデータの出力先を変更する。
次に、ステップS16で示したWebデータ処理部130によるWebデータ処理を詳細に説明する。
【0138】
図14は、Webデータ処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS21)Webデータ処理部130は、Webブラウザ140から各フォーム(隠しデータを含む)を定義するタグに設定されたデータを取得する。
【0139】
(ステップS22)Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111を参照して、定義された文字列が取得したデータのname属性に含まれるか否かを判定する。含まれる場合、処理をステップS23に進める。含まれない場合、処理をステップS26に進める。HTMLファイル410の場合、タグ411のname属性411aに設定された文字列“#BARCODE#”が、イベント定義ファイル111のレコード111aの左辺に設定された“#BARCODE#”と一致する。この場合、Webデータ処理部130は、タグ411に指定の文字列が含まれると判定する。
【0140】
(ステップS23)Webデータ処理部130は、イベント定義ファイル111を参照して、ステップS22で検出した文字列に対応するイベント名を特定する。例えば、“#BARCODE#”という文字列を検出していれば、イベント定義ファイル111のレコード111aに基づいて、イベント名“BarcodeScan”を特定する。Webデータ処理部130は、当該イベントを発生させる。
【0141】
(ステップS24)Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、ステップS23で特定したイベント名に対応するプログラムを特定する。例えば、イベント名“BarcodeScan”を特定していれば、起動定義ファイル112のレコード112aに基づいて、プログラム“/program/APP/Btbr.dat”を特定する。なお、起動定義ファイル112に同一のイベント名が複数設定されている場合には、複数のプログラムを特定する。
【0142】
(ステップS25)Webデータ処理部130は、特定したプログラムを制御部150に実行させる。複数のプログラムを特定している場合には、起動定義ファイル112に定義された順序で、各プログラムを制御部150に実行させる。Webデータ処理部130は、Webブラウザ140から起動定義ファイル112によって指定されるパラメータを取得している場合、当該パラメータを制御部150に出力する。
【0143】
例えば、タグ411のvalue属性411bには、“mode1,connect1”が設定されており、Webデータ処理部130は、ステップS21でこの値を取得している。よって、Webデータ処理部130は、起動定義ファイル112のレコード112fで指定される“param1(mode)”に“mode1”を、レコード112fで指定される“param2(connect)”に“connect1”を、それぞれ対応付けて、制御部150に出力する。
【0144】
制御部150は、指定されたプログラムに当該パラメータ値を入力して実行することでデバイスの制御を行う。制御部150は、デバイスから取得するデータがある場合には、そのデータをWebデータ処理部130に出力する。そして、処理を完了する。
【0145】
(ステップS26)Webデータ処理部130は、Webブラウザ140から取得したデータに基づいて通常のデータ処理を行う。そして、処理を完了する。
このようにして、Webデータ処理部130は、Webブラウザ140から取得したデータにイベント定義ファイル111で指定される文字列が含まれるか否かによって、通常のデータ処理を行うか、デバイスの制御を行うかを判断する。
【0146】
また、Webデータ処理部130は、イベント定義ファイル111で指定される文字列が含まれる場合、当該文字列に応じたプログラムを特定して制御部150に実行させることで当該文字列に対応するデバイスの制御を行える。
【0147】
次に、ステップS25で示した制御部150によるデバイス制御処理の手順を説明する。なお、以下に示すデバイス制御処理は、報告入力画面330でバーコード読取ボタン335が押下された場合に特定されたプログラムによる処理手順である。すなわち、制御部150がWebデータ処理部130により指定されたプログラム“/program/APP/Btbr.dat”を実行することで実現される処理の手順である。
【0148】
図15は、デバイス制御処理を示す第1のフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(ステップS31)制御部150は、移動通信部102に移動通信網との通信を切断させる。
【0149】
(ステップS32)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を確立させる。
(ステップS33)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、バーコードリーダ11に保守対象機器に付与されたバーコードを読み取らせ、読み取ったバーコード値を送信させる。制御部150は、近距離無線通信部103を介して、バーコードリーダ11からバーコード値を受信する。
【0150】
(ステップS34)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を切断させる。
(ステップS35)制御部150は、移動通信部102に移動通信網との接続を確立させる。
【0151】
(ステップS36)制御部150は、Webデータ処理部130に受信したバーコード値を出力する。
このようにして、制御部150は指定されたプログラムを実行することで、各デバイスを制御し、バーコードリーダ11にバーコードを読み取らせる。
【0152】
次に、図13〜図15で説明した報告データ入力処理の流れを説明する。
図16は、報告データ入力処理の流れを示すシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
【0153】
(ステップST101)管理サーバ200は、Webブラウザ140の要求に応じて報告入力画面330のHTMLファイル410をWebデータ処理部130に送信する。Webデータ処理部130は、HTMLファイル410を受信する。Webデータ処理部130は、受信したHTMLファイル410を定義情報記憶部110に格納する。
【0154】
(ステップST102)Webデータ処理部130は、HTMLファイル410をWebブラウザ140に出力する。Webブラウザ140は、HTMLファイル410を取得する。Webブラウザ140は、HTMLファイル410に基づいて報告入力画面330をディスプレイ107aに表示させる。
【0155】
(ステップST103)Webブラウザ140は、保守員によるバーコード読取ボタン335の押下操作を受け付ける。Webブラウザ140は、報告入力画面330の各フォームに入力されたデータ(隠しデータを含む)をWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140が出力したデータを取得する。
【0156】
(ステップST104)Webデータ処理部130は、ステップST103で取得したデータのname属性に定義情報記憶部110に格納されたイベント定義ファイル111に設定された文字列“#BARCODE#”が含まれていることを検出する。Webデータ処理部130は、イベント定義ファイル111を参照して当該文字列に対応するイベント名“BarcodeScan”を特定する。更に、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、当該イベント名に対応するプログラム“/program/APP/Btbr.dat”を特定する。Webブラウザ140は、特定したプログラムを指定して制御部150に実行させる。すると、制御部150は、指定されたプログラムを実行し、以下のステップST105〜ST110の処理を行う。
【0157】
(ステップST105)制御部150は、移動通信部102に無線通信網との接続を切断させる。
(ステップST106)制御部150は、近距離無線通信部103にバーコードリーダ
11とのBluetooth接続を確立させる。制御部150は、近距離無線通信部103を介してバーコードリーダ11にバーコードを読み取らせ、読み取ったバーコード値を送信させる。
【0158】
(ステップST107)制御部150は、近距離無線通信部103からバーコードリーダ11が読み取ったバーコード値を取得する。
(ステップST108)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を切断させる。
【0159】
(ステップST109)制御部150は、移動通信部102に無線通信網との接続を確立させる。
(ステップST110)制御部150は、取得したバーコード値をWebデータ処理部130に出力する。Webデータ処理部130は、制御部150からバーコード値を取得する。
【0160】
(ステップST111)Webデータ処理部130は、定義情報記憶部110に格納したHTMLファイル410にステップST110で取得したバーコード値を反映させる。具体的には、HTMLファイル410のタグ412に含まれるvalue属性にバーコード値を設定する。Webデータ処理部130は、更新後のHTMLファイル410をWebブラウザ140に出力する。Webブラウザ140は、Webデータ処理部130から取得した更新後のHTMLファイル410に基づいて、ディスプレイ107aに表示させた報告入力画面330を更新する。
【0161】
(ステップST112)Webブラウザ140は、保守員による送信ボタン336の押下操作を受け付ける。Webブラウザ140は、報告入力画面330の各フォームに入力されたデータを報告データとして管理サーバ200に送信する。
【0162】
このようにして、携帯端末装置100は、保守報告を行う際に用いるデバイスの一連の動作を制御することができる。その際、管理サーバ200は、HTMLファイル410のタグ411に含まれるname属性411aに設定する文字列によって、使用するデバイスを指定できる。また、タグ411に含まれるvalue属性411bに設定するパラメータによって、同デバイスにつき、外部デバイスを利用するか内蔵デバイスを利用するかの指示および外部デバイスとの通信方式等の細かな制御方法を指定できる。
【0163】
なお、起動定義ファイル112には、同一のイベント名に対して複数のプログラムが呼出しの順序とともに定義されることもある。起動定義ファイル112の例では、レコード112c,112dが該当する。その場合、Webデータ処理部130は、直前のプログラム(例えば、Camera.dat)の実行が完了した後に、次のプログラム(例えばSender.dat)の実行を制御部150に指示する。このとき、Webデータ処理部130は、直前のプログラムの実行により生成されたデータを、次のプログラムに入力することもできる。
【0164】
また、管理サーバ200はWebブラウザ140からの要求に応じてHTMLファイル410のタグ411の設定内容を変更してもよい。例えば、業務メニュー画面320の保守報告ボタン321とともに、バーコードリーダ11を利用するか、内蔵のバーコード読取部105を使用するか、の選択入力を受け付けるフォームを設けることが考えられる。
【0165】
このようにすれば、管理サーバ200は、保守員が当該フォームによって選択したデバイスの利用を指示したHTMLファイルを生成できる。具体的には、HTMLファイル410のタグ411に設定するvalue属性411bの値に“mode2”を設定する。すると、当該値により制御部150にバーコード読取部105の利用を指示できる。
【0166】
次に、管理サーバ200に送信した報告データによる報告書印刷処理の手順を説明する。管理サーバ200は、携帯端末装置100から報告データを受信すると、報告書印刷画面340のHTMLファイル430を生成する。管理サーバ200はHTMLファイル430を携帯端末装置100に送信する。
【0167】
図17は、報告書印刷処理を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS41)Webデータ処理部130は、管理サーバ200からHTMLファイル430を受信する。
【0168】
(ステップS42)Webデータ処理部130は、定義情報記憶部110にHTMLファイル430を格納する。Webデータ処理部130は、HTMLファイル430をWebブラウザ140に出力する。
【0169】
(ステップS43)Webブラウザ140は、HTMLファイル430に含まれるタグを解析して、報告書印刷画面340の画像データを生成し、ディスプレイ107aに表示させる。
【0170】
(ステップS44)Webブラウザ140は、報告書印刷画面340において保守員による印刷ボタン345の押下操作を受け付ける。
(ステップS45)Webブラウザ140は、印刷ボタン345に対応するタグ432に定義された処理を行う。具体的には、“##PRINT_CALL##”を引数としてjavascriptの関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、出力先をWebデータ処理部130として、各フォーム(隠しデータを含む)に入力されたデータを出力する。
【0171】
(ステップS46)Webデータ処理部130はWebブラウザ140から受信したデータに基づく処理を行う。本報告書印刷処理では、プリンタ12による報告書の印刷である。
【0172】
(ステップS47)Webデータ処理部130は、プリンタ12による印刷が完了した旨の通知を受けると、その旨を管理サーバ200に通知する。
このようにして、Webブラウザ140は、報告書印刷画面340で表示された印刷ボタン345に対する操作を受け付けると、各フォームのデータをWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140から取得したデータに基づく処理を行う。
【0173】
ここで、ステップS46で示したWebデータ処理部130によるWebデータ処理の手順は、図14で説明した手順と同様である。ただし、Webデータ処理部130がWebブラウザ140から取得したデータには、タグ431のname属性431aに示される“#PRINT_DATA#”が含まれる点が異なる。
【0174】
したがって、Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111を参照して、取得したデータに含まれる“#PRINT_DATA#”の文字列を検出する。Webデータ処理部130は、イベント定義ファイル111を参照して、当該文字列に対応するイベント名“PrintData”を特定する。そして、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、プログラム“/program/APP/Print.dat”を特定する。
【0175】
Webデータ処理部130は、特定したプログラムを制御部150に実行させる。また、Webデータ処理部130は、value属性431bに設定された値“form01”と“AYYY”を当該プログラム実行時のパラメータとして制御部150に出力する。
【0176】
次に、このプログラム“Print.dat”を実行する場合の制御部150によるデバイス制御処理の手順(図14のステップS25に相当する)を説明する。
図18は、デバイス制御処理を示す第2のフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
【0177】
(ステップS51)制御部150は、移動通信部102に移動通信網との通信を切断させる。
(ステップS52)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を確立させる。
【0178】
(ステップS53)制御部150は、Webデータ処理部130から取得したパラメータに基づいて、報告書の様式を決定する。
(ステップS54)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、決定した様式の情報および報告書に印字する情報を含む印刷データをプリンタ12に送信する。制御部150は、印刷データに基づく報告書の印刷をプリンタ12に指示する。
【0179】
(ステップS55)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、プリンタ12から印刷が完了した旨の応答を取得する。
(ステップS56)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を切断させる。
【0180】
(ステップS57)制御部150は、移動通信部102に移動通信網との接続を確立させる。
(ステップS58)制御部150は、プリンタ12による報告書の印刷が完了した旨をWebデータ処理部130に出力する。
【0181】
このようにして、制御部150は、指定されたプログラムを実行することで、プリンタ12による各デバイスの制御を行い、プリンタ12に報告書を印刷させる。
次に、図17,図18で説明した報告データ入力処理の流れを説明する。
【0182】
図19は、報告書印刷処理の流れを示すシーケンス図である。以下、図19に示す処理をステップ番号に沿って説明する。
(ステップST121)管理サーバ200は、Webブラウザ140から報告データを受信すると、当該報告データの内容を含む報告書の様式を決定する。管理サーバ200は、決定した様式を示す情報を含むHTMLファイル430を生成し、Webデータ処理部130に送信する。Webデータ処理部130は、HTMLファイル430を受信する。Webデータ処理部130は、受信したHTMLファイル430を定義情報記憶部110に格納する。
【0183】
(ステップST122)Webデータ処理部130は、HTMLファイル430をWebブラウザ140に出力する。Webブラウザ140は、HTMLファイル430を取得する。Webブラウザ140は、HTMLファイル430に基づいて報告書印刷画面340をディスプレイ107aに表示させる。
【0184】
(ステップST123)Webブラウザ140は、保守員による印刷ボタン345の押下操作を受け付ける。Webブラウザ140は、報告書印刷画面340の各フォームに入力されたデータ(隠しデータを含む)をWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140が出力したデータを取得する。
【0185】
(ステップST124)Webデータ処理部130は、ステップST123で取得したデータのname属性にイベント定義ファイル111内の文字列“#PRINT_DATA#”が含まれていることを検出する。Webデータ処理部130は、イベント定義ファイル111を参照して当該文字列に対応するイベント名“PrintData”を特定する。更に、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、当該イベント名に対応するプログラム“/program/APP/Print.dat”を特定する。Webブラウザ140は、特定したプログラムを指定して制御部150に実行させる。すると、制御部150は、指定されたプログラムを実行し、以下のステップST125〜ST131の処理を行う。
【0186】
(ステップST125)制御部150は、移動通信部102に無線通信網との接続を切断させる。
(ステップST126)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を確立させる。
【0187】
(ステップST127)制御部150は、近距離無線通信部103を介して印刷データをプリンタ12に送信し、印刷データに基づき報告書の印刷を行わせる。
(ステップST128)制御部150は、近距離無線通信部103を介して、印刷が完了した旨を示す印刷完了応答をプリンタ12から取得する。
【0188】
(ステップST129)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を切断させる。
(ステップST130)制御部150は、移動通信部102に無線通信網との接続を確立させる。
【0189】
(ステップST131)制御部150は、印刷完了応答をWebデータ処理部130に通知する。
(ステップST132)Webデータ処理部130は、印刷完了通知を管理サーバ200に送信する。
【0190】
このようにして、携帯端末装置100は、報告書の印刷を行う際に用いるデバイスの一連の動作を制御することができる。その際、管理サーバ200は、HTMLファイル430のタグ431に含まれるname属性431aに設定する文字列によって、使用するデバイスを指定できる。また、タグ431に含まれるvalue属性431bに設定するパラメータによってプリンタ12に対して指定する報告書の様式につき、詳細な設定を指定できる。
【0191】
このように、HTMLファイル410,420,430内のタグに含まれる文字列により、携帯端末装置100で動作させるデバイスを指定できる。このため、例えば管理サーバ200側で制御対象のデバイスの指定を追加・変更したい場合には、HTMLファイル410,420,430の所定のタグに設定する文字列の変更で対応可能である。すなわち、管理サーバ200および携帯端末装置100においてアプリケーションプログラム等の変更を伴わずに、デバイス指定の設定を容易に行える。
【0192】
特に、HTMLで一般的に用いられるタグ内のname属性に所定の文字列を設定することで、携帯端末装置100と管理サーバ200との間で、タグの定義につき事前の合意を伴わずに済む。また、HTMLファイル410,420,430を解析する一般的なWebブラウザの機能の拡張も伴わずに済む。よって、携帯端末装置100の機能を簡易な構成によって容易に実現できる。
【0193】
また、外部デバイスを制御するためのプログラムを定義しておくことで、携帯端末装置100が備える通信デバイスを介して、当該外部デバイスを制御することも可能である。
また、所定の文字列(あるいは、当該文字列に対応するイベント名)に対して、複数のプログラムを制御する順序とともに起動定義ファイル112に設定することもできる。これにより、複数のプログラムを順番に呼び出して、複数のデバイスにつき既定の順序に従った制御を実現できる。
【0194】
更に、起動定義ファイル112に各プログラムを実行する際に入力するパラメータを定義することもできる。管理サーバ200は、HTMLファイル410,420,430に含まれるタグのvalue属性等にパラメータに対応する文字列を設定することで、携帯端末装置100がデバイスを制御する際に呼び出すプログラムに入力するパラメータを容易に指定できる。
【0195】
このように、携帯端末装置100によれば、各種デバイスや携帯端末装置100と接続された外部デバイスのうち、携帯端末装置100で利用するデバイスの指定を容易に行うことができる。
【0196】
以上、本発明のデバイス制御プログラム、情報処理装置およびデバイス制御方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0197】
1 情報処理装置
1a 表示装置
1b 入力装置
1c,1d デバイス
1e 記憶手段
1f 判定手段
1g 制御手段
2 外部デバイス
3 画面
3a,3b,3c 画面部品
4 画面情報
【技術分野】
【0001】
本発明はデバイス制御プログラム、デバイスの動作を制御する情報処理装置およびデバイス制御方法に関する。
【背景技術】
【0002】
情報処理装置には種々のデバイスが設けられる。情報処理装置は各種のデバイスを利用することで、データの入出力や他の情報処理装置とのデータ通信等、種々の処理を行う。
近年では、携帯可能な情報処理装置(携帯端末装置)にも多様なデバイスが設けられ、多機能化が進んでいる。例えば、携帯端末装置に近距離無線通信用のデバイスを設け、当該デバイスによりスキャナやプリンタ等の外部機器と通信することで、外部機器を利用可能とし、拡張性を向上させたものがある。
【0003】
ここで、サーバ装置に接続された情報処理装置では、情報処理装置に設けられたデバイスをサーバ装置の指示により動作させるものがある。例えば、携帯端末装置がセンタ側のコンピュータからダウンロードしたプログラムを用いて携帯端末装置に接続された外部機器を制御することで、センタ側のデータ処理に応じた外部機器の制御を実現する技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−74338号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、情報処理システムでは、サーバ装置が提供するグラフィカルユーザインタフェースを情報処理装置に設けられた表示装置に表示させ、当該インタフェースに従った操作をユーザに行わせるものがある。例えば、Webシステムでは、情報処理装置が備えるWebブラウザがサーバ装置からダウンロードした画面情報により、グラフィカルユーザインタフェースを生成し、ユーザによる操作入力を受け付ける。
【0006】
このような情報処理システムでも、グラフィカルユーザインタフェースに対する操作に応じて、サーバ装置が指定するデバイスを動作させて、所定の処理を行わせたいという要求がある。その場合、サーバ装置が指定するデバイスの制御を、情報処理装置側での操作に応じて行う仕組みを、どのようにして実現するか問題となる。
【0007】
本発明はこのような点に鑑みてなされたものであり、利用するデバイスの指定を容易に行えるようにしたデバイス制御プログラム、情報処理装置およびデバイス制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、デバイス制御プログラムが提供される。このデバイス制御プログラムを実行するコンピュータは、タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、画面情報に含まれるタグ内に含まれているか判定する。定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【0009】
また、上記課題を解決するために、情報処理装置が提供される。この情報処理装置は、記憶手段、判定手段および制御手段を有する。記憶手段は、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報を記憶する。判定手段は、タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、画面情報に含まれるタグ内に、定義情報に示される何れかの文字列が含まれているか判定する。制御手段は、定義情報で示される何れかの文字列が含まれていると判定されたとき、定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する。
【0010】
また、上記課題を解決するために、デバイス制御プログラムを実行するコンピュータのデバイス制御方法が提供される。
【発明の効果】
【0011】
上記デバイス制御プログラム、情報処理装置およびデバイス制御方法によれば、利用するデバイスの指定を容易に行える。
【図面の簡単な説明】
【0012】
【図1】第1の実施の形態の情報処理装置を示す図である。
【図2】第2の実施の形態の情報処理システムを示す図である。
【図3】携帯端末装置のハードウェア構成を示す図である。
【図4】携帯端末装置の機能構成を示すブロック図である。
【図5】イベント定義ファイルの記述例を示す図である。
【図6】起動定義ファイルの記述例を示す図である。
【図7】ログイン前後の画面の例を示す図である。
【図8】報告入力画面の例を示す図である。
【図9】報告入力画面のHTMLファイルの記述例を示す図である。
【図10】報告入力画面のHTMLファイルの変形例を示す図である。
【図11】報告書印刷画面の例を示す図である。
【図12】報告書印刷画面のHTMLファイルの記述例を示す図である。
【図13】報告データ入力処理を示すフローチャートである。
【図14】Webデータ処理を示すフローチャートである。
【図15】デバイス制御処理を示す第1のフローチャートである。
【図16】報告データ入力処理の流れを示すシーケンス図である。
【図17】報告書印刷処理を示すフローチャートである。
【図18】デバイス制御処理を示す第2のフローチャートである。
【図19】報告書印刷処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、外部デバイス2と通信可能である。情報処理装置1は、表示装置1a、入力装置1b、デバイス1c、1d、記憶手段1e、判定手段1fおよび制御手段1gを有する。
【0014】
表示装置1aは、グラフィカルユーザインタフェースである画面3を表示する。情報処理装置1は画面情報4に基づいて画面3を生成し、表示装置1aに表示させる。情報処理装置1は、画面情報4をネットワークを介して接続されたサーバ装置(図示を省略)から取得できる。
【0015】
入力装置1bは、ユーザの操作入力を受け付ける。情報処理装置1のユーザは、画面3に含まれるインタフェースに従って、入力装置1bによる操作入力を行える。
ここで、画面情報4はタグA,B,C,Dを含む。タグA,B,Cは、画面3に表示される画面部品3a,3b,3cを示すものである。画面部品3a,3b,3cは、文字、図形、記号等であり、その色彩、位置、大きさ、範囲等も含む。例えば、タグA,Bは、画面部品3a,3bを定義したタグである。タグCは、画面部品3cを定義したタグである。画面部品3cは、入力装置1bを操作することで押下操作できるボタンの画面部品である。
【0016】
また、画面部品には画面3には非表示であるものの、画面3に関連付けて保持する情報も含む。タグDは、画面3には非表示であるものの、画面3に関連付けて保持する情報を記述したタグである。
【0017】
このように、複数のタグによって画面情報を記述可能な言語には、例えばHTML(HyperText Markup Language)やXML(Extensible Markup Language)等がある。
なお、表示装置1aおよび入力装置1bは、情報処理装置1の外部に設けてもよい。
【0018】
デバイス1c,1dは、情報処理装置1の種々の機能を実現する装置である。デバイス1cは、例えば静止画・動画の撮像、スキャナまたは音声入出力等を実現する。デバイス1dは、例えば外部デバイス2との間の無線または有線でのデータ通信を実現する。
【0019】
記憶手段1eは、デバイス1c,1dを制御するためのプログラムを、所定の文字列に対応付けて定義した定義情報を記憶する。例えば、定義情報には、デバイス1cを制御するためのプログラムと文字列M1とが対応付けられる。
【0020】
判定手段1fは、表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、画面情報4に含まれるタグ内に、定義情報に設定された文字列が含まれるか否かを判定する。例えば、判定手段1fはボタンとして表示される画面部品3cを押下する操作入力が検出されるとタグA,B,C,D内に含まれる文字列を参照する。そして、定義情報に設定された文字列M1がタグBに含まれると判定する。
【0021】
ここで、タグ内に含まれる文字列とは、例えば、タグ内の所定の属性に設定された文字列である。
制御手段1gは、記憶手段1eに格納された定義情報を参照して、検出した文字列に対応するプログラムを特定する。制御手段1gは、特定したプログラムを呼び出すことで、デバイス1c,1dおよび外部デバイス2を制御する。
【0022】
例えば、判定手段1fが画面情報4に含まれるタグBに文字列M1が存在すると判定したとする。すると、制御手段1gは定義情報を参照して、文字列M1に対応するプログラムを特定する。制御手段1gは、当該プログラムを呼び出すことでデバイス1cを制御する。
【0023】
なお、定義情報には、一つの文字列に対して、複数のデバイスを制御する複数のプログラムを対応付けてもよい。その際、複数のデバイスを制御する順番を定義してもよい。例えば、文字列M1に対して、デバイス1cを制御するプログラムおよびデバイス1dを制御するプログラムを処理順序とともに定義情報に定義してもよい。このように、定義した順番に従って、デバイス1c,1dを制御することもできる。
【0024】
また、当該プログラムに外部デバイス2を制御するプログラムを含めてもよい。このようにすれば、制御手段1gはデバイス1dを介して外部デバイス2の動作を制御することもできる。
【0025】
更に、文字列M1に加えて、制御に用いる他の情報をタグに含めてもよい。例えば、デバイス1cによる撮像時の解像度を示す情報をタグに含めることができる。また、例えば外部デバイス2がプリンタであれば印刷時のフォーム(紙面サイズやレイアウト等)を指定する情報をタグに含めることができる。制御手段1gは、このような情報をタグから取得して、デバイス1c,1dおよび外部デバイス2を制御する処理に利用できる。
【0026】
情報処理装置1によれば、判定手段1fにより、画面情報4に基づいて表示装置1aに表示された画面3に応じた所定の操作入力が検出されると、記憶手段1eに格納された定義情報が参照されて、定義情報に設定された1またはそれ以上の文字列の何れかが画面情報4に含まれるタグA,B,C,D内に含まれるかが判定される。何れかの文字列が含まれる場合、制御手段1gにより、当該文字列に対応するプログラムが呼び出されて、デバイス1c,1dおよび外部デバイス2が制御される。
【0027】
このように、画面情報4に含まれるタグ内に含まれる文字列により、情報処理装置1で動作させるデバイスを指定できる。このため、例えばサーバ装置側で制御対象のデバイスの指定を追加・変更したい場合には、画面情報4のタグに設定する文字列の変更で対応可能である。すなわち、サーバ装置および情報処理装置1においてアプリケーションプログラム等の変更を伴わずに、デバイス指定の設定を容易に行える。
【0028】
特に、タグの属性に所定の文字列を設定することが考えられる。その場合、HTML等で一般的に用いられる属性(例えば、name属性)を使用することが考えられる。このようにすれば、情報処理装置1とサーバ装置との間で、タグの定義につき事前の合意を伴わずに済む。また、画面情報4を解析する一般的なWebブラウザの機能の拡張も伴わずに済む。よって、情報処理装置1の機能を容易に実現できる。
【0029】
このようにして、情報処理装置1に設けられたデバイス1c,1dや情報処理装置1と接続された外部デバイス2につき、利用するデバイスの指定を容易に行える。
以下に説明する第2の実施の形態では、情報機器等の保守管理を支援する情報処理システムに情報処理装置1を適用する例を示す。
【0030】
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。この情報処理システムは、情報機器(例えば、コンピュータやその周辺機器)の保守業務を支援する。この情報処理システムでは、保守内容をサーバ装置(以下、単にサーバということもある)で一元管理するとともに、保守結果を報告書に印字して報告可能とする。
【0031】
この情報処理システムは、携帯端末装置100および管理サーバ200がネットワーク10および基地局20を介して接続されている。管理サーバ200は、ネットワーク10に接続されている。基地局20は、ネットワーク10に接続されている。携帯端末装置100は、基地局20と無線で接続されている。携帯端末装置100と基地局20との間の通信網は、移動通信網である。
【0032】
ここで、ネットワーク10はインターネット、イントラネットまたは本情報処理システムのために設けられた専用の通信網である。また、基地局20は、携帯端末装置100と無線通信する無線通信装置である。また、基地局20は、ネットワーク10を介して管理サーバ200と通信する。
【0033】
携帯端末装置100は、バーコードリーダ11およびプリンタ12と無線で接続されている。携帯端末装置100とバーコードリーダ11およびプリンタ12との間で確立される通信は、近距離無線通信である。近距離無線通信の例として、IrDA(Infrared Data Association)通信、Bluetooth(登録商標)、Wi−Fi(登録商標)(Wireless - Fidelity)およびZigbee(登録商標)等がある。以下では、近距離無線通信の一例としてBluetoothを示して説明する。ただし、他の近距離無線通信を用いる場合も同様である。
【0034】
バーコードリーダ11は、保守対象の情報機器に付されたバーコードの情報を読み取るスキャナである。バーコードリーダ11は、携帯端末装置100とBluetoothにより通信可能である。バーコードリーダ11は、読み取ったバーコードの情報を携帯端末装置100に送信する。
【0035】
プリンタ12は、報告書を印刷する出力装置である。プリンタ12は、携帯端末装置100とBluetoothにより通信可能である。プリンタ12は、携帯端末装置100から印刷データを受信する。プリンタ12は、受信した印刷データに基づいて報告書を印刷する。
【0036】
携帯端末装置100は、保守作業を行う保守員が所持するコンピュータである。携帯端末装置100は、第1の実施の形態の情報処理装置1の一例である。保守員は、保守作業の完了後に、携帯端末装置100を用いて、管理サーバ200へ保守内容を示す報告データを送信できる。また、保守員は、携帯端末装置100を用いて報告書の印刷等の作業を行える。
【0037】
管理サーバ200は、携帯端末装置100から受信した報告データを管理する。管理サーバ200は、保守業務を支援するGUI(Graphical User Interface)を携帯端末装置100に提供する。管理サーバ200は、Webサーバ機能を有しており、HTMLによって記述された画面情報(以下、HTMLファイルという)によりGUIを提供する。
【0038】
ここで、携帯端末装置100はWebブラウザを有している。Webブラウザは、管理サーバ200から受信したHTMLファイルを解析して、携帯端末装置100に設けられたモニタにGUIを表示する。保守員は、GUIに従った操作入力を行うことで保守業務を進めることができる。保守作業完了後に行う保守員の作業手順は、具体的には次の通りである。
【0039】
(1)保守員は、携帯端末装置100を用いて管理サーバ200にログインする。すると、携帯端末装置100は、業務メニュー画面のHTMLファイルを管理サーバ200から受信し、業務メニュー画面を表示する。業務メニュー画面は、複数の業務を選択可能に表示するGUIである。
【0040】
(2)保守員は、業務メニュー画面において報告入力の業務を選択する。すると、携帯端末装置100は、管理サーバ200に報告入力が選択された旨通知する。携帯端末装置100は、報告入力画面のHTMLファイルを管理サーバ200から受信する。報告入力画面は、報告データの入力を支援するGUIである。報告入力画面では、機器に付されたバーコード読取の選択を受け付け、バーコードリーダ11で読み取った結果を携帯端末装置100に入力できる。また、報告入力画面では、読取結果を含む報告データの管理サーバ200への送信を選択できる。
【0041】
(3)保守員は、報告入力画面においてバーコード読取を選択する。すると、携帯端末装置100は、バーコードリーダ11との通信を開始し、バーコードリーダ11が読み取ったバーコードの情報を受信する。
【0042】
(4)保守員は、報告入力画面において報告データの送信を選択する。すると、携帯端末装置100は、読み取ったバーコードの情報を含む報告データを移動通信網を介して管理サーバ200に送信する。管理サーバ200は、所定の記憶装置に報告データを格納する。
【0043】
(5)管理サーバ200は報告書印刷画面のHTMLファイルを携帯端末装置100に送信する。携帯端末装置100は、当該HTMLファイルを受信し、報告書印刷画面を表示する。報告書印刷画面は、報告書の印刷開始の指示を行うためのGUIである。
【0044】
(6)保守員は、報告書印刷画面において、報告書の印刷を選択する。すると、携帯端末装置100は、プリンタ12との通信を開始する。プリンタ12は、携帯端末装置100から受信した印刷データに基づいて、報告書を印刷する。
【0045】
ここで、(1)〜(6)の一連の手順において、携帯端末装置100は、バーコードリーダ11、プリンタ12および基地局20との通信を行う。すなわち、携帯端末装置100は、移動通信網を介した通信とBluetoothによる通信との2種類の通信方式を利用する。この場合、両方の通信方式を同時に利用しようとすると、携帯端末装置100が高負荷状態となる、電力消費が過大となる、という問題が生じる。
【0046】
そこで、携帯端末装置100は一方の通信方式を利用する場合に、他方の通信方式による通信を行わないよう制御する。具体的には、携帯端末装置100は通常時は移動通信網と接続して、音声通話や電子メール等を受け付け可能な待ち受け状態とする。そして、上記作業で必要な場合に、移動通信網との通信を切断し、Bluetoothによるデータ通信を行う。Bluetoothによるデータ通信が完了すると、Bluetoothによる通信を切断し、移動通信網と接続する。
【0047】
以下では、このような制御を携帯端末装置100に容易に指示可能とするための構成を詳細に説明する。まず、携帯端末装置100が備えるデバイス(ハードウェア)の構成を説明する。
【0048】
図3は、携帯端末装置のハードウェア構成を示す図である。携帯端末装置100は、CPU(Central Processing Unit)101、移動通信部102、アンテナ102a,103a、近距離無線通信部103、撮像部104、バーコード読取部105、ROM(Read Only Memory)106、RAM(Random Access Memory)106a、外部メモリインタフェース106b、表示処理部107、ディスプレイ107a、入力処理部108、タッチパネル108a、キーパッド108b、音声処理部109、マイク109aおよびスピーカ109bを有する。
【0049】
CPU101は、OS(Operating System)プログラムやアプリケーションプログラムを実行して、携帯端末装置100全体の動作を制御する。
移動通信部102は、無線信号処理を行い、基地局20と移動通信網を介した無線通信を実現する。具体的には、移動通信部102は、基地局20からアンテナ102aを介して受信した信号を復調・復号し、得られた受信データをCPU101に出力する。また、移動通信部102は、CPU101から取得した送信データを符号化・変調し、得られた送信信号をアンテナ102aを介して基地局20へ送信する。
【0050】
近距離無線通信部103は、無線信号処理を行い、バーコードリーダ11およびプリンタ12とのBluetoothによる無線通信を実現する。具体的には、近距離無線通信部103は、バーコードリーダ11およびプリンタ12からアンテナ103aを介して受信した信号を復調・復号し、得られた受信データをCPU101に出力する。また、近距離無線通信部103は、CPU101から取得した送信データを符号化・変調し、得られた送信信号をアンテナ103aを介してバーコードリーダ11およびプリンタ12へ送信する。
【0051】
撮像部104は、静止画または動画を撮像する。
バーコード読取部105は、携帯端末装置100に内蔵されたバーコード読取用のスキャナである。
【0052】
ROM106は、携帯端末装置100の実行時に実行されるBIOS(Basic Input / Output System)プログラムなどの所定のプログラムを記憶する。ROM106は、書換え可能な不揮発性メモリであってもよい。
【0053】
RAM106aは、CPU101が実行するOSプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM106aは、CPU101の処理に用いられるデータの少なくとも一部を一時的に記憶する。
【0054】
外部メモリインタフェース106bは、記録媒体13に記憶されたデータを読み取り、また、記録媒体13にデータを格納する。記録媒体13には、例えば、携帯端末装置100に実行させるプログラムが記録されている。携帯端末装置100は、例えば、記録媒体13に記録されたデバイス制御プログラムを実行することで、後述するようなデバイス制御機能を実現することができる。すなわち、デバイス制御の処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体13に記録して配布することが可能である。
【0055】
記録媒体13としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
【0056】
表示処理部107は、画像表示処理を行う。具体的には、表示処理部107は、CPU101から画像データを取得し、ディスプレイ107aに表示させる。
入力処理部108は、ユーザによる入力操作の処理を行う。具体的には、入力処理部108は、タッチパネル108aに対するタッチ操作やキーパッド108bに対するキー押下を検出すると、押下されたタッチ位置やキーを示す入力信号をCPU101に出力する。
【0057】
音声処理部109は、音声信号処理を行う。具体的には、音声処理部109は、マイク109aから音声アナログ信号を取得し、必要な信号変換処理を行ってCPU101に音声データを出力する。また、音声処理部109は、CPU101から音声データを取得し、必要な信号変換処理を行ってスピーカ109bに音声再生させる。
【0058】
なお、ネットワーク10に接続された管理サーバ200やその他のサーバ装置(図示せず)にデバイス制御プログラムを格納しておいてもよい。その場合、携帯端末装置100は、管理サーバ200やその他のサーバ装置からデバイス制御プログラムをダウンロードして実行することもできる。
【0059】
図4は、携帯端末装置の機能構成を示すブロック図である。携帯端末装置100は、定義情報記憶部110、プログラム記憶部120、Webデータ処理部130、Webブラウザ140および制御部150を有する。これらのユニットの機能は、CPU101が所定のプログラムを実行することにより、携帯端末装置100上に実現される。特に、少なくともWebデータ処理部130および制御部150の機能は、CPU101がデバイス制御プログラムを実行することにより、携帯端末装置100上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実装してもよい。
【0060】
定義情報記憶部110は、イベント定義ファイルおよび起動定義ファイルを記憶する。イベント定義ファイルは、HTMLファイル内で指定される所定の文字列と当該文字列に対して発生させるイベントの名称とを対応付けたファイルである。起動定義ファイルは、発生させたイベントの名称(以下、イベント名という)に対応して呼び出すプログラムおよび呼び出した当該プログラムの実行に用いるパラメータを定義したファイルである。
【0061】
また、定義情報記憶部110は、管理サーバ200から受信したHTMLファイルを一時的に記憶する。
プログラム記憶部120は、携帯端末装置100が備える各デバイス、バーコードリーダ11およびプリンタ12を制御するためのプログラムを記憶する。
【0062】
Webデータ処理部130は、管理サーバ200からHTMLファイルを受信する。Webデータ処理部130は、受信したHTMLファイルを定義情報記憶部110に格納する。Webデータ処理部130は、HTMLファイルをWebブラウザ140に出力する。
【0063】
また、Webデータ処理部130は、管理サーバ200からHTMLファイル内で参照されるスクリプトや画像データのファイルを受信することもある。Webデータ処理部130は、受信したこれらのファイルを定義情報記憶部110に格納する。
【0064】
Webデータ処理部130はWebサーバとしての機能を有し、Webブラウザ140とHTTP(Hyper Text Transfer Protocol)により通信する。
Webデータ処理部130は、Webブラウザ140に出力したHTMLファイルに基づいてWebブラウザ140からデータを受信すると、定義情報記憶部110を参照して当該データに所定の文字列が含まれるか判定する。所定の文字列が含まれる場合、当該文字列に対応して実行するプログラムを特定する。Webデータ処理部130は、特定したプログラムの実行を制御部150に指示する。Webデータ処理部130は、制御部150による当該プログラムの実行結果を取得してHTMLファイルを更新し、Webブラウザ140に出力する。
【0065】
Webブラウザ140は、Webデータ処理部130から取得したHTMLファイルを解析してGUIの画像データを生成する。具体的には、Webブラウザ140は、HTMLファイルに記述されたタグを解析して、タグにより定義される画面部品を特定する。そして、特定した画面部品を組み合わせて画像データを生成する。Webブラウザ140は、生成した画像データを表示処理部107に出力する。
【0066】
また、Webブラウザ140は、入力処理部108を介してGUIに従ったタッチパネル108aやキーパッド108bの操作入力を受け付けると、GUIに対する操作入力に応じた処理を行う。
【0067】
制御部150は、プログラム記憶部120に格納されたプログラムを実行して、移動通信部102、近距離無線通信部103、撮像部104およびバーコード読取部105の各デバイスの動作を制御する。制御部150は、何れのプログラムを実行してデバイスの制御を行うかにつき、Webデータ処理部130から指示を受ける。制御部150は、当該指示によって指定されたプログラムを実行することで、対応するデバイスの制御を行う。
【0068】
図5は、イベント定義ファイルの記述例を示す図である。イベント定義ファイル111は、定義情報記憶部110に予め格納される。イベント定義ファイル111は、所定の文字列に対応して発生させるイベントの名称を定義した定義情報である。イベント定義ファイル111には、レコード111a,111b,111c,111dが記述されている。
【0069】
レコード111aには、“#BARCODE# = BarcodeScan”という情報が設定されている。これは、文字列“#BARCODE#”に対してイベント名“BarcodeScan”が定義されていることを示す。
【0070】
同様に、レコード111bでは、“#PRINT_DATA#”という文字列に対して“PrintData”というイベント名が定義されている。レコード111cでは、“#CAMERA#”という文字列に対して“ExecInnerCameraAndPost”というイベント名が定義されている。レコード111dでは、“#Alert#”という文字列に対して“Alert”というイベント名が定義されている。
【0071】
Webデータ処理部130は、Webブラウザ140から取得したデータ内にイベント定義ファイル111のレコード111a,111b,111c,111dの左辺に設定された文字列を検出すると、当該文字列に対応するイベント名を特定する。Webデータ処理部130は、起動定義ファイルを参照して、イベント名に対応するプログラムを特定する。
【0072】
図6は、起動定義ファイルの記述例を示す図である。起動定義ファイル112は、定義情報記憶部110に予め格納される。起動定義ファイル112は、イベント名に対応するプログラムを定義した定義情報である。また、起動定義ファイル112には、当該プログラムを実行する際に用いるパラメータも定義される。起動定義ファイル112には、プログラムを定義したレコードとして、レコード112a,112b,112c,112d,112eが記述されている。
【0073】
レコード112aには、“BarcodeScan(1) = /program/APP/Btbr.dat”という情報が設定されている。これは、イベント名“BarcodeScan”に対して実行するプログラムが“/program/APP/Btbr.dat”であることを示す。レコード112aの左辺につき“(1)”のように括弧の記号で括られた数値は、同一イベントにつき定義された複数のプログラムを呼び出して実行する順番を示している。“(1)”は、1番目に実行するプログラムであることを示す。“(2)”は、2番目に実行するプログラムであることを示す。“(3)”以降も同様である。なお、起動定義ファイル112では、イベント名“BarcodeScan”に対して1つのプログラムが対応付けられているため、同イベント名に“(2)”以降の数値が付加されたレコードは記述されていない。
【0074】
ここで、“/program/APP/Btbr.dat”はバーコードリーダ11とのBluetoothによる通信を確立して、バーコードリーダ11が読み取ったバーコードの情報を取得するためのプログラムである。このプログラムで実現される処理には、移動通信部102に移動通信網との通信を切断させる処理、近距離無線通信部103にバーコードリーダ11とBluetoothによる通信を確立させる処理が含まれる。更に、このプログラムで実現される処理には、データ受信後に近距離無線通信部103にバーコードリーダ11とBluetoothによる通信を切断させる処理、移動通信部102に移動通信網との通信を確立させる処理が含まれる。これらの処理を複数のプログラムにより定義してもよい。例えば、各プログラムに順番を定義し、順次呼び出すようにすることで、同様の処理を実現することもできる。
【0075】
レコード112b,112c,112d,112eに関してもレコード112aと同様の構成である。
すなわち、レコード112bでは、イベント名“PrintData”に対して実行するプログラムが“/program/APP/Print.dat”であることを示す。ここで、当該プログラムはプリンタ12に報告書を印刷させる処理を実現する。このプログラムで実現される処理には、移動通信部102に移動通信網との通信を切断させる処理、近距離無線通信部103にプリンタ12とBluetoothによる通信を確立させる処理が含まれる。更に、このプログラムで実現される処理には、データ受信後に近距離無線通信部103にプリンタ12とBluetoothによる通信を切断させる処理、移動通信部102に移動通信網との通信を確立させる処理が含まれる。
【0076】
レコード112cでは、イベント名“ExecInnerCameraAndPost”に対して実行するプログラムが“/program/APP/Camera.dat”であることを示す。当該プログラムは撮像部104に撮像を行わせるものである。ここで、レコード112cでは、イベント名に“(1)”が付加され“ExecInnerCameraAndPost(1)”に対するプログラムが定義されている。これは、当該イベント名に対して1番目に実行するプログラムであることを示す。
【0077】
レコード112dでは、イベント名“ExecInnerCameraAndPost”に対して実行するプログラムが“/program/APP/Sender.dat”であることを示す。当該プログラムは撮像部104が撮像して生成したデータを管理サーバ200に送信するプログラムであることを示す。ここで、レコード112dでは、イベント名に“(2)”が付加され“ExecInnerCameraAndPost(2)”に対するプログラムが定義されている。これは、当該イベント名に対して2番目に実行するプログラムであることを示す。
【0078】
レコード112eでは、イベント名“Alert”に対して実行するプログラムが“/program/APP/Alert.dat”であることを示す。当該プログラムは、音声処理部109を介してスピーカ109bから警告用の音声を出力するものである。
【0079】
また、起動定義ファイル112には、プログラムを実行する際に用いるパラメータを定義したレコードとして、レコード112f,112g,112h,112iが記述されている。
【0080】
レコード112fには、“BarcodeScan(1) = param1(mode),param2(connect)”という情報が設定されている。これは、“Barcodescan(1)”に対応付けられたプログラム“Btbr.dat”を実行する際に入力される第1のパラメータおよび第2のパラメータの定義を示す。
【0081】
“param1(mode)”は、第1のパラメータが、外部デバイスとして設けられたバーコードリーダ11を利用するか、内蔵デバイスとして設けられたバーコード読取部105を利用するか、を指定するためのパラメータであることを示す。
【0082】
“param2(connect)”は、第2のパラメータが、Bluetoothによる接続方法を指定するためのパラメータであることを示す。例えば、第1の方法として、携帯端末装置100にバーコードリーダ11が登録済みである場合、登録された設定内容に従ってバーコードリーダ11と通信を確立する方法が考えられる。また、第2の方法として、バーコードリーダ11が報知する無線信号を検知し、検知した信号に基づいてバーコードリーダ11との通信を確立する方法が考えられる。
【0083】
レコード112gには、“PrintData(1) = param1(formID,param2(variable)”という情報が設定されている。これは、“PrintData(1)”に対応付けられたプログラム“Print.dat”を実行する際に入力される第1のパラメータおよび第2のパラメータの定義を示す。
【0084】
“param1(formID)”は、第1のパラメータが、報告書の様式を示すパラメータであることを示す。報告書の様式は、フォームIDに対応付けて予め定義された様式がRAM106a等に格納されている。このため、携帯端末装置100は、管理サーバ200からフォームIDを第1のパラメータとして受信すれば、印刷すべき報告書の様式を特定できる。このようにすれば、例えば印刷する報告書のイメージデータを受信する場合に比べて、より小さいデータ量で済むので携帯端末装置100と管理サーバ200との間の通信負荷を軽減できる。
【0085】
“param2(variable)”は、第2のパラメータが、報告書の様式の可変項目に対する設定を行うためのパラメータであることを示す。第2のパラメータで指定された設定内容によって、例えば、報告書の様式中の罫線や枠の位置・大きさ等、可変な項目に対する詳細な設定を行える。
【0086】
レコード112hには、“ExecInnerCameraAndPost(1) =”という情報が設定されている。これは、“ExecInnerCameraAndPost(1)”に対応付けられたプログラム“Camera.dat”を実行する際に入力されるパラメータが存在しないことを示す。
【0087】
レコード112iには、“ExecInnerCameraAndPost(2) = param(Data)”という情報が設定されている。これは、“ExecInnerCameraAndPost(2)”に対応付けられたプログラム“Sender.dat”を実行する際に、プログラム“Camera.dat”により撮像したデータを入力することを示している。
【0088】
なお、イベント定義ファイル111および起動定義ファイル112には、上述したデバイス以外にも種々のデバイスの情報を設定できる。例えば、携帯端末装置100が内蔵のGPS(Global Positioning System)デバイスを有する場合、当該デバイスの利用を開始させるための文字列、イベント名、制御用のプログラム等を定義できる。
【0089】
次に、ディスプレイ107aが表示するGUIの具体例を説明する。携帯端末装置100のOSが提供する所定のGUIには、例えばWebデータ処理部130、Webブラウザ140および制御部150の機能を実現するアプリケーションプログラムのアイコンが表示される。保守員は、タッチパネル108a等を操作してアイコンを選択することで、CPU101に当該アプリケーションプログラムの実行を開始させ、以下に示すGUIの利用を開始できる。
【0090】
図7は、ログイン前後の画面の例を示す図である。(A)はログイン画面310(ログイン前の画面)を示している。(B)は業務メニュー画面320(ログイン直後の画面)を示している。
【0091】
ログイン画面310は、ログイン用の認証情報を入力する画面である。ログイン画面310を生成するためのHTMLファイルはアプリケーション起動時に管理サーバ200から受信する。ログイン画面310には、ID(Identifier)入力フォーム311、パスワード入力フォーム312およびログインボタン313が表示されている。
【0092】
ID入力フォーム311は、保守員のIDを入力するテキストボックスである。パスワード入力フォーム312は、IDに対応するパスワードを入力するテキストボックスである。ログインボタン313は、ID入力フォーム311およびパスワード入力フォーム312に入力した内容を確定して管理サーバ200に送信し、ログイン認証を要求するためのボタンである。保守員は、キーパッド108bを操作して、ID入力フォーム311およびパスワード入力フォーム312に文字列を入力できる。保守員は、タッチパネル108aをタッチ操作して、ログインボタン313を押下操作できる。
【0093】
管理サーバ200は、ログイン認証が成功すると、業務メニュー画面320のHTMLファイルを携帯端末装置100に送信する。Webブラウザ140は、受信したHTMLファイルに基づいて、業務メニュー画面320を生成する。
【0094】
業務メニュー画面320は、保守員が行う保守業務の選択入力を受け付ける画面である。業務メニュー画面320には、保守報告ボタン321、部品交換ボタン322、サプライ品納入ボタン323および終了ボタン324が表示されている。
【0095】
保守報告ボタン321は、保守作業後に保守報告の業務を開始する際に押下するボタンである。部品交換ボタン322は、保守作業において部品交換を行った場合に、交換した部品を登録する際に押下するボタンである。サプライ品納入ボタン323は、新規に納品した商品を登録する際に押下するボタンである。終了ボタン324は、当該アプリケーションを終了させる際に押下するボタンである。
【0096】
保守員は、保守作業後に、保守報告を行うため保守報告ボタン321を押下する。すると、携帯端末装置100は、当該ボタンが押下された旨を管理サーバ200へ通知する。管理サーバ200は当該通知に応答して、報告入力画面のHTMLファイルを携帯端末装置100に送信する。Webブラウザ140は、受信したHTMLファイルに基づいて、報告入力画面を生成する。
【0097】
図8は、報告入力画面の例を示す図である。報告入力画面330は、保守作業の内容を入力する画面である。報告入力画面330には、日付入力フォーム331、ID入力フォーム332、機番入力フォーム333、作業内容入力フォーム334、バーコード読取ボタン335、送信ボタン336および終了ボタン337が表示されている。
【0098】
日付入力フォーム331は、報告日を入力するテキストボックスである。ID入力フォーム332は、報告を行う保守員のIDを入力するテキストボックスである。機番入力フォーム333は、保守対象の機器に付与された識別番号を入力するテキストボックスである。作業内容入力フォーム334は、保守作業の内容を入力するためのリストボックスである。
【0099】
バーコード読取ボタン335は、バーコードリーダ11とのBluetoothによる通信を開始して、保守対象の機器に付与されたバーコードの情報をバーコードリーダ11に読み取らせ、携帯端末装置100に送信させるためのボタンである。ここで、バーコードの情報は当該機器の識別番号を示す。携帯端末装置100は、バーコードリーダ11からバーコードの情報を受信すると、この情報を機番入力フォーム333に表示させる。
【0100】
送信ボタン336は、読み取った識別情報を含む報告データを管理サーバ200に送信するためのボタンである。終了ボタン337は、報告入力画面330の表示を中止して、業務メニュー画面320に戻るためのボタンである。
【0101】
図9は、報告入力画面のHTMLファイルの記述例を示す図である。HTMLファイル410は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル410は、タグ411,412,413,414を含む。
【0102】
タグ411は、報告入力画面330では非表示とする隠しデータを設定するタグである。タグ411は、name属性411aおよびvalue属性411bを含む。
name属性411aは、データの名称を定義する属性である。name属性411aには、値“#BARCODE#”が設定されている。
【0103】
value属性411bは、データを設定するための属性である。value属性411bには、値“mode1,connect1”が設定されている。“mode1”は、バーコードリーダ11の利用を指定するパラメータである。“connect1”は、携帯端末装置100に予め設定された情報に基づいて、バーコードリーダ11と接続できることを示すパラメータである。
【0104】
value属性411bにおいて、1番目に記述されている値“mode1”は、起動定義ファイル112のレコード112fで説明した第1のパラメータ“param1(mode)”に対応付けることができる。2番目に記述されている値“connect1”は、同レコード112fで説明した第2のパラメータ“param2(connect)”に対応付けることができる。なお、第1のパラメータに“mode2”を設定した場合、当該設定値はバーコード読取部105の利用を指定するものであるとする。
【0105】
タグ412は、機番入力フォーム333を定義するタグである。
タグ413は、バーコード読取ボタン335を定義するタグである。タグ413は、バーコード読取ボタン335が操作されると、“##BARCODE_CALL##”を引数としてJavascript(登録商標)で記述された関数“myPost”を実行することを示している。
【0106】
タグ414は、送信ボタン336を定義するタグである。タグ414は、送信ボタン336が操作されると、“http://www.xxx.yyy/system/send.do”を引数として関数“myPost”を実行することを示している。
【0107】
ここで、関数“myPost”は引数に応じてデータの送信先を変更する。具体的には、“##”で囲まれた文字列が引数となる場合には、データの送信先をWebデータ処理部130とする。また、“##”で囲まれていない通常のURL(Uniform Resource Locator)が引数となる場合には、データの送信先をそのURLで指定される宛先とする。タグ414に設定されたURLは管理サーバ200を指定する情報である。
【0108】
具体的には、バーコード読取ボタン335が操作されると、Webブラウザ140は関数“myPost”を実行して、Webデータ処理部130にデータを出力する。一方、送信ボタン336が操作されると、Webブラウザ140は関数“myPost”を実行して、管理サーバ200にデータを送信する。
【0109】
Webブラウザ140が送信するデータには、フォームの機能により、タグ411,412に設定されたname属性とvalue属性とのセットが含まれる。また、報告入力画面330の日付入力フォーム331、ID入力フォーム332および作業内容入力フォーム334で入力された内容が含まれる(図9では、これらのフォームを定義するタグの図示を省略している)。
【0110】
Webデータ処理部130は、Webブラウザ140からデータを受信すると、次の処理を行う。Webデータ処理部130は、Webブラウザ140から受信したデータのデータ名として、イベント定義ファイル111に設定された文字列“#BARCODE#”が存在することを検出する。すると、当該文字列に基づいて、対応するイベント名と、実行するプログラムとを特定し、当該イベントを発生させる。また、Webデータ処理部130は、value属性411bの値を当該プログラムの実行に用いるパラメータに対応付ける。Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111や起動定義ファイル112を参照することで、これらの処理を行える。Webデータ処理部130は、特定したプログラムを制御部150に実行させる。
【0111】
管理サーバ200は、Webブラウザ140からデータを受信すると、次の処理を行う。管理サーバ200は、日付入力フォーム331、ID入力フォーム332、機番入力フォーム333および作業内容入力フォーム334を含むデータ(報告データ)を管理サーバ200あるいは別のコンピュータに設けられたデータベースに登録する。そして、管理サーバ200は、報告書印刷画面のHTMLファイルを携帯端末装置100に送信する。
【0112】
なお、関数“myPost”では、送信先に応じて、フォームに入力されたデータから送信するデータを更に選択してもよい。例えば、Webデータ処理部130にデータを出力する場合には、タグ411に設定されたデータのみを送信してもよい。また、例えば、管理サーバ200にデータを送信する場合には、タグ411に設定されたデータを送信しなくてもよい。
【0113】
また、HTMLファイル410では、type属性が“hidden”のタグ411のname属性にイベントを特定するための文字列を設定する例を示したが、他のtype属性(例えば、“text”)のタグに当該文字列を設定してもよい。
【0114】
図10は、報告入力画面のHTMLファイルの変形例を示す図である。HTMLファイル420は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル420は、タグ421,422,423を含む。
【0115】
タグ421は、機番入力フォーム333を定義するタグである。タグ421は、name属性421aおよびvalue属性421bを含む。
name属性421aは、データの名称を定義する属性である。name属性421aには、値“#BARCODE#”が設定されている。
【0116】
value属性421bは、データを設定するための属性である。value属性421bには、データが設定されていない。
タグ422は、タグ413に対応する。タグ423は、タグ414に対応する。
【0117】
このように、機番入力フォーム333を定義するタグ421のname属性にイベントを特定するための文字列を設定することもできる。
なお、HTMLファイル420では、タグ421のvalue属性を設定なしとして、イベントに対応するプログラムの実行に用いるパラメータを指定しない場合を例示している。ただし、図9で示したHTMLファイル410と同様にして、value属性に当該パラメータの指定を行ってもよい。
【0118】
図11は、報告書印刷画面の例を示す図である。報告書印刷画面340は、プリンタ12を用いて報告書を印刷するための画面である。報告書印刷画面340には、日付表示フォーム341、ID表示フォーム342、機番表示フォーム343、作業内容表示フォーム344、印刷ボタン345および終了ボタン346が表示されている。
【0119】
日付表示フォーム341は、報告日を表示するフォームである。ID表示フォーム342は、保守員のIDを表示するフォームである。機番表示フォーム343は、保守対象の機器の機番を表示するフォームである。作業内容表示フォーム344は、作業内容を示す情報を表示するフォームである。
【0120】
印刷ボタン345は、プリンタ12とのBluetoothによる通信を開始して、プリンタ12に報告書の印刷を実行させるためのボタンである。終了ボタン346は、報告書印刷画面340の表示を中止して、業務メニュー画面320に戻るためのボタンである。
【0121】
管理サーバ200は、携帯端末装置100から受信した報告データに基づいて、各表示フォームに予め印刷する情報を設定する。
図12は、報告書印刷画面のHTMLファイルの記述例を示す図である。HTMLファイル430は、管理サーバ200で生成され、携帯端末装置100に送信される。HTMLファイル430は、タグ431,432を含む。
【0122】
タグ431は、報告書印刷画面340では非表示とする隠しデータを設定するタグである。タグ431は、name属性431aおよびvalue属性431bを含む。
name属性431aは、データの名称を定義する属性である。name属性431aには、値“#PRINT_DATA#”が設定されている。
【0123】
value属性431bは、データを設定するための属性である。value属性431bには、値“form001,AYYY”が設定されている。“form1”は、報告書の様式を指定するパラメータである。“AYYY”は、様式内の可変項目に対する設定内容を指定するパラメータである。
【0124】
value属性431bにおいて、1番目に記述されている値“form1”は、起動定義ファイル112のレコード112gで説明した第1のパラメータ“param1(formID)”に対応付けることができる。2番目に記述されている値“AYYY”は、同レコード112gで説明した第2のパラメータ“param2(variable)”に対応付けることができる。
【0125】
タグ432は、印刷ボタン345を定義するタグである。印刷ボタン345が操作されると“##PRINT_CALL##”を引数として関数“myPost”を実行することを示している。
【0126】
ここで、図9で説明したように関数“myPost”は引数に応じてデータの送信先を変更する。“##”で囲まれた文字列が引数となる場合、データの送信先をWebデータ処理部130とする。したがって、印刷ボタン345が操作されると、Webブラウザ140は関数“myPost”を実行して、Webデータ処理部130にデータを出力する。
【0127】
Webブラウザ140が出力するデータには、タグ431に設定されたname属性431aおよびvalue属性431bが含まれる。また、報告書印刷画面340の日付表示フォーム341、ID表示フォーム342、機番表示フォーム343および作業内容表示フォーム344に表示された情報が含まれる(図12では、これらのフォームを定義するタグの図示を省略している)。
【0128】
Webデータ処理部130は、Webブラウザ140からデータを受信すると、次の処理を行う。Webデータ処理部130は、Webブラウザ140から受信したデータのデータ名として、イベント定義ファイル111に設定された文字列“#PRINT_DATA#”が存在することを検出する。すると、当該文字列に基づいて、対応するイベント名と、実行するプログラム、を特定し、当該イベントを発生させる。また、Webデータ処理部130は、value属性431bの値を当該プログラムの実行に用いるパラメータに対応付ける。Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111や起動定義ファイル112を参照することで、これらの処理を行える。Webデータ処理部130は、特定したプログラムを制御部150に実行させる。
【0129】
次に、以上のような構成の携帯端末装置100の処理手順を説明する。なお、保守員は保守作業後、事前に次の手順で携帯端末装置100の操作を行う。(1)ログイン画面310でログイン操作する。(2)ログイン成功後に表示される業務メニュー画面320で保守報告ボタン321を押下操作する。すると、Webブラウザ140は報告入力画面330のHTMLファイル410を管理サーバ200に要求する。管理サーバ200は、要求に応じて報告入力画面330のHTMLファイル410を生成し、携帯端末装置100に送信する。
【0130】
図13は、報告データ入力処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS11)Webデータ処理部130は、管理サーバ200からHTMLファイル410を受信する。
【0131】
(ステップS12)Webデータ処理部130は、定義情報記憶部110にHTMLファイル410を格納する。Webデータ処理部130は、HTMLファイル410をWebブラウザ140に出力する。
【0132】
(ステップS13)Webブラウザ140は、HTMLファイル410に含まれるタグを解析して、報告入力画面330の画像データを生成し、ディスプレイ107aに表示させる。
【0133】
(ステップS14)Webブラウザ140は、報告入力画面330において保守員によるバーコード読取ボタン335の押下操作を受け付ける。
(ステップS15)Webブラウザ140は、バーコード読取ボタン335に対応するタグ413に定義された処理を行う。具体的には、“##BARCODE_CALL##”を引数としてjavascriptの関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、出力先をWebデータ処理部130として、各フォーム(隠しデータを含む)に入力されたデータを出力する。
【0134】
(ステップS16)Webデータ処理部130は、Webブラウザ140から受信したデータに基づく処理を行う。本報告データ入力処理では、保守対象機器に付与されたバーコードのバーコードリーダ11による読み取りである。
【0135】
(ステップS17)Webデータ処理部130は、バーコードリーダ11が読み取ったバーコード値を取得すると、定義情報記憶部110に格納したHTMLファイル410のタグ412のvalue属性にバーコード値を設定し、Webブラウザ140に出力する。Webブラウザ140は、更新後のHTMLファイル410により報告入力画面330の表示を更新する。
【0136】
(ステップS18)Webブラウザ140は、報告入力画面330において保守員による送信ボタン336の押下操作を受け付ける。
(ステップS19)Webブラウザ140は、送信ボタン336に対応するタグ414に定義された処理を行う。具体的には、“http://www.xxx.yyy/system/send.do”を引数として関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、送信先を当該URLで示される管理サーバ200として、各フォームに入力されたデータ(報告データ)を送信する。
【0137】
このようにして、Webブラウザ140は、報告入力画面330で表示された各ボタンに対する操作に応じて、各フォームに入力されたデータの出力先を変更する。
次に、ステップS16で示したWebデータ処理部130によるWebデータ処理を詳細に説明する。
【0138】
図14は、Webデータ処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS21)Webデータ処理部130は、Webブラウザ140から各フォーム(隠しデータを含む)を定義するタグに設定されたデータを取得する。
【0139】
(ステップS22)Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111を参照して、定義された文字列が取得したデータのname属性に含まれるか否かを判定する。含まれる場合、処理をステップS23に進める。含まれない場合、処理をステップS26に進める。HTMLファイル410の場合、タグ411のname属性411aに設定された文字列“#BARCODE#”が、イベント定義ファイル111のレコード111aの左辺に設定された“#BARCODE#”と一致する。この場合、Webデータ処理部130は、タグ411に指定の文字列が含まれると判定する。
【0140】
(ステップS23)Webデータ処理部130は、イベント定義ファイル111を参照して、ステップS22で検出した文字列に対応するイベント名を特定する。例えば、“#BARCODE#”という文字列を検出していれば、イベント定義ファイル111のレコード111aに基づいて、イベント名“BarcodeScan”を特定する。Webデータ処理部130は、当該イベントを発生させる。
【0141】
(ステップS24)Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、ステップS23で特定したイベント名に対応するプログラムを特定する。例えば、イベント名“BarcodeScan”を特定していれば、起動定義ファイル112のレコード112aに基づいて、プログラム“/program/APP/Btbr.dat”を特定する。なお、起動定義ファイル112に同一のイベント名が複数設定されている場合には、複数のプログラムを特定する。
【0142】
(ステップS25)Webデータ処理部130は、特定したプログラムを制御部150に実行させる。複数のプログラムを特定している場合には、起動定義ファイル112に定義された順序で、各プログラムを制御部150に実行させる。Webデータ処理部130は、Webブラウザ140から起動定義ファイル112によって指定されるパラメータを取得している場合、当該パラメータを制御部150に出力する。
【0143】
例えば、タグ411のvalue属性411bには、“mode1,connect1”が設定されており、Webデータ処理部130は、ステップS21でこの値を取得している。よって、Webデータ処理部130は、起動定義ファイル112のレコード112fで指定される“param1(mode)”に“mode1”を、レコード112fで指定される“param2(connect)”に“connect1”を、それぞれ対応付けて、制御部150に出力する。
【0144】
制御部150は、指定されたプログラムに当該パラメータ値を入力して実行することでデバイスの制御を行う。制御部150は、デバイスから取得するデータがある場合には、そのデータをWebデータ処理部130に出力する。そして、処理を完了する。
【0145】
(ステップS26)Webデータ処理部130は、Webブラウザ140から取得したデータに基づいて通常のデータ処理を行う。そして、処理を完了する。
このようにして、Webデータ処理部130は、Webブラウザ140から取得したデータにイベント定義ファイル111で指定される文字列が含まれるか否かによって、通常のデータ処理を行うか、デバイスの制御を行うかを判断する。
【0146】
また、Webデータ処理部130は、イベント定義ファイル111で指定される文字列が含まれる場合、当該文字列に応じたプログラムを特定して制御部150に実行させることで当該文字列に対応するデバイスの制御を行える。
【0147】
次に、ステップS25で示した制御部150によるデバイス制御処理の手順を説明する。なお、以下に示すデバイス制御処理は、報告入力画面330でバーコード読取ボタン335が押下された場合に特定されたプログラムによる処理手順である。すなわち、制御部150がWebデータ処理部130により指定されたプログラム“/program/APP/Btbr.dat”を実行することで実現される処理の手順である。
【0148】
図15は、デバイス制御処理を示す第1のフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(ステップS31)制御部150は、移動通信部102に移動通信網との通信を切断させる。
【0149】
(ステップS32)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を確立させる。
(ステップS33)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、バーコードリーダ11に保守対象機器に付与されたバーコードを読み取らせ、読み取ったバーコード値を送信させる。制御部150は、近距離無線通信部103を介して、バーコードリーダ11からバーコード値を受信する。
【0150】
(ステップS34)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を切断させる。
(ステップS35)制御部150は、移動通信部102に移動通信網との接続を確立させる。
【0151】
(ステップS36)制御部150は、Webデータ処理部130に受信したバーコード値を出力する。
このようにして、制御部150は指定されたプログラムを実行することで、各デバイスを制御し、バーコードリーダ11にバーコードを読み取らせる。
【0152】
次に、図13〜図15で説明した報告データ入力処理の流れを説明する。
図16は、報告データ入力処理の流れを示すシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
【0153】
(ステップST101)管理サーバ200は、Webブラウザ140の要求に応じて報告入力画面330のHTMLファイル410をWebデータ処理部130に送信する。Webデータ処理部130は、HTMLファイル410を受信する。Webデータ処理部130は、受信したHTMLファイル410を定義情報記憶部110に格納する。
【0154】
(ステップST102)Webデータ処理部130は、HTMLファイル410をWebブラウザ140に出力する。Webブラウザ140は、HTMLファイル410を取得する。Webブラウザ140は、HTMLファイル410に基づいて報告入力画面330をディスプレイ107aに表示させる。
【0155】
(ステップST103)Webブラウザ140は、保守員によるバーコード読取ボタン335の押下操作を受け付ける。Webブラウザ140は、報告入力画面330の各フォームに入力されたデータ(隠しデータを含む)をWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140が出力したデータを取得する。
【0156】
(ステップST104)Webデータ処理部130は、ステップST103で取得したデータのname属性に定義情報記憶部110に格納されたイベント定義ファイル111に設定された文字列“#BARCODE#”が含まれていることを検出する。Webデータ処理部130は、イベント定義ファイル111を参照して当該文字列に対応するイベント名“BarcodeScan”を特定する。更に、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、当該イベント名に対応するプログラム“/program/APP/Btbr.dat”を特定する。Webブラウザ140は、特定したプログラムを指定して制御部150に実行させる。すると、制御部150は、指定されたプログラムを実行し、以下のステップST105〜ST110の処理を行う。
【0157】
(ステップST105)制御部150は、移動通信部102に無線通信網との接続を切断させる。
(ステップST106)制御部150は、近距離無線通信部103にバーコードリーダ
11とのBluetooth接続を確立させる。制御部150は、近距離無線通信部103を介してバーコードリーダ11にバーコードを読み取らせ、読み取ったバーコード値を送信させる。
【0158】
(ステップST107)制御部150は、近距離無線通信部103からバーコードリーダ11が読み取ったバーコード値を取得する。
(ステップST108)制御部150は、近距離無線通信部103にバーコードリーダ11とのBluetooth接続を切断させる。
【0159】
(ステップST109)制御部150は、移動通信部102に無線通信網との接続を確立させる。
(ステップST110)制御部150は、取得したバーコード値をWebデータ処理部130に出力する。Webデータ処理部130は、制御部150からバーコード値を取得する。
【0160】
(ステップST111)Webデータ処理部130は、定義情報記憶部110に格納したHTMLファイル410にステップST110で取得したバーコード値を反映させる。具体的には、HTMLファイル410のタグ412に含まれるvalue属性にバーコード値を設定する。Webデータ処理部130は、更新後のHTMLファイル410をWebブラウザ140に出力する。Webブラウザ140は、Webデータ処理部130から取得した更新後のHTMLファイル410に基づいて、ディスプレイ107aに表示させた報告入力画面330を更新する。
【0161】
(ステップST112)Webブラウザ140は、保守員による送信ボタン336の押下操作を受け付ける。Webブラウザ140は、報告入力画面330の各フォームに入力されたデータを報告データとして管理サーバ200に送信する。
【0162】
このようにして、携帯端末装置100は、保守報告を行う際に用いるデバイスの一連の動作を制御することができる。その際、管理サーバ200は、HTMLファイル410のタグ411に含まれるname属性411aに設定する文字列によって、使用するデバイスを指定できる。また、タグ411に含まれるvalue属性411bに設定するパラメータによって、同デバイスにつき、外部デバイスを利用するか内蔵デバイスを利用するかの指示および外部デバイスとの通信方式等の細かな制御方法を指定できる。
【0163】
なお、起動定義ファイル112には、同一のイベント名に対して複数のプログラムが呼出しの順序とともに定義されることもある。起動定義ファイル112の例では、レコード112c,112dが該当する。その場合、Webデータ処理部130は、直前のプログラム(例えば、Camera.dat)の実行が完了した後に、次のプログラム(例えばSender.dat)の実行を制御部150に指示する。このとき、Webデータ処理部130は、直前のプログラムの実行により生成されたデータを、次のプログラムに入力することもできる。
【0164】
また、管理サーバ200はWebブラウザ140からの要求に応じてHTMLファイル410のタグ411の設定内容を変更してもよい。例えば、業務メニュー画面320の保守報告ボタン321とともに、バーコードリーダ11を利用するか、内蔵のバーコード読取部105を使用するか、の選択入力を受け付けるフォームを設けることが考えられる。
【0165】
このようにすれば、管理サーバ200は、保守員が当該フォームによって選択したデバイスの利用を指示したHTMLファイルを生成できる。具体的には、HTMLファイル410のタグ411に設定するvalue属性411bの値に“mode2”を設定する。すると、当該値により制御部150にバーコード読取部105の利用を指示できる。
【0166】
次に、管理サーバ200に送信した報告データによる報告書印刷処理の手順を説明する。管理サーバ200は、携帯端末装置100から報告データを受信すると、報告書印刷画面340のHTMLファイル430を生成する。管理サーバ200はHTMLファイル430を携帯端末装置100に送信する。
【0167】
図17は、報告書印刷処理を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS41)Webデータ処理部130は、管理サーバ200からHTMLファイル430を受信する。
【0168】
(ステップS42)Webデータ処理部130は、定義情報記憶部110にHTMLファイル430を格納する。Webデータ処理部130は、HTMLファイル430をWebブラウザ140に出力する。
【0169】
(ステップS43)Webブラウザ140は、HTMLファイル430に含まれるタグを解析して、報告書印刷画面340の画像データを生成し、ディスプレイ107aに表示させる。
【0170】
(ステップS44)Webブラウザ140は、報告書印刷画面340において保守員による印刷ボタン345の押下操作を受け付ける。
(ステップS45)Webブラウザ140は、印刷ボタン345に対応するタグ432に定義された処理を行う。具体的には、“##PRINT_CALL##”を引数としてjavascriptの関数“myPost”を実行する。Webブラウザ140は、関数“myPost”の機能により、出力先をWebデータ処理部130として、各フォーム(隠しデータを含む)に入力されたデータを出力する。
【0171】
(ステップS46)Webデータ処理部130はWebブラウザ140から受信したデータに基づく処理を行う。本報告書印刷処理では、プリンタ12による報告書の印刷である。
【0172】
(ステップS47)Webデータ処理部130は、プリンタ12による印刷が完了した旨の通知を受けると、その旨を管理サーバ200に通知する。
このようにして、Webブラウザ140は、報告書印刷画面340で表示された印刷ボタン345に対する操作を受け付けると、各フォームのデータをWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140から取得したデータに基づく処理を行う。
【0173】
ここで、ステップS46で示したWebデータ処理部130によるWebデータ処理の手順は、図14で説明した手順と同様である。ただし、Webデータ処理部130がWebブラウザ140から取得したデータには、タグ431のname属性431aに示される“#PRINT_DATA#”が含まれる点が異なる。
【0174】
したがって、Webデータ処理部130は、定義情報記憶部110に格納されたイベント定義ファイル111を参照して、取得したデータに含まれる“#PRINT_DATA#”の文字列を検出する。Webデータ処理部130は、イベント定義ファイル111を参照して、当該文字列に対応するイベント名“PrintData”を特定する。そして、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、プログラム“/program/APP/Print.dat”を特定する。
【0175】
Webデータ処理部130は、特定したプログラムを制御部150に実行させる。また、Webデータ処理部130は、value属性431bに設定された値“form01”と“AYYY”を当該プログラム実行時のパラメータとして制御部150に出力する。
【0176】
次に、このプログラム“Print.dat”を実行する場合の制御部150によるデバイス制御処理の手順(図14のステップS25に相当する)を説明する。
図18は、デバイス制御処理を示す第2のフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
【0177】
(ステップS51)制御部150は、移動通信部102に移動通信網との通信を切断させる。
(ステップS52)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を確立させる。
【0178】
(ステップS53)制御部150は、Webデータ処理部130から取得したパラメータに基づいて、報告書の様式を決定する。
(ステップS54)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、決定した様式の情報および報告書に印字する情報を含む印刷データをプリンタ12に送信する。制御部150は、印刷データに基づく報告書の印刷をプリンタ12に指示する。
【0179】
(ステップS55)制御部150は、近距離無線通信部103によって確立されたBluetooth接続を介して、プリンタ12から印刷が完了した旨の応答を取得する。
(ステップS56)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を切断させる。
【0180】
(ステップS57)制御部150は、移動通信部102に移動通信網との接続を確立させる。
(ステップS58)制御部150は、プリンタ12による報告書の印刷が完了した旨をWebデータ処理部130に出力する。
【0181】
このようにして、制御部150は、指定されたプログラムを実行することで、プリンタ12による各デバイスの制御を行い、プリンタ12に報告書を印刷させる。
次に、図17,図18で説明した報告データ入力処理の流れを説明する。
【0182】
図19は、報告書印刷処理の流れを示すシーケンス図である。以下、図19に示す処理をステップ番号に沿って説明する。
(ステップST121)管理サーバ200は、Webブラウザ140から報告データを受信すると、当該報告データの内容を含む報告書の様式を決定する。管理サーバ200は、決定した様式を示す情報を含むHTMLファイル430を生成し、Webデータ処理部130に送信する。Webデータ処理部130は、HTMLファイル430を受信する。Webデータ処理部130は、受信したHTMLファイル430を定義情報記憶部110に格納する。
【0183】
(ステップST122)Webデータ処理部130は、HTMLファイル430をWebブラウザ140に出力する。Webブラウザ140は、HTMLファイル430を取得する。Webブラウザ140は、HTMLファイル430に基づいて報告書印刷画面340をディスプレイ107aに表示させる。
【0184】
(ステップST123)Webブラウザ140は、保守員による印刷ボタン345の押下操作を受け付ける。Webブラウザ140は、報告書印刷画面340の各フォームに入力されたデータ(隠しデータを含む)をWebデータ処理部130に出力する。Webデータ処理部130は、Webブラウザ140が出力したデータを取得する。
【0185】
(ステップST124)Webデータ処理部130は、ステップST123で取得したデータのname属性にイベント定義ファイル111内の文字列“#PRINT_DATA#”が含まれていることを検出する。Webデータ処理部130は、イベント定義ファイル111を参照して当該文字列に対応するイベント名“PrintData”を特定する。更に、Webデータ処理部130は、定義情報記憶部110に格納された起動定義ファイル112を参照して、当該イベント名に対応するプログラム“/program/APP/Print.dat”を特定する。Webブラウザ140は、特定したプログラムを指定して制御部150に実行させる。すると、制御部150は、指定されたプログラムを実行し、以下のステップST125〜ST131の処理を行う。
【0186】
(ステップST125)制御部150は、移動通信部102に無線通信網との接続を切断させる。
(ステップST126)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を確立させる。
【0187】
(ステップST127)制御部150は、近距離無線通信部103を介して印刷データをプリンタ12に送信し、印刷データに基づき報告書の印刷を行わせる。
(ステップST128)制御部150は、近距離無線通信部103を介して、印刷が完了した旨を示す印刷完了応答をプリンタ12から取得する。
【0188】
(ステップST129)制御部150は、近距離無線通信部103にプリンタ12とのBluetooth接続を切断させる。
(ステップST130)制御部150は、移動通信部102に無線通信網との接続を確立させる。
【0189】
(ステップST131)制御部150は、印刷完了応答をWebデータ処理部130に通知する。
(ステップST132)Webデータ処理部130は、印刷完了通知を管理サーバ200に送信する。
【0190】
このようにして、携帯端末装置100は、報告書の印刷を行う際に用いるデバイスの一連の動作を制御することができる。その際、管理サーバ200は、HTMLファイル430のタグ431に含まれるname属性431aに設定する文字列によって、使用するデバイスを指定できる。また、タグ431に含まれるvalue属性431bに設定するパラメータによってプリンタ12に対して指定する報告書の様式につき、詳細な設定を指定できる。
【0191】
このように、HTMLファイル410,420,430内のタグに含まれる文字列により、携帯端末装置100で動作させるデバイスを指定できる。このため、例えば管理サーバ200側で制御対象のデバイスの指定を追加・変更したい場合には、HTMLファイル410,420,430の所定のタグに設定する文字列の変更で対応可能である。すなわち、管理サーバ200および携帯端末装置100においてアプリケーションプログラム等の変更を伴わずに、デバイス指定の設定を容易に行える。
【0192】
特に、HTMLで一般的に用いられるタグ内のname属性に所定の文字列を設定することで、携帯端末装置100と管理サーバ200との間で、タグの定義につき事前の合意を伴わずに済む。また、HTMLファイル410,420,430を解析する一般的なWebブラウザの機能の拡張も伴わずに済む。よって、携帯端末装置100の機能を簡易な構成によって容易に実現できる。
【0193】
また、外部デバイスを制御するためのプログラムを定義しておくことで、携帯端末装置100が備える通信デバイスを介して、当該外部デバイスを制御することも可能である。
また、所定の文字列(あるいは、当該文字列に対応するイベント名)に対して、複数のプログラムを制御する順序とともに起動定義ファイル112に設定することもできる。これにより、複数のプログラムを順番に呼び出して、複数のデバイスにつき既定の順序に従った制御を実現できる。
【0194】
更に、起動定義ファイル112に各プログラムを実行する際に入力するパラメータを定義することもできる。管理サーバ200は、HTMLファイル410,420,430に含まれるタグのvalue属性等にパラメータに対応する文字列を設定することで、携帯端末装置100がデバイスを制御する際に呼び出すプログラムに入力するパラメータを容易に指定できる。
【0195】
このように、携帯端末装置100によれば、各種デバイスや携帯端末装置100と接続された外部デバイスのうち、携帯端末装置100で利用するデバイスの指定を容易に行うことができる。
【0196】
以上、本発明のデバイス制御プログラム、情報処理装置およびデバイス制御方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0197】
1 情報処理装置
1a 表示装置
1b 入力装置
1c,1d デバイス
1e 記憶手段
1f 判定手段
1g 制御手段
2 外部デバイス
3 画面
3a,3b,3c 画面部品
4 画面情報
【特許請求の範囲】
【請求項1】
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記画面情報に含まれるタグ内に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
処理をコンピュータに実行させることを特徴とするデバイス制御プログラム。
【請求項2】
前記タグに含まれる所定の第1の属性に設定された文字列に前記定義情報に設定された前記1またはそれ以上の文字列の何れかが存在するか判定することを特徴とする請求項1記載のデバイス制御プログラム。
【請求項3】
前記第1の属性は、前記タグに含まれるデータの名称を定義するネーム属性であることを特徴とする請求項2記載のデバイス制御プログラム。
【請求項4】
前記定義情報には、所定の文字列に対して複数のプログラムと複数のプログラムそれぞれを実行する順序とが対応付けられており、
前記タグに前記所定の文字列が含まれる場合、前記定義情報に設定された順序で当該複数のプログラムそれぞれを呼び出すことで、複数のデバイスを順次制御する、
ことを特徴とする請求項1乃至3の何れか一項に記載のデバイス制御プログラム。
【請求項5】
前記定義情報には、前記タグに含まれる第2の属性に設定された文字列に対応するパラメータが定義されており、
前記1またはそれ以上の文字列の何れかが前記タグに存在する場合、前記タグから前記第2の属性に設定された文字列を検出し、前記定義情報に定義された前記パラメータに前記第2の属性に設定された文字列を設定して、呼び出した前記プログラムに入力し、実行することで、前記デバイスを制御する、
ことを特徴とする請求項1乃至4の何れか一項に記載のデバイス制御プログラム。
【請求項6】
デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報を記憶する記憶手段と、
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、前記画面情報に含まれるタグ内に、前記定義情報に示される何れかの文字列が含まれているか判定する判定手段と、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項7】
コンピュータが実行するデバイス制御方法であって、
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記画面情報に含まれるタグ内に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
ことを特徴とするデバイス制御方法。
【請求項1】
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記画面情報に含まれるタグ内に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
処理をコンピュータに実行させることを特徴とするデバイス制御プログラム。
【請求項2】
前記タグに含まれる所定の第1の属性に設定された文字列に前記定義情報に設定された前記1またはそれ以上の文字列の何れかが存在するか判定することを特徴とする請求項1記載のデバイス制御プログラム。
【請求項3】
前記第1の属性は、前記タグに含まれるデータの名称を定義するネーム属性であることを特徴とする請求項2記載のデバイス制御プログラム。
【請求項4】
前記定義情報には、所定の文字列に対して複数のプログラムと複数のプログラムそれぞれを実行する順序とが対応付けられており、
前記タグに前記所定の文字列が含まれる場合、前記定義情報に設定された順序で当該複数のプログラムそれぞれを呼び出すことで、複数のデバイスを順次制御する、
ことを特徴とする請求項1乃至3の何れか一項に記載のデバイス制御プログラム。
【請求項5】
前記定義情報には、前記タグに含まれる第2の属性に設定された文字列に対応するパラメータが定義されており、
前記1またはそれ以上の文字列の何れかが前記タグに存在する場合、前記タグから前記第2の属性に設定された文字列を検出し、前記定義情報に定義された前記パラメータに前記第2の属性に設定された文字列を設定して、呼び出した前記プログラムに入力し、実行することで、前記デバイスを制御する、
ことを特徴とする請求項1乃至4の何れか一項に記載のデバイス制御プログラム。
【請求項6】
デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報を記憶する記憶手段と、
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、前記画面情報に含まれるタグ内に、前記定義情報に示される何れかの文字列が含まれているか判定する判定手段と、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項7】
コンピュータが実行するデバイス制御方法であって、
タグを含む画面情報に基づいて表示装置に表示された画面に対する操作入力が検出されると、記憶手段に記憶された、デバイスを制御するための1またはそれ以上のプログラムと1またはそれ以上の文字列との対応関係を示す定義情報に示される何れかの文字列が、前記画面情報に含まれるタグ内に含まれているか判定し、
前記定義情報で示される何れかの文字列が含まれていると判定されたとき、前記定義情報を参照して、判定された当該文字列に対応付けられたプログラムを呼び出すことで、デバイスを制御する、
ことを特徴とするデバイス制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−73846(P2012−73846A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−218479(P2010−218479)
【出願日】平成22年9月29日(2010.9.29)
【出願人】(399076998)株式会社富士通ビー・エス・シー (56)
【Fターム(参考)】
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願日】平成22年9月29日(2010.9.29)
【出願人】(399076998)株式会社富士通ビー・エス・シー (56)
【Fターム(参考)】
[ Back to top ]