JP4039842B2 - Screen transition method and screen transition program - Google Patents

Screen transition method and screen transition program Download PDF

Info

Publication number
JP4039842B2
JP4039842B2 JP2001324493A JP2001324493A JP4039842B2 JP 4039842 B2 JP4039842 B2 JP 4039842B2 JP 2001324493 A JP2001324493 A JP 2001324493A JP 2001324493 A JP2001324493 A JP 2001324493A JP 4039842 B2 JP4039842 B2 JP 4039842B2
Authority
JP
Japan
Prior art keywords
screen
information
specifying
command object
transitioned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001324493A
Other languages
Japanese (ja)
Other versions
JP2003131780A (en
Inventor
努 細川
幸太郎 鈴村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Research Institute Ltd
Original Assignee
Japan Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Research Institute Ltd filed Critical Japan Research Institute Ltd
Priority to JP2001324493A priority Critical patent/JP4039842B2/en
Publication of JP2003131780A publication Critical patent/JP2003131780A/en
Application granted granted Critical
Publication of JP4039842B2 publication Critical patent/JP4039842B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、ウェブページなどのステートレスなプロトコル上での画面遷移を制御する方法およびプログラムに関する。
【0002】
【従来の技術】
近年、動的にウェブページを表示するシステムにおいて、MVC(Model View Controller)アーキテクチャが普及している。これは、J2EE(Java(登録商標) 2 Platform, Enterprise Edition)にて標準として採用されている手法で、画面インタフェースと業務処理とを分離させることを目的としており、各機能の専門家による分業により、ウェブページを用いたシステムを設計できるようになっている。
【0003】
MVCアーキテクチャにおいて、コントローラは、ユーザからの要求を受け付けて、モデルを呼び出す。コントローラは、ビューとモデルを結びつける働きをするため、これらに対する知識を有している。モデルは、コマンドオブジェクトと同義であり、クラスの名前(クラス名)およびメソッド(メソッド名)を持っている。モデルは、業務機能を実行し、あるいは、データに対する振る舞いを定義する。モデルは、コントローラやビューについては関知しない。ビューは、モデルからの情報に基づいて画面を描画する。
【0004】
従来のMVCアーキテクチャにおいて、モジュール名および結果という2つのパラメタを利用して、画面遷移を制御する手法が知られている。ここでは、モジュール名と、結果画面とが対応付けられ、モジュール名に関連する処理の実行に伴って遷移すべき画面が決定されている。
【0005】
たとえば、商品の注文において、商品の検索、参照、登録、追加、および、変更の機能が可能であると、注文検索、注文参照、注文登録、注文追加、注文変更というモジュール名の各々について、成功した場合に遷移すべき画面を特定する情報、および、失敗した場合に遷移すべき画面を特定する情報を対応付けたテーブルが利用される。
【0006】
【発明が解決しようとする課題】
上記従来の手法においては、以下のような問題点があった。
まず、どの画面からも、モジュールに関連する処理が呼び出されると、呼び出し画面に関係なく画面が決定されてしまった。これを避けるためには、著しく細かく分割されたモジュール名を用意しておくか、或いは、結果を細かく分割しておく必要があった。これにより、画面遷移に定義する値の種類が著しく増大し、定義自体が難解なものとなるという問題点があった。
【0007】
モジュール名を分割する、或いは、結果の値を分割するということは、遷移先の画面を指定することと実施的に等しくなるという問題点もあった。
そのため、画面遷移の変更や、新たな機能の追加にともなって、モジュールを分割するか、或いは、モジュール自体を修正しなければならないという問題点もあった。
【0008】
本発明は、簡単な構造で木目の細かい画面遷移を制御できるとともに、遷移の変更や画面の追加にも、モジュールを変更することなく対応できる画面遷移の手法を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の目的は、リクエストに応答して、提示すべき画面を、ある画面から他の画面に遷移させる方法であって、画面を一意的に特定する画面IDを用いて、提示している画面を示す現在画面IDと、当該画面にて実行可能なモジュールに対応するコマンドオブジェクトを特定する情報、当該コマンドオブジェクトにて呼び出されるメソッドを特定する情報、および、当該コマンドオブジェクトのメソッドの実行により引き起こされた処理の結果、遷移すべき少なくとも一以上の画面IDを定義した定義テーブルを設けるステップと、前記ある画面に関連して、前記コマンドオブジェクトを特定する情報およびメソッドを特定する情報を示すパラメタを含む要求を受理するステップと、前記要求の受理に応答して、前記定義テーブルを参照して、前記ある画面を現在画面IDとして、コマンドオブジェクトを特定する情報およびメソッドを特定する情報とともに、処理結果にしたがって、遷移すべき画面IDを特定するステップと、特定された画面IDに対応つけられた画面を提示するステップとを備えたことを特徴とする画面遷移方法により達成される。
【0010】
本発明によれば、定義テーブルにおいて、少なくとも、現在画面ID、コマンドオブジェクトを特定する情報および呼び出されるメソッドを特定する情報とに基づき、遷移すべき画面IDが決定される。したがって、画面遷移を容易に定義することができ、かつ、定義すべき情報の把握も容易にすることができる。
また、定義テーブルにおいて、遷移する画面のIDのみを変更すること、或いは、呼び出されるメソッドを変更することにより、レイアウトの変更や追加を実現することが可能となる。
【0011】
好ましい実施態様においては、前記定義テーブルを設けるステップが、前記現在画面IDの各々に対応して、少なくとも、処理結果が成功であった場合に遷移すべき画像を示す第1の画面IDと、処理結果が失敗であった場合に遷移すべき画像を示す第2の画面IDとを定義するステップを含む。無論、成功/失敗の2値に限定されるものではなく、一意的な画面遷移や、3つ以上に分岐する可能性のある画面遷移に適用できることは言うまでもない。
【0012】
別の好ましい実施態様においては、前記定義テーブルを設けるステップが、選択的に、前記コマンドオブジェクトを特定する情報として、任意のコマンドオブジェクトを示す情報を設定するステップを含む。これは、いわゆるワイルドカードとなる。つまり、定義テーブル中にコマンドオブジェクトを特定する情報として、ワイルドカードを用意することで、たとえば、ウェブページの「戻る」ボタンをオンした際の処理を容易に実現することができる。従来の手法では、これを実現するためには、「戻る」を実現するためのモジュールを用意する必要があったが、上記実施態様によれば、モジュールを用意しておく必要が無くなる。
【0013】
さらに別の好ましい実施態様においては、前記定義テーブルを設けるステップが、選択的に、前記現在画面IDを特定する情報として、任意の画面を示す情報を設定するステップを含む。また、前記定義テーブルを設けるステップが、選択的に、前記メソッドを特定する情報として、任意のメソッドを示す情報を設定するステップを含んでいても良い。これらは、それぞれ、現在画面IDをワイルドカードとする場合と、メソッドをワイルドカードとする場合に対応する。
【0014】
さらに好ましい実施態様においては、前記遷移すべき画面IDを特定するステップが、コマンドオブジェクトを示す情報により特定されるクラスの、前記メソッドを示す情報により特定されるメソッドを呼び出すステップと、前記呼び出されたメソッドに関連するモジュールが、定められた処理を実行するステップと、前記処理を実行した結果に基づいて、前記定義テーブルを把握したハンドラが、前記遷移すべき画面IDを決定するステップとを含む。
【0015】
より好ましい実施態様においては、さらに、前記画面を提示するステップが、決定された画面IDにしたがって、当該画面IDにて示されるページにディスパッチするステップを備えている。前記画面を提示するステップが、前記ディスパッチに応答して、前記関連するモジュールから結果を取得するステップを含むことが、より望ましい。
【0016】
また、本発明の目的は、リクエストに応答して、提示すべき画面を、ある画面から他の画面に遷移させるためにコンピュータを動作させるプログラムであって、画面を一意的に特定する画面IDを用いて、提示している画面を示す現在画面IDと、当該画面にて実行可能なモジュールに対応するコマンドオブジェクトを特定する情報、当該コマンドオブジェクトにて呼び出されるメソッドを特定する情報、および、当該コマンドオブジェクトのメソッドの実行により引き起こされた処理の結果、遷移すべき少なくとも一以上の画面IDを定義した定義テーブルを設けるステップと、前記ある画面に関連して、前記コマンドオブジェクトを特定する情報およびメソッドを特定する情報を示すパラメタを含む要求を受理するステップと、前記要求の受理に応答して、前記定義テーブルを参照して、前記ある画面を現在画面IDとして、コマンドオブジェクトを特定する情報およびメソッドを特定する情報とともに、処理結果にしたがって、遷移すべき画面IDを特定するステップと、特定された画面IDに対応つけられた画面を提示するステップとを、前記コンピュータに実行させることを特徴とする、コンピュータにより読み出し可能なプログラムにより達成される。
【0017】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態につき説明を加える。図1は、本発明の実施の形態にかかるシステムの概略を示すブロックダイヤグラムである。図1に示すように、本実施の形態においては、インターネット12に、クライアントマシン14−1、14−2、・・・や、サーバ16が接続されている。サーバ16は、クライアントマシン14からの種々のリクエストに対して、所定のコンテンツ(たとえば、画像)を提供することができる。
無論、本発明は、クライアントマシン14はインターネット12を介してサーバ16に接続できる形態に限定されるものではなく、LANやWANなど任意のネットワークを介して接続されたものに適用できることは言うまでもない。
【0018】
図2は、本実施の形態にかかるサーバ16の構成を示すブロックダイヤグラムである。図2に示すように、サーバ16は、MVCモデル中の、コントローラに相当する第1の部分20と、モデルに相当する第2の部分22と、ビューに相当する第3の部分24とを有している。また、サーバ16は、モデルを管理するモデルマネージャ26を有している。
【0019】
第1の部分20は、プロキシサーブレット30、リクエストプロセッサ32、コマンドハンドラ34、フローマネージャ36およびコマンドフローハンドラ40を備えている。プロキシサーブレット30は、クライアントマシン14において現在のページを閲覧しているユーザが、入力装置を操作することによりサーバ16に伝達された要求(Http Request)を受理して、リクエストプロセッサ32に伝達する。
【0020】
コマンドハンドラ34は、画面からのパラメタを取得してEJB(Enterprise Java Beans:登録商標)オブジェクト(コマンドオブジェクト)を呼び出す。コマンドフローハンドラ40は、後述する画面遷移の定義を読み込んでおき、画面IDを決定して、所定のページをセット(setPage)する。
第2の部分22は、種々のコマンドEJB42−1、42−2、・・・から構成される。本実施の形態においては、業務機能の単位でEJBが作成されている。コマンドハンドラ34により選択されて呼び出されたEJB42は、データベース44をアクセスして、必要なオブジェクト46の読み出し等の処理を実行する。
【0021】
また、第3の部分24は、種々のJSP(Java Server Pages:登録商標)を含む。たとえば、第3の部分24には、クライアントマシンに与えられる最終結果のページ(Proxy.jsp)48や、これを構成するページ(Page.jsp)50。Page.jspを構成するポートレット(portlet.jsp)52−1、52−2、・・・が含まれる。本実施の形態にかかるページ構成について、以下に説明する。
【0022】
図3は、いわゆるコンポジットビューを説明する図である。本実施の形態において、画面300は、複数の部品301〜303に分割されている。それぞれの部分は、JSPに対応している。たとえば、ヘッダー部品301は、ある第1のJSP(header.jsp)311に対応し、メニュー部品302は、第2のJSP(menu.jsp)312に対応している。また、メッセージ部品303は、第3のJSP(message.jsp)313に対応している。コンポジットビューを採用することにより、たとえば、画面遷移の際に、ヘッダー部品301やメニュー部品302が同一であるようなものを生成して、クライアントマシンに与えることができる。
【0023】
図4は、本実施の形態にて用いられるページ構成を示す図である。図4に示すように、本実施の形態においては、ヘッダー画面部品411とフッター画像部品412とが全ての画像の上部および下部にそれぞれ配置される。図4(a)において、ある画像(A01)401では、ヘッダー画面部品411、注文検索条件画面部品413およびフッター画面部品412から構成され、その一方、他の画像(A02)402では、注文検索条件画面部品413の代わりに、注文一覧画面部品414が含まれている。
【0024】
図4(b)は、ページ構成をより詳細に示す図である。図4(b)に示すように、ページに対応するProxy.jsp(符号420)は、ヘッダー画面部品411に対応するheader.jsp(符号421)、フッター画面部品412に対応するfooter.jsp(符号422)、および、画像によって変わりうるpage.jsp(符号430参照)とを含む。さらに、page.jspは、種々の画面部品である[portlet].jsp(符号433、434参照)を含む。
【0025】
本実施の形態においては、[portlet].jspとして、たとえば、以下のものが用意されている。
ordersearch.jsp:注文検索画面部品
orderlist.jsp:注文一覧画面部品
orderinput.jsp:注文入力画面部品
orderinfo.jsp:注文表示画面部品
inventorysearch.jsp:在庫検索画面部品
inventorylist.jsp:在庫一覧画面部品
無論、これらに限定されるものではなく、他の画面部品(たとえば、ログイン画面部品)が用意されていることは言うまでも無い。
【0026】
[適用例1]
本実施の形態においては、これら画面部品にID(画面ID)が付与され、図5に示すような画面遷移が定義されている。画面遷移を定義したテーブル(定義テーブル)500は、EJBコマンドフローハンドラ40にて読み込まれている。定義テーブル500においては、現在表示されている(表示のために用いられている)画面の画面ID(符号501参照)、コマンド名(符号502参照)、メソッド名(符号503参照)、成功の場合に遷移する第1の結果画面の画面ID(符号504参照)、および、失敗の場合に遷移する第2の結果画面の画面ID(符号505参照)とが含まれる。これは、現在表示されている画面の画面IDが「X01(ログイン画面)」であるときに、関連付けられたコマンド名「ログインコマンド」に基づいて、メソッド名「ログイン」が呼び出されることを意味している。また、ユーザによるユーザIDやパスワードの入力の結果、ログインが成功した場合には、画面IDが「A01」である画面に遷移し、その一方、ログインが失敗した場合には、画面IDが「X01」である画面に遷移することを示している。
【0027】
図6は、注文に関連する画面間の遷移の例を示す図である。この例では、コンポジットビューが採用され、各画面(たとえば、符号601参照)の上下には、共通して、ヘッダー画面部品611およびフッター画面部品612が設けられる。
この例では、ユーザが検索をしようとすることで、注文検索画面画面部品613から、注文一覧画面部品623に遷移し(矢印606参照)、その一方、追加注文をしようとすることで、注文入力画面部品633に遷移する(矢印607参照)。図6において、矢印606〜607の遷移は、それぞれ、図5における欄506〜510に定義された画面遷移のうち、成功した場合に対応している。
【0028】
図5に示す定義に従った画面遷移の処理につき、図7および図8を参照して説明を加える。図7は、現在画面ID=A01であるときに、コマンド名=注文コマンド、メソッド名=検索が実行された結果、成功と判断されて画面遷移が実行された場合(図5の符号506および図6の矢印606参照)を示し、図8は、失敗となった場合を示す。
なお、図7および図8においては、また、後に説明する図13および図14においては、説明を簡単にするため、図2に示していた一部の構成要素のうち、リクエストプロセッサ32およびフローマネージャ36を省略している。
【0029】
図7において、コマンド名=“注文コマンド”およびメソッド名=“検索”というパラメタを含む“Http Request”がプロキシサーブレット30に伝達されると(ステップ701)、EJBコマンドハンドラ34が呼び出される(ステップ702)。EJBコマンドハンドラ34は、コマンド名=“注文コマンド”およびメソッド名=“検索”であることに応答して、“OrderCommand"クラスの“find”メソッドを呼び出す(ステップ703)。これにより、オーダーコマンドモジュール42−iは、データベース44中のオブジェクトを検索する。所定の値や項目を見出すことができ、検索が成功すると、EJBコマンドフローハンドラ704が呼び出される(ステップ704)。
【0030】
EJBコマンドフローハンドラ704は、読み込んでおいた定義テーブル(図5参照)中の現在画面ID、コマンド名、メソッド名および検索結果(成功)を参照して、遷移すべき画面ID=A02を決定する。これにより、プロキシサーブレット30は、画面ID=A02にディスパッチする(ステップ705)。画面部品「A02.jsp」は、画面部品「orderlist.jsp」を含み(矢印706参照)、画面部品「orderlist.jsp」は、オーダーコマンドモジュール42−iから検索結果を取得する。これにより、注文一覧結果部品623を含むような画面602(画面ID=A02)を取得することができる(ステップ707参照)。
【0031】
図8において、ステップ801〜803に関する処理は、図7のステップ701〜703と同様である。オーダーコマンドモジュール42−iが呼び出されると、検索を行うが、この場合には、検索条件が不正のため検索結果を得られない、つまり、検索失敗となる。この場合には、プロキシサーブレット30に呼び出された(ステップ804参照)EJBコマンドフローハンドラ40は読み込んでおいた定義テーブル(図5参照)中の現在画面ID、コマンド名、メソッド名および検索結果(失敗)を参照して、遷移すべき画面ID=A01を決定する。これにより、再度、注文検索条件画面部品613を含む画面601(画面ID=A01)が、クライアントマシンの表示装置に表示されることになる。
定義テーブル500の欄507〜510(図6の矢印607〜610)に記載された画面遷移も同様に実現することができる。
【0032】
[適用例2]
本実施の形態は、他の画面遷移、たとえば、コンポジットビューを利用したものの画面遷移にも利用できることは言うまでもない。図9は、他の例(適用例2)における定義テーブルの例を示す図、図10は、画面遷移を説明する図である。この例は、各画面(図10の符号1011、1012参照)において、注文の一覧(注文一覧画面部品)を見ながら、ユーザが入力をしたい場合に有用である。
【0033】
適用例2においては、図5や図6に示した適用例1と同じコマンド(注文コマンド)を利用して、別のレイアウトの画面を構築している。つまり、本実施の形態においては、定義テーブルの作り方により、同じ部品を使っているにもかかわらず、別の画面遷移や画面レイアウトを構築することが可能となる。
図9における欄901〜907における現在画面から成功した場合の結果画面への遷移は、それぞれ、図10の矢印1001〜1007に対応する。
【0034】
[適用例3]
また、在庫を見ながら注文データを入力したいというニーズがあれば、図11に示すような定義テーブルを用意すればよい。ここでは、コマンド名=在庫コマンドを追加している。図12は、上記定義テーブルが利用された画面遷移を説明する図である。図11における欄1101〜1107における現在画面から成功した場合の結果画面への遷移は、それぞれ、図12の矢印1201〜1207に対応する。
【0035】
図11および図12に示すように、画面ID=C01の画面(注文検索画面)が表示されている状態で、コマンド名=“注文コマンド”かつメソッド名=“追加”というパラメタが与えられ、結果が成功であると、在庫検索条件画面部品、在庫一覧画面部品および注文入力画面部品からなる、画面ID=C03の画面(注文変更・追加画面)に遷移することができる。さらに、画面ID=C02の画面が表示されている状態で、コマンド名=“注文コマンド”かつメソッド名“参照”というパラメタが与えられ、結果が成功であると、在庫検索条件画面部品、在庫一覧画面部品および注文表示画面部品からなる、画面ID=C04の画面(注文確認画面)に遷移することができる。
【0036】
適用例3に関して、図13および図14を参照して、画面遷移の際に実行される処理例をより詳細に説明する。図13は、現在画面ID=C03であるときに、コマンド名=注文コマンド、メソッド名=登録が実行された結果、成功と判断されて画面遷移が実行された場合(図11の符号1105および図12の符号1205参照)を示す。
【0037】
図13において、コマンド名=“注文コマンド”およびメソッド名=“登録”というパラメタを含む“Http Request"がプロキシサーブレット30に伝達されると(ステップ1301)、EJBコマンドハンドラ34が呼び出され(ステップ1302)、“OrderCommand"クラスの“reqist"メソッドが呼び出される(ステップ1303)。これにより、オーダーコマンドモジュール42−pは、必要な登録処理(たとえば、DB44へのデータ記憶)を実行する。登録処理の結果、これが成功であった場合には、EJBコマンドフローハンドラ40が呼び出される(ステップ1304)。
【0038】
EJBコマンドフローハンドラ40は、読み込んでいた定義テーブル(図11参照)中の現在画面ID、コマンド名、メソッド名および登録結果(成功)を参照して、遷移すべき画面ID=C04を決定する。これにより、プロキシサーブレット30は、画像ID=C04にディスパッチする(ステップ1305)。
【0039】
画面部品「C03.jsp」は、3つの画面部品「inventorysearch.jsp」、「inventorylist.jsp」および「orderinfo.jsp」を含み、オーダーコマンドモジュール42−pから、注文入力に必要な情報を取得するとともに、在庫コマンドモジュール42−qから、在庫リストを取得する。これにより、在庫検索条件画面部品(「inventorysearch.jsp」に対応)、在庫一覧画面部品(「inventorylist.jsp」に対応)、および、注文表示画面部品(「orderinfo.jsp」に対応)を含む、注文確認画面(画面ID=C04)が、クライアントマシンの表示装置に表示される(ステップ1306)。
【0040】
図14は、同様に、現在画面ID=C03であるときに、コマンド名=注文コマンド、メソッド名=検索が実行された結果、成功と判断されて画面遷移が実行された場合(図11の符号1106および図12の符号1206参照)を示す。図14において、コマンド名=“在庫コマンド”およびメソッド名=“検索”というパラメタを含む“Http Request"がプロキシサーブレット30に伝達されると(ステップ1401)、EJBコマンドハンドラ34が呼び出され(ステップ1302)、“InventoryCommand"クラスの“find"メソッドが呼び出される(ステップ1403)。これにより、在庫コマンドモジュール42−qは、必要な件検索処理を実行する。検索処理の結果、これが成功であった場合には、EJBコマンドフローハンドラ40が呼び出される(ステップ1404)。
【0041】
EJBコマンドフローハンドラ40は、読み込んでいた定義テーブル(図11参照)中の現在画面ID、コマンド名、メソッド名および検索結果(成功)を参照して、遷移すべき画面ID=C03を決定する。これにより、プロキシサーブレット30は、画像ID=C03にディスパッチする(ステップ1405)。
【0042】
画面部品「C03.jsp」は、3つの画面部品「inventorysearch.jsp」、「inventorylist.jsp」および「orderinput.jsp」を含み、オーダーコマンドモジュール42−pから、注文入力に必要な情報を取得するとともに、在庫コマンドモジュール42−qから、検索結果を示す情報を取得する。これにより、3つの画面部品(「***.jsp」)に夫々対応する在庫検索条件画面部品、在庫一覧画面部品および注文入力画面部品からなる、注文変更・追加画面が、クライアントマシンの表示装置に表示される。
【0043】
[適用例4]
ここでは、ワイルドカードを利用した例につき説明を加える。この例では、各画面の何れかの画面部品に「戻る」というボタン(戻りボタン)が配置され、当該「戻りボタン」をユーザがオン(ないしクリック)することにより、画面遷移が規定される。図15は、ワイルドカードを用いた画面遷移の定義例を示す図である。図15に示すように、それぞれの現在画面に対して、コマンド名にかかわらず(図中、アステリスク「*」で示されている。)、メソッド名=戻るというパラメタを含む“Http Request”が、プロキシサーブレット30に伝達されると、これに応答した処理が実行される。
【0044】
たとえば、現在画面ID=A01である場合(符号1501参照)に、どのようなコマンド名であっても、「戻りボタン」が指定され、処理結果が成功であれば、画面ID=X02であるような画面に遷移する(図16のステップ1601参照)。図16に示すように、コマンド名の如何にかかわらず、メソッド名=戻るを定義するのみで、もとの画面に戻るような画面遷移(矢印1601〜1604参照)を実現することができる。なお、図15における欄1501〜1504が、それぞれ、欄1601〜1604に対応する。
【0045】
このように、本実施の形態によれば、現在画面ID、モジュール名およびメソッド名に関連付けて、遷移すべき画面IDを、成功の場合と失敗の場合をそれぞれ定義している。したがって、多機能なモジュールであっても、シンプルな定義テーブルを利用することができる。たとえば、モジュー名=注文であるようなモジュールについて、検索、参照、登録、変更の4種の機能があり、それぞれ遷移に成功/失敗があれば、8つの画面遷移を定義する必要があるが、本実施の形態によれば、機能ごとに成功/失敗のそれぞれについて総計4つの画面遷移を定義しておけばよい。
【0046】
また、表示される画面に遷移ロジックを記述する必要が無い。上述した従来の手法をとると、結果と遷移先画面とを考慮しなければならず、実質的に遷移ロジックを記述しているのに等しい。これに対して、本実施の形態によれば、画面遷移をさせるボタンに、「何をさせるか」つまり「そのコマンドのどのメソッドを呼ぶか」を考えて実装することが可能となる。
【0047】
さらに、コマンドオブジェクトを変更せずにレイアウトを自由に定義することができる。結果画面のレイアウトが異なることは、結果画面IDが異なることになる。従来の手法において、一つのモジュールから遷移する結果画面ID(つまりレイアウト)を増やすと、モジュールの返す結果の数を増やす必要がある。このため、従来手法ではモジュール本体の変更が必要であった。これに対して、本発明によれば、画面遷移の定義を増やすのみで対応することが可能となる。
【0048】
たとえば、適用例1および適用例2に示すように、権限や役割に応じてレイアウトを簡単に変えることができる。また、適用例3に示すように、複数機能のコンポジットビューに対応することも可能である。
このように本実施の形態によれば、定義テーブルを変更するだけで、同じコマンドオブジェクトと画面部品を用いて、種々のレイアウトを実現することが可能となる。
【0049】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、前記実施の形態においては、インターネット12に接続されたクライアントマシン14からの要求である“Http Request”に応答して、サーバ14が処理を実行し、クライアントマシン14の表示装置に表示すべき画面を遷移しているが、これに限定されるものではなく、他のネットワーク、たとえば、WANやLANにて接続されたクライアントマシン/サーバ間における画面提示および遷移や、単体のコンピュータにおける画面提示およびその遷移にも適用できることは言うまでもない。
【0050】
また、前記実施の形態の適用例4においては、コマンド名にワイルドカード(図15においてアステリスク「*」で示した)を利用し、任意のコマンド名の「戻る」というメソッドに関する画面遷移を説明したが、ワイルドカードが利用できる項目は、コマンド名に限定されるものではなく、現在画面IDやメソッド名にワイルドカードを利用しても良い。たとえば、適用例1(図5参照)に関して、他のレイアウトを考えなくて良いのであれば、現在画面IDを全てワイルドカードにしても良い。また、ログアウトした場合に終了画面に遷移することを記述する場合に、現在画面IDをワイルドカードにするのも有効である。
【0051】
【発明の効果】
本発明によれば、簡単な構造で木目の細かい画面遷移を制御できるとともに、モジュール(コマンドオブジェクト)を変更することなく、画面遷移の変更や画面の追加に柔軟に対応できる画面遷移の手法を提供することが可能となる。
【図面の簡単な説明】
【図1】 図1は、本発明の実施の形態にかかるシステムの概略を示すブロックダイヤグラムである。
【図2】 図2は、本実施の形態にかかるサーバ16の構成を示すブロックダイヤグラムである。
【図3】 図3は、いわゆるコンポジットビューを説明する図である。
【図4】 図4は、本実施の形態にて用いられるページ構成を示す図である。
【図5】 図5は、本実施の形態における定義テーブルの一例を示す図である。
【図6】 図6は、図5に示す定義テーブルを利用した画面遷移を示す図である。
【図7】 図7は、本実施の形態にかかる定義テーブルを利用した画面遷移における処理例を示す図である。
【図8】 図8は、本実施の形態にかかる定義テーブルを利用した画面遷移における処理例を示す図である。
【図9】 図9は、本実施の形態における定義テーブルの他の例を示す図である。
【図10】 図10は、図9に示す定義テーブルを利用した画面遷移を示す図である。
【図11】 図11は、本実施の形態における定義テーブルのさらに他の例を示す図である。
【図12】 図12は、図11に示す定義テーブルを利用した画面遷移を示す図である。
【図13】 図13は、本実施の形態にかかる定義テーブルを利用した画面遷移における処理例を示す図である。
【図14】 図14は、本実施の形態にかかる定義テーブルを利用した画面遷移における処理例を示す図である。
【図15】 図15は、本実施の形態における定義テーブルのさらに他の例を示す図である。
【図16】 図16は、図9に示す定義テーブルを利用した画面遷移を示す図である。
【符号の説明】
14 クライアントマシン
16 サーバ
30 プロキシサーブレット
32 リクエストプロセッサ
34 コマンドハンドラ
36 フローマネージャ
40 コマンドフローハンドラ
[0001]
[Technical field to which the invention belongs]
The present invention relates to a method and a program for controlling screen transition on a stateless protocol such as a web page.
[0002]
[Prior art]
In recent years, MVC (Model View Controller) architecture has become widespread in systems that dynamically display web pages. This is a method adopted as a standard in J2EE (Java (registered trademark) 2 Platform, Enterprise Edition), and aims to separate the screen interface and business processing. It is now possible to design a system using web pages.
[0003]
In the MVC architecture, the controller receives a request from a user and calls a model. The controller has knowledge of these in order to connect the view and the model. A model is synonymous with a command object and has a class name (class name) and a method (method name). The model performs business functions or defines behavior for data. The model is unaware of the controller and view. The view draws the screen based on information from the model.
[0004]
In the conventional MVC architecture, a method of controlling screen transitions using two parameters of a module name and a result is known. Here, the module name and the result screen are associated with each other, and a screen to be transitioned with execution of processing related to the module name is determined.
[0005]
For example, if product search, reference, registration, addition, and change functions are possible in ordering products, each of the module names of order search, order reference, order registration, order addition, and order change will succeed. In this case, a table in which information for specifying a screen to be transitioned in the case of failure and information for specifying a screen to be transitioned in the case of failure is used is associated.
[0006]
[Problems to be solved by the invention]
The conventional method has the following problems.
First, when a process related to a module is called from any screen, the screen is determined regardless of the calling screen. In order to avoid this, it is necessary to prepare module names that are remarkably finely divided or to finely divide the results. As a result, the types of values defined in the screen transition increase remarkably, and the definition itself becomes difficult.
[0007]
Dividing the module name or dividing the result value has the problem that it is practically equivalent to designating the transition destination screen.
Therefore, there has been a problem that the module must be divided or the module itself must be corrected in accordance with the change of screen transition or the addition of a new function.
[0008]
It is an object of the present invention to provide a screen transition technique that can control fine screen transitions with a simple structure and can also handle transition changes and screen additions without changing modules.
[0009]
[Means for Solving the Problems]
An object of the present invention is a method of transitioning a screen to be presented from one screen to another screen in response to a request, the screen being presented using a screen ID that uniquely identifies the screen Caused by the execution of the method of the command object, the information specifying the command object corresponding to the module executable on the screen, the information specifying the method called by the command object As a result of the processing, a step of providing a definition table defining at least one or more screen IDs to be transitioned, and a parameter indicating information specifying the command object and information specifying a method in relation to the certain screen are included. Accepting the request and referencing the definition table in response to accepting the request; The screen is associated with the specified screen ID and the step of specifying the screen ID to be transitioned according to the processing result together with the information specifying the command object and the information specifying the method, with the certain screen as the current screen ID. This is achieved by a screen transition method characterized by comprising a step of presenting a screen.
[0010]
According to the present invention, in the definition table, the screen ID to be transitioned is determined based on at least the current screen ID, the information specifying the command object, and the information specifying the method to be called. Therefore, the screen transition can be easily defined, and the information to be defined can be easily grasped.
In addition, by changing only the ID of the transition screen in the definition table or by changing the method to be called, it is possible to change or add a layout.
[0011]
In a preferred embodiment, the step of providing the definition table corresponds to each of the current screen IDs, at least a first screen ID indicating an image to be transitioned when the processing result is successful, and a process And defining a second screen ID indicating an image to be transitioned when the result is a failure. Of course, it is not limited to the binary value of success / failure, and it goes without saying that it can be applied to a unique screen transition and a screen transition that may branch into three or more.
[0012]
In another preferred embodiment, the step of providing the definition table includes a step of selectively setting information indicating an arbitrary command object as information for specifying the command object. This is a so-called wild card. That is, by preparing a wild card as information for specifying a command object in the definition table, for example, processing when a “return” button on a web page is turned on can be easily realized. In the conventional method, in order to realize this, it is necessary to prepare a module for realizing “return”. However, according to the above embodiment, it is not necessary to prepare a module.
[0013]
In still another preferred embodiment, the step of providing the definition table includes a step of selectively setting information indicating an arbitrary screen as information for specifying the current screen ID. In addition, the step of providing the definition table may include a step of selectively setting information indicating an arbitrary method as information for specifying the method. These correspond to the case where the current screen ID is a wild card and the method is a wild card, respectively.
[0014]
In a further preferred embodiment, the step of specifying the screen ID to be transitioned includes calling a method specified by information indicating the method of a class specified by information indicating a command object, A module related to a method includes a step of executing a predetermined process, and a handler that grasps the definition table based on a result of executing the process determines a screen ID to be transitioned.
[0015]
In a more preferred embodiment, the step of presenting the screen further comprises a step of dispatching to a page indicated by the screen ID according to the determined screen ID. More preferably, presenting the screen includes obtaining results from the associated module in response to the dispatch.
[0016]
Another object of the present invention is a program for operating a computer to transition a screen to be presented from one screen to another screen in response to a request, and a screen ID for uniquely identifying the screen. The current screen ID indicating the screen being presented, information identifying the command object corresponding to the module executable on the screen, information identifying the method called by the command object, and the command A step of providing a definition table defining at least one or more screen IDs to be transitioned as a result of the processing caused by the execution of the method of the object; and information and a method for specifying the command object in relation to the certain screen Receiving a request including a parameter indicating information to be identified; and the request In response to acceptance, referring to the definition table, the screen ID to be transitioned is specified according to the processing result together with the information specifying the command object and the information specifying the method with the certain screen as the current screen ID. The present invention is achieved by a computer-readable program that causes the computer to execute a step and a step of presenting a screen associated with the specified screen ID.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram showing an outline of a system according to an embodiment of the present invention. As shown in FIG. 1, in the present embodiment, client machines 14-1, 14-2,... And a server 16 are connected to the Internet 12. The server 16 can provide predetermined contents (for example, images) in response to various requests from the client machine 14.
Needless to say, the present invention is not limited to a form in which the client machine 14 can be connected to the server 16 via the Internet 12, and it goes without saying that the present invention can be applied to a machine connected via an arbitrary network such as a LAN or WAN.
[0018]
FIG. 2 is a block diagram showing the configuration of the server 16 according to the present embodiment. As shown in FIG. 2, the server 16 includes a first portion 20 corresponding to the controller, a second portion 22 corresponding to the model, and a third portion 24 corresponding to the view in the MVC model. is doing. The server 16 also has a model manager 26 that manages models.
[0019]
The first portion 20 includes a proxy servlet 30, a request processor 32, a command handler 34, a flow manager 36, and a command flow handler 40. The proxy servlet 30 receives a request (Http Request) transmitted to the server 16 by the user viewing the current page on the client machine 14 by operating the input device, and transmits the request to the request processor 32.
[0020]
The command handler 34 acquires parameters from the screen and calls an EJB (Enterprise Java Beans: registered trademark) object (command object). The command flow handler 40 reads a definition of screen transition described later, determines a screen ID, and sets a predetermined page (setPage).
The second portion 22 is composed of various commands EJB 42-1, 42-2,. In the present embodiment, an EJB is created for each business function. The EJB 42 selected and called by the command handler 34 accesses the database 44 and executes processing such as reading of a necessary object 46.
[0021]
The third portion 24 includes various JSPs (Java Server Pages: registered trademarks). For example, the third part 24 includes a final result page (Proxy.jsp) 48 given to the client machine and a page (Page.jsp) 50 constituting the page. Portlets (portlet.jsp) 52-1, 52-2,... Constituting Page.jsp are included. The page configuration according to the present embodiment will be described below.
[0022]
FIG. 3 is a diagram for explaining a so-called composite view. In the present embodiment, the screen 300 is divided into a plurality of components 301 to 303. Each part corresponds to JSP. For example, the header component 301 corresponds to a certain first JSP (header.jsp) 311, and the menu component 302 corresponds to a second JSP (menu.jsp) 312. The message component 303 corresponds to the third JSP (message.jsp) 313. By adopting the composite view, for example, when the screen transitions, it is possible to generate and give the same to the client machine such that the header component 301 and the menu component 302 are the same.
[0023]
FIG. 4 is a diagram showing a page configuration used in the present embodiment. As shown in FIG. 4, in this embodiment, a header screen component 411 and a footer image component 412 are arranged at the upper and lower portions of all images, respectively. 4A, an image (A01) 401 includes a header screen component 411, an order search condition screen component 413, and a footer screen component 412, while the other image (A02) 402 includes an order search condition. Instead of the screen component 413, an order list screen component 414 is included.
[0024]
FIG. 4B is a diagram showing the page configuration in more detail. As shown in FIG. 4B, Proxy.jsp (reference numeral 420) corresponding to the page is header.jsp (reference numeral 421) corresponding to the header screen part 411 and footer.jsp (reference numeral corresponding to the footer screen part 412). 422) and page.jsp (see reference numeral 430) that can vary depending on the image. Furthermore, page.jsp includes [portlet] .jsp (see reference numerals 433 and 434) which are various screen components.
[0025]
In the present embodiment, for example, the following are prepared as [portlet] .jsp.
ordersearch.jsp: Order search screen parts
orderlist.jsp: Order list screen parts
orderinput.jsp: Order input screen component
orderinfo.jsp: Order display screen parts
inventorysearch.jsp: Inventory search screen component
inventorylist.jsp: Inventory list screen component
Of course, the present invention is not limited to these, and it goes without saying that other screen components (for example, login screen components) are prepared.
[0026]
[Application Example 1]
In the present embodiment, IDs (screen IDs) are assigned to these screen components, and screen transitions as shown in FIG. 5 are defined. A table (definition table) 500 defining screen transitions is read by the EJB command flow handler 40. In the definition table 500, the screen ID (refer to reference numeral 501), command name (refer to reference numeral 502), method name (refer to reference numeral 503) of the currently displayed screen (used for display), and success The screen ID of the first result screen that transitions to (see reference numeral 504) and the screen ID of the second result screen that transitions in the case of failure (see reference numeral 505). This means that when the screen ID of the currently displayed screen is “X01 (login screen)”, the method name “login” is called based on the associated command name “login command”. ing. If the login is successful as a result of the user ID and password input by the user, the screen transitions to a screen with the screen ID “A01”. On the other hand, if the login fails, the screen ID is “X01”. "Is displayed on the screen.
[0027]
FIG. 6 is a diagram illustrating an example of transition between screens related to an order. In this example, a composite view is employed, and a header screen component 611 and a footer screen component 612 are commonly provided above and below each screen (for example, see reference numeral 601).
In this example, when the user tries to perform a search, the order search screen screen component 613 transits to the order list screen component 623 (see arrow 606). Transition to a screen component 633 (see arrow 607). In FIG. 6, transitions indicated by arrows 606 to 607 correspond to successful screen transitions defined in the columns 506 to 510 in FIG. 5, respectively.
[0028]
The screen transition process according to the definition shown in FIG. 5 will be described with reference to FIGS. FIG. 7 shows a case where, when the current screen ID = A01, the command name = order command, the method name = search is executed, and the screen transition is executed as a result of success (see reference numeral 506 in FIG. 5 and FIG. 5). FIG. 8 shows a case of failure.
7 and FIG. 8 and FIG. 13 and FIG. 14 to be described later, among the constituent elements shown in FIG. 2, for the sake of simplicity, the request processor 32 and the flow manager. 36 is omitted.
[0029]
In FIG. 7, when “Http Request” including parameters of command name = “order command” and method name = “search” is transmitted to the proxy servlet 30 (step 701), the EJB command handler 34 is called (step 702). ). The EJB command handler 34 calls the “find” method of the “OrderCommand” class in response to the command name = “order command” and the method name = “search” (step 703). As a result, the order command module 42-i searches for an object in the database 44. When a predetermined value or item can be found and the search is successful, the EJB command flow handler 704 is called (step 704).
[0030]
The EJB command flow handler 704 refers to the current screen ID, command name, method name, and search result (success) in the definition table (see FIG. 5) that has been read, and determines the screen ID = A02 to be transitioned to. . Thereby, the proxy servlet 30 dispatches to screen ID = A02 (step 705). The screen part “A02.jsp” includes the screen part “orderlist.jsp” (see arrow 706), and the screen part “orderlist.jsp” acquires the search result from the order command module 42-i. Thereby, a screen 602 (screen ID = A02) including the order list result component 623 can be acquired (see step 707).
[0031]
In FIG. 8, the processes related to steps 801 to 803 are the same as steps 701 to 703 in FIG. 7. When the order command module 42-i is called, a search is performed. In this case, a search result cannot be obtained because the search condition is invalid, that is, the search fails. In this case, the EJB command flow handler 40 called by the proxy servlet 30 (see step 804) reads the current screen ID, command name, method name, and search result (failure) in the definition table read (see FIG. 5). ) To determine the screen ID to be transitioned = A01. As a result, the screen 601 (screen ID = A01) including the order search condition screen component 613 is displayed again on the display device of the client machine.
Screen transitions described in the columns 507 to 510 (arrows 607 to 610 in FIG. 6) of the definition table 500 can be realized in the same manner.
[0032]
[Application Example 2]
Needless to say, this embodiment can also be used for other screen transitions, for example, screen transitions using composite views. FIG. 9 is a diagram illustrating an example of a definition table in another example (application example 2), and FIG. 10 is a diagram illustrating screen transition. This example is useful when the user wants to input while looking at a list of orders (order list screen parts) on each screen (see reference numerals 1011 and 1012 in FIG. 10).
[0033]
In application example 2, a screen with a different layout is constructed using the same command (order command) as application example 1 shown in FIGS. 5 and 6. That is, in the present embodiment, it is possible to construct another screen transition or screen layout by using the definition table, even though the same parts are used.
Transitions from the current screen to the result screen in the columns 901 to 907 in FIG. 9 correspond to the arrows 1001 to 1007 in FIG. 10, respectively.
[0034]
[Application Example 3]
If there is a need to input order data while looking at the inventory, a definition table as shown in FIG. 11 may be prepared. Here, command name = inventory command is added. FIG. 12 is a diagram for explaining screen transitions using the definition table. The transition from the current screen to the result screen in the columns 1101 to 1107 in FIG. 11 corresponds to the arrows 1201 to 1207 in FIG.
[0035]
As shown in FIG. 11 and FIG. 12, in the state where the screen with screen ID = C01 (order search screen) is displayed, parameters of command name = “order command” and method name = “add” are given, and the result Is successful, the screen can be changed to a screen (order change / addition screen) with screen ID = C03, which includes a stock search condition screen part, a stock list screen part, and an order input screen part. Further, in a state where the screen with screen ID = C02 is displayed, parameters of command name = “order command” and method name “reference” are given, and if the result is successful, the inventory search condition screen component, inventory list It is possible to transition to a screen (order confirmation screen) with screen ID = C04, which includes screen parts and order display screen parts.
[0036]
Regarding application example 3, an example of processing executed at the time of screen transition will be described in more detail with reference to FIGS. 13 and 14. FIG. 13 shows a case where screen transition is executed as a result of execution of command name = order command and method name = registration when screen ID = C03 (symbol 1105 and FIG. 11 in FIG. 11). 12 reference 1205).
[0037]
In FIG. 13, when “Http Request” including parameters of command name = “order command” and method name = “registration” is transmitted to the proxy servlet 30 (step 1301), the EJB command handler 34 is called (step 1302). ), The “reqist” method of the “OrderCommand” class is called (step 1303). Thereby, the order command module 42-p executes necessary registration processing (for example, data storage in the DB 44). If this is successful as a result of the registration process, the EJB command flow handler 40 is called (step 1304).
[0038]
The EJB command flow handler 40 refers to the current screen ID, command name, method name, and registration result (success) in the definition table (see FIG. 11) that has been read, and determines the screen ID = C04 to be transitioned to. Thereby, the proxy servlet 30 dispatches to image ID = C04 (step 1305).
[0039]
The screen part “C03.jsp” includes three screen parts “inventorysearch.jsp”, “inventorylist.jsp”, and “orderinfo.jsp”, and acquires information necessary for order input from the order command module 42-p. At the same time, an inventory list is acquired from the inventory command module 42-q. This includes inventory search condition screen parts (corresponding to “inventorysearch.jsp”), inventory list screen parts (corresponding to “inventorylist.jsp”), and order display screen parts (corresponding to “orderinfo.jsp”), An order confirmation screen (screen ID = C04) is displayed on the display device of the client machine (step 1306).
[0040]
Similarly, in FIG. 14, when the current screen ID = C03, command name = order command, method name = search is executed, and it is determined that the screen transition is executed as a result of the search (reference numeral in FIG. 11). 1106 and reference numeral 1206 in FIG. 12). In FIG. 14, when “Http Request” including parameters of command name = “stock command” and method name = “search” is transmitted to the proxy servlet 30 (step 1401), the EJB command handler 34 is called (step 1302). ), The “find” method of the “InventoryCommand” class is called (step 1403). Thereby, the inventory command module 42-q executes a necessary item search process. If this is successful as a result of the search processing, the EJB command flow handler 40 is called (step 1404).
[0041]
The EJB command flow handler 40 refers to the current screen ID, command name, method name, and search result (success) in the definition table (see FIG. 11) that has been read, and determines screen ID = C03 to be transitioned. Thereby, the proxy servlet 30 dispatches to image ID = C03 (step 1405).
[0042]
The screen part “C03.jsp” includes three screen parts “inventorysearch.jsp”, “inventorylist.jsp”, and “orderinput.jsp”, and acquires information necessary for order input from the order command module 42-p. At the same time, information indicating the search result is acquired from the inventory command module 42-q. As a result, an order change / addition screen consisting of an inventory search condition screen component, an inventory list screen component, and an order input screen component corresponding to each of the three screen components (“***. Jsp”) is displayed on the client machine display device. Is displayed.
[0043]
[Application Example 4]
Here, a description is added for an example using a wild card. In this example, a “return” button (return button) is arranged on any screen component of each screen, and the screen transition is defined when the user turns on (or clicks) the “return button”. FIG. 15 is a diagram illustrating a definition example of screen transition using a wild card. As shown in FIG. 15, for each current screen, regardless of the command name (indicated by an asterisk “*” in the figure), “Http Request” including a parameter of method name = return is When transmitted to the proxy servlet 30, processing in response thereto is executed.
[0044]
For example, if the current screen ID = A01 (see reference numeral 1501), the “return button” is specified for any command name, and if the processing result is successful, the screen ID = X02. Transition to a simple screen (see step 1601 in FIG. 16). As shown in FIG. 16, screen transitions (see arrows 1601 to 1604) that return to the original screen can be realized only by defining method name = return regardless of the command name. Note that columns 1501 to 1504 in FIG. 15 correspond to columns 1601 to 1604, respectively.
[0045]
As described above, according to the present embodiment, the screen ID to be transitioned is defined in association with the current screen ID, the module name, and the method name, respectively, for success and for failure. Therefore, a simple definition table can be used even for a multifunction module. For example, there are four types of functions, search, reference, registration, and change, for modules where the module name = order. If there are success / failures in each transition, it is necessary to define eight screen transitions. According to the present embodiment, a total of four screen transitions may be defined for each success / failure for each function.
[0046]
Also, there is no need to describe transition logic on the displayed screen. If the conventional method described above is taken, the result and the transition destination screen must be taken into consideration, which is substantially equivalent to describing the transition logic. On the other hand, according to the present embodiment, it is possible to implement by considering “what to do”, that is, “which method of the command is to be called”, for a button for screen transition.
[0047]
Furthermore, the layout can be freely defined without changing the command object. When the layout of the result screen is different, the result screen ID is different. In the conventional method, when the result screen ID (that is, the layout) that transitions from one module is increased, it is necessary to increase the number of results returned by the module. For this reason, in the conventional method, it was necessary to change the module body. On the other hand, according to the present invention, it is possible to cope with the problem simply by increasing the definition of the screen transition.
[0048]
For example, as shown in Application Example 1 and Application Example 2, the layout can be easily changed according to authority and role. As shown in Application Example 3, it is also possible to support a composite view having a plurality of functions.
As described above, according to the present embodiment, it is possible to realize various layouts by using the same command object and screen parts only by changing the definition table.
[0049]
The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.
For example, in the above-described embodiment, in response to “Http Request” which is a request from the client machine 14 connected to the Internet 12, the server 14 should execute the process and display it on the display device of the client machine 14. Although the screen is transitioned, the present invention is not limited to this. Screen presentation and transition between client machines / servers connected by another network, for example, WAN or LAN, screen presentation on a single computer and Needless to say, it can be applied to the transition.
[0050]
Further, in the application example 4 of the above-described embodiment, a screen transition related to a method of “return” of an arbitrary command name using a wild card (indicated by an asterisk “*” in FIG. 15) for the command name has been described. However, items that can use wildcards are not limited to command names, and wildcards may be used for current screen IDs and method names. For example, regarding application example 1 (see FIG. 5), if it is not necessary to consider another layout, all current screen IDs may be wild cards. It is also effective to use a current screen ID as a wild card when describing transition to the end screen when logging out.
[0051]
【The invention's effect】
According to the present invention, it is possible to control screen transitions with a simple structure and provide a screen transition method that can flexibly respond to screen transition changes and screen additions without changing modules (command objects). It becomes possible to do.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an outline of a system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a server 16 according to the present embodiment.
FIG. 3 is a diagram illustrating a so-called composite view.
FIG. 4 is a diagram showing a page configuration used in the present embodiment.
FIG. 5 is a diagram showing an example of a definition table in the present embodiment.
FIG. 6 is a diagram showing screen transition using the definition table shown in FIG. 5;
FIG. 7 is a diagram illustrating a processing example in screen transition using the definition table according to the embodiment.
FIG. 8 is a diagram illustrating a processing example in screen transition using the definition table according to the embodiment.
FIG. 9 is a diagram showing another example of the definition table in the present embodiment.
10 is a diagram showing screen transition using the definition table shown in FIG. 9. FIG.
FIG. 11 is a diagram showing still another example of the definition table in the present embodiment.
FIG. 12 is a diagram showing screen transition using the definition table shown in FIG. 11;
FIG. 13 is a diagram illustrating a processing example in screen transition using the definition table according to the embodiment.
FIG. 14 is a diagram illustrating a processing example in screen transition using the definition table according to the embodiment;
FIG. 15 is a diagram showing still another example of the definition table in the present embodiment.
FIG. 16 is a diagram showing screen transition using the definition table shown in FIG. 9;
[Explanation of symbols]
14 Client machine
16 servers
30 Proxy servlet
32 Request processor
34 Command Handler
36 Flow Manager
40 Command flow handler

Claims (8)

複数の画面部品を含む画面において、リクエストに応答して、提示すべき画面を、第1の画面から第2の画面に遷移させる方法であって、
前記複数の画面部品を含む画面を一意的に特定する画面IDを用いて、提示している画面を示す現在画面IDと、当該画面にて実行可能なモジュールに対応するコマンドオブジェクトを特定する情報、当該コマンドオブジェクトにて呼び出されるメソッドを特定する情報、および、遷移すべき少なくとも一以上の画面IDを定義した定義テーブルを設けるステップと、
前記第1の画面の複数の画面部品のいずれかに関連して、前記コマンドオブジェクトを特定する情報およびメソッドを特定する情報を示すパラメタを含む要求を受理するステップと、
前記要求の受理に応答して、前記定義テーブルを参照して、前記第1の画面を現在画面IDとして、コマンドオブジェクトを特定する情報およびメソッドを特定する情報とともに、処理結果にしたがって、遷移すべき画面IDを特定するステップと、
特定された画面IDにしたがって、前記第2の画面を生成し、当該第2の画面を提示するステップと、を備え、
前記定義テーブルを設けるステップが、
前記コマンドオブジェクトを特定する情報として、任意のコマンドオブジェクトを示す情報を設定するステップを含み、
前記遷移すべき画面IDを特定するステップが、
前記定義情報テーブル中、前記現在画面IDおよびメソッドを特定する情報に関連するコマンドオブジェクトを特定する情報が、任意のコマンドオブジェクトを示す情報であった場合に、前記コマンドオブジェクトを特定する情報の如何に関わらず、現在画面ID、メソッドを特定する情報、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを含むことを特徴とする画面遷移方法。
In a screen including a plurality of screen parts, in response to a request, a method of transitioning a screen to be presented from a first screen to a second screen,
Using a screen ID that uniquely identifies the screen including the plurality of screen components, a current screen ID indicating the screen being presented, and information identifying a command object corresponding to a module executable on the screen; Providing a definition table that defines information for specifying a method called by the command object, and at least one screen ID to be transitioned;
Receiving a request including a parameter indicating information specifying the command object and information specifying a method in relation to any of the plurality of screen components of the first screen;
In response to accepting the request, the definition table should be referred to, the first screen should be the current screen ID, and information specifying the command object and information specifying the method should be transitioned according to the processing result. Identifying a screen ID;
Generating the second screen according to the identified screen ID and presenting the second screen, and
Providing the definition table comprises:
Setting information indicating an arbitrary command object as the information for specifying the command object,
The step of identifying the screen ID to be transitioned includes
In the definition information table, when the information specifying the command object related to the information specifying the current screen ID and the method is information indicating an arbitrary command object, how the information specifying the command object is determined. Regardless of this, the screen transition method includes a step of identifying a screen ID to be transitioned according to the current screen ID, information identifying the method, and the processing result .
前記定義テーブルを設けるステップが、
前記現在画面IDの各々に対応して、少なくとも、処理結果が成功であった場合に遷移すべき画像を示す第1の画面IDと、処理結果が失敗であった場合に遷移すべき画像を示す第2の画面IDとを定義するステップを含むことを特徴とする請求項1に記載の画面遷移方法。
Providing the definition table comprises:
Corresponding to each of the current screen IDs, at least a first screen ID indicating an image to be transitioned when the processing result is successful, and an image to be transitioned when the processing result is unsuccessful. The screen transition method according to claim 1, further comprising a step of defining a second screen ID.
前記定義テーブルを設けるステップが、
前記現在画面IDを特定する情報として、任意の画面を示す情報を設定するステップを含み、
前記遷移すべき画面IDを特定するステップが、
前記定義情報テーブル中、コマンドオブジェクトを特定する情報およびメソッドを特定する情報に関連する現在画面IDを特定する情報が、任意の画面を示す情報であった場合に、前記現在画面IDの如何に関わらず、前記コマンドオブジェクトを特定する情報、メソッドを特定する情報、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを含むことを特徴とする請求項1または2に記載の画面遷移方法。
Providing the definition table comprises:
Including setting information indicating an arbitrary screen as the information specifying the current screen ID,
The step of identifying the screen ID to be transitioned includes
In the definition information table, when the information specifying the current screen ID related to the information specifying the command object and the information specifying the method is information indicating an arbitrary screen, regardless of the current screen ID. 3. The screen transition method according to claim 1, further comprising a step of identifying a screen ID to be transitioned according to information identifying the command object, information identifying a method, and a processing result. .
前記定義テーブルを設けるステップが、
前記メソッドを特定する情報として、任意のメソッドを示す情報を設定するステップを含み、
前記遷移すべき画面IDを特定するステップが、
前記定義情報テーブル中、現在画面IDおよびコマンドオブジェクトを特定する情報に関連するメソッドを特定する情報が、任意のメソッドを示す情報であった場合に、前記メソッドを特定する情報の如何に関わらず、前記コマンドオブジェクトを特定する情報、現在画面ID、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを含むことを特徴とする請求項1ないし3の何れか一項に記載の画面遷移方法。
Providing the definition table comprises:
Setting information indicating an arbitrary method as the information for specifying the method,
The step of identifying the screen ID to be transitioned includes
In the definition information table, when the information specifying the method related to the information specifying the current screen ID and the command object is information indicating an arbitrary method, regardless of the information specifying the method, The screen transition according to any one of claims 1 to 3, further comprising a step of identifying a screen ID to be transitioned according to information identifying the command object, a current screen ID, and a processing result. Method.
複数の画面部品を含む画面において、リクエストに応答して、提示すべき画面を、第1の画面から第2の画面に遷移させるためにコンピュータを動作させるプログラムであって、
前記複数の画面部品を含む画面を一意的に特定する画面IDを用いて、提示している画面を示す現在画面IDと、当該画面にて実行可能なモジュールに対応するコマンドオブジェクトを特定する情報、当該コマンドオブジェクトにて呼び出されるメソッドを特定する情報、および、当該コマンドオブジェクトのメソッドの実行により引き起こされた処理の結果、遷移すべき少なくとも一以上の画面IDを定義した定義テーブルを設けるステップと、
前記第1の画面の複数の画面部品のいずれかに関連して、前記コマンドオブジェクトを特定する情報およびメソッドを特定する情報を示すパラメタを含む要求を受理するステップと、
前記要求の受理に応答して、前記定義テーブルを参照して、前記第1の画面を現在画面IDとして、コマンドオブジェクトを特定する情報およびメソッドを特定する情報とともに、処理結果にしたがって、遷移すべき画面IDを特定するステップと、
特定された画面IDにしたがって、前記第2の画面を生成し、当該第2の画面を提示するステップとを、前記コンピュータに実行させ、
前記定義テーブルを設けるステップにおいて、
前記コマンドオブジェクトを特定する情報として、任意のコマンドオブジェクトを示す情報を設定するステップを、前記コンピュータに実行させ、
前記遷移すべき画面IDを特定するステップにおいて、
前記定義情報テーブル中、現在画面IDおよびメソッドを特定する情報に関連するコマンドオブジェクトを特定する情報が、任意のコマンドオブジェクトを示す情報であった場合に、前記コマンドオブジェクトを特定する情報の如何に関わらず、現在画面ID、メソッドを特定する情報、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを、前記コンピュータに実行させることを特徴とする、コンピュータにより読み出し可能なプログラム。
In a screen including a plurality of screen parts, in response to a request, a program for operating a computer to transition a screen to be presented from a first screen to a second screen,
Using a screen ID that uniquely identifies the screen including the plurality of screen components, a current screen ID indicating the screen being presented, and information identifying a command object corresponding to a module executable on the screen; Providing a definition table that defines at least one screen ID to be transitioned as a result of processing that is caused by the execution of the method of the command object, and information identifying a method called by the command object;
Receiving a request including a parameter indicating information specifying the command object and information specifying a method in relation to any of the plurality of screen components of the first screen;
In response to accepting the request, the definition table should be referred to, the first screen should be the current screen ID, and information specifying the command object and information specifying the method should be transitioned according to the processing result. Identifying a screen ID;
Generating the second screen according to the specified screen ID and presenting the second screen, causing the computer to execute the step,
In the step of providing the definition table,
As the information for specifying the command object, causing the computer to execute a step of setting information indicating an arbitrary command object,
In the step of identifying the screen ID to be transitioned,
In the definition information table, when the information specifying the command object related to the information specifying the current screen ID and the method is information indicating an arbitrary command object, the information specifying the command object is not related. First, a computer-readable program that causes the computer to execute a step of specifying a screen ID to be transitioned according to a current screen ID, information for specifying a method, and a processing result.
前記定義テーブルを設けるステップにおいて、
前記現在画面IDの各々に対応して、少なくとも、処理結果が成功であった場合に遷移すべき画像を示す第1の画面IDと、処理結果が失敗であった場合に遷移すべき画像を示す第2の画面IDとを定義するステップを、前記コンピュータに実行させることを特徴とする請求項5に記載のプログラム。
In the step of providing the definition table,
Corresponding to each of the current screen IDs, at least a first screen ID indicating an image to be transitioned when the processing result is successful, and an image to be transitioned when the processing result is unsuccessful. 6. The program according to claim 5, wherein the computer is caused to execute a step of defining a second screen ID.
前記定義テーブルを設けるステップにおいて、
前記現在画面IDを特定する情報として、任意の画面を示す情報を設定するステップを、前記コンピュータに実行させ、
前記遷移すべき画面IDを特定するステップにおいて、
前記定義情報テーブル中、コマンドオブジェクトを特定する情報およびメソッドを特定する情報に関連する現在画面IDを特定する情報が、任意の画面を示す情報であった場合に、前記現在画面IDの如何に関わらず、前記コマンドオブジェクトを特定する情報、メソッドを特定する情報、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを、前記コンピュータに実行させることを特徴とする請求項5または6に記載のプログラム。
In the step of providing the definition table,
As the information for specifying the current screen ID, the step of setting information indicating an arbitrary screen is executed by the computer,
In the step of identifying the screen ID to be transitioned,
In the definition information table, when the information specifying the current screen ID related to the information specifying the command object and the information specifying the method is information indicating an arbitrary screen, regardless of the current screen ID. 7. The computer according to claim 5, further comprising: causing the computer to execute a step of specifying a screen ID to be transitioned according to information specifying the command object, information specifying a method, and a processing result. The listed program.
前記定義テーブルを設けるステップにおいて、
前記メソッドを特定する情報として、任意のメソッドを示す情報を設定するステップを、前記コンピュータに実行させ、
前記遷移すべき画面IDを特定するステップにおいて、
前記定義情報テーブル中、現在画面IDおよびコマンドオブジェクトを特定する情報に関連するメソッドを特定する情報が、任意のメソッドを示す情報であった場合に、前記メソッドを特定する情報の如何に関わらず、前記コマンドオブジェクトを特定する情報、現在画面ID、および、処理結果にしたがって、遷移すべき画面IDを特定するステップを、前記コンピュータに実行させることを特徴とする請求項5ないし7の何れか一項に記載のプログラム。
In the step of providing the definition table,
As the information for specifying the method, causing the computer to execute a step of setting information indicating an arbitrary method,
In the step of identifying the screen ID to be transitioned,
In the definition information table, when the information specifying the method related to the information specifying the current screen ID and the command object is information indicating an arbitrary method, regardless of the information specifying the method, 8. The computer according to claim 5, further comprising: a step of specifying a screen ID to be transitioned according to information specifying the command object, a current screen ID, and a processing result. The program described in.
JP2001324493A 2001-10-23 2001-10-23 Screen transition method and screen transition program Expired - Fee Related JP4039842B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001324493A JP4039842B2 (en) 2001-10-23 2001-10-23 Screen transition method and screen transition program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001324493A JP4039842B2 (en) 2001-10-23 2001-10-23 Screen transition method and screen transition program

Publications (2)

Publication Number Publication Date
JP2003131780A JP2003131780A (en) 2003-05-09
JP4039842B2 true JP4039842B2 (en) 2008-01-30

Family

ID=19141213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001324493A Expired - Fee Related JP4039842B2 (en) 2001-10-23 2001-10-23 Screen transition method and screen transition program

Country Status (1)

Country Link
JP (1) JP4039842B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007287025A (en) * 2006-04-19 2007-11-01 Nec Corp Method and apparatus for creating screen transition program
JP5906667B2 (en) * 2010-11-04 2016-04-20 ブラザー工業株式会社 Terminal device, server, screen control method, screen transition method, and computer program

Also Published As

Publication number Publication date
JP2003131780A (en) 2003-05-09

Similar Documents

Publication Publication Date Title
US11138023B2 (en) Method and apparatus for composite user interface creation
US7454613B2 (en) Information processing apparatus, session recovery method, recording medium for storing session recovery program
US7305679B2 (en) Portal using model view controller
US20110246867A1 (en) Form creation apparatus, control method of form creation apparatus, data processing apparatus, control method of data processing apparatus, and storage medium
US9864480B2 (en) Image forming apparatus, control method therefor, and storage medium storing control program therefor
JP5638761B2 (en) Screen generation method, screen display method, screen generation device, and program
US20030163575A1 (en) Resource location and access
JP2004303218A (en) Information providing device and information display device
JP4039842B2 (en) Screen transition method and screen transition program
JP2007115137A (en) Data processor
JP5703352B2 (en) Application system, portable terminal, server computer, and computer program
JP2001306513A (en) Information managing device and storage medium
JP2002123785A (en) Screen display processing method and business processing system
JP2006268125A (en) Application server and its program
US7246126B2 (en) Communications system for retrieving instruction files from a server
JP4714463B2 (en) Method for inheriting data between user terminal device and Web application
JP4006135B2 (en) Video on demand support system and web server
WO2022244368A1 (en) Information processing device, information processing system, information processing method, and program
JP4367141B2 (en) Instruction description content changing device and instruction description content changing program
JP2006268164A (en) Picture information generation method, picture information generation device and picture information generation program
JP5140350B2 (en) Information processing device
JP2004110361A (en) Application providing system, method therefore, and computer program for application providing system
JP2002091836A (en) Communication system for control and computer readable recording medium having communication program for control recorded thereon
JP2005293228A (en) Display screen control method, display screen control program and display screen controller
JP2005250781A (en) Data relay program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070928

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071106

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees