JP4630572B2 - 整合性チェックプログラム及び整合性チェック装置 - Google Patents

整合性チェックプログラム及び整合性チェック装置 Download PDF

Info

Publication number
JP4630572B2
JP4630572B2 JP2004158041A JP2004158041A JP4630572B2 JP 4630572 B2 JP4630572 B2 JP 4630572B2 JP 2004158041 A JP2004158041 A JP 2004158041A JP 2004158041 A JP2004158041 A JP 2004158041A JP 4630572 B2 JP4630572 B2 JP 4630572B2
Authority
JP
Japan
Prior art keywords
information
file
business logic
screen configuration
data definition
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
JP2004158041A
Other languages
English (en)
Other versions
JP2005339268A (ja
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004158041A priority Critical patent/JP4630572B2/ja
Publication of JP2005339268A publication Critical patent/JP2005339268A/ja
Application granted granted Critical
Publication of JP4630572B2 publication Critical patent/JP4630572B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、業務ロジック記述ファイルと、画面構成記述ファイルと、業務処理と画面表示の連携制御に必要な画面遷移定義情報を記述する画面遷移定義ファイルとの整合性又は業務ロジック記述ファイルと、画面構成記述ファイルと、業務処理と画面表示の連携制御に必要なデータ定義情報を記述するデータ定義ファイルとの整合性をチェックするプログラム及び方法に関する。
アプリケーションをModel(ロジック)、View(プレゼンテーション)、Controller(制御)の3つの部分に分割して、それぞれを別個に作成することによって、機能分離を明確化し、各機能の独立性を確保して、プログラミングの分業を効率的に進めることができる。また、コンポーネント間の依存性を最小限に抑えることによって、他の部分が変更されたことによる影響を受けにくくすることもできる。こうすることでコンポーネントの再利用性が高まる。また、他のコンポーネントが変更されたことによるメンテナンスも最小限に抑えることができ、保守性も高まる。
このようなMVCモデルは、Webサイト上の決済サービスや、統合認証、バックエンド接続、セッション管理など、Webアプリケーション構築の開発生産性向上を目的に、広く活用されている。
具体的には、Java(登録商標)言語、COBOL言語又はC言語などによって業務ロジックを記述する部分(Model)、HTMLやJSPによるWeb画面の構成を記述する部分(View)、Servletによる業務処理とWeb画面表示の連携制御を記述する部分(Control)というように分割して、それぞれを別個に作成する(例えば、非特許文献1参照)。
なお、「EJB」は、Enterprise JavaBeansの略であって、サーバサイドでのビジネスロジックの集約化を目的としたコンポーネント仕様のことである。 「JSP」は、Java Server Pages の略であって、HTMLの中にJavaのコードを埋め込んで実行させるためのしくみである。 「Servlet」は、サーバサイドでのJava実行形態のひとつであって、Webサーバと連携してJavaのプログラムを動作させるためのしくみである。
"MVCモデル開発フレームワーク"[online]、「2004年4月23日検索」、インターネット<URL: http://works.nri.co.jp/solution/about_ow/framework/framework01.html >
例えば、Java言語で記述、コンパイルして得られるClassファイルと各種定義ファイルとJSPファイルとをデプロイし、その後に各処理を実際に実行してエラーを発見する場合、実行時まで判明しないエラーが数多くあり、またあらゆるパターンを一つずつ実行しなければエラーを発見することが出来ない。
そこで、本発明は、コンパイルやデプロイをすることなく、Javaファイル等の業務ロジック記述ファイルと、JSPファイル等の画面構成記述ファイルと、業務処理と画面表示の連携制御に必要なXMLファイル等の画面遷移定義ファイル又はデータ定義ファイルとの間の不整合をチェックし、発見するプログラム及び方法を提供することを目的とする。
本発明の第1の特徴は、整合性チェックプログラムであって、業務ロジック記述ファイルと、画面構成記述ファイルと、業務処理と画面表示の連携制御に必要な画面遷移定義情報を記述する画面遷移定義ファイルとの間の整合性をチェックさせるためにコンピュータを、
業務ロジック記述ファイルに記述されている複数の業務処理要素名を業務ロジック情報として記憶する記憶手段、
複数の画面構成記述ファイルのファイル名と画面構成記述ファイルに記述されている複数の業務処理要素識別子とを画面構成情報として記憶する記憶手段、
画面遷移定義ファイルに記述されている複数の画面識別子と複数の業務処理要素識別子と複数の業務処理要素名とを画面遷移定義情報として記憶する記憶手段、
画面遷移定義情報として記憶された画面識別子と、画面構成情報として記憶された画面構成記述ファイル名とを比較し、画面識別子の各々が画面構成記述ファイル名のいずれかに対応するかを調べる比較手段、
画面遷移定義情報として記憶された業務処理要素名と、業務ロジック情報として記憶された業務処理要素名とを比較し、画面遷移定義情報として記憶された業務処理要素名の各々が業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べる比較手段、
画面構成情報として記憶された業務処理要素識別子と、業務ロジック情報として記憶された業務処理要素名とを比較し、画面構成情報として記憶された業務処理要素識別子の各々が業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べる比較手段、
画面識別子に対応する画面構成記述ファイルが存在しない、画面遷移定義情報として記憶された業務処理要素名に対応する業務処理要素名が、業務ロジック情報として記憶されていない、又は画面構成情報として記憶された業務処理要素識別子に対応する業務処理要素名が、業務ロジック情報として記憶されていない場合に、エラーメッセージを表示する表示手段、として機能させることにある。
業務ロジック記述ファイルとは、例えばJavaファイルであり、業務処理要素識別子とは、例えばアクションIDであり、業務処理要素名とは、例えばメソッド名であり、記憶手段とは、例えばフレキシブルディスク、ハードディスク、ランダムアクセスメモリなどである。
画面構成記述ファイルとは、例えばJSPファイルであり、画面遷移定義ファイルとは、例えば後述する画面遷移定義XMLファイルなどである。
「画面識別子の各々が画面構成記述ファイル名のいずれかに対応する」とは、「画面識別子の各々が画面構成記述ファイル名のいずれかと同じ」ということを意味しない。例えば、画面識別子が"test_01"で、画面構成記述ファイル名が"test_01.jsp"である場合のように、画面識別子が画面構成記述ファイル名から拡張子を除いた残りである場合などは、「画面識別子が画面構成記述ファイル名に対応する」に該当する。
また、「画面構成情報として記憶された業務処理要素識別子が業務ロジック情報として記憶された業務処理要素名に対応する」とは、「画面構成情報として記憶された業務処理要素識別子が業務ロジック情報として記憶された業務処理要素名と同じ」ということを意味しない。画面構成情報として記憶された業務処理要素識別子(アクションID)が"doSearch"で、業務ロジック情報として記憶された業務処理要素名(メソッド名)が"search"である場合のように、画面構成情報として記憶された業務処理要素識別子が、業務ロジック情報として記憶された業務処理要素名の前に"do"を付加したものである場合などは、「画面構成情報として記憶された業務処理要素識別子が業務ロジック情報として記憶された業務処理要素名に対応する」に該当する。
表示手段とは、例えば液晶ディスプレイ、CRTディスプレイなどである。エラーメッセージとは、業務処理に支障をきたす不整合が発見されたことを伝えるものである。
本発明の第2の特徴は、コンピュータを、画面構成記述ファイル名の各々が、画面識別子のいずれかに対応するかを調べる比較手段、画面構成記述ファイル名に対応する画面識別子が存在しない場合に、警告メッセージを表示する表示手段、としてさらに機能させることにある。
警告メッセージとは、業務処理に支障はきたさない不整合が発見されたことを伝えるものである。
本発明の第3の特徴は、コンピュータを、業務ロジック情報として記憶された業務処理要素名の各々が、画面遷移定義情報として記憶された業務処理要素名のいずれかに対応するかを調べる比較手段、
業務ロジック情報として記憶された業務処理要素名の各々が、画面構成情報として記憶された業務処理要素識別子のいずれかに対応するかを調べる比較手段、
業務ロジック情報として記憶された業務処理要素名に対応する業務処理要素名が、画面遷移定義情報として記憶されていない場合に、警告メッセージを表示する表示手段、としてさらに機能させることにある。
本発明の第4の特徴は、業務ロジック記述ファイルと、画面構成記述ファイルと、業務処理と画面表示の連携制御に必要なデータ定義情報を記述するデータ定義ファイルとの間の整合性をチェックさせるためにコンピュータを、
業務ロジック記述ファイルに記述されている複数のカラム識別子を業務ロジック情報として記憶する記憶手段、
複数の画面構成記述ファイルに記述されている複数のカラム識別子を画面構成情報として記憶する記憶手段、
データ定義ファイルに記述されている複数のカラム識別子をデータ定義情報として記憶する記憶手段、
画面構成情報として記憶されたカラム識別子と、データ定義情報として記憶されたカラム識別子とを比較し、画面構成情報として記憶されたカラム識別子の各々が、データ定義情報として記憶されたカラム識別子のいずれかに対応するかを調べる比較手段、
業務ロジック情報として記憶されたカラム識別子と、データ定義情報として記憶されたカラム識別子とを比較し、業務ロジック情報として記憶されたカラム識別子の各々が、データ定義情報として記憶されたカラム識別子のいずれかに対応するかを調べる比較手段、
業務ロジック情報として記憶された業務処理要素名に対応する業務処理要素識別子が、画面構成情報として記憶されていない場合に、警告メッセージを表示する表示手段、として機能させることにある。
データ定義ファイルとは、例えば後述するデータ定義XMLファイルなどである。
本発明の第5の特徴は、コンピュータを、データ定義情報として記憶されたカラム識別子の各々が、画面構成情報として記憶されたカラム識別子のいずれかに対応するかを調べる比較手段、
画面構成情報として記憶されたカラム識別子に対応するカラム識別子が、データ定義情報として記憶されていない、又は業務ロジック情報として記憶されたカラム識別子に対応するカラム識別子が、データ定義情報として記憶されていない場合に、エラーメッセージを表示する表示手段、としてさらに機能させることにある。
本発明の第6の特徴は、コンピュータを、データ定義情報として記憶されたカラム識別子の各々が、業務ロジック情報として記憶されたカラム識別子のいずれかに対応するかを調べる比較手段、データ定義情報として記憶されたカラム識別子に対応するカラム識別子が、画面構成情報として記憶されていない場合に、警告メッセージを表示する表示手段、としてさらに機能させることにある。
本発明の第1の特徴によれば、画面識別子の各々が、画面構成記述ファイル名のいずれかに対応するかを調べることによって、画面遷移定義ファイルで定義されているが、作成されていない画面構成記述ファイルを発見することができる。
また、画面遷移定義情報として記憶された業務処理要素名の各々が、業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べることによって、画面遷移定義ファイルで定義されているが、業務ロジック記述ファイル内に記述されていない業務処理要素を発見することができる。
さらに、画面構成情報として記憶された業務処理要素識別子の各々が、業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べることによって、画面構成記述ファイルで使用されているが、業務ロジック記述ファイル内に記述されていない業務処理要素を発見することができる。
このようにして、コンパイルやデプロイをすることなく、業務ロジック記述ファイルと画面構成記述ファイルと画面遷移定義ファイルとの間の不整合を発見することができる。また、一度のチェックプログラム実行で複数の不整合を発見することができる。
本発明の第2の特徴によれば、画面構成記述ファイル名の各々が、画面識別子のいずれかに対応するかを調べることによって、作成されてはいるが、画面遷移定義ファイルで使用されていない画面構成記述ファイルを発見することができる。
本発明の第3の特徴によれば、業務ロジック情報として記憶された業務処理要素名の各々が、画面遷移定義情報として記憶された業務処理要素名のいずれかに対応するかを調べることによって、業務ロジック記述ファイルに記述されているが、画面遷移定義ファイルで定義されていない業務処理要素を発見することができる。
また、業務ロジック情報として記憶された業務処理要素名の各々が、画面構成情報として記憶された業務処理要素識別子のいずれかに対応するかを調べることによって、業務ロジック記述ファイルに記述されているが、画面構成記述ファイルで使用されていない業務処理要素を発見することができる。
本発明の第4の特徴によれば、画面構成情報として記憶されたカラム識別子の各々が、データ定義情報として記憶されたカラム識別子のいずれかに対応するかを調べることによって、画面構成記述ファイルに記述されているが、データ定義ファイルで定義されていないカラム識別子を発見することができる。
また、業務ロジック情報として記憶されたカラム識別子の各々が、データ定義情報として記憶されたカラム識別子のいずれかに対応するかを調べることによって、業務ロジック記述ファイルに記述されているが、データ定義ファイルで定義されていないカラム識別子を発見することができる。
本発明の第5の特徴によれば、データ定義情報として記憶されたカラム識別子の各々が、画面構成情報として記憶されたカラム識別子のいずれかに対応するかを調べることによって、データ定義ファイルで定義されているが、画面構成記述ファイルで使用されていないカラム識別子を発見することができる。
本発明の第6の特徴によれば、データ定義情報として記憶されたカラム識別子の各々が、業務ロジック情報として記憶されたカラム識別子のいずれかに対応するかを調べることによって、データ定義ファイルで定義されているが、業務ロジック記述ファイルで使用されていないカラム識別子を発見することができる。
以下に図面に基づいて、本発明を実施するための最良の形態を説明する。なお、以下の説明は、単なる例示に過ぎず、本発明の技術的範囲は以下の説明に限定されるものではない。
図1は、実施例1にかかるWebアプリケーションサーバ20の概略構成を示す。図1に示すように、サーバ20はクライアント10のWebブラウザからリクエストを受け取り、レスポンスを返す。具体的には、サーバ20は、画面遷移定義XMLファイル21a、データ定義XMLファイル21bと、これら定義ファイルを読み込んで動作するコントローラ22と、コントローラから処理要求を受け取り、所定のデータなどを返すJavaBL(ビジネスロジックを構築するJavaアプリケーション)23と、コントローラからページ表示要求を受け取り、ページ表示をレスポンスとしてクライアントへ返すJSP24とを記憶部(図示せず)に記憶する。
本実施例の整合性チェックツールは、これら定義ファイル21とJavaBL(以下適宜、「Javaアプリケーション」と呼ぶ)23とJSP24との間の整合性を、コンパイルやデプロイを経ずにチェック可能とするものである。
図2は、実施例1における整合性チェック装置の構成図を示す。図2に示すように、整合性チェック装置30は、中央処理装置(CPU)31と、メインメモリ32と、入力装置33と、ファイル装置34と、出力装置36とを備え、それら各装置がバス37を介してデータをやり取りすることができる。
入力装置33にはキーボードや、FDドライブやネットワークインターフェースカードなどが含まれる。この入力装置を用いて各種ファイルを作成又は読み込む。
ファイル装置34には、ハードディスクドライブが含まれる。入力装置33を用いて作成又は読み込まれた画面遷移定義XMLファイル21a、データ定義XMLファイル、JavaBLソースファイル、JSPソースファイル等がファイル装置34aに格納され、整合性チェックプログラム(以下適宜、「整合性チェックツール」と呼ぶ)、画面遷移定義情報取得ルーチン42、データ定義情報取得ルーチン、JavaBL情報取得ルーチン、JSP情報取得ルーチン、画面遷移定義チェックルーチン、データ定義チェックルーチン等がファイル装置34bに格納されるものとする。
メインメモリ32は、整合性チェックツールのワークエリアとして使用される。出力装置36には、液晶ディスプレイ、CRTディスプレイ等が含まれる。整合性をチェックした結果としてのエラーメッセージ、警告メッセージなどが出力装置36に出力される。
中央処理装置(CPU)31は、(1)画面遷移定義情報として記憶された画面識別子と、画面構成情報として記憶された画面構成記述ファイル名とを比較し、画面識別子の各々が画面構成記述ファイル名のいずれかに対応するかを調べる比較手段、(2)画面遷移定義情報として記憶された業務処理要素名と、業務ロジック情報として記憶された業務処理要素名とを比較し、画面遷移定義情報として記憶された業務処理要素名の各々が業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べる比較手段、(3)画面構成情報として記憶された業務処理要素名と、業務ロジック情報として記憶された業務処理要素名とを比較し、画面構成情報として記憶された業務処理要素名の各々が業務ロジック情報として記憶された業務処理要素名のいずれかに対応するかを調べる比較手段、として機能する。
図3は、実施例1における整合性チェック処理の流れを示すフローチャートである。図3に示すように、
ステップS11で、画面遷移定義XMLファイル21a、データ定義XMLファイルを読み込み、
ステップS12で、画面遷移定義情報、データ定義情報を取得し、
ステップS21で、JSPソースファイルを読み込み、
ステップS22で、JSPソースファイルの構文を解析し、
ステップS23で、JSP構文解析結果をJSPリポジトリに登録し、
ステップS24で、JSPリポジトリからJSP情報を取得し、
ステップS31で、Javaソースファイルを読み込み、
ステップS32で、Javaソースファイルの構文を解析し、
ステップS33で、Java構文解析結果をJavaリポジトリに登録し、
ステップS34で、JavaリポジトリからJavaBL情報を取得し、
ステップS41で、画面遷移定義情報とJSP情報とJavaBL情報とに基づいて画面遷移定義の整合性をチェックし、かつデータ定義情報とJSP情報とJavaBL情報とに基づいてデータ定義の整合性をチェックし、
ステップS42で、エラーの有無を調べ、エラーが存在する場合はステップS43でエラーメッセージを表示し
ステップS44で、警告の要否を調べ、警告が必要な場合はステップS45で警告メッセージを表示する。
図4は、実施例1における整合性チェックツールの内部構成を示す。図4に示すように、整合性チェックツール40は情報取得ルーチン41と整合性チェックルーチン46から構成されている。情報取得ルーチン41は、画面遷移定義情報取得ルーチン42とデータ定義情報取得ルーチン43とJavaBL情報取得ルーチン44とJSP情報取得ルーチン45とを含む。また、整合性チェックルーチン46は、画面遷移定義チェックルーチン47とデータ定義チェックルーチン48とを含む。
画面遷移定義情報取得ルーチン42は、画面遷移定義XMLファイル21aを読み込み、画面遷移定義情報を出力する。画面遷移定義XMLファイル21aは、あるページで、あるアクションが要求されたら、どのJavaBLを実行し、その返値に応じてどのページへ遷移するか等を定義する。
データ定義情報取得ルーチン43は、データ定義XMLファイル21bを読み込み、データ定義情報を出力する。データ定義XMLファイル21bは、カラムID、カラムIDに対応するカラム日本語名、データチェック情報、初期値等を定義する。
JavaBLソースファイル23sは、Javaパーサによって構文解析される。
構文解析方法は、Java言語の構造定義を例えば大きく3つの部分に分けて行う。1つ目の部分は、プログラム、ファイル、ファイル中の関数宣言や大域変数宣言等の宣言文により表現されるプログラムの全体構造である。2つ目の部分は、制御文、ブロック又は式等のプログラムの基本構造である。3つ目の部分は、変数や関数の名前や型、定数、演算子及びそれらの宣言等のプログラムの基本要素である。
構文解析結果は、XMLファイルとしてJavaリポジトリに格納される。JavaBL情報取得ルーチン44は、低レベルAPI (application programming interface)を介してJavaリポジトリからJavaBL情報を取得し、取得したJavaBL情報を画面遷移定義チェックルーチン47及びデータ定義チェックルーチン48へ出力する。Javaパーサ(解析器)及びJavaリポジトリ用の低レベルなAPIとしては名古屋大学大学院情報科学研究科(阿草研究室)開発のJapidが使用可能である。
JSPソースファイル24sは、JSPパーサによって構文解析される。構文解析方法は、JavaBL情報取得の場合と同様である。
構文解析結果は、XMLファイルとしてJSPリポジトリに格納される。JSP情報取得ルーチン45は、低レベルなAPIを介してJSPリポジトリからJSP情報を取得し、取得したJSP情報を画面遷移定義チェックルーチン47及びデータ定義チェックルーチン48へ出力する。JSPパーサ(解析器)、JSPリポジトリ用の低レベルAPIとしては名古屋大学大学院情報科学研究科(阿草研究室)開発のWapidが使用可能である。
次に、整合性チェックルーチンについて説明する。整合性チェックルーチンは、画面遷移定義チェックルーチン47とデータ定義チェックルーチン48とを備える。
画面遷移定義チェックルーチン47は、画面遷移定義情報取得ルーチン42から画面遷移定義情報を受け取り、JavaBL情報取得ルーチン44からJavaBL情報を受け取り、JSP情報取得ルーチン45からJSP情報を受け取り、画面遷移定義XMLファイル21a、JavaBLソースファイル23s、JSPソースファイル24s間の整合性をチェックし、不整合を発見したらエラー(Error)メッセージ、警告(Warning)メッセージを出力装置36に出力する。
画面遷移定義チェックルーチン47は、画面遷移定義XMLファイル21aに記述されたメソッドが正しくJavaBLソース23sに記述されているか、及び画面遷移定義XMLファイル21aに記述された遷移を行うようにJSPソース24sが記述されているかをチェックする。
データ定義チェックルーチン48は、データ定義情報取得ルーチン43からデータ定義情報を受け取り、JavaBL情報取得ルーチン44からJavaBL情報を受け取り、JSP情報取得ルーチン45からJSP情報を受け取り、データ定義XMLファイル21bとJavaBLソースファイル23sとJSPソースファイル24sとの間の整合性をチェックし、不整合を発見したらエラー(Error)メッセージ、警告(Warning)メッセージを表示装置36に出力する。
データ定義チェックルーチン48は、データ定義XMLファイル21bに記述されたデータが正しくJavaBLソース23s、JSPソース24sで利用されているかをチェックする。
図5に画面遷移定義チェックの概要の一例を示す。まず、画面遷移定義XMLファイル21aの内容とそれから取得される画面遷移定義情報について説明する。画面遷移定義XMLファイル21aの内容は以下のとおりとする。
・・・・・
<ControlIProcess>
<PageId>query</PageId>
<ActionId>doSearch</ActionId>
<PLTr>search</PLTr>
<NextPage>
<ProcRet>0</ProcRet>
<NextPageId>searchOk</NextPageId>
<NextPageJSPPath>searchOk.jsp</ NextPageJSPPath >
・・・
</NextPage>
・・・・・
</ControlIProcess>
そして、
・<ActionId>と</ActionId>とに挟まれた”doSearch”を、アクションIDとして、
・<PLTr>と</PLTr>とに挟まれた”search”を、実行するJavaBLの名前として
取得する。
さらに、
・ページID”query”、アクションID”doSearch”に対応する実行BL(ビジネスロジック)”search”を実行した場合に、返値が”0”のときはページID”searchOk”のページへ遷移する
ことなどが画面遷移定義情報として取得される。
前記の如く、画面遷移定義情報取得ルーチン42は、取得したい画面遷移定義情報のタグ名を予め定めておき、かかるタグ名に対応する要素の内容を抽出する。
次に、JSPソースファイル24sの内容とそれから取得されるJSP情報について説明する。JSPソースファイル24sの内容は以下のとおりとする。
・・・・・
<form method=post action=”<%=
servletURL %>” onSubmit=”return
submitEventHandler(this)”>
・・・・・
<input type=”submit”
name=”ACT_doSearch” value=”実行”>
</font></p>
</form>
・・・・・・
前記のようなJSPファイル24sから、JSPの情報全てが解析されてJSPリポジトリに格納される。その後、例えばtype属性が”submit”であるinputタグのname属性の属性値”ACT_doSearch”がJSP情報として抽出され、利用される。
次に、Javaソースファイル23sの内容とそれから取得されるJavaBL情報について説明する。Javaソースファイル23sの内容は以下のとおりとする。
・・・・・
public int search(SessionDataHolder argSdh,
DataStoreBean argDs, RequestDataHolder argRdh){
・・・・・
}
・・・・・
前記のようなJavaソースファイル23sから、Javaの情報全てが解析されてJavaリポジトリに格納される。その後、例えば
直後が、“(”で、
直前が、int、stringなどのデータ型で、
直前のデータ型の直前がpublic、privateなどの修飾子である、
文字列” search”が、メソッド名としてJavaBL情報として抽出され、利用される。
画面遷移定義チェックルーチン47は、これら画面遷移定義情報、JSP情報、JavaBL情報を照らし合わせて、画面遷移定義の整合性をチェックする。
図6にデータ定義チェックの概要の一例を示す。まず、データ定義XMLファイル21bの内容とそれから取得されるデータ定義情報について説明する。データ定義XMLファイル21bの内容は以下のとおりとする。
また、データ定義XMLファイル21bの一例を以下に示す。
・・・・・
<DataStoreBean>
<DataStoreId>DSTestControl</DataStoreId>
<DataBuf>
<columnId>kaiin_no</columnId>
<columnName>会員NO</columnName>
<columnType>String</columnType>
<checkSet>
<model>1</model>
<chkTyp>IS_NOT_NULL</chkTyp>
</checkSet>
・・・・・
前記のようなデータ定義XMLファイル21bから、カラムID”kaiin_no”がデータ定義情報として取得される。データ定義情報取得ルーチン43も、画面遷移定義情報取得ルーチン42と同様に、取得したいデータ定義情報のタグ名を予め定めておき、かかるタグ名に対応する要素の内容を抽出する。
次に、JSPソースファイル24sの内容とそれから取得されるJSP情報について説明する。JSPソースファイル24sの内容は以下のとおりとする。
・・・・・・
<input type=”text” name=”kaiin_no”
value=”<%=
Util.htmlEscape(ds.getItem(“kaiin_no”))
%>” onBlur=’blurEventHandler(this)’
size=”9” maxlength=”8”>
・・・・・
前記のようなJSPソースファイル24sから、type属性が”text”であるinputタグのname属性”kaiin_no”がJSP情報として取得される。
次に、Javaソースファイル23sの内容とそれから取得されるJavaBL情報について説明する。Javaソースファイル23sの内容は以下のとおりとする。
・・・・・
String sKaiinNo = argDs.getItem(“kaiin_no”);
・・・・・
前記のようなJavaソースファイル24sから、例えばメソッド名の直後の括弧”()“内の引数”kaiin_no”がJavaBL情報として取得される。
図7に整合性チェックツール実行結果表示画面の一例を示す。同図に示す例では、3行目に示すように画面遷移定義XMLファイル(c:/usr/local/gnt/def/CORE_Def\TestSaiHouControl.XML)と、4行目に示すようにデータ定義XMLファイル(c:/usr/local/gnt/def/CORE_Def\DSTestSaiHouControl.XML)を解析してチェックしたところ、6行目に示すように画面遷移チェック結果は”OK”だが、7〜9行目に示すようにJavaファイル(TestBl.Java)の24行目に記述されているカラムID”kounyuu_bi”がデータ定義XMLファイル(DSTestSaiHouControl.XML)で定義されていないことが、エラーメッセージとして表示され、また11〜12行目に示すようにデータ定義XMLファイル(DSTestSaiHouControl.XML)で定義されているカラムID ”nyuu_bi”が使用されていないことが、警告メッセージとして表示され、13行目に示すようにデータチェック結果が”NG”であると表示される。
エラーメッセージとは、修正しないと実行時にエラーを発生する不整合を指摘するメッセージである。警告メッセージとは、修正しなくても実行可能な不整合を指摘するメッセージである。
図8(a)〜(d)に整合性チェックルーチンが取得するデータ定義情報、データチェック情報、JavaBL(ビジネスロジック)情報及びカラム情報のイメージを示す。同9(a)〜(e)にJSP情報、アクションID情報、カラムID情報、画面遷移定義情報及び返値・遷移先情報のイメージを示す。
図8(a)に示すデータ定義情報の例では、
データストアIDとして”ds_sample_id01”、
ファイルパスとして”c:\usr\local\o3w\def\ds_sample_id01.XML”、
カラムIDとしてカラムID_01〜09、
カラム日本語名としてカラム日本語名_01〜09を取得する。また、各カラムIDに対応するデータチェック情報及び初期値も取得する。
図8(b)に示すデータチェック情報の例では、データの種類として、数値、半角及び範囲は許容するが、英数及び日付は不可である。
図8(c)に示すJavaビジネスロジック情報の例では、
コントロールIDとして”sample_id01_”、
ファイルパスとして”c:\usr\local\o3w\def\ sample_id01.java”、
メソッド名として”search”, ”Ok”, ”cancel”、 メソッド名_04、メソッド名_05、メソッド名_06を取得する。また、各メソッドのメソッド位置、カラム情報及び返値も取得する。
図8(d)に示すカラム情報の例では、カラムID_03、カラムID_05、各カラムIDに対応するカラム出現位置を取得する。
図9(a)に示すJSP情報の例では、ファイル名として”test_01.jsp”, ”test_02.jsp”, ”test_03.jsp”を取得する。また、各ファイルに対応するアクションID情報及びカラムID情報も取得する。
図9(b)に示すアクションID情報の例では、”doSearch”, ”doOk”及び”doCancel”を取得する。
図9(c)に示すカラムID情報の例では、”カラムID_03”及び”カラムID_07”を取得する。
図9(d)に示す画面遷移定義情報の例では、
画面遷移IDとして”sample_id01”、
ファイルパスとして”c:\usr\local\o3w\def\sample_id01.XML”、
ページIDとして”test_01”, “test_02”, “test_03”、
ページID”test_01”に対応するアクションIDとして”doSearch”, “doOk”, “doCancel”、
ページID”test_02”に対応するアクションIDとして“doOk”、
ページID”test_03”に対応するアクションIDとして“doOk”、
ページID”test_01”のアクションID ”doSearch” に対応する実行BLとして“search”、
ページID”test_01”のアクションID ”doOk” に対応する実行BLとして“Ok”、
ページID”test_01”のアクションID ”docancel” に対応する実行BLとして“cancel”、
などを取得する。また、各実行BLに対応する返値・遷移先情報も取得する。
図9(e)に示す返値・遷移先ページ情報の例では、
返値が”0”なら、ページID ”test_02”へ、
返値が”1”なら、ページID ”test_03”へ、
返値が”2”なら、ページID ”test_01”へ、
遷移することを示している。
次に、データ定義整合性チェックについて説明する。例えば、データ定義チェックルーチンは、
図8(d)に示す各カラムIDが、図8(a)に示すデータ定義情報中に存在するか、
図9(b)に示すアクションID ”doSearch”, ”doOk”, “doCancel”のそれぞれに対応するメソッド”search”, “Ok”, “cancel”が、図8(c)に示すJavaBL情報中に存在するか、
図9(c)に示す各カラムIDが、図8(a)に示すデータ定義情報中に存在するかをチェックする。
次に、画面遷移定義整合性チェックについて説明する。例えば、画面遷移定義チェックルーチンは、
図9(d)に示す各ページIDが、図9(a)に示すJSP情報中に存在するか、
図9(e)に示す各遷移先ページIDが、図9(a)に示すJSP情報中に存在するかをチェックする。
前記の如く、本発明の実施例によれば、ページID(画面識別子)の各々が、JSPファイル名(画面構成記述ファイル名)のいずれかに対応するかを調べることによって、画面遷移定義XMLファイルで定義されているが、作成されていないJSPファイルを発見することができる。
また、画面遷移定義情報として記憶されたメソッド名(業務処理要素名)の各々が、業務ロジック情報として記憶されたメソッド名のいずれかに対応するかを調べることによって、画面遷移定義XMLファイルで定義されているが、JavaBLファイル(業務ロジック記述ファイル)内に記述されていないメソッドを発見することができる。
さらに、画面構成情報として記憶されたメソッド名の各々が、業務ロジック情報として記憶されたメソッド名のいずれかに対応するかを調べることによって、JSPファイルで使用されているが、JavaBLファイル内に記述されていないメソッドを発見することができる。
このようにして、コンパイルやデプロイをすることなく、JaveBLファイルとJSPファイルと画面遷移定義XMLファイル又はデータ定義XMLファイルとの間の不整合を発見することができる。
実施例1におけるWebアプリケーションサーバ20の概略構成を示す図である。 実施例1における整合性チェック装置の構成図を示すブロック図である。 実施例1における整合性チェック処理の流れを示すフローチャートである。 実施例1における整合性チェックツールの内部構成を示す図である。 実施例1における画面遷移定義チェックの概要の一例を示す。 実施例1におけるデータ定義チェックの概要の一例を示す。 実施例1における整合性チェックツール実行結果表示画面の一例を示す。 実施例1において整合性チェックルーチンが取得する情報のイメージを示し、(a)はデータ定義情報、(b)はデータチェック情報、(c)はJavaBL(ビジネスロジック)情報及び(d)はカラム情報のイメージを示す。 実施例1において整合性チェックルーチンが取得する情報のイメージを示し、(a)はJSP情報、(b)はアクションID情報、(c)はカラムID情報、(d)は画面遷移定義情報及び(e)は返値・遷移先情報のイメージを示す。
符号の説明
21a…画面遷移定義XMLファイル、 21b…データ定義XMLファイル、
23s…JavaBLソースファイル、 24s…JSPソースファイル、
31…整合性チェック装置、 31…中央処理装置、
32…メインメモリ、 33…入力装置、
34…ファイル装置、 36…出力装置、
37…バス、 40…整合性チェックツール、
42…画面遷移定義情報取得ルーチン、 43…データ定義情報取得ルーチン、
44…JavaBL情報取得ルーチン、 45…JSP情報取得ルーチン、
47…画面遷移定義チェックルーチン、 48…データ定義チェックルーチン

Claims (2)

  1. 業務ロジック記述ファイルと、Web画面の構成を記述する画面構成記述ファイルと、業務処理と画面表示の連携制御に必要なデータ定義情報を記述するデータ定義ファイルとの間の整合性をチェックするための整合性チェックプログラムであって、
    コンピュータは、
    前記業務ロジック記述ファイルと、前記画面構成記述ファイルと、前記データ定義ファイルとを記憶するファイル記憶手段と、
    業務ロジック情報を記憶する業務ロジック記憶手段と、
    画面構成情報を記憶する画面構成記憶手段と、を備え、
    前記コンピュータを、
    前記ファイル記憶手段に記憶された前記業務ロジック記述ファイルを構文解析し、当該業務ロジック記述ファイルに記述されている複数のカラム識別子を業務ロジック情報として前記業務ロジック記憶手段に記憶する業務ロジック解析手段、
    前記ファイル記憶手段に記憶された前記画面構成記述ファイルを構文解析し、当該画面構成記述ファイルに記述されている複数のカラム識別子を画面構成情報として前記画面構成記憶手段に記憶する画面構成解析手段、
    前記ファイル記憶手段に記憶された前記データ定義ファイルに記述されている複数のカラム識別子をデータ定義情報として取得する取得手段、
    前記画面構成情報として前記画面構成記憶手段に記憶されたカラム識別子と、前記データ定義情報として前記取得手段が取得したカラム識別子とを比較し、前記画面構成情報として記憶されたカラム識別子の各々が、前記データ定義情報として取得されたカラム識別子の中に存在するか否かをチェックするチェック手段、
    前記業務ロジック情報として前記業務ロジック記憶手段に記憶されたカラム識別子と、前記データ定義情報として前記取得手段が取得したカラム識別子とを比較し、前記業務ロジック情報として記憶されたカラム識別子の各々が、前記データ定義情報として取得されたカラム識別子の中に存在するか否かをチェックするチェック手段、
    前記画面構成情報として記憶されたカラム識別子が前記データ定義情報として取得されたカラム識別子の中に存在しない場合、又は前記業務ロジック情報として記憶されたカラム識別子が前記データ定義情報として取得されたカラム識別子の中に存在しない場合に、エラーメッセージを表示する表示手段、
    として機能させるための整合性チェックプログラム。
  2. 業務ロジック記述ファイルと、Web画面の構成を記述する画面構成記述ファイルと、業務処理と画面表示の連携制御に必要なデータ定義情報を記述するデータ定義ファイルとの間の整合性をチェックする整合性チェック装置であって、
    前記業務ロジック記述ファイルと、前記画面構成記述ファイルと、前記データ定義ファイルとを記憶するファイル記憶手段と、
    業務ロジック情報を記憶する業務ロジック記憶手段と、
    画面構成情報を記憶する画面構成記憶手段と、
    前記ファイル記憶手段に記憶された前記業務ロジック記述ファイルを構文解析し、当該業務ロジック記述ファイルに記述されている複数のカラム識別子を前記業務ロジック情報として前記業務ロジック記憶手段に記憶する業務ロジック解析手段と、
    前記ファイル記憶手段に記憶された前記画面構成記述ファイルを構文解析し、当該画面構成記述ファイルに記述されている複数のカラム識別子を前記画面構成情報として前記画面構成記憶手段に記憶する画面構成解析手段と、
    前記ファイル記憶手段に記憶された前記データ定義ファイルに記述されている複数のカラム識別子をデータ定義情報として取得する取得手段と、
    前記画面構成情報として前記画面構成記憶手段に記憶されたカラム識別子と、前記データ定義情報として前記取得手段が取得したカラム識別子とを比較し、前記画面構成情報として記憶されたカラム識別子の各々が、前記データ定義情報として取得されたカラム識別子の中に存在するか否かをチェックするチェック手段と、
    前記業務ロジック情報として前記業務ロジック記憶手段に記憶されたカラム識別子と、前記データ定義情報として前記取得手段が取得したカラム識別子とを比較し、前記業務ロジック情報として記憶されたカラム識別子の各々が、前記データ定義情報として取得されたカラム識別子の中に存在するか否かをチェックするチェック手段と、
    前記画面構成情報として記憶されたカラム識別子が前記データ定義情報として取得されたカラム識別子の中に存在しない場合、又は前記業務ロジック情報として記憶されたカラム識別子が前記データ定義情報として取得されたカラム識別子の中に存在しない場合に、エラーメッセージを表示する表示手段と、
    を有する整合性チェック装置。
JP2004158041A 2004-05-27 2004-05-27 整合性チェックプログラム及び整合性チェック装置 Expired - Fee Related JP4630572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004158041A JP4630572B2 (ja) 2004-05-27 2004-05-27 整合性チェックプログラム及び整合性チェック装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004158041A JP4630572B2 (ja) 2004-05-27 2004-05-27 整合性チェックプログラム及び整合性チェック装置

Publications (2)

Publication Number Publication Date
JP2005339268A JP2005339268A (ja) 2005-12-08
JP4630572B2 true JP4630572B2 (ja) 2011-02-09

Family

ID=35492761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004158041A Expired - Fee Related JP4630572B2 (ja) 2004-05-27 2004-05-27 整合性チェックプログラム及び整合性チェック装置

Country Status (1)

Country Link
JP (1) JP4630572B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287642A (ja) * 2007-05-21 2008-11-27 Hitachi Software Eng Co Ltd ソフトウェアの入出力情報及び保持情報の検証システム
JP5435351B2 (ja) * 2010-01-04 2014-03-05 日本電気株式会社 画面シーケンス確認装置、画面シーケンス確認方法および画面シーケンス確認プログラム
US8402319B2 (en) * 2010-09-30 2013-03-19 Fujitsu Limited Method and system to extract a navigation model for analysis of a web application
CN109656799B (zh) * 2017-10-10 2022-06-07 北京京东尚科信息技术有限公司 测试方法和装置
CN113886122B (zh) * 2021-09-30 2024-03-01 济南浪潮数据技术有限公司 一种系统运行异常处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290035A (ja) * 1993-04-01 1994-10-18 Masakatsu Mori 情報処理システム設計支援システム
JP2002215394A (ja) * 2000-08-15 2002-08-02 Fujitsu Ltd Webアプリケーション開発・実行システム及びWebアプリケーション生成装置
JP2003233501A (ja) * 2002-02-12 2003-08-22 Fujitsu Ltd サーバプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290035A (ja) * 1993-04-01 1994-10-18 Masakatsu Mori 情報処理システム設計支援システム
JP2002215394A (ja) * 2000-08-15 2002-08-02 Fujitsu Ltd Webアプリケーション開発・実行システム及びWebアプリケーション生成装置
JP2003233501A (ja) * 2002-02-12 2003-08-22 Fujitsu Ltd サーバプログラム

Also Published As

Publication number Publication date
JP2005339268A (ja) 2005-12-08

Similar Documents

Publication Publication Date Title
Patni Pro RESTful APIs
US7143343B2 (en) Dynamic creation of an application&#39;s XML document type definition (DTD)
US8126901B2 (en) Method and apparatus for generating a dynamic web page
US7954107B2 (en) Method and system for integrating the existing web-based system
JP7316349B2 (ja) カスタマイズ可能な企業自動化テストフレームワーク
JP2006260390A (ja) テストケース生成プログラム及び方法
US9772830B2 (en) System and method for modeling cloud rules for migration to the cloud
US20080059504A1 (en) Method and system for rendering graphical user interface
US20140282379A1 (en) Computer-implemented method, system and computer program product for displaying a user interface component
US8661416B2 (en) Method and apparatus for defining and instrumenting reusable Java server page code snippets for website testing and production
US20050278695A1 (en) System and method for modifying code assist within an integrated development environment
WO2021249356A1 (zh) 表单数据校验方法、系统、服务器和用户终端
US11449414B2 (en) Mapping test parameter data elements during heterogeneous component-based testing in a portable automation framework in both API mode and UI mode
US20080040418A1 (en) Accessing existing data using a service oriented architecture gateway
US20070089052A1 (en) Systems, methods, and media for enforcing accessible content development
JP2004341675A (ja) 開発システム、電子フォーム利用システム、サーバ、プログラム及び記録媒体
JP4630572B2 (ja) 整合性チェックプログラム及び整合性チェック装置
US8862976B1 (en) Methods and systems for diagnosing document formatting errors
US12013777B2 (en) Controlling heterogeneous component-based testing in a portable automation framework with test scripts in both API mode and UI mode
KR20110041836A (ko) Xsl/xml 기반의 웹 애플리케이션 개발시스템 및 이를 이용한 웹 애플리케이션 개발방법
US11734134B2 (en) Automatically locating resources using alternative locator expressions during heterogeneous component-based testing in a portable automation framework
US11310680B2 (en) Reusing provisioned resources during heterogeneous component-based testing in a portable automation framework
Manelli et al. Introducing JSP and Tomcat
CN112650479A (zh) 网页css结构自动生成方法及存储介质
Apte Java connector architecture: building custom connectors and adapters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101020

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: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101115

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4630572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees