(57)【要約】【課題】ＢＲＥＷ（登録商標）等のプラットフォームにおいて、多数の画面の切り替えといったリッチな制御処理を実現でき、更に開発の生産性や保守性を向上させることができる、新たなモジュール構造の携帯端末アプリケーションシステムを提供することを目的とする。【解決手段】携帯端末のためのアプリケーションシステムにおいて、アプレット構造体を記憶する手段と、ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）からイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行するイベントハンドラと、前記イベントハンドラからイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する画面単位イベントハンドラと、を備える。【選択図】  図１
2006260440.tif 000002
【特許請求の範囲】
【請求項１】
アプレット構造体を記憶する手段と、
ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）からイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行するイベントハンドラと、
前記イベントハンドラからイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する画面単位イベントハンドラと、を備えたことを特徴とするアプリケーションシステム。
【請求項２】
更に、画面単位の情報及び画面単位イベントハンドラを規定するクラスを定義する手段と、
前記イベントハンドラから画面遷移を伴う画面操作に関するイベントコードを引数としてコールされた場合、遷移後の画面に対応する前記クラスのインスタンスＰを生成する生成手段とを備え、
前記イベントハンドラは、ＡＥＥから画面遷移を伴わない画面操作に関するイベントコードを引数としてコールされた場合、当該イベントコードを引数として、インスタンスＰにより規定される画面単位イベントハンドラをコールすることを特徴とする請求項１記載のアプリケーションシステム。
【請求項３】
画面単位のアプリケーション処理を実行する画面単位イベントハンドラを備えたアプリケーションシステムを開発するためのフレームワークシステムであって、
アプレット構造体を記憶する機能と、
画面単位の情報及び画面単位イベントハンドラを規定するクラスを定義する機能と、
ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）からイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行するイベントハンドラ機能と、
前記イベントハンドラ機能によって画面遷移を伴う画面操作に関するイベントコードを引数としてコールされた場合、遷移後の画面に対応する前記クラスのインスタンスＰを生成する生成機能と、を備え、
前記イベントハンドラ機能は、ＡＥＥから画面遷移を伴わない画面操作に関するイベントコードを引数としてコールされた場合、当該イベントコードを引数として、インスタンスＰにより規定される画面単位イベントハンドラをコールすることを特徴とするフレームワークシステム。
【請求項４】
携帯端末のアプリケーションシステムの制御方法であって、
ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）がイベントコードを引数としたイベントハンドラをコールした場合、イベントハンドラが当該アプリケーションシステムのためのアプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行する工程と、
前記イベントハンドラがイベントコードを引数として画面単位イベントハンドラをコールした場合、画面単位イベントハンドラが当該アプリケーションシステムのためのアプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する工程と、を備えたことを特徴とする制御方法。
【請求項５】
請求項４記載の制御方法をコンピュータで実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末のためのアプリケーションシステムに関わり、特に、ＢＲＥＷ（登録商標）のようなプラットフォームで動作するアプリケーションシステムの、画面の切り替えを行うのに適したモジュール構造に関する。
【背景技術】
【０００２】
携帯端末向けの共通のＡＰＩ（Application Program Interface）を装備したアプリケーションプラットフォームとして、ＪＡＶＡ（登録商標）、ＢＲＥＷ（登録商標）（Binary Runtime Environment for Wireless）などが知られている。このうち、ＢＲＥＷ（登録商標）は、２００１年１月にクアルコム社によって発表されたＣＤＭＡ方式の携帯電話のワイヤレス・アプリケーション・プラットフォームであり、軽量（少ないメモリで軽快に動作する）、高い拡張性（サードパーティがＢＲＥＷのＡＰＩを拡張できる）、高い自由度（携帯端末のハードウェア機能のＡＰＩが直接制御できたり、アセンブラの知識を駆使したプログラミングが部分的に可能）、高いオープン性（クアルコム社からＢＲＥＷ（登録商標）を移植するためのソースプログラムを含むキットが提供されている）、ネットワーク適応性（ＴＣＰ／ＩＰの通信プロトコルが使えるので柔軟性のあるネットワークプログラミングが可能）といった特徴を備えていることから、近年、ＪＡＶＡ（登録商標）に代わるプラットフォームとして普及しつつある。
【０００３】
図４を参照して、ＢＲＥＷ（登録商標）上におけるアプリケーションシステムの動作スキームを概略的に説明する。
【０００４】
１）ユーザが所望のＢＲＥＷ（登録商標）アプリケーションシステムのアイコンを選択して起動すると、ＢＲＥＷ（登録商標）実行環境であるＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント：Application Execution Environment）が、ブートストラップ関数をコールする。
【０００５】
２）ブートストラップ関数は、当該アプリケーションシステムの処理を規定するイベントハンドラ関数に対応づけて、アプレット構造体を作成する。
【０００６】
３）ユーザが携帯端末を操作すると、ＡＥＥが、ユーザ操作に応じたイベントコードを引数として、イベントハンドラ関数をコールする。
【０００７】
４）コールされたイベントハンドラ関数は、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の携帯端末のためのアプリケーションシステムは、比較的単純な画面構成・制御処理のものに留まり、例えば多数の画面を切り替えて処理を実行するものなどは少なかったが、近年では、携帯端末のためのアプリケーションシステムも大規模化が進み、多数の画面の切り替えといったリッチな制御処理が実装されたものも増えてきている。
【０００９】
しかし、ＢＲＥＷ（登録商標）等のプラットフォームでは、アプリケーションの内容に応じた処理を全て単一のイベントハンドラ関数内に記述するという、フラットなモジュール構造を採るため、例えば画面切り替え処理を記述しようとすると、単一のイベントハンドラ関数内に、押下ボタン種別での条件分岐、画面種別での条件分岐などを混在させて記述せざるを得ず、制御の流れが非常に複雑なものとなってしまうという問題が生じる。
【００１０】
更に、複数人でこのようなフラットなモジュール構造のアプリケーションシステムを開発する場合、複数人が同時並行的に同一のイベントハンドラ関数をコーディングすることとなる（すなわち、開発単位や保守単位がアプリケーションシステム全体となる）ため、各自の変更部分について同期を取るためのバージョン管理が非常に煩雑となり、またイベントハンドラ関数内の変数が開発者間で共同使用されることに起因して、その誤用（例えば、変数を誤って初期化するなど）が生じやすいといった問題も生じる。
【００１１】
そこで、本発明は、ＢＲＥＷ（登録商標）等のプラットフォームにおいて、多数の画面の切り替えといったリッチな制御処理を実現でき、更に開発の生産性や保守性を向上させることができる、新たなモジュール構造の携帯端末アプリケーションシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のアプリケーションシステムは、アプレット構造体を記憶する手段と、ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）からイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行するイベントハンドラと、前記イベントハンドラからイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する画面単位イベントハンドラと、を備えたことを特徴とする。
【００１３】
好適には、更に、画面単位の情報及び画面単位イベントハンドラを規定するクラスを定義する手段と、前記イベントハンドラから画面遷移を伴う画面操作に関するイベントコードを引数としてコールされた場合、遷移後の画面に対応する前記クラスのインスタンスＰを生成する生成手段とを備え、前記イベントハンドラは、ＡＥＥから画面遷移を伴わない画面操作に関するイベントコードを引数としてコールされた場合、当該イベントコードを引数として、インスタンスＰにより規定される画面単位イベントハンドラをコールすることを特徴とする。
【００１４】
本発明のフレームワークシステムは、画面単位のアプリケーション処理を実行する画面単位イベントハンドラを備えたアプリケーションシステムを開発するためのフレームワークシステムであって、アプレット構造体を記憶する機能と、画面単位の情報及び画面単位イベントハンドラを規定するクラスを定義する機能と、ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）からイベントコードを引数としてコールされた場合、アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行するイベントハンドラ機能と、前記イベントハンドラ機能によって画面遷移を伴う画面操作に関するイベントコードを引数としてコールされた場合、遷移後の画面に対応する前記クラスのインスタンスＰを生成する生成機能と、を備え、前記イベントハンドラ機能は、ＡＥＥから画面遷移を伴わない画面操作に関するイベントコードを引数としてコールされた場合、当該イベントコードを引数として、インスタンスＰにより規定される画面単位イベントハンドラをコールすることを特徴とする。
【００１５】
本発明の制御方法は、携帯端末のアプリケーションシステムの制御方法であって、ＡＥＥ（アプリケーション・エグゼキューション・エイバイロメント）がイベントコードを引数としたイベントハンドラをコールした場合、イベントハンドラが当該アプリケーションシステムのためのアプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行する工程と、前記イベントハンドラがイベントコードを引数として画面単位イベントハンドラをコールした場合、画面単位イベントハンドラが当該アプリケーションシステムのためのアプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する工程と、を備えたことを特徴とする。
【００１６】
本発明の制御方法は、コンピュータにおいて本発明の情報処理プログラムを実行することにより実施することができる。本発明の情報処理プログラムは、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。
【発明の効果】
【００１７】
本発明によれば、ＢＲＥＷ（登録商標）等のプラットフォームにおいて、多数の画面の切り替えといったリッチな制御処理を実現でき、更に開発の生産性や保守性を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態の構成・動作について図面を用いて説明する。図１は、本発明の実施形態に係る、携帯電話端末上で動作するＢＲＥＷ（登録商標）ＡＥＥ１及びＢＲＥＷ（登録商標）アプリケーションシステム２のモジュール構造をあらわすブロック図である。
【００１９】
ＢＲＥＷ（登録商標）ＡＥＥ１は、ＢＲＥＷ（登録商標）実行環境であり、ＯＳレベルのタスク管理、ファイル管理等を行う機能を備えるとともに、ＡＥＥ１の機能やデバイス等を利用するためのＡＰＩを提供する。ＡＥＥ１は、原則として、ＢＲＥＷ（登録商標）の開発元であるクアルコム社のＩＣチップを採用する携帯電話端末メーカーの端末に実装されている。
【００２０】
本実施形態のＢＲＥＷ（登録商標）アプリケーションシステム２は、ＢＲＥＷ（登録商標）アプレット機能１０、ブートストラップ機能２０、パネルクラス及び各画面の画面クラスを記憶するクラス定義機能３０、画面生成機能４０、アプレットに関するメタ情報を記憶するＭＩＦ機能５０等を備えて構成される。これらの各機能は、携帯電話端末のメモリに記憶されるプログラムをＣＰＵが実行することにより機能手段として実現される（図１参照）。
【００２１】
ＢＲＥＷ（登録商標）アプレット手段１０は、アプレット構造体を記憶する記憶手段１１、ＡＥＥイベントハンドラ１２、画面単位イベントハンドラ１３等を含んで構成される。
【００２２】
アプレット構造体は、ＢＲＥＷ（登録商標）アプレットがデータを格納するための構造体であり、該アプレットにおけるグローバル変数などが格納される。アプレット構造体の具体的な構成は、設計に応じて定めることができる。
【００２３】
ＡＥＥイベントハンドラ１２は、ＡＥＥ１から、アプレット構造体やイベントコードを引数としてコールされた場合、当該アプレット構造体を参照してイベントコードに応じたアプリケーション処理を実行する。アプリケーション処理の具体的な構成は、設計に応じて定めることができる。
【００２４】
画面単位イベントハンドラ１３は、ＡＥＥイベントハンドラ１２から、アプレット構造体やイベントコードを引数としてコールされた場合、当該アプレット構造体を参照してイベントコードに応じた画面単位のアプリケーション処理を実行する。画面単位のアプリケーション処理もまた、設計に応じて定めることができる。
【００２５】
ブートストラップ手段２０は、ユーザがＢＲＥＷ（登録商標）アプレットのアイコンを選択して起動した場合にコールされる関数であり、起動されたＢＲＥＷ（登録商標）アプレットのＡＥＥイベントハンドラ１２に対応づけて、該ＢＲＥＷ（登録商標）アプレットのアプレット構造体を作成する（すなわち、メモリ上にアプレット構造体の領域を確保して記憶手段１１を実現する）。
【００２６】
クラス定義手段３０は、画面単位で管理する情報のうち複数の画面に共通する変数（グローバル変数）やメソッドを格納する構造体として、パネルクラスを定義し、記憶する。複数の画面に共通する変数としては、例えば入力用オブジェクト等を管理するためのテキストコントロール変数、ボタンオブジェクト等を管理するためのメニューコントロール変数など、共通するメソッドとしては、例えばフォーカスを次のテキストコンロール変数により特定される入力用オブジェクトに移動させる関数などが考えられる。
【００２７】
また、クラス定義手段３０は、画面単位で管理する情報のうち各画面で個別に使用する変数（ローカル変数）やメソッドを格納する構造体として、各画面の画面クラス（例えば、メニュー画面クラス、検索画面クラス、登録画面クラスなど）を定義し、記憶する。画面クラスは、パネルクラスを親とする子クラスとして規定される。
【００２８】
画面生成手段４０は、ＡＥＥイベントハンドラ１２から、アプレット構造体、及び画面遷移に関するイベントコードを引数としてコールされた場合、当該アプレット構造体及びクラス定義手段３０を参照し、遷移後の画面の画面クラスのインスタンスＰを生成する。このインスタンスＰにより規定されるメソッドが当該遷移後の画面に対応する画面単位イベントハンドラ１３として機能することになる。
【００２９】
ＭＩＦ手段５０は、アプレットを識別するためのクラスＩＤ、アプレットの名前や種類、アイコンの情報などを記憶する。
【００３０】
このように、本実施形態のＢＲＥＷ（登録商標）アプリケーションシステム２は、アプレット構造体を記憶する記憶手段１１、ＡＥＥイベントハンドラ１２、ブートストラップ手段２０、ＭＩＦ手段５０等を備える点では従来と同様であるが、更に、画面単位イベントハンドラ１３、クラス定義手段３０、画面生成手段４０を備えている点で、従来のモジュール構成と異なっている。
【００３１】
以下、図２、図３のフローチャートを参照して、本実施形態のＢＲＥＷ（登録商標）アプリケーションシステム２における処理の流れについて説明する。なお、各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００３２】
（アプリケーションシステム２の起動：図２）
ユーザが、アイコンを選択してＢＲＥＷ（登録商標）アプレットの起動動作を実行すると（Ｓ１００）、ＡＥＥ１は、ＭＩＦ手段５０を参照して前記選択されたアイコンに対応するクラスＩＤを取得し、該クラスＩＤを引数として前記アイコンに対応するブートストラップ手段２０をコールする（Ｓ１０１）。
【００３３】
コールされたブートストラップ手段２０は、引数として受け取ったクラスＩＤが、当該ブートストラップ手段２０に対応するＡＥＥイベントハンドラのクラスＩＤと一致するかどうかを判断し（Ｓ１０２）、一致しない場合はＡＥＥ１にＦＡＩＬ値を返す（Ｓ１０３）。
【００３４】
一方、一致する場合は、当該クラスＩＤにより特定される（すなわち、起動された）ＢＲＥＷ（登録商標）アプレットのＡＥＥイベントハンドラ１２に対応づけて、該ＢＲＥＷ（登録商標）アプレットのアプレット構造体を作成し、ＡＥＥ１にＳＵＣＣＥＳＳ値を返す（Ｓ１０４）。
【００３５】
ＡＥＥ１は、ブートストラップ手段２０からの返り値がＳＵＣＣＥＳＳ値である場合、作成されたアプレット構造体、アプレット開始を示すイベントコードを引数として、ＡＥＥイベントハンドラ１２をコールする（Ｓ１０５）。
【００３６】
ＡＥＥイベントハンドラ１２は、アプレット開始を示すイベントコード等を引数としてコールされた場合、当該アプレット開始を示すイベントコード等を引数として、画面生成手段４０をコールする（Ｓ１０６）。
【００３７】
画面生成手段４０は、アプレット開始を示すイベントコード等を引数としてコールされた場合、クラス定義手段３０を参照し、初期画面の画面クラスのインスタンスＰを生成し、必要な情報を該インスタンスＰの変数に設定して、真値を返す（Ｓ１０７）。
【００３８】
ＡＥＥイベントハンドラ１２は、画面生成手段４０からの返り値が真値である場合、アプレット開始を示すイベントコード等を引数として、インスタンスＰにより規定されるメソッド（現在表示中の画面に対応する画面単位イベントハンドラ１３）をコールする（Ｓ１０８）。
【００３９】
画面単位イベントハンドラ１３は、アプレット開始を示すイベントコード等を引数としてコールされた場合、所定の初期画面を表示する処理を実行する（例えば、該当する画面表示関数をコールする）（Ｓ１０９）。
【００４０】
以上によりアプリケーションシステム２が起動された状態となり、以下のユーザ操作に応じた処理に移行する。
【００４１】
（ユーザ操作に応じた処理：図３）
ユーザが、携帯電話のハードキーの押下やソフトウェアにより表示されたボタンの選択など所定の操作を実行すると（Ｓ２００）、ＡＥＥ１は、アプレット構造体及びユーザ操作に応じたイベントコードを引数として、ＡＥＥイベントハンドラ１２をコールする（Ｓ２０１）。
【００４２】
ＡＥＥイベントハンドラ１２は、ＡＥＥ１からコールされた場合、引数のイベントコードが画面遷移を伴う画面操作に関するイベントコード（遷移有りイベントコード）であるか、画面遷移を伴わない画面操作に関するイベントコード（遷移無しイベントコード）であるかを判断する（Ｓ２０２）。
【００４３】
引数のイベントコードが遷移有りイベントコードである場合、ＡＥＥイベントハンドラ１２は、遷移有りイベントコード等を引数として、画面生成手段４０をコールする（Ｓ２０３）。
【００４４】
画面生成手段４０は、遷移有りイベントコード等を引数としてコールされた場合、クラス定義手段３０を参照し、遷移後の画面の画面クラスのインスタンスＰを生成し、必要な情報を該インスタンスＰの変数に設定して、真値を返す（Ｓ２０４）。
【００４５】
ＡＥＥイベントハンドラ１２は、画面生成手段４０からの返り値が真値である場合、遷移有りイベントコード等を引数として、インスタンスＰにより規定されるメソッド（現在表示中の画面に対応する画面単位イベントハンドラ１３）をコールする（Ｓ２０５）。
【００４６】
画面単位イベントハンドラ１３は、遷移有りイベントコード等を引数としてコールされた場合、対応する画面（遷移後の画面）を表示する処理を実行する（例えば、該当する画面表示関数をコールする）（Ｓ２０６）。
【００４７】
一方、引数のイベントコードが遷移無しイベントコードである場合、ＡＥＥイベントハンドラ１２は、遷移無しイベントコード等を引数として、インスタンスＰにより規定されるメソッド（現在表示中の画面に対応する画面単位イベントハンドラ１３）をコールする（Ｓ２０７）。
【００４８】
画面単位イベントハンドラ１３は、ＡＥＥイベントハンドラ１２から、遷移無しイベントコード等を引数としてコールされた場合、アプレット構造体を参照して当該遷移無しイベントコードに応じた画面単位のアプリケーション処理を実行する（Ｓ２０８）。
【００４９】
なお、図３に示していないが、ＡＥＥイベントハンドラ１２は、ＡＥＥ１から、画面操作以外のイベントコード（例えば、ＡＰＰ＿ＲＥＳＵＭＥなど）を引数としてコールされた場合、設計に応じてそのイベントコードに応じた所定の処理を実行する。
【００５０】
このように、本実施形態では、パネルクラスを親として承継する各画面の画面クラスを用意し、該画面クラスのメソッドとして規定される画面単位イベントハンドラ１３によって、各画面の表示処理や操作に応じた処理を実行するように構成しているため、各画面に関わる処理をカプセル化してＡＥＥイベントハンドラから切り離すことができる。その結果、多数の画面の切り替えといったリッチな制御処理であっても制御の流れを単純化することが可能となり、アプリケーションシステムを開発する際の生産性や保守性を大きく向上させることができる。
【００５１】
また、各画面に関わる処理がカプセル化されていることで、複数人で共同開発する場合であっても、画面単位で同時並行的に開発・保守作業を実行することができ、各画面に関してローカル変数を使用することで変数の誤用も回避できることから、かかる点においても、アプリケーションシステムを開発する際の生産性や保守性を大きく向上させることができる。
【００５２】
（その他）
本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。
【００５３】
例えば、上記実施形態では、ＢＲＥＷ（登録商標）をプラットフォームとして用いることを前提として説明しているが、本発明はこのような構成に限られず、ＢＲＥＷ（登録商標）と同様のフラットなモジュール構造を採用するプラットフォームであれば、本発明を適用することで上記実施形態と同様の効果を得ることができる。
【００５４】
なお、上記実施形態では、ＢＲＥＷ（登録商標）アプレット手段１０（アプレット構造体を記憶する記憶手段１１、ＡＥＥイベントハンドラ１２、画面単位イベントハンドラ１３等）、ブートストラップ手段２０、クラス定義手段３０、画面生成手段４０、ＭＩＦ手段５０等を含めて、ＢＲＥＷ（登録商標）アプリケーションシステム２として把握し、説明しているが、アプレット構造体を記憶する機能、ＡＥＥイベントハンドラ機能、ブートストラップ手段機能、クラス定義機能、画面生成機能等について、アプリケーションの具体的な処理を規定する画面単位イベントハンドラを開発する（各画面の画面クラスの定義を設計する）ためのフレームワークを提供するフレームワークシステムとして把握することもできる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態に係るＡＥＥ１及びアプリケーションシステム２のモジュール構造を示すブロック図である。
【図２】アプリケーションシステムにおける処理の流れを説明するためのフローチャートである。
【図３】アプリケーションシステムにおける処理の流れを説明するためのフローチャートである。
【図４】従来のＢＲＥＷ（登録商標）の動作スキームを説明する図である。
【符号の説明】
【００５６】
１  ＢＲＥＷ（登録商標）ＡＥＥ、２  ＢＲＥＷ（登録商標）アプリケーションシステム、１０  ＢＲＥＷ（登録商標）アプレット手段、１１  アプレット構造体を記憶する記憶手段、１２  ＡＥＥイベントハンドラ、１３  画面単位イベントハンドラ、２０  ブートストラップ手段、３０  クラス定義手段、４０  画面生成手段、５０  ＭＩＦ手段
【図１】
2006260440.tif 000003
【図２】
2006260440.tif 000004
【図３】
2006260440.tif 000005
【図４】
2006260440.tif 000006