JP2005228184A - アプリケーション実行装置 - Google Patents

アプリケーション実行装置 Download PDF

Info

Publication number
JP2005228184A
JP2005228184A JP2004037807A JP2004037807A JP2005228184A JP 2005228184 A JP2005228184 A JP 2005228184A JP 2004037807 A JP2004037807 A JP 2004037807A JP 2004037807 A JP2004037807 A JP 2004037807A JP 2005228184 A JP2005228184 A JP 2005228184A
Authority
JP
Japan
Prior art keywords
variable
definition
application
screen
correspondence
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.)
Pending
Application number
JP2004037807A
Other languages
English (en)
Inventor
Teruhiko Teraoka
照彦 寺岡
Akira Sugimoto
明 杉本
Akira Ishihara
鑑 石原
Masayo Nakagawa
雅代 中川
Misayo Fujioka
操代 藤岡
Hideo Nakada
秀男 中田
Nobutoshi Todoroki
伸俊 轟木
Masanori Akiyoshi
政徳 秋吉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004037807A priority Critical patent/JP2005228184A/ja
Publication of JP2005228184A publication Critical patent/JP2005228184A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 従来より、Webを利用したアプリケーションは様々な形態で利用されているが、アプリケーションの生産性が問題となっており、向上させるための手法としてロジックとデータ定義と画面定義と分け、例えば、JavaBeans(サンマイクロシステムズ社の登録商標)とJSP(JavaServer Pages(サンマイクロシステムズ社の登録商標))タグを用いて、画面定義内に特殊タグを埋め込むことが行われているが、この技術では、画面定義とデータ定義が相互に依存しているので、再利用生の高いアプリケーションの作成が難しい。そこで、アプリケーション開発の生産性を向上させたアプリケーション実行装置を提供する。
【解決手段】 画面定義とロジック定義との間に、画面依存の画面変数と、画面非依存のアプリケーション変数を設けることで、既存のアプリケーションにおける画面定義の変更を容易とする。
【選択図】 図1

Description

この発明は、Webを利用したアプリケーションに関するものであり、特にアプリケーション開発の生産性を向上する技術に係るものである。
従来より、Webを利用したアプリケーションは様々な形態(端末、メディア、アプリケーションプラットフォーム)で利用されるようになってきており、アプリケーションの生産性が問題となってきている。生産性を向上させるための手法として、ロジックとデータと画面定義を分け、例えば、JavaBeans(サンマイクロシステムズ社の登録商標)(データ)とJSP(JavaServer Pages(サンマイクロシステムズ社の登録商標))タグを用いて、画面定義内に特殊タグを埋め込む技術が示されている(例えば、特許文献1)。
特開2002−215394号公報(図1、0013欄)
しかしながら、前記特許文献1に示されたものは、画面定義とデータオブジェクトが相互に依存しているために、保守性、再利用性の高いアプリケーションを作成することが難しいという問題点を有している。
この発明は、前記のような課題を解決するものであって、ロジックと変数と画面定義の相互依存性を少なくして、ロジックと変数の再利用性を増すことによって、アプリケーション開発の生産性を向上させることを目的としている。
この発明に係るアプリケーション実行装置は、画面定義と、画面変数定義と、アプリケーション変数定義と、ロジック定義と、画面変数アプリケーション変数対応定義と、状態遷移定義と、画面変数アプリケーション変数対応処理実行部と、データ記憶部と実行エンジン部とを備え、
画面定義は、アプリケーション入出力画面表現を定義し、画面変数定義は、画面定義内の入出力変数を定義し、アプリケーション変数定義は、アプリケーションのロジック変数を定義し、ロジック定義は、アプリケーション変数で記述されたアプリケーションの動作を定義し、画面変数アプリケーション変数対応定義は、画面変数定義内の画面変数とアプリケーション変数定義内のアプリケーション変数との対応関係を定義するものであり、
状態遷移定義は、アプリケーションの状態遷移を定義するものであり、データ記憶部は、前記アプリケーション変数および前記画面変数および前記アプリケーションの状態を記憶する機能を有するものであり、画面変数アプリケーション変数対応処理実行部は、画面変数定義とアプリケーション変数定義と画面変数アプリケーション変数対応定義からデータ記憶部内の画面変数からアプリケーション変数を、データ記憶部内のアプリケーション変数から画面変数を計算する機能を有するものであり、
実行エンジン部は、クライアントによるイベントと画面定義と画面変数定義と、アプリケーション変数定義とロジック定義と状態遷移定義に従って、画面変数アプリケーション変数対応処理実行部と、データ記憶部とを制御してアプリケーションを動作させるものである。
この発明のアプリケーション実行装置は、画面定義とロジック定義との間に、画面依存の画面変数と、画面非依存のアプリケーション変数を設けているので、ロジック定義とアプリケーション変数が画面定義に依存しなくなる。従って、既存のアプリケーションにおける画面定義の変更が容易に行えるという効果がある。
実施の形態1.
以下、この発明の実施の形態1を図に基づいて説明する。
図1は本発明の実施の形態1によるアプリケーション実行装置100の構成を示す図である。このアプリケーション実行装置100はアプリケーションの入出力画面表現を定義した画面定義101、画面定義101内の入出力変数である画面変数定義102、アプリケーションのロジックの変数であるアプリケーション変数定義103、前記アプリケーション変数で記述されたアプリケーションの動作を定義するロジック定義104、画面変数定義102とアプリケーション変数定義103の対応関係を定義する画面変数アプリケーション変数対応定義105、アプリケーションの状態遷移を定義した状態遷移定義106、アプリケーションの現在の状態、アプリケーション変数値および画面変数値を記憶するデータ記憶部108、画面変数定義102とアプリケーション変数定義103と画面変数アプリケーション変数対応定義105から、データ記憶部内の画面変数からアプリケーション変数を、またはデータ記憶部内のアプリケーション変数から画面変数を計算する画面変数アプリケーション変数対応処理実行部107と、アプリケーションのクライアントとなる端末109、クライアント109によるイベント(コマンド)と画面定義101と画面変数定義102とアプリケーション変数定義103とロジック定義104と状態遷移定義106にしたがって画面変数アプリケーション変数対応処理実行部107とデータ記憶部108を制御してアプリケーションを動作させる実行エンジン110から構成される。なお、端末109はパソコン,ワークステーション、携帯電話、携帯情報端末、カーナビゲーションシステム、情報家電機器など、表示装置および入力装置を備えた計算機システムであれば何れのものでもよい。
図2と3は実施の形態1による画面定義101を説明する図であり、画面201、301を図2、図3に示す。図4は図2と図3の画面201と301との関係を示したものであり、図2の「ユーザID」入力欄202と「パスワード」入力欄203に文字列を入力し、「ログイン」ボタン204が押されることによって図3の画面に遷移し、図2の画面で入力した情報に従って図3の画面にそのユーザの情報である「名前」302、「所属」303、「電話番号」304を表示する、という遷移を示したものである。図2と図3のこの画面例は、JSP(JavaServer Pages(サンマイクロシステムズ社の登録商標))にて記述した場合の例である。図2の画面201では、「ユーザID」および「パスワード」の項目に文字入力欄があり、リクエスト情報を送信するための「ログイン」ボタンを定義している。205は画面201に対応したJSPによる画面定義を記述したファイル「login.jsp」を示している。図3の画面301では、「名前」、「所属」、「電話番号」のそれぞれのラベルの後に、文字列を表示する定義を行っている。305は画面301に対応したJSPによる画面定義を記述したファイル「userInfo.jsp」を示している。
図5は、実施の形態1による画面変数定義102を説明する図である。画面変数定義102の形態は、表形式、CSV形式、XML文いずれでもよいがこの例は表形式で示した例である。図5に示すように画面変数定義102の項目は、「状態名」、「画面定義名」、「画面変数」からなり、さらに「画面変数」の項目は「タグ」、「名前」および「属性」からなる。前述した図2の201の画面では、「ユーザID」と「パスワード」欄で入力する文字列が画面変数となる。ここでは画面変数は前述図2のJSP205内のHTMLタグの名前およびその名前属性およびその属性名で表現する。つまり「ユーザID」に対応するタグは「input」でありそのname属性を参照すると「userID」であり、文字入力値が代入されるのはvalue属性であるため図5に示す行501のように定義する。同様に「パスワード」に対応するタグも行502のように定義する。前述図3の301の画面では、「名前」、「所属」、「電話番号」のそれぞれのラベルの後の文字列が画面変数となる。ここでは前述図3のJSP305内のHTMLタグである「span」がそれを示している。つまり図5の行503に示すように、「名前」の後にはタグ「span」でありその名前は「name」であり属性は「#text」である。なお「#text」はspanタグに挟まれた文字列を示すものである。同様に「所属」の後の文字列、「電話番号」の後の文字列に対応する画面変数も行504、行505のように定義する。なお、この実施の形態1では画面変数定義としてHTML形式について述べたがCHTML形式であってもよい。
図6は実施の形態1によるアプリケーション変数定義103を説明する図である。アプリケーション変数103の表現形式も、表形式、CSV形式やXML文などいずれでもよい。アプリケーション変数定義103の項目は、「名前」、「型」、「配列」からなる。また型はプリミティブ型、つまり、文字列、整数、小数、日付型などの定型のもの以外にも、任意に定義したものでもよい。図6では、文字列で配列でない「app_username」というアプリケーション変数を601のように、日付型で配列である「app_date」は602のように定義する。また、アプリケーション変数103は構造化することが可能であり、任意の型を定義してもよい。たとえば、図6の603のAddress型は604に示すように文字列の「prefecture」、文字列の「city」、文字列の「street」から構成される。ここでは、アプリケーション変数定義103は、「名前」、「型」、「配列」としたが、アプリケーション変数の存在サイクルを示す「スコープ」という項目を追加してもよい。
図7は実施の形態1による画面変数アプリケーション変数対応定義105を説明する図である。画面変数アプリケーション変数対応定義105の項目は、「画面定義名」、「in/out種別」、「画面変数名」、「対応定義」、「アプリケーション変数名」からなる。「in/out種別」の「in」は当該画面定義に遷移してきた場合に取得して表示する変数であり、「out」は当該画面定義から遷移する場合にリクエストとして送信する変数である。画面変数名は、図5で説明した画面変数の名前と属性で定義されるものである。例えば図7の701の「userID.value」は図5の501の名前「userID」と属性「value」をピリオド(.)で区切って表現したものである。一つの画面定義名に対応して画面変数名は一意に決まるものである。次に「対応定義」の項目について説明する。「対応定義」の項目に示される「set」は、代入を意味する、つまり「in/out種別」が「in」の場合はアプリケーション変数を画面変数に代入、「out」の場合は画面変数をアプリケーション変数に代入するという対応関係を示すものである。つまり図7の701は画面変数「userID.value」をアプリケーション変数「app_username」に代入、702はアプリケーション変数「app_affil」を画面変数「affil.value」に代入するということを示している。また703で示される対応定義の「concat」は連結処理を意味するものであり、“姓”を示すアプリケーション変数「app_name_last」と“名”を示すアプリケーション変数「app_name_first」を結合して“名前”を示す画面変数「name.value」に代入することを示すものである。この実施の形態1では、画面定義101とロジック定義104の間に画面変数定義102とアプリケーション変数定義103を介在させて、画面変数とアプリケーション変数の対応関係を画面変数アプリケーション変数対応定義105で対応づけできるようにしたので、このような入出力の画面変数とアプリケーション変数に対して疎な対応づけが可能となる。
図8は、実施の形態1による状態遷移定義106を説明する図である。状態遷移定義106の項目は、「状態名」、「イベント」、「処理ロジック」、「遷移先状態名」からなる。図8の行801は、状態名「state1」においてイベント「login」を受信した場合は、処理ロジック「LoginAction」を実行して遷移先状態名に示される「state2」に遷移する、ということを定義したものである。
図9は、実施の形態1によるロジック定義104を説明する図である。ここではユーザの名前「app_username」とパスワード「app_password」を引数としたActionの中身を記述するメソッドと、各アプリケーション変数の値を取得するメソッドを記述した例である。ここでは、一つの状態に一つのイベントを記述しているが、複数のイベントを対応させることも当然可能である。ここでは、JAVA(登録商標)言語で記述する例を示したが、他の言語でもかまわない。
次に、実施の形態1によるアプリケーション実行装置100の動作を図10に示すフローチャートを用いて説明する。S1001にて実行エンジン110は、端末(クライアント)109からリクエスト情報を取得すると、S1002にてそのリクエスト情報から画面変数値とイベントを抽出する。イベントを抽出すると図8の状態遷移定義106から処理ロジックと遷移先状態名が決まり、S1003に示す状態遷移が決定する。次に、S1004にてリクエストで取得した画面変数の値を、図7で示した画面変数アプリケーション変数対応定義に基づいて、入力された画面変数のアプリケーション変数への対応付け処理を行う。アプリケーション変数の値が決定すると、S1003で決定したロジックをS1005で実行する。ロジックの処理の結果アプリケーション変数の値が決定するので、今度はS1004とは逆にS1006で画面変数アプリケーション変数対応定義に基づいて、アプリケーション変数の出力画面変数への対応付け処理を実行する。画面変数の値が決定すれば、S1007で画面定義に基づいて出力画面が生成される。
次に画面定義101の一部を変更した場合の作業について説明する。図11は、前述した図3で示したユーザ情報の表示のための画面定義「userInfo.jsp」を変更した画面「hello.jsp」である。1101が表示画面を示し、1102はHTMLによる画面定義101を示したものである。図3では「姓名」を名前として302に、「所属」を303に表示していたものを、図11では、「所属」を1103に、「姓」を1104に、「名」を1105に表示するように変更している。これに伴って、画面変数も「姓」と「名」が別になり、1106と1107に示すように「lastname」と「firstname」に分離されている。
次に図11で示した画面定義の変更に対して各定義をどのように追加するかを図12を用いて説明する。ここでは、画面定義101を上書きして変更するのではなく、新たに追加して前のものを残す場合の例である。図12の1201は画面変数定義102の例であり、1202は画面変数アプリケーション変数対応定義105の例である。1203と1204の行に示されているように、前述した図3の例ではアプリケーション変数「app_name_last」と「app_name_first」を「concat」(結合)していたが、ここではそれぞれ「姓」を示すドキュメント変数「lastname.value」と「名」を示すドキュメント変数「firstname.value」に代入「set」するように変更する。1205は図8で示した状態遷移定義106の変更を示しており、1206に示したように遷移先状態名を今回の画面の状態である「state3」に変更している。
ここでは、画面定義101の例としてJSPの画面を示したが、Microsoft社のASP(Active Server Pages)のような言語で定義した画面でもよい。
このようにこの実施の形態1の構成によれば、画面定義101とロジック定義104の間に画面依存の画面変数定義102と、画面非依存のアプリケーション変数定義103を介在するようにしたので、画面定義101とロジック定義104を疎に結合することができるので、図11に示すように、画面を変更することによっても、アプリケーション変数とロジックを変更する必要がなく、画面の差し替えが容易であり、効率のよいアプリケーション作成が実現できる。
実施の形態2.
次に、実施の形態2の画面変数アプリケーション変数対応定義について図13を用いて説明する。前記実施の形態1の図7で示した画面変数アプリケーション変数対応定義105では「代入」と「結合」の例を示したが、図13に示したような表示形態の変換や四捨五入などの演算処理の対応定義を有するようにしてもよい。図13の表1301の各行は、同じアプリケーション変数の値に対して、さまざまな対応定義を指定することで画面変数の値を変更することができることを示している。行1302で示される「set」はそのまま代入するので、表示は「1200」である。行1303の「format1」は表示を千の単位で行うものであり、「1.2千」という画面変数に変換する対応定義である。行1304の「format2」は、同様に表示を百の単位で行い「12百」とする。行1305は日付のアプリケーション変数を英語表記で行う「dateFormat1」を、行1306は元号形式で表記を行う「dateFormat2」の指定をそれぞれ示している。行1307は、アプリケーション変数の値を四捨五入する対応定義「operation1」を指名している。1308はこの「operation1」に対応する処理をJAVA(登録商標)言語で記述したものである。他の対応定義も同様に、プログラムとして記述して設定すればよい。
このようなこの実施の形態2に示す構成によれば、画面変数の表示の形式や形態を変換する対応定義を画面変数アプリケーション変数対応定義105に設定できるようにしたので、画面表示の表示形式や形態を変えるだけの改修や拡張に対しては、画面変数アプリケーション変数対応定義105と対応定義に対する処理を記述するだけで、これまでに作成した他の定義を変更することなくアプリケーションを実行することができる。
実施の形態3.
次に、実施の形態3のアプリケーション実行装置100aについて図14を用いて説明する。前記実施の形態1の図1で示したアプリケーション実行装置100では、この図14に示す画面定義1401をユーザが自ら作成していたが、この実施の形態3のアプリケーション実行装置100aは図14に示すように、デザイン画面定義1402を設け、画面変数定義1403を参照してJSPを自動で生成する画面定義生成処理部1404を備えるようにしてもよい。
デザイン画面定義1402の例を図15、図16に示す。図15は前述した図2に、図16は図3にそれぞれ対応したデザイン画面の表示とデザイン画面定義である。図2、図3はJSPであるため、<% %>で示されるデータ取得部分がHTMLのタグ定義と異なるが、このデザイン画面定義1402ではそのようなデータ取得部分が埋まっていない、デザインだけの画面定義である。図2や図3で消えていた「鈴木一郎」という名前や「業務」という所属名がそのまま残っている。
次に、画面定義生成処理部1404の動作についてフローチャート図17を用いて説明する。画面定義生成処理部1404は、オフライン(製作したアプリケーションが非動作時)で動作するものである。S1701でまず、デザイン画面定義1402を読み込み、S1702で該当する画面定義について画面変数定義1403(例えば図5)を読み込む。次に、S1703でカウンタを初期化し、デザイン画面定義1402について画面変数定義1403で示されたタグの該当箇所にS1704で例えばJSPタグを埋め込む。次にS1705でカウンタを更新して、S1706で画面変数の数だけ埋め込み処理が行われたかを判定し、処理が行われればS1707で画面定義を返して画面定義101に保存に、S1704で残っていれば例えばJSPタグを埋め込む処理を繰り返す。
この処理の結果、生成される画面定義の例は例えば図2,3に示したJSPタグの埋め込まれたJSPファイルである。またここではJSPタグを埋め込むようにしたが、図18のようにJSPカスタムタグを埋め込むようにしてもよい。例えば、画面変数の値を取り出す例として、図18の1801に示す<out:doc name=“name.value”/>は、処理の結果「name.value」で示されるドキュメント変数値を取得して文字列を表示するタグである。
このようなこの実施の形態3の構成によれば、HTMLからなるデザイン画面定義1402から、JSPタグの埋まったJSPからなる画面定義1401を自動で生成する画面定義生成処理部1404を備えるようにしたので、JSPを知らないデザイナーがデザイン画面を定義することが可能となりプログラマーはアプリケーション変数を使ったアプリケーションのロジックを作成することができるので、デザイナーとプログラマーの作業を分担することができ、作業効率が向上する。また、デザイン画面定義1402はJSPタグなどHTML以外のタグを含まないようにしたので、市販のHTMLに準拠したデザインツール上の対話的な視覚的環境で作成することが可能である。
実施の形態4.
次に、実施の形態4のアプリケーション実行装置100bについて図19を用いて説明する。前記実施の形態1の図1に示したアプリケーション実行装置100では、一つのアプリケーションを画面サイズが異なるような複数の端末で利用することを想定していなかったが、この実施の形態4のアプリケーション実行装置100bは複数の端末109で一つのアプリケーションを利用するようにしてもよい。この場合、一つのアプリケーションに対して、端末109毎に各定義の組み合わせを定義するアプリケーションビュー定義1901と、端末種別を判定するための端末種別判定定義1902と当該アプリケーション実行時に端末109からのリクエスト情報から端末109の種別を選定する端末種別選定部1903をそなえるようにすればよい。
アプリケーションビュー定義1901の例を、図20を用いて説明する。アプリケーションビュー定義1901の形態は、表形式、CSV形式、XML文いずれでもよいがこの例は表形式で示した例である。アプリケーションビュー定義1901の項目は、「アプリケーション名」、「アプリケーションビュー名」、「画面定義」、「画面変数定義」、「画面変数アプリケーション変数対応定義」、「アプリケーション変数定義」、「ロジック定義」、「状態遷移定義」からなる。「アプリケーション名」は対象のアプリケーションの名称であり、「アプリケーションビュー名」は端末109の種別を示すものである。この例では、パソコン「PC」と携帯電話「Mobile」の二種類のアプリケーションビューを定義している。その他の項目についてはこれまでに説明してきたものであるので説明省略する。この図20で示したアプリケーションビュー定義1901は、「アプリケーション変数定義」と「ロジック定義」の項目については、端末共通で同一のものを利用するものである。
図21と図22は、異なる端末109での画面遷移の例を示したものである。図21はパソコンの場合、図22は携帯電話の場合である。携帯電話は一般にパソコンよりも小さな画面のため、画面のレイアウトが微妙に異なる。図23は、この場合のパソコンと携帯電話で共通のアプリケーション変数対応定義(図20でAppVarで示したもの)を示したものである。この場合の共通の処理ロジックは実施の形態1の図9で示したものをパソコンと携帯電話で共通に利用可能である。
次に端末種別判定定義1902について図24を用いて説明する。図24はHTTP(Hyper Text Transfer Protocol)リクエストのヘッダ情報を利用した端末判別定義の一例を示したものである。このヘッダーが「Mozilla」で始まっていればパソコン上のインターネットのブラウザーからのリクエストであることがわかり、端末がパソコンであることがわかる。またDoCoMoで始まっていれば、NTTDoCoMo社の携帯電話のiモードのブラウザーからのリクエストであり、携帯電話であることが判別できる。
次に、端末種別選定部1903の動作について図25に示すフローチャートを用いて説明する。前記実施の形態1の図10で説明したようにS1001で実行エンジン110は端末109からのリクエスト情報を取得し、次にS2501で端末種別選定部1903がそのリクエスト情報と図24で説明した端末種別判定定義1902を比較することで端末を選定する。次に、S2502でその判定された端末種別から図20で説明したアプリケーションビュー定義1901から該当する端末に対する「画面定義」、「画面変数定義」、「画面変数アプリケーション変数対応定義」、「アプリケーション変数定義」、「ロジック定義」、「状態遷移定義」を選定し、以降図10で説明した処理つまりS1002の「画面変数値とイベントの抽出」に移行して処理を行う。
このような実施の形態4の構成によれば、アプリケーションビュー定義1901と端末種別判定定義1902と端末種別判定部1903を備えるようにしたので、一つのアプリケーションについて、ロジックを共有して作成し、それを複数種別の端末からアクセスしても実行可能なように実現できる。
実施の形態5.
次に、実施の形態5のアプリケーション変数定義について述べる。前記実施の形態4に示した図20の例では、アプリケーション変数定義とロジック定義を異なる端末種別で共有したが、共有しながら、端末独自のアプリケーション変数とロジックを追加で持たせるようにしてもよい。この実施の形態5の図26の例では、アプリケーション変数定義として「AppVar」を、ロジック定義として「Logic」を共通に利用し、パソコンではアプリケーション変数定義「PCAppVar」とロジック定義「PCLogic」を、携帯電話ではアプリケーション変数定義「MobileAppVar」とロジック定義「MobileLogic」を独自に定義したものである。
また、図27と図28は一つのアプリケーションについて、異なる種別の端末で、状態遷移が一部異なる例を示したものである。図27はパソコンの場合の状態遷移、図28は携帯電話の場合の状態遷移図であり、検索結果の表示画面が異なっている。つまり、パソコンでは検索画面2701から、検索条件を入力すると2702のように一覧表形式で画面を出力するが、携帯電話の場合は、画面のサイズやファイルの要領制限の問題でパソコンのように一画面に大量の情報を表示することが不可能であるため、検索画面2801から検索結果の概要情報2802が表示され個別の詳細情報をさらに2803のような形式で表示するものである。
図29と図30はそれぞれ、パソコンの場合の画面変数定義、携帯電話の場合の画面変数定義の例を示したものである。図31は共通のアプリケーション変数定義を示したものであり、図32は携帯電話固有のアプリケーション変数定義の例を示したものである。この場合は図28で示した2802の検索結果の各名前の前についている選択ボタン2804のIDをリクエストとして取得する必要があるため、「app_id」をアプリケーション変数として独自に定義している。なお、パソコンの場合のアプリケーション変数については、この例題では独自の定義は存在しない。
図33はパソコンの場合の画面変数アプリケーション変数対応定義の例を示したものであり、図34は携帯電話の場合の画面変数アプリケーション変数対応定義を示したものである。図34の画面定義名「result.jsp」および「detail.jsp」の部分が図33とは異なっている。
図35はパソコンの画面例である図27に対応する状態遷移定義であり、図36は携帯電話の画面例である図28に対応する状態遷移定義である。ここで、ロジック定義については、図36の3601で示される「detailAction」以外は、パソコンと携帯電話で共通である。
このような実施の形態5の構成によれば、アプリケーションビュー定義において、端末に応じて独自にロジック定義とアプリケーション変数定義を追加できるようにしたので、端末毎に独自のロジックを追加しても、一つの共通アプリケーションとして動作可能な、多種端末対応のアプリケーションを作成し、実行することが可能である。
実施の形態6.
図37は、実施の形態6によるアプリケーション実行装置100cの構成図を示す図である。前記実施の形態4では、異なる端末について、各定義を個別に定義したが、これを自動で生成するようにしてもよい。つまり、画面変数定義102において、すでに定義した端末109の画面変数定義102と同一の名称の画面変数(名前と属性)を、新たに作成する端末109の画面変数とすることで、その他の「画面変数アプリケーション変数対応定義」、「アプリケーション変数定義」、「状態遷移定義」をコピーして当該端末109の定義とする定義自動生成部3701を備えるようにすればよい。
定義自動生成部3701の動作を、図38に示すフローチャートを用いて説明する。あらかじめ画面定義の作成者は、他端末109の画面定義を参照し、同一の処理を行う画面定義は同一の画面定義名・状態名として画面定義を作成し、さらに他端末109の画面変数定義を参照し、同一の意味をもつ項目については同一の画面変数を持つように画面変数定義を作成しておくものとする。つまり、ログイン画面について「Login.jsp」と他端末109で画面定義名がなされていれば当該端末についても「Login.jsp」とし、さらに「名前」入力欄について画面変数の名前が「name」で属性が「value」と他端末109で定義されていた場合、同じ「名前」入力欄について画面変数の名前を「name」、属性を「value」として画面変数を定義すればよい。
このように作成した画面変数定義をS3801で読込む。次にS3802にて既に存在する他端末109の中から基準とする端末109の定義を全て読込む。次にS3803にて基準端末109の画面変数アプリケーション変数対応定義の中で、同一画面定義で同一名称の画面変数について、該当部分を画面変数アプリケーション変数対応定義としてコピーし当該端末109の画面変数アプリケーション変数対応定義とする。次に、S3804にてその新たな画面変数アプリケーション変数対応定義に出現するアプリケーション変数について、基準端末109のアプリケーション変数定義から該当部分を、当該端末109のアプリケーション定義としてコピーして作成する。次に、S3805にて基準端末の状態遷移定義から、当該端末の画面定義と同一の名称の状態について、該当部分の状態定義を順次コピーし、当該端末の新しい状態遷移定義とする。さらに、S3806にて既に定義されているアプリケーションビュー定義を読込み、追加する端末について、これまでのステップで作成した各定義を、アプリケーションビュー定義に新たなビュー定義として追加する。
追加した端末109で追加処理を行いたい場合は、前記で作成した各定義に対して追加・編集作業を行えばよい。
また、基準端末109の定義を変更すれば、当該端末109の該当部分が同様に変更されるようにしてもよい。
このようなこの実施の形態6の構成によれば、あるアプリケーションについて動作する端末の種類を追加する際に、同一の画面定義名と同一意味部分の名前と属性が同じ画面変数定義を作成すれば、そのほかの定義を自動でコピーして生成する定義自動生成部3701をそなえるようにしたので、アプリケーション定義の作業を短縮化できる。
実施の形態7.
これまでの実施の形態1〜6では、画面定義101としてHTMLおよびCHTML形式の画面変数定義について特に言及して説明したが、XML(Extensible Markup Language)にて定義される、WML(Wireless Markup Language)やSVG(Scalable Vector Graphics)、VoiceXMLにて画面定義を記述するアプリケーションに適用してもよい。
図39はSVGによる楕円を表示する画面定義の記述を示したものである。図40は、これに対する表示の際の処理として、楕円のx軸方向の半径を変数として変えたい場合の画面変数定義を示したものである。これまでの実施の形態で示した方法と同じように定義を行うことで、楕円の形状を変更するアプリケーションを記述することが可能である。
このようなこの実施の形態7の構成によれば、画面定義101としてHTML以外のXML形式で定義できる画面定義を保存できるようにしたので、文字情報だけでなくグラフィックスや音声情報などで表示を行うアプリケーションについても、アプリケーション定義の作業を短縮することができる。
以上のように、この発明の実施の形態1〜7をWebを利用したアプリケーションに利用すれば、アプリケーション開発の生産性を向上できる。
この発明の実施の形態1のアプリケーション実行装置を示す図である。 この発明の実施の形態1の画面定義を示す図である。 この発明の実施の形態1の画面定義を示す図である。 この発明の実施の形態1の図2と図3の関係を示す図である。 この発明の実施の形態1の画面変数定義を示す図である。 この発明の実施の形態1のアプリケーション変数定義を示す図である。 この発明の実施の形態1の画面変数アプリケーション変数対応定義を示す図である。 この発明の実施の形態1の状態遷移定義を示す図である。 この発明の実施の形態1のロジック定義を示す図である。 この発明の実施の形態1のアプリケーション実行装置の動作を示す図である。 この発明の実施の形態1の画面定義の一部を変更した画面を示す図である。 この発明の実施の形態1の画面定義の追加の仕方を示す図である。 この発明の実施の形態2の画面変数アプリケーション変数対応定義を示す図である。 この発明の実施の形態3のアプリケーション実行装置を示す図である。 この発明の実施の形態3のデザイン画面定義を示す図である。 この発明の実施の形態3のデザイン画面定義を示す図である。 この発明の実施の形態3の画面定義生成処理部の動作を示す図である。 この発明の実施の形態3の画面定義の1例を示す図である。 この発明の実施の形態4のアプリケーション実行装置を示す図である。 この発明の実施の形態4のアプリケーションビュー定義を示す図である。 この発明の実施の形態4の状態遷移の例を示す図である。 この発明の実施の形態4の状態遷移の例を示す図である。 この発明の実施の形態4のアプリケーション変数定義の例を示す図である。 この発明の実施の形態4の端末種別判定定義を示す図である。 この発明の実施の形態4の端末種別判定部の動作を示す図である。 この発明の実施の形態5のアプリケーションビュー定義を示す図である。 この発明の実施の形態5の状態遷移を示す図である。 この発明の実施の形態5の状態遷移を示す図である。 この発明の実施の形態5のパソコンの場合の画面変数定義を示す図である。 この発明の実施の形態5の携帯電話の画面変数定義を示す図である。 この発明の実施の形態5の共通のアプリケーション変数定義を示す図である。 この発明の実施の形態5の携帯電話固有のアプリケーション変数定義を示す図である。 この発明の実施の形態5のパソコンの画面変数アプリケーション変数対応定義を示す図である。 この発明の実施の形態5の携帯電話の画面変数アプリケーション変数対応定義を示す図である。 この発明の実施の形態5の状態遷移定義を示す図である。 この発明の実施の形態5の状態遷移定義を示す図である。 この発明の実施の形態6のアプリケーション実行装置を示す図である。 この発明の実施の形態6の定義自動生成部の動作を示す図である。 この発明の実施の形態7の画面定義を示す図である。 この発明の実施の形態7の画面変数定義を示す図である。
符号の説明
100,100a,100b,100c アプリケーション実行装置、
101,1401 画面定義、102,1403 画面変数定義、
103 アプリケーション変数定義、104 ロジック定義、
105 画面変数アプリケーション変数対応定義、106 状態遷移定義、
107 画面変数アプリケーション変数対応処理実行部、108 データ記憶部、
109 端末、110 実行エンジン、1402 デザイン画面定義、
1404 画面定義生成処理部、1901 アプリケーションビュー定義、
1902 端末種別判定定義、1903 端末種別選定部、3701 定義自動生成部。

Claims (9)

  1. アプリケーション実行装置であって、画面定義と、画面変数定義と、アプリケーション変数定義と、ロジック定義と、画面変数アプリケーション変数対応定義と、状態遷移定義と、画面変数アプリケーション変数対応処理実行部と、データ記憶部と実行エンジン部とを備え、
    前記画面定義は、アプリケーション入出力画面表現を定義するものであり、前記画面変数定義は、前記画面定義内の入出力変数を定義するものであり、前記アプリケーション変数定義は、アプリケーションのロジック変数を定義するものであり、前記ロジック定義は、前記アプリケーション変数で記述されたアプリケーションの動作を定義するものであり、前記画面変数アプリケーション変数対応定義は、前記画面変数定義内の画面変数と前記アプリケーション変数定義内のアプリケーション変数との対応関係を定義するものであり、
    前記状態遷移定義は、アプリケーションの状態遷移を定義するものであり、前記データ記憶部は、前記アプリケーション変数および前記画面変数および前記アプリケーションの状態を記憶する機能を有するものであり、前記画面変数アプリケーション変数対応処理実行部は、前記画面変数定義と前記アプリケーション変数定義及び画面変数アプリケーション変数対応定義から、前記データ記憶部内の画面変数からアプリケーション変数を、前記データ記憶部内のアプリケーション変数から画面変数を計算する機能を有するものであり、
    前記実行エンジン部は、クライアントによるイベントと前記画面定義と前記画面変数定義と、前記アプリケーション変数定義と前記ロジック定義と前記状態遷移定義に従って、前記画面変数アプリケーション変数対応処理実行部と、前記データ記憶部とを制御してアプリケーションを動作させることを特徴とするアプリケーション実行装置。
  2. アプリケーション実行装置であって、デザイン画面定義と、画面定義生成処理部と、画面定義と、画面変数定義と、アプリケーション変数定義と、ロジック定義と、画面変数アプリケーション変数対応定義と、状態遷移定義と、画面変数アプリケーション変数対応処理実行部と、データ記憶部と実行エンジン部とを備え、
    前記デザイン画面定義は、デザイン画面を定義するものであり、前記画面定義生成処理部は、前記デザイン画面定義と前記画面変数定義とから画面定義を自動で生成する機能を有するものであり、前記画面定義は、前記画面定義生成処理部が生成した画面表現を定義するものであり、
    前記画面変数定義は、前記画面定義内の入出力変数を定義するものであり、前記アプリケーション変数定義は、アプリケーションのロジック変数を定義するものであり、前記ロジック定義は、前記アプリケーション変数で記述されたアプリケーションの動作を定義するものであり、前記画面変数アプリケーション変数対応定義は、前記画面変数定義内の画面変数と前記アプリケーション変数定義内のアプリケーション変数との対応関係を定義するものであり、
    前記状態遷移定義は、アプリケーションの状態遷移を定義するものであり、前記データ記憶部は、前記アプリケーション変数および前記画面変数および前記アプリケーションの状態を記憶する機能を有するものであり、前記画面変数アプリケーション変数対応処理実行部は、前記画面変数定義と前記アプリケーション変数定義及び画面変数アプリケーション変数対応定義から、前記データ記憶部内の画面変数からアプリケーション変数を、前記データ記憶部内のアプリケーション変数から画面変数を計算する機能を有するものであり、
    前記実行エンジン部は、クライアントによるイベントと前記画面定義と前記画面変数定義と、前記アプリケーション変数定義と前記ロジック定義と前記状態遷移定義に従って、前記画面変数アプリケーション変数対応処理実行部と、前記データ記憶部とを制御してアプリケーションを動作させることを特徴とするアプリケーション実行装置。
  3. アプリケーション実行装置であって、前記アプリケーション実行装置は複数の端末で一つのアプリケーションを利用するものであり、アプリケーションビュー定義と、端末種別判定定義と、端末種別選定部と、画面定義と、画面変数定義と、アプリケーション変数定義と、ロジック定義と、画面変数アプリケーション変数対応定義と、状態遷移定義と、画面変数アプリケーション変数対応処理実行部と、データ記憶部と実行エンジン部とを備え、前記アプリケーションビュー定義は、前記複数の端末毎に前記各定義の組み合わせを定義するものであり、前記端末種別判定定義は、前記複数の端末種別を判定するものであり、前記端末種別選定部は、前記複数の端末からのリクエスト情報と前記端末種別判定定義とを比較して端末を選定するものであり、
    前記画面定義は、アプリケーション入出力画面表現を定義するものであり、前記画面変数定義は、前記画面定義内の入出力変数を定義するものであり、前記アプリケーション変数定義は、アプリケーションのロジック変数を定義するものであり、前記ロジック定義は、前記アプリケーション変数で記述されたアプリケーションの動作を定義するものであり、前記画面変数アプリケーション変数対応定義は、前記画面変数定義内の画面変数と前記アプリケーション変数定義内のアプリケーション変数との対応関係を定義するものであり、
    前記状態遷移定義は、アプリケーションの状態遷移を定義するものであり、前記データ記憶部は、前記アプリケーション変数および前記画面変数および前記アプリケーションの状態を記憶する機能を有するものであり、前記画面変数アプリケーション変数対応処理実行部は、前記画面変数定義と前記アプリケーション変数定義及び画面変数アプリケーション変数対応定義から、前記データ記憶部内の画面変数からアプリケーション変数を、前記データ記憶部内のアプリケーション変数から画面変数を計算する機能を有するものであり、
    前記実行エンジン部は、クライアントによるイベントと前記画面定義と前記画面変数定義と、前記アプリケーション変数定義と前記ロジック定義と前記状態遷移定義に従って、前記画面変数アプリケーション変数対応処理実行部と、前記データ記憶部と、前記端末種別選定部とを制御してアプリケーションを動作させることを特徴とするアプリケーション実行装置。
  4. 前記画面変数アプリケーション変数対応定義は、前記画面変数と前記アプリケーション変数との対応関係を定義するとともに、複数のアプリケーション変数を結合して画面変数に、あるいは複数の画面変数を結合してアプリケーション変数に代入する対応関係を定義することを特徴とする請求項1〜3のいずれか1項に記載のアプリケーション実行装置。
  5. 前記画面変数アプリケーション変数対応定義は、さらに加えて表示形態の変換や演算処理をして画面変数をアプリケーション変数に、あるいはアプリケーション変数を画面変数に代入する対応関係を定義することを特徴とする請求項1〜3のいずれか1項に記載のアプリケーション実行装置。
  6. 前記アプリケーション変数定義は、複数の端末で共通のアプリケーションのロジック変数を定義するものであり、
    前記ロジック定義は、複数の端末で共通で前記アプリケーション変数で記述されたアプリケーションの動作を定義するものであることを特徴とする請求項3に記載のアプリケーション実行装置。
  7. 前記アプリケーション変数定義は、複数の端末で共通なアプリケーションと異なるアプリケーションのロジック変数を定義するものであり、
    前記ロジック定義は、複数の端末で共通と、異なる前記アプリケーション変数で記述されたアプリケーションの動作を定義するものであることを特徴とする請求項3に記載のアプリケーション実行装置。
  8. 前記アプリケーション実行装置には、さらに加えて定義自動生成部が備えられており、前記定義自動生成部は、既存のアプリケーションビュー定義で定義されているものと同一の画面変数定義を行った前記画面変数定義から、画面変数アプリケーション変数対応定義、アプリケーション変数定義、状態遷移定義、アプリケーションビュー定義を自動生成することを特徴とする請求項3に記載のアプリケーション実行装置。
  9. 前記画面定義がHTML、CompactHTML(CHTML)、XML形式であることを特徴とする請求項1〜8のいずれか1項に記載のアプリケーション実行装置。
JP2004037807A 2004-02-16 2004-02-16 アプリケーション実行装置 Pending JP2005228184A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004037807A JP2005228184A (ja) 2004-02-16 2004-02-16 アプリケーション実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004037807A JP2005228184A (ja) 2004-02-16 2004-02-16 アプリケーション実行装置

Publications (1)

Publication Number Publication Date
JP2005228184A true JP2005228184A (ja) 2005-08-25

Family

ID=35002839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004037807A Pending JP2005228184A (ja) 2004-02-16 2004-02-16 アプリケーション実行装置

Country Status (1)

Country Link
JP (1) JP2005228184A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003109A (ja) * 2009-06-22 2011-01-06 Fujitsu Ltd モデル検査プログラム、モデル検査方法、モデル検査装置
WO2011033644A1 (ja) 2009-09-17 2011-03-24 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP2012141777A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 画面情報提供プログラム、画面情報提供方法、作成支援プログラムおよび作成支援方法
CN108681464A (zh) * 2018-05-12 2018-10-19 芜湖市疾病预防控制中心 老旧b/s架构系统对移动客户端优化和兼容性适配的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003109A (ja) * 2009-06-22 2011-01-06 Fujitsu Ltd モデル検査プログラム、モデル検査方法、モデル検査装置
WO2011033644A1 (ja) 2009-09-17 2011-03-24 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP2012141777A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 画面情報提供プログラム、画面情報提供方法、作成支援プログラムおよび作成支援方法
CN108681464A (zh) * 2018-05-12 2018-10-19 芜湖市疾病预防控制中心 老旧b/s架构系统对移动客户端优化和兼容性适配的方法

Similar Documents

Publication Publication Date Title
CN108984714B (zh) 页面渲染方法、装置、电子设备及计算机可读介质
JP5911594B2 (ja) アプリケーションのローカリゼイションにおける翻訳支援の提供
KR100661393B1 (ko) 웹 프로그래밍 환경을 응용한 웹사이트 관리 시스템 및방법
JP6764115B2 (ja) 表示プログラム、表示方法および表示装置
EP2629210A1 (en) Method of providing data included in building information modeling data file, computer readable medium therefor, system using the method, and method of providing data using building information modeling server
US20150040098A1 (en) Systems and methods for developing and delivering platform adaptive web and native application content
US20050193361A1 (en) System and method for presentation of wireless application data using repetitive UI layouts
CN101030224A (zh) 用于构建跨越异构环境的统一查询的系统和方法
CN103309806B (zh) 一种快速开发测试的装置及方法
WO2005114401A1 (en) Automated creation of web gui for xml servers
CN1749961A (zh) 使用网络模型的单机软件
CN104252442A (zh) 与现场应用集成的演示文稿的系统和方法
US20100269093A1 (en) Content Management System and Method for Generating Dynamic Applications
JP2020017277A (ja) グラフィックインタフェースに基づく、イベント動作をプログラミングするwebレポーティングデザインシステム
US10397304B2 (en) System and method to standardize and improve implementation efficiency of user interface content
CN114035793A (zh) 页面生成方法、页面生成装置、设备及存储介质
JP2005228184A (ja) アプリケーション実行装置
Nebeling et al. XCML: providing context-aware language extensions for the specification of multi-device web applications
CN102033902A (zh) 用于产生合成空间表示的方法和系统
CN103488686B (zh) 生成展示类组件的装置和生成展示类组件的方法
CN113687827B (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
Calò et al. Leveraging Large Language Models for End-User Website Generation
Khan Information society in global age
Jeschke et al. Developing accessible applications with user-centered architecture
Schubotz et al. Towards Networked Linked Data-Driven Web3D Applications.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100601