以下に添付図面を参照して、この発明に係る画面処理プログラムの好適な実施例を詳細に説明する。なお、本実施例では、本発明をJava(登録商標、以下同様)アプレットとして動作する画面処理プログラムに適用した場合を中心に説明する。
まず、本実施例1に係る画面処理プログラムによる画面処理の概念について説明する。図1は、本実施例1に係る画面処理プログラムによる画面処理の概念を説明するための説明図である。同図に示すように、この画面処理では、イベントと業務処理との対応付けをアクションマッピング定義情報として定義する。
ここで、イベント指定は、画面上でカーソルが位置付けられているパネルおよび項目ならびに利用者の操作の組み合わせによって行う。すなわち、イベントとしてボタン押下などの操作だけでなく項目を指定することによって、項目と操作の任意の組み合わせについてイベントを定義することができる。
例えば、アクション「1」に対応するイベントは、カーソルがパネル「P001」の項目「FLD1」に位置する場合に「ENTERキー」が操作されたときに発生する。このように、パネルとパネル内の項目と操作との組み合わせでイベントを指定することによって、多様な画面操作に対してイベントを定義することができる。
また、アクションマッピング定義情報では、パネルごとにイベントと業務処理とを対応付けるのではなく、イベントごとにイベントとアクションを対応させ、アクションと業務処理を対応させる。
すなわち、イベントは、パネルとパネル内の項目と操作との組み合わせによって指定するが、パネル間や項目間で共通するイベントについては、パネルや項目の指定を省略することができる。
例えば、アクション「2」に対応するイベントは項目が省略されており、このイベントは、パネル「P001]において、カーソルに位置する項目が何であっても「ボタン1」が押下された場合に発生する。
また、アクション「5」に対応するイベントはパネルおよび項目が省略されており、このイベントは、どのパネルのどの項目にカーソルが位置しても「ボタン3」が押下された場合に発生する。
このように、パネルごとにイベントと業務処理との対応を定義するのではなく、パネルに関係なくイベントと業務処理との対応を定義することによって、パネル間で共通な操作を単一のイベントとして定義することができ、イベントの定義量を減らすことができる。
そして、画面処理プログラムのイベント制御部150の初期化処理部151がアクションマッピング定義情報に従って、イベントおよび処理の登録ならびにパネルの作成などの初期化処理を行い、表示パネル情報記憶部120に記憶された表示パネル情報を用いて初期パネルを表示する。
その後、利用者の画面操作によってイベントが発生すると、初期化処理部151で登録されたイベント判定処理部152が呼び出され、イベント判定処理部152は、アクションマッピング定義情報を用いて、イベントからアクションを特定し、特定したアクションに対応する業務処理を呼び出す。
例えば、パネル「P001」においてカーソルが「BTN2」に位置する場合に「ボタン2」が押下された場合には、イベント判定処理部152は、アクション「3」を特定し、アクション「3」に対応する業務処理「処理a」を呼び出す。
なお、イベントが発生した場合にイベント判定処理部152によってイベントに対応するアクションがアクションマッピング定義情報を用いて特定されることを、アクションが発生すると呼ぶこととする。
次に、本実施例1に係る画面処理プログラムの構成について説明する。図2は、本実施例1に係る画面処理プログラムの構成を示す機能構成図である。同図に示すように、この画面処理プログラム100は、アクションマッピング定義情報記憶部110と、表示パネル情報記憶部120と、画面制御部130と、入出力データ制御部140と、イベント制御部150と、制御部160とを有する。
アクションマッピング定義情報記憶部110は、アクションマッピング定義情報をXML形式で記憶した記憶部である。図3−1は、アクションマッピング定義情報のXML定義体項目の一例を示す図である。
同図に示すように、このXML定義体項目では、アクションマッピング定義情報を定義するタグ<actionMap>は、アクション発生元情報を定義するタグ<source>から構成される。そして、タグ<source>の属性としてアクション発生元のパネルを識別するpanelIDと、アクション発生項目を識別するitemIDと、操作を識別するactionIDが定義される。また、タグ<source>の中に、業務処理を実行するプログラムのクラス名を表わすタグ<className>およびメソッド名を表わすタグ<methodName>が定義される。
図3−2は、アクションマッピング定義情報記憶部110が記憶するアクションマッピング定義情報の一例を示す図である。同図に示すように、<actionMap>と</actionMap>の中に複数のアクション発生元が<source>と</source>に囲まれて定義される。
例えば、panelIDが「P001」であるパネルでitemIDが「FLD1」である項目にカーソルが位置しているときにactionIDが「ENTER」である操作すなわち「ENTER」がキーインされた場合には、classNameが「com.fujitsu.FJ001」であるクラスのmethodNameが「Entry001」であるメソッドが呼び出される。
このように、アクションマッピング定義情報として、カーソルが位置するパネルおよび項目ならびに利用者の操作によりイベントを指定することによって、イベントを詳細に指定することができる。
なお、アクションマッピング定義情報は、画面処理プログラム100を実行するクライアントに画面処理プログラム100とともにサーバからダウンロードされてアクションマッピング定義情報記憶部110に記憶される。
図4は、本実施例1に係る画面処理プログラム100のサーバからのダウンロードを説明するための説明図である。同図に示すように、画面処理プログラム100をアプレットとして実行するWebページにクライアントがアクセスすると、サーバのディスクからHTMLファイルと、画面処理プログラム100と、アクションマッピング定義情報とがダウンロードされる。なお、業務処理を行う業務処理プログラムは、対応するイベントが発生した際にダウンロードされる。
表示パネル情報記憶部120は、画面に表示するパネルについての情報を記憶した記憶部である。この表示パネル情報記憶部120に記憶される情報は、画面制御部130によって使用される。
画面制御部130は、パネルを表示する処理部である。また、この画面制御部130は、パネル上でのユーザのマウス操作やキーボード操作をイベントとして受け付け、受け付けたイベントをイベント制御部150に通知する。
入出力データ制御部140は、パネル上の項目に出力するデータおよび項目に入力されたデータを管理する処理部である。この入出力データ制御部140は、入出力データを格納する入出力データ領域を備え、この入出力データ領域のデータが項目に出力され、項目から入力されたデータはこの入出力データ領域に格納される。
イベント制御部150は、画面制御部130からイベントを受け取り、受け取ったイベントに対応する業務処理を行う処理部であり、初期化処理部151とイベント判定処理部152とを有する。
初期化処理部151は、アクションマッピング定義情報に従って、イベントおよび処理の登録ならびにパネルの生成を初期化処理として行う処理部である。また、この初期化処理部151は、表示パネル情報記憶部120に記憶された表示パネル情報を用いてパネルを作成し、画面制御部130を介してパネルを表示する。なお、パネルの生成は、初期化処理時以外にパネルが表示される場合に行うこともできる。
イベント判定処理部152は、画面制御部130からイベントを受け取り、受け取ったイベントに対応するメソッドをアクションマッピング定義情報を用いて特定し、特定したメソッドを呼び出す処理部である。
このイベント判定処理部152が、画面制御部130からイベントを受け取り、受け取ったイベントに対応するメソッドを呼び出すことによって、イベントに対応する業務処理を行うことができる。
制御部160は、画面処理プログラム100全体の制御をおこなう処理部であり、具体的には、処理部と記憶部の間のデータの受け渡しなどをおこなうことによって、画面処理プログラム100を一つのプログラムとして機能させる。
次に、本実施例1に係る画面処理プログラム100によるイベント処理の処理手順について説明する。図5は、本実施例1に係る画面処理プログラム100によるイベント処理の処理手順を示すフローチャートである。
同図に示すように、この画面処理プログラム100は、イベント制御部150のイベント判定処理部152が画面制御部130を介してイベントを受け取り(ステップS101)、受け取ったイベントに対応するクラス名とメソッド名をアクションマッピング定義情報を用いて取得する(ステップS102)。
そして、取得したクラス名とメソッド名を用いてクラスをサーバからダウンロードし(ステップS103)、ダウンロードしたクラス内の該当メソッドを実行する(ステップS104)。
このように、イベント制御部150のイベント判定処理部152が、受け取ったイベントに対応するクラスをサーバからダウンロードしてクラス内の該当メソッドを実行することによって、画面操作に対応する業務処理を行うことができる。
上述してきたように、本実施例1では、パネルと項目と操作の組み合わせを用いて指定するイベントに業務処理を対応させて定義したアクションマッピング定義情報を用いてイベント制御部150がイベントに対応する業務処理を呼び出すこととしたので、多様な画面操作をイベントとして定義することができ、イベントと業務処理を対応させて画面処理を行うフレームワークをより幅広い業務処理プログラムに適用することができる。
また、本実施例では、パネルごとにイベントと業務処理との対応を定義するのではなく、パネルに関係なくイベントごとに業務処理との対応を定義することができるので、パネル間で共通するイベントを一つにまとめることができ、イベントと業務処理との対応の定義数を減らし、開発効率を向上することができる。
ところで、上記実施例1では、多様な画面操作をイベントとして定義し、イベントに業務処理を対応させる場合について説明したが、イベントに多様な画面遷移を対応させることもできる。そこで、本実施例2では、イベントに対応して様々なパターンの画面に遷移させることができる画面処理プログラムについて説明する。
まず、本実施例2に係る画面遷移のパターンについて図6−1〜図6−5を用いて説明する。図6−1は、単一画面に遷移する画面遷移を示す図である。同図に示すように、この画面遷移では、単一のパネル「パネル1」から他の単一のパネル「パネル2」に遷移する。
図6−2は、異なるレイアウトに遷移する画面遷移を示す図である。同図に示すように、この画面遷移では、単一パネル「パネル1」から三つのパネル「パネル2」、「パネル3」および「パネル4」から構成される画面に遷移する。
図6−3は、分割画面表示時の部分フレーム切替えによる画面遷移を示す図である。同図に示すように、この画面遷移では、三つのパネルから構成される画面のうち「パネル2」だけが「パネル4」になる。
図6−4は、親画面からダイアログに遷移する(ダイアログを表示する)画面遷移を示す図である。同図に示すように、この画面遷移では、新たに「パネル2」がダイアログとして表示される。
図6−5は、ダイアログから親画面に遷移する(表示されているダイアログを閉じる)画面遷移を示す図である。同図に示すように、この画面遷移では、ダイアログとして表示されていた「パネル2」が閉じられる。
このように、画面遷移には様々なパターンがあり、本実施例2に係る画面処理プログラムでは、これらの様々な画面遷移をイベントに対応させて定義することを可能とすることによって、多様な画面遷移要求を満たすことができる。
次に、本実施例2に係る画面処理プログラムの構成について説明する。図7は、本実施例2に係る画面処理プログラムの構成を示す機能構成図である。なお、ここでは説明の便宜上、図2に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
図7に示すように、この画面処理プログラム200は、表示パネル情報記憶部120と、画面制御部130と、入出力データ制御部140と、画面遷移定義情報記憶部210と、画面遷移制御部220と、イベント制御部250と、制御部260とを有する。
画面遷移定義情報記憶部210は、イベントに対応する画面遷移を定義する画面遷移定義情報を記憶した記憶部である。画面遷移の定義には、多様な画面遷移を可能とするために、階層構造が用いられる。
図8は、画面遷移定義情報の階層構造の一例を示す図である。同図に示すように、この画面遷移定義情報では、画面遷移定義情報を定義するタグ<transitionMap>の記述の中でタグ<source>によりアクション発生元情報を定義し、タグ<source>の記述の中でタグ<transition>により遷移先画面情報を定義し、タグ<transition>の記述の中でタグ<frame>により遷移先画面の一つのフレームの情報を定義し、タグ<frame>の記述の中でタグ<panel>によりパネルまたはタグ<layout>によりレイアウトを定義する。
そして、タグ<layout>の記述の中でタグ<frame>によりフレームの情報を繰り返し定義することができる。このように、本実施例2に係る画面処理プログラムでは、画面遷移の定義に繰り返し定義が可能な階層構造を用いることによって、多様な画面遷移を定義することができる。図9は、図8に示した画面遷移定義情報の階層構造を定義するDTD(Document Type Definition)の一例を示す図である。
図10は、図8に示した画面遷移定義情報のXML定義体項目を示す図である。図10に示すように、この画面遷移定義情報では、タグ<source>は属性としてアクションが発生したパネルを識別するpanelID(パネルID)、アクションが発生した項目を識別するitemID(アイテムID)および発生したアクションを識別するactionID(アクションID)を有する。
また、タグ<transition>は属性として遷移先画面を表示するフレームを表わすtarget、表示するレイアウトを識別するlayoutID、遷移先の横サイズを表わすwidth、遷移先の縦サイズを表わすheight、遷移先の表示位置(X座標)を表わすpositionXおよび遷移先の表示位置(Y座標)を表わすpositionYを有する。
また、タグ<frame>は属性としてフレームを識別する<frameID>を有し、タグ<panel>は属性として遷移元パネルと遷移先パネルの間の項目データの引継ぎを指定する<inheritance>を有する。この<inheritance>によって項目データの引継ぎが指定された場合には、遷移元パネルと遷移先パネルの間で同一の<itemID>を有する項目のデータが引き継がれる。
図11−1および図11−2は、画面遷移定義情報の一例を示す図(1)および(2)である。図11−1では、パネル「P000」から「P001」への単一画面遷移、パネル「P001」から三つのパネル「P002」、「P003」および「P004」への画面遷移、一部のフレーム「F002」のパネル切替え、ならびにネスト構造を有する分割画面への画面遷移が定義されている。また、図11−2では、ダイアログを生成する場合およびダイアログを閉じる場合の画面遷移が定義されている。
画面遷移制御部220は、イベント制御部250からの依頼に基づいて、画面遷移定義情報記憶部210に記憶された画面遷移定義情報を用いて画面遷移を特定し、特定した画面遷移を行う処理部である。この画面遷移制御部220は、画面遷移定義情報を用いて画面遷移を特定する場合に、複数の画面遷移が該当する場合には、所定の優先度に基づいて画面遷移を特定する。
図12は、画面遷移決定要因の組み合わせと優先度を示す図である。同図に示すように、画面遷移は、パネルID、アイテムIDおよびアクションIDの組み合わせで指定されるイベントにより決定される。ここで、パネルIDとアイテムIDは省略可能であり、省略した場合には、それぞれ任意のパネル、項目を示す。
また、該当する画面遷移が複数ある場合には、パネルID、アイテムIDおよびアクションIDの全てが指定されている画面遷移の優先度が最も高く、アクションIDだけが指定されている画面遷移の優先度が最も低い。
また、画面遷移制御部220は、ダイアログから他のダイアログへの画面遷移を行うこともできる。図13は、親ウィンドウおよびダイアログの画面遷移時の動作を示す図である。同図は、遷移元画面および遷移先画面がそれぞれ親ウィンドウまたはダイアログである場合の画面遷移時の動作を示している。
同図に示すように、画面遷移制御部220は、遷移元画面と遷移先画面の両方が親ウィンドウである場合には、フレーム内でのパネルおよびレイアウト遷移を行い、遷移元画面と遷移先画面の両方がダイアログである場合には、ダイアログはそのままで、中身の切替えを行う。
また、遷移元画面が親ウィンドウで遷移先画面がダイアログである場合には、モーダルダイアログオープンを行い、遷移元画面がダイアログで遷移先画面が親ウィンドウである場合には、ダイアログクローズを行う。
イベント制御部250は、画面制御部130からイベントを受け付け、画面遷移制御部220に画面遷移を依頼する処理部であり、制御部260は、画面処理プログラム200全体の制御をおこなう処理部である。
次に、本実施例2に係る画面処理プログラム200によるイベント処理の処理手順について説明する。図14は、本実施例2に係る画面処理プログラム200によるイベント処理の処理手順を示すフローチャートである。
同図に示すように、この画面処理プログラム200は、イベント制御部250が画面制御部130を介してイベントを受け取り(ステップS201)、画面遷移制御部220に画面遷移を依頼する。
そして、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得し(ステップS202)、取得した画面遷移定義情報に基づいて不要パネルを返却し(ステップS203)、必要パネルを借り出す(ステップS204)。
そして、パネル間で引き継がれるデータの自動転記を入出力データ制御部140を用いて行い(ステップS205)、画面制御部130を介して画面表示と初期フォーカスの設定を行う(ステップS206〜ステップS207)。
このように、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得して不要パネルの返却および必要パネルの借り出しを行うことによって、利用者の画面操作に対応する画面遷移を行うことができる。
次に、親ウィンドウからダイアログへ遷移する場合の画面処理プログラム200によるイベント処理の処理手順について説明する。図15は、親ウィンドウからダイアログへ遷移する場合の画面処理プログラム200によるイベント処理の処理手順を示すフローチャートである。
同図に示すように、親ウィンドウからダイアログへ遷移する場合には、イベント制御部250が画面制御部130を介してイベントを受け取り(ステップS221)、画面遷移制御部220に画面遷移を依頼する。
そして、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得し(ステップS222)、取得した画面遷移定義情報に基づいてダイアログをオープンし(ステップS223)、必要パネルを借り出す(ステップS224)。
そして、パネル間で引き継がれるデータの自動転記を入出力データ制御部140を用いて行い(ステップS225)、画面制御部130を介して画面表示と初期フォーカスの設定を行う(ステップS226〜ステップS227)。
このように、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得してダイアログのオープンおよび必要パネルの借り出しを行うことによって、利用者の画面操作に対応するダイアログをオープンすることができる。
次に、ダイアログから親ウィンドウへ遷移する場合の画面処理プログラム200によるイベント処理の処理手順について説明する。図16は、ダイアログから親ウィンドウへ遷移する場合の画面処理プログラム200によるイベント処理の処理手順を示すフローチャートである。
同図に示すように、ダイアログから親ウィンドウへ遷移する場合には、イベント制御部250が画面制御部130を介してイベントを受け取り(ステップS241)、画面遷移制御部220に画面遷移を依頼する。
そして、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得し(ステップS242)、取得した画面遷移定義情報に基づいて不要パネルを返却し(ステップS243)、ダイアログをクローズする(ステップS244)。
そして、パネル間で引き継がれるデータの自動転記を入出力データ制御部140を用いて行い(ステップS245)、画面制御部130を介して画面表示と初期フォーカスの設定を行う(ステップS246〜ステップS247)。
このように、画面遷移制御部220が画面遷移定義情報記憶部210から画面遷移定義情報を取得して不要パネルの返却およびダイアログのクローズを行うことによって、利用者の画面操作に対応してダイアログをクローズすることができる。
上述してきたように、本実施例2では、画面遷移定義情報記憶部210が多様な画面遷移パターンの指定が可能な画面遷移定義情報をイベントに対応させて記憶し、画面遷移制御部220が発生したイベントに対して画面遷移定義情報を用いて画面遷移を行うことによって、イベントに画面遷移を対応させるフレームワークを用いて多様なパターンの画面遷移を行うことができる。
上記実施例2では、多様な画面遷移パターンの指定が可能な画面処理プログラム200について説明したが、画面遷移を行う場合、遷移先の画面の表示前に、項目表示/非表示の切替や引継ぎデータの処理などの表示前処理や、画面の表示後に入力カーソルが表示される前に、例えばICカードの読み取りなどのデバイス制御を入力前処理として行いたい場合がある。そこで、本実施例3では、表示前処理や入力前処理を指定することが可能な画面処理プログラムについて説明する。
まず、本実施例3に係る画面処理プログラムによるイベント処理の概要について説明する。図17は、本実施例3に係る画面処理プログラムによるイベント処理の概要を説明するための説明図である。
同図に示すように、利用者が画面のボタンを押下する、Enterキーを押下するなどの操作を行ってアクションが発生すると、本実施例3に係る画面処理プログラムは、アクションを検出し(1)、業務処理を行うために呼び出すプログラムをアクションマッピング定義情報を用いて検索し、画面遷移についての情報を画面遷移定義情報を用いて検索する(2)。
このとき、アクションマッピング定義情報と画面遷移定義情報の同一イベントを同一の遷移IDで紐付けを行うことによって、イベントに対する遷移先画面と呼出プログラムについての情報を効率良く検索することができる。すなわち、遷移IDで紐付けすることによって、アクションマッピング定義情報と画面遷移定義情報とを併せた遷移元情報と遷移先情報を効率良く得ることができる。
また、アクションマッピング定義情報には、呼出プログラムに加えて表示前処理を行うプログラムや入力前処理を行うプログラムをイベントに対応させて定義する。したがって、遷移IDを用いてアクションマッピング定義情報と画面遷移定義情報とを紐付けすることによって、イベントに対する遷移先画面と呼出プログラムについての情報に加えて表示前処理および入力前処理についての情報も効率良く検索することができる。
そして、検索したプログラムを呼び出して実行し(3)、プログラムを実行した後、検索した画面遷移を行う際に、画面初期処理として表示前処理や入力前処理を行う(4)。
このように、本実施例3に係る画面処理プログラムは、呼出プログラム、表示前処理および入力前処理についての情報をイベントに対応させて定義したアクションマッピング定義情報と画面遷移定義情報とを遷移IDを用いて紐付けすることによって、イベントが発生した場合に、プログラムの呼出と画面遷移を効率良く行うとともに、表示前処理および入力前処理を行うことができる。
次に、本実施例3に係る画面処理プログラムの構成について説明する。図18は、本実施例3に係る画面処理プログラムの構成を示す機能構成図である。なお、ここでは説明の便宜上、図2または図7に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
図18に示すように、この画面処理プログラム300は、表示パネル情報記憶部120と、画面制御部130と、入出力データ制御部140と、アクションマッピング定義情報記憶部310と、画面遷移定義情報記憶部320と、画面遷移制御部330と、イベント制御部350と、制御部360とを有する。
アクションマッピング定義情報記憶部310は、アクションマッピング定義情報を記憶する記憶部であり、アクションマッピング定義情報としては、業務処理に加えて表示前処理および入力前処理の情報ならびに遷移IDがイベントに対応させて定義される。
図19は、アクションマッピング定義情報記憶部310が記憶するアクションマッピング定義情報の一例を示す図である。同図において、タグ<source>の記述中screenIDが遷移IDを表わす属性であり、画面遷移定義情報で定義され、アクションマッピング定義情報と画面遷移定義情報との間の結びつけを行う。また、タグ<source>の記述中beforeIDが表示前処理や入力前処理を指定する属性である。
このように、アクションマッピング定義情報のタグ<source>の属性によって遷移ID、表示前処理および入力前処理を指定することによって、画面遷移と表示前処理および入力前処理とを結びつけることができる。
画面遷移定義情報記憶部320は、画面遷移定義情報を記憶する記憶部であり、図20は、画面遷移定義情報のXML定義体項目を示す図である。同図に示すXML定義体項目は、図10に示したXML定義体項目と比較すると、属性として遷移IDを指定するscreenIDが追加されている。
このタグ<transition>の属性screenIDで指定した遷移IDをアクションマッピング定義情報のタグ<source>の属性screenIDで指定することによって、アクションマッピング定義情報と画面遷移定義情報とを結びつけることができる。
画面遷移制御部330は、イベント制御部350からイベントを受け取り、受け取ったイベントに対応する画面遷移を画面遷移定義情報記憶部320に記憶された画面遷移定義情報を用いて特定し、特定した画面遷移を行う処理部である。
イベント制御部350は、画面制御部130からイベントを受け取り、受け取ったイベントに対応する業務処理を行う処理部である。また、このイベント制御部350は、画面遷移に対して指定された表示前処理および入力前処理を行う。
このイベント制御部350は、初期化処理部151、イベント判定処理部152に加えて前処理部353を有する。前処理部353は、画面遷移に対して指定された表示前処理および入力前処理を行う処理部である。具体的には、この前処理部353は、遷移IDとアクションマッピング定義情報とを用いて表示前処理や入力前処理を特定し、特定した表示前処理や入力前処理を行う。
制御部360は、画面処理プログラム300全体の制御をおこなう処理部であり、具体的には、処理部間の制御の受け渡し、処理部と記憶部の間のデータの受け渡しなどをおこなうことによって、画面処理プログラム300を一つのプログラムとして機能させる。
次に、本実施例3に係る画面遷移に対応するアクションマッピング定義情報の例について説明する。図21は、処理の指定がない画面遷移を示す図である。同図は、業務処理、表示前処理、入力前処理のいずれの処理指定もない画面遷移を示し、このような画面遷移では、アクションマッピング定義が不要なため遷移IDも不要となり、画面遷移定義情報においても遷移IDは指定されない。
図22−1は、任意のパネルから同一の操作によって同一のパネルへ遷移する画面遷移を示す図である。同図は、パネル「PanelA」またはパネル「PanelC」においてボタン「Button1」が押下された場合に、クラス「Class1」のメソッド「method1」を業務処理として呼び出し、パネル「PanelB」に遷移して表示前処理を行う場合を示す。
このように、任意のパネルから同一の操作によって同一のパネルへ遷移するときに実行する業務処理と表示前処理が同じ場合には、画面遷移の遷移IDを同一のものとし、一つの画面遷移として定義することができる。
図22−2は、図22−1に示した画面遷移に対応する遷移元情報および遷移先情報を示す図である。同図に示すように、この画面遷移では、遷移元パネルの指定を省略することができる。
図22−3は、図22−1に示した画面遷移に対するアクションマッピング定義情報を示す図である。同図に示すように、タグ<source>の属性として、遷移IDを指定するscreenIDと表示前処理を指定するbeforeIDが定義され、遷移元パネルを指定するpanelIDは定義されない。
図23−1は、同一パネルの任意の項目に対して同一の操作により同一のパネルへ遷移する画面遷移を示す図である。同図は、パネル「PanelA」においてカーソルが位置付けられた項目が「FLD1」または「FLD2」である場合に「ENTER」がキーインされた場合に、クラス「Class1」のメソッド「method1」を業務処理として呼び出し、パネル「PanelB」に遷移して入力前処理を行う場合を示す。
このように、同一パネルの任意の項目に対して同一の操作により同一のパネルへ遷移するときに実行する業務処理と入力前処理が同じ場合には、二つの画面遷移の遷移IDを同一のものとし、一つの画面遷移として定義することができる。
図23−2は、図23−1に示した画面遷移に対応する遷移元情報および遷移先情報を示す図である。同図に示すように、同一パネルの任意の項目に対する同一操作により同一のパネルへ遷移する画面遷移では、遷移元項目の指定を省略することができる。
図23−3は、図23−1に示した画面遷移に対するアクションマッピング定義情報を示す図である。同図に示すように、タグ<source>の属性として、遷移IDを指定するscreenIDと入力前処理を指定するbeforeIDが定義され、遷移元パネルを指定するitemIDは定義されない。
図24−1は、異なるパネルから同一のパネルへ遷移する場合に異なる業務処理を行う画面遷移を示す図である。同図は、パネル「PanelA」において「Button1」が押下されてパネル「PanelB」に遷移した場合と、パネル「PanelC」において「Button3」が押下されてパネル「PanelB」に遷移した場合で異なる遷移IDを付加し、異なる業務処理を呼び出す場合を示している。
このように、異なるパネルから同一のパネルへ遷移する場合に異なる遷移IDを付加して異なる画面遷移を定義することによって、遷移元パネルに応じて業務処理の振り分けを行うことができる。
図24−2は、図24−1に示した画面遷移に対応する遷移元情報および遷移先情報を示す図である。同図に示すように、パネル「PanelA」からパネル「PanelB」に遷移する場合と、パネル「PanelC」からパネル「PanelB」に遷移する場合で、異なる遷移IDおよび異なるメソッドを定義することができる。
次に、本実施例3に係る画面処理プログラム300によるイベント処理の処理手順について説明する。図25は、本実施例3に係る画面処理プログラム300によるイベント処理の処理手順を示すフローチャートである。
同図に示すように、この画面処理プログラム300は、イベント制御部350が画面制御部130を介してイベントを受け取り(ステップS301)、アクションマッピング定義情報を用いて業務処理を特定し、特定した業務処理を実行する(ステップS302)。
そして、画面遷移制御部330に画面遷移を依頼し、画面遷移制御部330が遷移IDを用いて画面遷移定義情報記憶部320から画面遷移定義情報を取得し(ステップS303)、取得した画面遷移定義情報に基づいて不要パネルを返却し(ステップS304)、必要パネルを借り出す(ステップS305)。
そして、パネル間で引き継がれるデータの自動転記を入出力データ制御部140を用いて行い(ステップS306)、イベント制御部350に制御を戻す。そして、イベント制御部350がアクションマッピング定義情報に定義された表示前処理を実行し(ステップS307)、画面制御部130を介して画面を表示する(ステップS308)。
そして、画面表示後に、アクションマッピング定義情報に定義された入力前処理を実行し(ステップS309)、画面制御部130を介して初期フォーカスの設定を行う(ステップS310)。
このように、イベント制御部350がアクションマッピング定義情報に定義された業務処理、表示前処理および入力前処理を実行し、画面遷移制御部330が画面遷移定義情報に定義された画面遷移を実行することによって、イベントに対応した多様な処理や画面遷移を行うことができる。
上述してきたように、本実施例3では、画面遷移定義情報の各画面遷移に対して遷移IDを定義し、アクションマッピング定義情報に業務処理に加えて表示前処理、入力前処理および遷移IDをイベントに対応させて定義し、画面遷移時にイベント制御部350が画面遷移の遷移IDに対応する表示前処理や入力前処理がアクションマッピング定義情報に定義されている場合にこれらの前処理を実行することとしたので、イベントに画面遷移や業務処理を対応させるフレームワークを用いて多様なパターンの画面遷移を行うことができる。
次に、本実施例1〜3に係る画面処理プログラムを実行するクライアントすなわちコンピュータシステムについて説明する。図26は、本実施例1〜3に係る画面処理プログラムを実行するコンピュータシステムを示す図である。
同図に示すように、このコンピュータシステム400は、本体部401と、本体部401からの指示により表示画面402aに情報を表示するディスプレイ402と、このコンピュータシステム400に種々の情報を入力するためのキーボード403と、ディスプレイ402の表示画面402a上の任意の位置を指定するマウス404と、LAN406または広域エリアネットワーク(WAN)に接続するLANインタフェースと、公衆回線407に接続するモデムとを有する。ここで、LAN406は、他のコンピュータシステム(PC)411、サーバ412、プリンタ413などとコンピュータシステム400とを接続している。
また、図27は、図26に示した本体部401の構成を示す機能ブロック図である。同図に示すように、この本体部401は、CPU421と、RAM422と、ROM423と、ハードディスクドライブ(HDD)424と、CD−ROMドライブ425と、FDドライブ426と、I/Oインタフェース427と、LANインタフェース428と、モデム429とを有する。
そして、このコンピュータシステム400において実行される画面処理プログラムは、LANインタフェース428を介して接続されたサーバ412のデータベースにアプレットとして記憶され、データベースから読み出されてコンピュータシステム400にダウンロードされる。そして、ダウンロードされた画面処理プログラムは、RAM422、ROM423などを利用してCPU421により実行される。
なお、本実施例では、画面処理プログラムがアプレットとして動作する場合について説明したが、本発明はこれに限定されるものではなく、アプレット以外のプログラムとして動作する場合にも同様に適用することができる。
また、本実施例では、利用者の画面操作をアクションとして定義し、アクションが発生した場合に業務処理、画面遷移、表示前処理および入力前処理を行う場合について説明したが、本発明はこれに限定されるものではなく、周辺機器やサーバからの通知をアクションとして定義して業務処理、画面遷移、表示前処理および入力前処理を行う場合にも同様に適用することができる。
(付記1)利用者の画面操作を受け付け、該受け付けた画面操作に対応する処理を行う画面処理プログラムであって、
画面上でカーソルが位置付けられているパネルおよび項目ならびに利用者の操作を組み合わせて指定されるイベントにイベントが発生した際の処理を対応付けたイベント処理表を用いて、利用者の操作によりイベントが発生した際に、発生したイベントに対応する処理を特定する処理特定手順と、
前記処理特定手順により特定された処理を利用者の画面操作に対応する処理として行う処理実行手順と、
をコンピュータに実行させることを特徴とする画面処理プログラム。
(付記2)前記イベント処理表はイベントを指定する場合に前記パネルの指定を省略することが可能であり、該パネルの指定を省略した場合には、前記項目および画面操作の組み合わせが可能な任意のパネルを対象とするイベントの指定であるとすることを特徴とする付記1に記載の画面処理プログラム。
(付記3)利用者の画面操作を受け付け、該受け付けた画面操作に対応する画面遷移を行う画面処理プログラムであって、
利用者の画面操作により発生するイベントに遷移先画面としてフレームのレイアウト定義が可能な画面遷移を対応付けた画面遷移表を用いて、利用者の操作によりイベントが発生した際に、発生したイベントに対応する画面遷移を特定する画面遷移特定手順と、
前記画面遷移特定手順により特定された画面遷移を利用者の画面操作に対応する画面遷移として行う画面遷移実行手順と、
をコンピュータに実行させることを特徴とする画面処理プログラム。
(付記4)前記イベントは、画面上でカーソルが位置付けられているパネルおよび項目ならびに利用者の操作を組み合わせて指定されることを特徴とする付記3に記載の画面処理プログラム。
(付記5)前記画面遷移表はイベントを指定する場合に前記パネルの指定を省略することが可能であり、該パネルの指定を省略した場合には、前記項目および画面操作の組み合わせが可能な任意のパネルを対象とするイベントの指定であるとすることを特徴とする付記4に記載の画面処理プログラム。
(付記6)利用者の画面操作を受け付け、該受け付けた画面操作に対応する画面遷移を行う画面処理プログラムであって、
利用者の画面操作により発生するイベントに遷移先画面に対して画面表示の前処理および入力要求の前処理が指定可能な画面遷移を対応付けた画面遷移表を用いて、利用者の操作によりイベントが発生した際に、発生したイベントに対応する画面遷移を特定する画面遷移特定手順と、
前記画面遷移特定手順により特定された画面遷移を利用者の画面操作に対応する画面遷移として行うとともに、前記画面表示の前処理、入力要求の前処理が指定された場合に、該指定された前処理を行う画面遷移実行手順と、
をコンピュータに実行させることを特徴とする画面処理プログラム。
(付記7)前記画面表示の前処理、入力要求の前処理の指定は、画面遷移を識別する遷移識別子を用いて行うことを特徴とする付記6に記載の画面処理プログラム。
(付記8)前記利用者の画面操作により発生するイベントに該イベントに対する処理を対応付けたイベント処理表を用いて、イベントが発生した際に、発生したイベントに対応する処理を特定する処理特定手順をさらにコンピュータに実行させ、前記画面表示の前処理および入力要求の前処理の指定は、該イベント処理表を用いて行い、該イベント処理表と前記画面遷移表との対応付けは前記遷移識別子を用いて行うことを特徴とする付記7に記載の画面処理プログラム。
(付記9)前記イベントは、画面上でカーソルが位置付けられているパネルおよび項目ならびに利用者の操作を組み合わせて指定されることを特徴とする付記6、7または8に記載の画面処理プログラム。
(付記10)前記イベント処理表および画面遷移表はイベントを指定する場合に前記パネルの指定を省略することが可能であり、該パネルの指定を省略した場合には、前記項目および画面操作の組み合わせが可能な任意のパネルを対象とするイベントの指定であるとすることを特徴とする付記9に記載の画面処理プログラム。