JP2003308332A - データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法 - Google Patents

データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法

Info

Publication number
JP2003308332A
JP2003308332A JP2002112448A JP2002112448A JP2003308332A JP 2003308332 A JP2003308332 A JP 2003308332A JP 2002112448 A JP2002112448 A JP 2002112448A JP 2002112448 A JP2002112448 A JP 2002112448A JP 2003308332 A JP2003308332 A JP 2003308332A
Authority
JP
Japan
Prior art keywords
screen
database
program
data
generating
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
JP2002112448A
Other languages
English (en)
Inventor
Nobuhiro Nakamura
伸裕 中村
Kazuhisa Ikeda
和壽 池田
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2002112448A priority Critical patent/JP2003308332A/ja
Priority to US10/405,699 priority patent/US7222118B2/en
Priority to CNB031407617A priority patent/CN100545803C/zh
Publication of JP2003308332A publication Critical patent/JP2003308332A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24—Querying
    • G06F16/242—Query formulation
    • G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00—Data processing: database and file management or data structures
    • Y10S707/99931—Database or file accessing
    • Y10S707/99933—Query processing, i.e. searching
    • Y10S707/99934—Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 汎用的なモジュールを組合わせて作成された
データベースアクセスプログラムを提供すること。 【解決手段】 複数のスクリーン部品をコンピュータに
実行させることによりデータベースにアクセスするプロ
グラムであって、複数のスクリーン部品をコンピュータ
に実行させる順序を指定するステップを含み、複数のス
クリーン部品それぞれは、該スクリーン部品ごとに外部
から与えられた定義にしたがって、SQLのwhere
節を除く部分を生成するステップ(S22、S28)
と、データを入力および/または出力するための画面を
生成するステップ(S24、S30)と、該スクリーン
部品ごとに外部から与えられた定義にしたがって、SQ
Lのwhere節を生成するステップ(S27)とを含
む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベースア
クセスプログラム、そのプログラムを記録したコンピュ
ータ読取可能な記録媒体およびデータベース操作方法に
関し、特に、業務に適した処理に容易に適用可能なデー
タベースアクセスプログラム、そのプログラムを記録し
たコンピュータ読取可能な記録媒体およびデータベース
操作方法に関する。
【0002】
【従来の技術】従来から、コンピュータを用いたシステ
ム開発においては、開発コストの削減、納期の短縮、品
質向上が重要な目標となっている。そのため、たとえば
手順中心の設計手法からデータを中心とした設計手法へ
の転換、RAD(rapid application development)開
発手法の導入、プログラムの部品化などが試みられ、一
定の効果を上げている。
【0003】たとえばデータ中心設計開発手法の導入に
よりかなりの生産性の向上が見られた。またRAD開発
手法では、ユーザの要求に合わせてプロトタイピングを
行ない、その結果によりさらにユーザの要求を確認して
プロトタイピングの修正を行なう、というように開発サ
イクルを短くすることができる。その結果、RAD開発
手法を導入したシステムでは、主として外部設計、詳細
設計の期間短縮、コスト削減を達成することができた。
その結果、プログラム作成のフェーズが、システム開発
全体で占める割合が相対的に大きくなって来ている。
【0004】また、最近では、企業の基幹システムの開
発プラットフォームにイントラネットを採用するケース
が多くなっている。そうした基幹システムには、アプリ
ケーションサーバを採用してシステム構築を行なうの
が、ネットワーク化された企業では効率的である。典型
的には、アプリケーションサーバのシステム開発では、
HTML(HyperText Markup Language)を拡張したタ
グ言語が用いられる。そうしたタグ言語は、習得が容易
であり、イントラネットの開発ツールとして高い生産性
を有するものとして評価されている。
【0005】しかし、企業を取り巻く環境が一層厳しく
なるにつれ、システム開発に対する要求も厳しくなって
いる。具体的には、より企業のビジネスサイクルが短縮
化してきたため、納期の一層の短縮化が求められ、また
コストの面でもより低コストで製品を提供できる企業が
有利となってきている。
【0006】そこで、前述のようにシステム開発におい
てプログラム作成のフェーズの占める割合いが相対的に
大きくなっていることから、この部分の生産性をさらに
向上させることが重要である。そのために最も効率的と
思われるのは、プログラムの部品化の促進である。
【0007】プログラムの部品化は、システム開発に要
する工数を引き下げ、その結果システム開発に要する期
間の短縮と、そのために要する費用の削減との両方の面
でシステム開発の競争力強化に貢献する。また十分に信
頼性のおけるプログラムのみを部品化することで、シス
テムの品質向上にも貢献できる。したがって、プログラ
ムの部品化を如何に効率的に行えるか、そしてそのよう
に準備された部品を如何に効率的に組み合わせてアプリ
ケーションプログラムを構築するかが重要である。
【0008】しかし、従来イントラネットシステムの開
発に用いられていたタグ言語では、こうした部品化の機
能が弱い。そのため従来のタグ言語をそのまま用いる限
り、生産性の向上はあまり望めないことが明白となって
いる。
【0009】図18に一般的な、データベース(DB)
を利用したイントラネットのシステム構成図を示す。図
18を参照して、一般的なイントラネット600は、ネ
ットワーク610を介して互いにHTTPと呼ばれるプ
ロトコルで通信可能なアプリケーションサーバ612、
DBサーバ614、および複数個のクライアントPC6
16を含む。なお「HTTP」はHyper Text
TransferProtocolの省略形である。
【0010】クライアントPC616上では一般的なブ
ラウザ630が動作する。DBサーバ614ではRDB
MS(Relational DataBase Management System)62
2が稼動している。
【0011】アプリケーションサーバ612上ではWW
Wサーバ618が稼動している。「WWW」はWorl
d Wide Webの省略形である。WWWサーバ6
18の実体はJava(R)サーブレットエンジン62
0である。Java(R)サーブレットエンジン620
は、ネットワーク610を介してクライアントPC61
6のブラウザ630から与えられる要求に応じてRDB
MS622をアクセスするための画面を形成するための
情報(HTMLソース)をブラウザ630に与える。ブ
ラウザ630はこの画面を表示し、ユーザによって入力
された情報をJava(R)サーブレットエンジン62
0に返す。Java(R)サーブレットエンジン620
は、与えられた情報にしたがってRDBMS622をア
クセスし、結果を表示するためのHTMLソースをブラ
ウザ630に返す。ブラウザ630ではこの結果を表示
することにより、ユーザの要求に答える。
【0012】こうして、イントラネット600では、ア
プリケーションサーバ612上で稼動するWWWサーバ
618によって複数個のクライアントPC616からの
要求を処理し、結果を各クライアント上のブラウザに返
すことでRDBMS622を用いた業務処理を行なって
いく。
【0013】多数の業務に対応したプログラムを開発す
る場合には、ブラウザに表示するための画面をそれぞれ
作成する必要がある。この場合、作成された1つの業務
プログラムの必要な部分をコピーして、異なる部分のみ
を修正することにより、他の業務プログラムを作成する
ことは可能である。しかし、元になった業務プログラム
中にバグが発見された場合には、そのバグを取り除くた
めに作成された業務プログラムのすべてを見直す必要が
ある。
【0014】この問題を避けるために、各業務プログラ
ムで共通する部分をモジュール化し、いわゆるサブルー
チンとして呼び出すことが行われている。共通部分をモ
ジュール化する場合には、バグのあるモジュールだけを
修正すればよく、そのモジュールを用いる上位の業務プ
ログラムを修正する必要がない。
【0015】
【発明が解決しようとする課題】しかしながら、従来の
モジュール化は、RDBMS622をアクセスするため
の一連の処理単位にモジュール化される。たとえば、ア
クセスするための条件を入力する画面を表示する処理、
入力された条件に基づきRDBMS622へアクセスす
る処理、アクセスした結果得られたデータを表示する処
理である。これらの処理をモジュール化したのでは、モ
ジュールが特定の処理に限定されてしまうため、汎用性
がなくなってしまうといった問題がある。
【0016】また、汎用性を持たせるために処理を細分
化してモジュール化することもできるが、作成されるモ
ジュールの数が増えて、逆に業務プログラムを作成する
効率が低下してしてしまうといった問題がある。
【0017】この発明は上述の問題点を解決するために
なされたもので、この発明の目的の1つは、汎用的なモ
ジュールを組合わせて作成されたデータベースアクセス
プログラムを提供することである。
【0018】この発明の他の目的は、開発効率を向上さ
せたデータベースアクセスプログラムを提供することで
ある。
【0019】この発明のさらに他の目的は、変更に容易
に対応することが可能なデータベースアクセスプログラ
ムを提供することである。
【0020】この発明のさらに他の目的は、データベー
スを容易に操作することが可能なデータベース操作方法
を提供することである。
【0021】
【課題を解決するための手段】上述の目的を達成するた
めにこの発明のある局面によれば、データベースアクセ
スプログラムは、複数のスクリーン部品をコンピュータ
に実行させることによりデータベースにアクセスするプ
ログラムであって、複数のスクリーン部品をコンピュー
タに実行させる順序を指定するステップを含み、複数の
スクリーン部品それぞれは、該スクリーン部品ごとに外
部から与えられた定義にしたがって、データベースにア
クセスするためのコマンドのうち処理対象となるデータ
を特定するための第1の部分を除く第2の部分を生成す
るステップと、データを入力および/または出力するた
めの画面を生成するステップと、該スクリーン部品ごと
に外部から与えられた定義にしたがって、データベース
にアクセスするためのコマンドのうち処理対象となるデ
ータを特定するための第1の部分を生成するステップと
を含む。
【0022】この発明に従えば、複数のスクリーン部品
をコンピュータに実行させる順序が指定される。指定さ
れた順に実行される複数のスクリーン部品それぞれは、
該スクリーン部品ごとに外部から与えられた定義にした
がって、データベースにアクセスするためのコマンドの
うち処理対象となるデータを特定するための第1の部分
を除く第2の部分を生成するステップと、データを入力
および/または出力するための画面を生成ステップと、
該スクリーン部品ごとに外部から与えられた定義にした
がって、データベースにアクセスするためのコマンドの
うち処理対象となるデータを特定するための第1の部分
を生成するステップとを含む。データベースアクセスプ
ログラムの一部であるスクリーン部品は、外部から与え
られた定義にしたがってステップが処理されるので、他
のデータベースアクセスプログラムで使用することが可
能となる。その結果、汎用性のあるスクリーン部品が組
合されたデータベースアクセスプログラムおよびそのプ
ログラムを記録したコンピュータ読取可能な記録媒体を
提供することができる。また、汎用的なスクリーン部品
を組合わせて作成することができるため、データベース
アクセスプログラムを開発する効率を向上させることが
可能となる。
【0023】好ましくは、画面生成ステップは、該スク
リーン部品ごとに外部から与えられたデータベースの項
目にしたがって、画面を生成するので、スクリーン部品
内にデータベースの項目を持つ必要がなく、スクリーン
部品がより汎用的となる。
【0024】好ましくは、複数のスクリーン部品それぞ
れに含まれるステップを、複数のスクリーン部品いずれ
においても同じ順番で実行するよう指定するステップを
さらに含む。
【0025】この発明に従えば、複数のスクリーン部品
それぞれに含まれるステップを、複数のスクリーン部品
いずれにおいても同じ順番で実行するよう指定するの
で、スクリーン部品に含まれるステップを実行する順番
を考慮する必要がない。このため、データベースアクセ
スプログラムを開発する工数を削減することができる。
【0026】好ましくは、複数のスクリーン部品それぞ
れは、該スクリーン部品ごとに外部から与えられた、デ
ータベースの項目にしたがって、取得されたデータをチ
ェックするステップをさらに含む。
【0027】この発明に従えば、複数のスクリーン部品
それぞれは、該スクリーン部品ごとに外部から与えられ
た、データベースの項目にしたがって、取得されたデー
タをチェックする。チェックに必要なデータベースの項
目が外部から与えられるので、スクリーン部品内にデー
タベースの項目を持つ必要がない。このため、スクリー
ン部品を他のデータベースアクセスプログラムに容易に
適用することができる。
【0028】好ましくは、第1の部分を生成するステッ
プは、次にコンピュータでスクリーン部品が実行される
際に実行されるコマンドの第1の部分を生成する。
【0029】この発明に従えば、第1の部分を生成する
ステップは、次にコンピュータでスクリーン部品が実行
される際に実行されるコマンドの第1の部分を生成す
る。次にコンピュータで実行されるコマンドの第1の部
分を生成するためのデータが、生成された画面を介して
入力される場合には、画面が変更されると第1の部分を
生成するステップを変更する必要がある。この画面の変
更に係わって変更される他の部分を1つのスクリーン部
品に含めたので、1つの変更に対して1つのスクリーン
部品だけを変更すればよい。その結果、変更に容易に対
応することが可能なデータベースアクセスプログラムを
提供することができる。
【0030】好ましくは、第1の部分を生成するステッ
プは、チェックステップでチェックされたデータに基づ
いて、コマンドの第1の部分を生成する。
【0031】この発明に従えば、第1の部分を生成する
ステップは、チェックステップでチェックされたデータ
に基づいて、コマンドの第1の部分を生成する。チェッ
クされるデータが変更されると第1の部分を生成するス
テップを変更する必要がある。このチェックされるデー
タの変更に係わって変更される他の部分を1つのスクリ
ーン部品に含めたので、1つの変更に対して1つのスク
リーン部品だけを変更すればよい。その結果、変更に容
易に対応することが可能なデータベースアクセスプログ
ラムを提供することができる。
【0032】好ましくは、第2の部分を生成するステッ
プは、第2の部分を生成しない処理を含む。
【0033】この発明に従えば、データベースにアクセ
スする必要がない場合でも、データベースにアクセスす
るコマンドの第2の部分を生成する処理をスクリーン部
品に含めるので、すべてのスクリーン部品で同じ処理を
定義することができる。
【0034】好ましくは、チェックステップは、チェッ
クステップは、何もチェックしない処理を含む。
【0035】この発明に従えば、データをチェックする
必要がない場合であっても、チェックするステップをス
クリーン部品に含めるので、すべてのスクリーン部品で
同じ処理を定義することができる。
【0036】好ましくは、第1の部分を生成するステッ
プは、第1の部分を生成しない処理を含む。
【0037】この発明に従えば、次に実行するスクリー
ン部品が存在しない場合であっても、コマンドの第1の
部分を生成する処理をスクリーン部品に含めるので、す
べてのスクリーン部品で同じ処理を定義することができ
る。
【0038】この発明の他の局面によれば、データベー
ス操作方法は、複数のスクリーン部品をコンピュータに
実行させることによりデータベースを操作する方法であ
って、複数のスクリーン部品をコンピュータに実行させ
る順序を指定するステップを含み、複数のスクリーン部
品それぞれは、該スクリーン部品ごとに外部から与えら
れた定義にしたがって、データベースにアクセスするた
めのコマンドのうち処理対象となるデータを特定するた
めの第1の部分を除く第2の部分を生成するステップ
と、データを入力および/または出力するための画面を
生成するステップと、該スクリーン部品ごとに外部から
与えられた定義にしたがって、データベースにアクセス
するためのコマンドのうち処理対象となるデータを特定
するための第1の部分を生成するステップとを含む。
【0039】この発明に従えば、データベースアクセス
プログラムの一部であるスクリーン部品は、外部から与
えられた定義にしたがってステップが処理されるので、
他のデータベースアクセスプログラムで使用することが
可能となる。このため、複数のスクリーン部品を実行す
る順序を指定するだけで、データベースを操作すること
ができる。その結果、データベースを容易に操作するこ
とが可能なデータベース操作方法を提供することができ
る。
【0040】
【発明の実施の形態】以下、図面を参照しつつ、本発明
の実施の形態について説明する。以下の説明では、同一
の部品には同一の符号を付してある。それらの名称およ
び機能も同じである。したがってそれらについての詳細
な説明は繰返さない。
【0041】図1に、本発明の実施の形態におけるサー
バ装置の外観を示す。以下に説明するようにこのサーバ
装置10は、一般的なパーソナルコンピュータで構成さ
れる。
【0042】図1を参照して、このサーバ装置10は、
CD−ROM(Compact Disc Read-Only Memory)ドラ
イブ110およびFD(Flexible Disk)ドライブ11
2を備えたコンピュータ100と、ディスプレイ102
と、プリンタ104と、キーボード106と、マウス1
08とを含む。
【0043】図2に、このサーバ装置10の構成をブロ
ック図形式で示す。図2に示されるようにこのサーバ装
置10は、CD−ROMドライブ110およびFDドラ
イブ112に加えて、それぞれバス126に接続された
CPU(Central ProcessingUnit)116と、オペレー
ティングシステムのブートアッププログラムなどを記憶
したROM(Read Only Memory)118と、実行される
プログラムをロードするための、およびプログラム実行
中のデータを記憶するためのRAM(RandomAccess Mem
ory)120と、作成されたプログラムなどを不揮発的
に記憶するためのハードディスク114と、このコンピ
ュータ100をネットワーク132に接続するためのネ
ットワークインタフェース130とを含んでいる。CD
−ROMドライブ110にはCD−ROM122が装着
される。FDドライブ112にはFD124が装着され
る。
【0044】既に述べたようにこのサーバ装置では、デ
ータベースがハードディスク114に記録され、データ
ベースアクセスプログラムがCPU116により実行さ
れてデータベースが操作される。一般的にこうしたデー
タベースアクセスプログラムは、CD−ROM122、
FD124などの記憶媒体に格納されて流通し、CD−
ROMドライブ110またはFDドライブ112などに
より記憶媒体から読取られてハードディスク114に一
旦格納される。さらにハードディスク114からRAM
120に読出されてCPU116により実行される。図
1および図2に示したサーバ装置10のハードウェア自
体は一般的なものである。したがって、本発明の最も本
質的な部分はCD−ROM122、FD124、ハード
ディスク114などの記憶媒体に記憶されたデータベー
スアクセスプログラムである。
【0045】なお、記録媒体としては、CD−ROM1
22、FD124、ハードディスク114に限られず、
磁気テープ、カセットテープ、光ディスク(MO(Magn
eticOptical Disc)/MD(Mini Disc)/DVD(Dig
ital Versatile Disc))、ICカード(メモリカード
を含む)、光カード、マスクROM、EPROM、EE
PROM、フラッシュROMなどの半導体メモリ等の固
定的にプログラムを担持する媒体でもよい。
【0046】ここでいうプログラムとは、CPU116
により直接実行可能なプログラムだけでなく、ソースプ
ログラム形式のプログラム、圧縮処理されたプログラ
ム、暗号化されたプログラム等を含む概念である。
【0047】なお図1および図2に示したコンピュータ
自体の動作は周知であるので、ここではその詳細な説明
は繰返さない。
【0048】図3は、本実施の形態におけるサーバ装置
10においてデータベースアクセスプログラムが実行さ
れる概念を説明するための図である。図3を参照して、
サーバ装置10は、クライアントPC上で動作するブラ
ウザ253等からのリクエストを処理するためのプログ
ラムパターン310と、プログラムパターン310が実
行されることにより呼び出されるスクリーン部品として
の第1スクリーン320および第2スクリーン322
と、呼び出されたスクリーン部品320,322が参照
するプログラム定義ファイル312と、データベース3
14とを含む。
【0049】プログラム定義ファイル312は、プログ
ラムの定義に必要な情報を記録したファイルであり、た
とえば、XML(eXtensible Markup Language)、CS
V(Comma Separated Values)で記述される。プログラ
ム定義ファイル312の詳細は後述する。
【0050】データベース314は、リレーショナルデ
ータベースであり、データベースの構造を定義する定義
ファイルを含み、ハードディスク114等の記憶部に記
録されている。なお、本実施の形態においてはリレーシ
ョナルデータベースを例に説明するが、データベースは
これに限定されることなく、他の形式のデータベースで
あってもよい。
【0051】プログラムパターン310、プログラム定
義ファイル312およびスクリーン部品320,322
は、予め作成されてサーバ装置10のハードディスク1
14等の記憶部に記録されている。データベースアクセ
スプログラムは、これらのプログラムパターン310、
プログラム定義ファイル312、スクリーン部品32
0,322で構成される。プログラムパターン310
と、スクリーン部品320,322とは、汎用的な形で
それぞれ複数が準備される。そして、処理する業務に応
じてプログラム定義ファイル312を作成するだけで、
業務に応じたデータベースアクセスプログラムを作成す
ることができる。これについて、より詳細に説明する。
【0052】プログラムパターン310は、データベー
ス314にアクセスする処理を記載したプログラムであ
る。データベース314へアクセスする処理は、データ
ベース314に登録されているデータに対して行われる
処理であり、たとえば、登録されているデータを照会す
る照会処理、データベース314に新たにデータを登録
する登録処理、登録されているデータの内容を変更する
変更処理、登録されているデータを削除する取消処理の
4つの処理に分類される。
【0053】また、データベース314で定義された複
数のテーブル間で関連のあるデータについて、照会処
理、登録処理、更新処理または削除処理を記載すること
もできる。このように、プログラムパターンは、データ
ベース314にアクセスする処理を、標準化して記載し
たプログラムである。
【0054】照会処理を実行するためのプログラムパタ
ーンを例に説明する。照会処理では、(1)データを照
会するためのキーとなるデータを入力する処理、(2)
キーとなるデータに該当するデータをデータベースから
抽出して一覧表示する処理、(3)一覧表示されたデー
タのうちの特定のデータの明細データを表示する処理が
定義される。照会処理を実行するためのプログラムパタ
ーンは、この順に処理を実行するよう定義される。
【0055】ここで、各処理には、データを入力するた
めの画面、または、データを出力するための画面が1つ
必要とされている。この画面を表示するための処理と、
その画面に関連して上述の各処理のより詳細な処理を定
義したのがスクリーン部品である。
【0056】プログラムパターンにおいて、使用するス
クリーン部品の指定と、指定したスクリーン部品を呼び
出す順序を定義するだけで、データベース314の照会
処理、登録処理、更新処理、削除処理の一連の処理を定
義することができる。
【0057】スクリーン部品320,322は、プログ
ラムパターンにより読み出される処理を複数定義する。
定義される複数の処理は、(1)データベースへアクセ
スするためのコマンドのうち処理対象となるデータを特
定するための部分を除く部分(第2の部分)を生成する
処理、(2)画面を生成する処理、(3)データをチェ
ックする処理、(4)データベースへアクセスするため
のコマンドのうち処理対象となるデータを特定するため
の部分(第1の部分)を生成する処理である。
【0058】以下、データベースにアクセスするための
コマンドのうち、処理対象となるデータを特定するため
の部分を第1の部分といい、第1の部分を除く部分を第
2の部分という。
【0059】より具体的には、(1)データベースへア
クセスするためのコマンドの第2の部分を生成する処理
は、SQL(Structured Query La
nguage)のwhere節を除く部分を生成する処
理である。データベースへアクセスするためのコマンド
の第2の部分は、後述するプログラム定義ファイル31
2で定義される。
【0060】この第2の部分を生成する処理では、何も
生成しない処理を定義することができる。この場合に
は、プログラムパターン310から第2の部分を生成す
る処理が呼び出されたとしても、SQL文のwhere
節を除く部分は生成されない。たとえば、照会処理にお
いて、キーデータを入力する画面を表示するスクリーン
部品では、このような第2の部分を生成する処理とし
て、何も生成しない処理が定義される。
【0061】(2)画面を生成する処理は、たとえば、
SQLが実行された場合にはその結果得られるデータを
含む画面を作成する。また、SQLが実行されない場合
にはデータを入力するための画面が作成される。画面の
作成において、画面に含めるデータを特定するデータベ
ースの項目、入力するデータを特定するデータベースの
項目は、プログラム定義ファイル312で定義される。
【0062】(3)データをチェックする処理は、作成
された画面を介して得られたデータをチェックする。チ
ェックされるデータを特定するデータベースの項目は、
プログラム定義ファイル312で定義される。このデー
タをチェックする処理では、チェックが必要でない場合
には、何もチェックしない処理を定義することができ
る。この場合には、プログラムパターン310からデー
タをチェックする処理が呼び出されたとしても、データ
のチェックは行われない。
【0063】(4)データベース314へアクセスする
ためのコマンドの第1の部分を生成する処理は、SQL
文におけるwhere節を生成する。チェックされたデ
ータが存在する場合には、チェックされたデータに基づ
き、where節がプログラム定義ファイル312の定
義にしたがって作成される。この第1の部分を生成する
処理では、何も生成しない処理を定義することができ
る。何も生成しない処理が定義されるのは、次に実行す
るSQLが存在しない場合、たとえば、次に実行される
スクリーン部品が存在しない場合である。この場合に
は、プログラムパターン310から第1の部分を生成す
る処理が呼び出されたとしても、SQL文のwhere
節は生成されない。
【0064】このように、スクリーン部品320,32
2は、データベースへアクセスするコマンドの第2の部
分の生成と、出力する画面の作成と、出力された画面に
関連して得られるデータのチェックと、データベースへ
アクセスするコマンドの第1の部分の生成とを1つのま
とまりとして定義している。すなわち、出力する画面に
関連した4つの処理を1つのまとまりとして定義してい
る。
【0065】このため、出力する画面に変更が生じた場
合、その画面を介して入力されたデータをチェックする
処理、チェックされたデータに基づき生成されるコマン
ドの第1の部分を生成する処理を修正する必要がある
が、これらの処理が1つのスクリーン部品に定義される
ので、メンテナンスが容易である。
【0066】ここで、SQL文における処理対象となる
データを特定するための部分(第1の部分)とそれ以外
の部分(第2の部分)とについてより具体的に説明す
る。
【0067】<照会>データの照会に用いられるSQL
の例を示す。
【0068】SELECT userid, username, furigana FROM emp WHERE userid='sumitomo1' このSQLでは、第3行が第1の部分に該当し、第1行
と第2行とが第2の部分に該当する。第1行と第2行と
は、プログラム定義ファイル312で定義される。この
ため、第2の部分を生成する処理は、プログラム定義フ
ァイル312の定義を読込む処理となる。第3行は、第
1の部分に該当し、プログラム定義ファイル312で定
義されたデータベースのフィールド「userid」と入力さ
れたデータ「sumitomo1」とに基づいて生成される。
【0069】<登録>データの登録に用いられるSQL
の例を示す。
【0070】INSERT INTO emp (userid, username, fur
igana) VALUES ('sumitomo1', '住友太郎', 'スミトモタロ
ウ') このSQLには、第1の部分は含まれない。したがっ
て、この場合には、第1の部分は生成されない。第1行
と第2行とが第2の部分に該当し、プログラム定義ファ
イル312で定義されたデータベースのテーブル「em
p」およびフィールド「userid, username, furigana」
と入力されたデータ「sumitomo1」「住友太郎」「スミ
トモタロウ」とに基づいて生成される。
【0071】<更新>データの更新に用いられるSQL
の例を示す。
【0072】UPDATE emp SET username = '住友太郎',
furigana = 'スミトモタロウ' WHERE userid = 'sumitomo1' このSQLでは、第2行が第1の部分に該当し、第1行
が第2の部分に該当する。第1行の第2の部分は、プロ
グラム定義ファイル312で定義されたデータベースの
テーブル「emp」およびフィールド「username」「furig
ana」と入力されたデータ「住友太郎」「スミトモタロ
ウ」とに基づいて生成される。第2行の第1の部分は、
プログラム定義ファイル312で定義されたデータベー
スのフィールド「userid」と入力されたデータ「sumito
mo1」とに基づいて生成される。
【0073】<削除>データの削除に用いられるSQL
の例を示す。
【0074】DELETE FROM emp WHERE userid = 'sumitomo1' このSQLでは、第2行が第1の部分に該当し、第1行
が第2の部分に該当する。第1行の第2の部分は、プロ
グラム定義ファイル312で定義される。このため、第
2の部分を生成する処理は、プログラム定義ファイル3
12で定義されたデータベースのテーブル「emp」に基
づいて生成される。第2行の第1の部分は、プログラム
定義ファイル312で定義されたデータベースのフィー
ルド「userid」と入力されたデータ「sumitomo1」とに
基づいて生成される。
【0075】プログラム定義ファイル312は、スクリ
ーン部品320,322で定義された処理が実行される
場合に、参照されるファイルである。プログラム定義フ
ァイル312には、たとえば、データベース314にア
クセスするためのコマンド(SQL)に用いられるデー
タベースの項目、作成される画面に表示するデータベー
スの項目、データをチェックするためのデータベースの
項目、where節を作成するために用いられるデータ
ベースの項目が定義される。
【0076】以上説明したように、データベース314
を操作するための機能(照会、登録、変更、削除など)
のロジック部分は、プログラムパターン310で定義さ
れるので、スクリーン部品によっては、他の機能を達成
するプログラムパターンでも使用可能であり、スクリー
ン部品を効率的に再利用できる。
【0077】また、スクリーン部品には、上述の4つの
処理が定義されるので、プログラムパターンを作成する
際に、スクリーン部品の4つの処理のすべてを定められ
た順序で呼び出せばよい。このため、スクリーン部品に
よって呼び出す処理と呼び出さない処理とを考慮する必
要がないとともに、呼び出す処理の順番を考慮する必要
がない。その結果、プログラムパターン310を作成す
る際に、スクリーン部品の呼出し方法を標準化すること
ができ、プログラムパターンの作成の効率を向上させる
ことができる。
【0078】さらに、プログラムパターン310を用い
て、データベース314を操作する業務プログラムを作
成する場合には、データベース314で定義された項目
を、プログラムパターン310に合わせて、プログラム
定義ファイル312に定義するだけでよい。このため、
業務プログラムの開発効率が向上する。
【0079】さらに、スクリーン部品320,322で
定義される処理で必要とするデータベース314に関す
る情報がプログラム定義ファイル312で定義されるの
で、スクリーン部品320,322は、データベース3
14の構造に依存しない。このため、データベース31
4の構造に関係なくスクリーン部品320,322で処
理を定義することができる。
【0080】なお、本実施の形態においては、スクリー
ン部品320,322に4つの処理を定義するようにし
たが、たとえば、(3)データチェック処理を省略し
て、残りの3つの処理を定義するスクリーン部品として
もよい。この場合には、他のスクリーン部品もすべて3
つの処理を定義することになる。
【0081】図4は、本実施の形態におけるサーバ装置
でプログラムパターンが実行されて行われる処理の流れ
を示すフローチャートである。図4を参照して、プログ
ラムパターン310は、ブラウザ253から表示を要求
するページ遷移信号を受信する(ステップS11)。こ
のページ遷移信号は、表示を要求するウエブページ(W
ebページ)のページ番号である。プログラムパターン
310は、このページ遷移信号を受信すると、そのペー
ジ遷移信号に対応するタイトルを表示し(ステップS1
2)、メニューを表示し(ステップS13)、スクリー
ン部品を呼出し(ステップS14)、フッターを表示す
る(ステップS15)。これにより、HTMLでウエブ
ページが作成されて、ブラウザ253に送信される。
【0082】プログラムパターン310は、ブラウザか
らページ遷移信号を受信するごとに図4に示した処理を
実行することになる。そして、図4に示した処理は、ペ
ージ遷移信号に対応して定められる処理であり、ページ
遷移信号ごとに異なる処理となる。したがって、ページ
遷移信号ごとに、表示するタイトル、表示するメニュ
ー、呼び出すスクリーン、表示するフッターを異ならせ
ることができる。
【0083】ここで、より具体的にステップS14で実
行されるスクリーン部品呼出処理を説明するために、照
会処理のプログラムパターンの一例を説明する。この場
合に用いられるスクリーン部品を、第1スクリーン32
0および第2スクリーン322として図5に示す。図5
(A)は、第1スクリーン320で定義される処理を示
し、図5(B)は第2スクリーン322で定義される処
理を示す。
【0084】図5(A)を参照して、第1スクリーン3
20は、(1)データベースへアクセスするためのコマ
ンド(SQL)の第2の部分を生成する処理として、何
も生成しない処理が定義される。(2)画面を生成する
処理として、検索キーを入力するための画面を生成する
処理が定義される。なお、検索キーは、プログラム定義
ファイル312で定義される。(3)データをチェック
する処理は、検索キ−として入力されたデータが、数値
または文字等の型がデータベース314の定義と一致す
るか否かをチェックする処理が定義される。(4)デー
タベースへアクセスするためのコマンド(SQL)の第
1の部分を生成する処理として、入力された検索キーで
データベースを操作するためのwhere節を生成する
処理が定義される。
【0085】図5(B)を参照して、第2スクリーン3
22は、(1)データベースへアクセスするためのコマ
ンド(SQL)の第2の部分を生成する処理として、プ
ログラム定義ファイルに基づき第2の部分を生成する処
理が定義される。(2)画面を生成する処理として、S
QLを実行して得られたデータを表示する画面を作成す
る処理が定義される。なお、表示する項目は、プログラ
ム定義ファイル312で定義される。(3)データをチ
ェックする処理は、何もチェックしない処理が定義され
る。(4)データベースへアクセスするためのコマンド
(SQL)の第1の部分を生成する処理として、なにも
生成しない処理が定義される。
【0086】図6は、図4のステップS14で実行され
るスクリーン部品呼出処理の流れを示すフローチャート
である。図5に示した第1スクリーン320および第2
スクリーン322が呼び出される場合について説明す
る。このとき、第1スクリーン320は、第1ページに
対応するスクリーン部品、第2スクリーン322は、第
2ページに対応するスクリーン部品としている。
【0087】図6を参照して、スクリーン部品呼出し処
理では、ページ遷移信号が最初のページの表示を要求す
る信号か否かが判断される(ステップS21)。最初の
ページの表示を要求する信号の場合にはステップS22
に進み、そうでない場合にはステップS26に進む。こ
こでは、最初のページは、第1ページとしている。
【0088】ステップS22では、最初のページに対応
するスクリーン部品で定義されるSQLの第2の部分を
生成する処理を実行する指示が出される。ここでは、第
1ページに対応する第1スクリーン320で定義される
SQLの第2の部分を生成する処理が実行される。第1
スクリーン320で定義されるSQLの第2の部分を生
成する処理は何も生成しない処理が定義されているの
で、ここでは、何も生成されない。
【0089】そして、次のステップS23では、スクリ
ーン部品320とスクリーン部品322とで共有するメ
モリの共有領域に記憶されたSQLが実行される。ステ
ップS22では、SQLの第2の部分が生成されていな
いので、メモリの共有領域にはSQLは書きこまれてお
らず、SQLは実行されない。したがって、データベー
ス314へはアクセスされない。
【0090】そして、最初のページ(第1ページ)に対
応するスクリーン部品で定義される画面を生成する処理
を実行する指示が出される(ステップS24)。ここで
は、第1スクリーン320で定義される、検索キー入力
画面が生成される。そして、生成された検索キー入力画
面254がブラウザ253に出力される(ステップS2
5)。これにより、プログラムパターンでは、最初のペ
ージに対応するHTMLで記載された画面(ウエブペー
ジ)が作成されて、ブラウザ253に送信される。その
後処理を終了し、プログラムパターンのステップS15
に戻る。
【0091】このように、第1スクリーン320で定義
されたSQLの第2の部分を生成する処理、画面を生成
する処理が順に指定される。また、第1スクリーン32
0で何も実行しないSQLが定義されるので、スクリー
ン部品呼出処理では、SQLの第2の部分の生成の必要
の有無に係わらず、SQLの第2の部分を生成する処理
を呼び出せばよい。このため、スクリーン部品呼出処理
を標準化することができ、効率よく作成することができ
る。
【0092】図7は、プログラムパターンが実行されて
出力される画面の一例を示す図である。図7(A)は、
第1スクリーン320で定義される検索キー入力画面を
示す図である。検索キーとして、部署IDを入力する項
目を含む画面が示されている。
【0093】図6に戻って、ステップS21で、最初の
ページ(第1ページ)でないとされた場合には、カレン
トページに対応するスクリーン部品で定義されるエラー
チェック処理を実行する指示が出される(ステップS2
6)。カレントページとは、ブラウザ253に現在表示
されているページを言う。
【0094】たとえば、ページ遷移信号として第2ペー
ジが受信された場合には、カレントページは、第1ペー
ジとなり、ネクストページは第2ページとなる。ここで
は、ページ遷移信号として、第2ページが受信された場
合を例に説明する。カレントページ、すなわち第1ペー
ジ(最初のページ)に対応する第1スクリーン320で
定義されるエラーチェック処理を実行する指示が出され
る。この処理が実行される時点でブラウザ253には、
第1ページに対応する第1スクリーン320で定義され
る画面(図7(A))が出力されている。
【0095】したがって、図7(A)に示される画面を
介して、キーデータとして部署IDが入力される。する
と、ブラウザ253から入力された部署IDとともにペ
ージ遷移信号(第2ページ)が受信される。この受信さ
れたキーデータとしての部署IDに対して、数値または
文字等の型が正しいか否かがチェックされる。部署ID
の数値または文字の型が誤っている場合には、部署ID
を再度入力するメッセージを含む画面を作成して、ブラ
ウザ253に送信するようにしてもよい。
【0096】そして、チェックされたキーデータが、カ
レントページ(第1ページ)に対応する第1スクリーン
320で定義されるSQLの第1の部分(where
節)を生成する処理を実行する指示が出される(ステッ
プS27)。これにより、チェックされたキーデータに
基づき、SQL文のwhere節が作成される。作成さ
れたwhere節は、RAM120のスクリーン部品3
20,322で共有する領域に記憶される。
【0097】次のステップS28では、ネクストページ
に対応するスクリーン部品で定義されるSQLの第2の
部分を生成する処理を実行する指示が出される。ここで
は、第2ページに対応する第2スクリーン322で定義
されるSQLの第2の部分を生成する処理が実行され
る。第2スクリーン322で定義されるSQLの第2の
部分を生成する処理は、プログラム定義ファイル312
の定義に従い生成される。ここでは、入力された部署I
Dに一致するデータを抽出するためのSQL文のうち、
第2の部分(Select文)が生成される。生成され
た第2の部分は、RAM120のスクリーン部品32
0,322で共有する領域に記憶される。これにより、
ステップS27で生成されたSQLの第1の部分(wh
ere節)とステップS28で生成されたSQLの第2
の部分(select文)とで、SQLが完成され、R
AM120のスクリーン部品320,322で共有する
領域に記憶されることになる。
【0098】次に、RAM120のスクリーン部品32
0,322で共有する領域に記憶されたSQLが実行さ
れる(ステップS29)。
【0099】そして、実行された結果得られるデータを
出力するために、ネクストページ(第2ページ)に対応
するスクリーン部品(第2スクリーン322)で定義さ
れる画面を生成する処理を実行する指示が出される(ス
テップS30)。そして、生成された画面256がブラ
ウザ253に出力される(ステップS31)。その後処
理を終了し、プログラムパターンのステップS15に戻
る。
【0100】図7(B)は、第2スクリーン322で生
成された画面の一例を示す図である。図7(A)に示す
画面で入力された部署IDに対応する部署名の一覧が表
示されている。
【0101】このように、スクリーン部品呼出処理で
は、ページ遷移信号にしたがって、スクリーン部品で定
義された処理が予め定められた順に実行される。このた
め、スクリーン部品呼出処理を標準化することができ、
プログラムパターンを効率よく作成することができる。
【0102】また、スクリーン部品で定義される処理
は、SQLの第1の部分または第2の部分を何も生成し
ない処理を定義することができ、また、何もチェックし
ないエラー処理を定義することができる。このようにダ
ミーの処理を定義することにより、すべてのスクリーン
部品に4つの処理を定義することができる。その結果、
プログラムパターンは、スクリーン部品で定義されたす
べての処理を予め定められた順に呼び出すことができる
ので、プログラムパターンを効率よく作成することがで
きる。
【0103】なお、本実施の形態においては、SQLを
実行する処理(ステップS23、ステップS29)をス
クリーン部品呼出処理に含めるようにしたが、それぞれ
の処理をスクリーン部品320,322に含めるように
してもよい。この場合には、スクリーン部品のデータベ
ースへアクセスするコマンドの第2の部分を生成する処
理において、第2の部分を生成した後にSQLを実行処
理する処理が実行されるように定義される。同様に、画
面を出力する処理(ステップS25、ステップS31)
をスクリーン部品呼出処理に含めるようにしたが、それ
ぞれの処理をスクリーン部品320,322に含めるよ
うにしてもよい。この場合には、スクリーン部品の画面
生成処理において、画面の生成をした後に生成した画面
を出力する処理が実行されるように定義される。
【0104】図8は、3つのスクリーン部品を用いたプ
ログラムパターンのうち使用するスクリーン部品を定義
する部分の具体例を示す図である。図8を参照して、検
索画面を表示するスクリーン部品”PtnScrSea
rch”と、検索画面で入力されたキーデータに基づき
該当するデータを検索して一覧表示するスクリーン部
品”PtnScrList”と、一覧表示されたデータ
のいずれかの詳細なデータを表示するスクリーン部品”
PtnScrDetail”とが定義されている。本プ
ログラムパターンは、オブジェクト指向言語を使用して
おり、使用するスクリーン部品を定義する部分の他にス
クリーン部品に含まれる4つの処理を予め定めた順番で
呼び出す部分を含む。プログラムパターンでは、スクリ
ーン部品に含まれる4つの処理を予め定めた順番で呼び
出す部分を他のプログラムパターンと共有することがで
きるので、プログラムパターンの作成においては、使用
するスクリーン部品を定義するだけでよい。
【0105】図9は、スクリーン部品が呼び出されて表
示される画面の例を示す図である。図9(A)は、スク
リーン部品”PtnScrSearch”が呼び出され
て表示される第10ページの画面の一例を示す図であ
る。ユーザIDを入力する欄を含む画面が表されてい
る。
【0106】スクリーン部品”PtnScrSearc
h”は、第10ページのページ遷移信号が受信された場
合に呼び出され、SQLの実行と、図9(A)に示す第
10ページの画面を出力する。そして、第11ページの
ページ遷移信号が受信されると、入力されたユーザID
をチェックする処理と第11ページのwhere節を生
成するための処理が実行される。
【0107】スクリーン部品”PtnScrList”
は、第11ページのページ遷移信号が受信されると、S
QLを実行し、図9(B)に示す第11ページの画面を
出力する。ここでは、図9(A)に示す画面で、「s
*」が入力された場合を例に示している。図9(B)を
参照して、最初の1文字が「s」のユーザIDのデータ
が一覧表示されている。そして、第12ページのページ
遷移信号が受信されると、第11ページに出力されてい
るユーザIDのいずれかのユーザIDをチェックする処
理と、第12ページのwhere節を生成するための処
理が実行される。ユーザIDをチェックする処理は、何
もしない処理とされる。表示されているユーザIDは、
データベースから検索されて表示されるため、チェック
する必要がないからである。
【0108】スクリーン部品”PtnScrDetai
l”は、第12ページの遷移信号が受信されると、SQ
Lを実行し、図9(C)に示す第12ページの画面を出
力する。図9(C)を参照して、図9(B)に表示され
たデータのうちユーザIDが「sumitomo1」に
対応する詳細なデータが表示されている。
【0109】スクリーン部品”PtnScrDetai
l”のチェック処理とSQLの第1の部分(where
節)を生成する処理は、ともに何もしない処理が定義さ
れている。
【0110】以上説明したように、プログラムパターン
のスクリーン部品呼出処理は、ページ遷移信号によっ
て、呼び出すスクリーン部品を異ならせることができる
ので、スクリーン部品をページ遷移信号ごとに定義する
ことができる。
【0111】また、表示する画面ごとにスクリーン部品
を定義するようにしたので、画面ごとにスクリーン部品
を呼び出せばよく、画面の遷移を容易に行うことができ
る。
【0112】さらに、画面ごとにスクリーン部品を定義
するようにしたので、2つの画面を容易に組合わせるこ
とができ、2つの画面を組合わせた画面を新たに作成す
る必要がない。たとえば、ある特定のデータを表示する
画面とそのデータに関連する詳細なデータを表示する画
面とに関連するスクリーン部品をそれぞれ作成しさえす
れば、2つのスクリーン部品を順に呼び出すことによ
り、2つの画面を組合わせることができる。
【0113】次に、本実施の形態におけるサーバ装置1
0で、プログラムパターンが実行されることにより画面
を作成するための項目オブジェクトについて説明する。
なお、項目オブジェクトについては、本願の出願人が出
願した特開2001−325098に詳細に記載されて
いる。特開2001−325098に記載の内容は、こ
こに組み入れられる。
【0114】[項目オブジェクト]図10を参照して、
項目オブジェクト150は、データベースの各項目に対
応して設定されるオブジェクトである。項目オブジェク
トの例は、受注業務でいえばデータ項目「受注番号」に
対応する項目オブジェクト150Aである。この項目オ
ブジェクト150Aは、プログラム開発過程ではオブジ
ェクトクラスであって、プログラム実行時にはこの項目
オブジェクトのインスタンスが形成されてプログラム実
行に利用される。
【0115】項目オブジェクト150はオブジェクトク
ラスであるので、図10に示すとおり、項目名(たとえ
ば「OrderNum」)の他に、プロパティとして項目名称
(日本語名、英語名、他の言語による名称など)、デー
タ長、データ型(数値型、ストリング型、など)、入力
形式(テキストボックス、ラジオボタン、チェックボッ
クス、プルダウンリスト、プルダウンメニュー、コンボ
ボックス、スライダなど)、対応DB列名など、データ
項目を抽象化した場合にそなえておくべき属性一般、お
よび入力されたデータが正しいか否か(たとえばデータ
型が数値型のときに、入力されたデータが数値であるか
否か、桁数はデータ長以内か、など)のチェックを行な
うためのプログラムコードをメソッドの形で備えてい
る。
【0116】項目オブジェクトの備える属性、メソッド
などについて表1に示す。
【0117】
【表1】
【0118】表1において「項目名」とは、プログラム
のコーディング中でこのデータ項目を参照するために用
いられる名称である。通常はDB中の、この項目オブジ
ェクトに対応する列名を使用し、アルファベットと一部
の記号のみからなる。
【0119】表1に示されるその他の要素については、
当業者にはその意味は明白であろうから、ここではこれ
以上の説明は行なわない。
【0120】[DB定義からの項目オブジェクト定義の
抽出]項目オブジェクトは、本実施の形態のプログラム
開発システムではJava(R)言語のクラス定義のソ
ースプログラムの形でテキスト形式で準備される。項目
オブジェクトはデータベースと深い関係があるので、デ
ータベース定義からそのまま項目オブジェクトのデータ
定義を行なうようにすると便利である。
【0121】図11に、そのようなプログラム開発シス
テムの簡単なシステムブロック図を示す。実際にはこの
システムが図1および図2に示すような一般的なパーソ
ナルコンピュータによって実現可能であることは言うま
でもない。
【0122】図11を参照して、このシステムは、テキ
スト形式で予め準備されたDB定義情報160からデー
タベース166を作成したり、DB定義情報160から
データベース166の各項目に対応する項目オブジェク
トの定義の原型であるデータ定義168をテキスト形式
で出力したり、ディスプレイ102、キーボード106
およびマウス108を用いたインタラクティブな処理に
よりデータ定義168の内容を修正したり、修正された
データ定義168から項目オブジェクトのクラス定義の
ためのJava(R)ソース164のファイルを出力し
たりする処理を行なうDB作成ツール162からなる。
【0123】DB定義情報160の内容の一例を図12
に示す。またデータ定義168の一例を図13に示す。
図13に示されるデータ定義168は、図12のDB定
義情報160のうち、「/Record」文の直後の
「受注番号」で始まる行から抽出された情報に基づいて
作成され、さらに後にプログラマーによって必要な項目
が補充されたものである。各行は、属性を示すキーワー
ド(たとえば「/LANG」、「/INPUTTYP
E」など)と、そのキーワードに対応する属性内容とか
らなっている。このデータ定義168の内容にさらにデ
ータチェックなどのメソッドに相当するプログラムコー
ディングの原形を追加する処理もこのときに行なわれ
る。
【0124】DB定義情報160からデータ定義168
を作成することにより、項目オブジェクト作成のための
工数を最小限に抑えることができる。
【0125】図14に、DB定義情報160からデータ
定義168を作成するプログラムの概略フローチャート
を示す。図14を参照して、まず最初にプログラマーに
より指定されたDB定義ファイルをオープンする(ステ
ップS41)。つぎにこのファイルの1行目を読む(ス
テップS42)。その行の内容が「/RECORD」か
否かを判定し(ステップS43)、読込んだ1行の内容
が「/RECORD」となるまでステップS42および
ステップS43の処理を繰返す。
【0126】「/RECORD」の一行を読込むと、そ
れ以後はDB定義の一行ごとにデータ定義168を作成
し出力する処理を繰返す。具体的には、まずDB定義情
報160の次の1行を読み(ステップS44)、その行
の内容が「/END」か否かを判定する(ステップS4
5)。「/END」でなければ、読込んだ1行の内容か
らデータ定義168を作成し、項目オブジェクトファイ
ルとして出力して(ステップS46)次の行を読込む処
理を行なう(ステップS44)。もし読込んだ1行の内
容が「/END」であれば、DB定義情報160の中の
全てのDB項目を処理したということであるから、DB
定義ファイルをクローズし(ステップS47)処理を終
了する。
【0127】ステップS46での処理はDB定義の書式
とデータ定義168との書式との対応関係に基づいて定
められる。その内容についてはシステムに依存し、かつ
当業者には明らかであるのでここではその詳細は述べな
い。
【0128】[項目オブジェクトを利用した画面出力]
さて、RAM120等のメモリ空間266に格納された
項目オブジェクトを使用した画面出力(HTMLソース
出力)の機構の概略を図15に示す。図15を参照し
て、スクリーン部品320,322は、フォーム部品2
90に対して画面で使用する項目を特定する情報を与え
る。フォーム部品290は、メモリ空間266の中で、
スクリーン部品320,322から与えられた項目に対
応する項目オブジェクトを探し出す。項目オブジェクト
には、画面に表示すべきデータ名称、データ長などに関
する情報がすべて含まれているので、フォーム部品29
0は項目オブジェクトからこれら情報を取得することに
より、ブラウザ253などに与えるべきHTMLソース
を作成することができる。作成されたHTMLソースを
ブラウザ253などに送信することにより、たとえば図
7に示される画面がクライアントPCの上で動作するブ
ラウザにより表示される。
【0129】表示される項目の名称、データ長、データ
形式などに関する情報は項目オブジェクトから取得され
るので、スクリーン部品320,322中にはそれらの
情報はコーディングされていない。スクリーン部品32
0,322の一部の例を図16に示す。図16を参照し
て、スクリーン部品320,322のプログラム中で
は、まずパラメータ定義行420でこの処理において使
用するべき項目オブジェクト名称のリストである定数
「p_fields」を定義しておき、後のロジック中
のフォーム部品をコールするCALL命令421におい
て、この定数をパラメータとしてフォーム部品に渡して
いる。つまり、業務に直結した項目オブジェクトの指定
は、パラメータ定義行420に見られるのみである。こ
の項目オブジェクトの指定は、プログラム定義ファイル
312で定義され、スクリーン部品320,322が実
行される場合にプログラム定義ファイル312で定義さ
れた項目オブジェクトの指定が参照される。このため、
業務に直結した項目オブジェクトの指定は、プログラム
定義ファイル312に見られるのみである。
【0130】この場合にスクリーン部品320,322
がフォーム部品290に与えるパラメータを図16に示
されるように{userid,username,fu
rigana,...}とすると、これらパラメータ
を、プログラム定義ファイル312において、他の項目
オブジェクトの名称のリストに変えるだけで、全く同じ
スクリーン部品320,322のロジックと同じフォー
ム部品290とを用いて、全く別の画面の表示を実現す
ることができる。
【0131】図17に、フォーム部品を構成するプログ
ラムのロジックをフローチャート形式で示す。与えられ
たパラメータのうち、最初から順番に1パラメータずつ
以下の処理を行なう。すなわち、当該パラメータについ
て、そのパラメータで指定される項目オブジェクトを参
照し、項目名称、データ長などの情報からその項目を入
力するためのフォーム部品に相当するHTMLソースを
作成する(ステップS51)。
【0132】続いて全てのパラメータを処理したか否か
を判定し(ステップS52)、全てのパラメータを処理
するまでステップS51、ステップS52の処理を繰返
す。
【0133】全てのパラメータを処理したと判定された
場合、これまでの処理で作成されたHTMLソースをブ
ラウザ253などに対して出力し(ステップS53)、
処理を終了する。
【0134】このようにスクリーン部品のロジック中に
は項目特有の情報がコーディングされていない。その結
果、スクリーン部品を種々の処理において共通に再利用
することが可能となった。またフォーム部品290自体
も項目特有の情報と分離されているので、フォーム部品
290についても種々の処理において共通に再利用する
ことが可能となった。
【0135】このように、本発明によれば、項目オブジ
ェクトを用いることによりプログラムからユーザインタ
フェースを分離し、部品化することに成功した。さら
に、項目オブジェクト中に当該項目のエラーチェック、
DB更新のためのロジックをメソッドとして実装してお
くことで、業務に直結するプログラム部分を部品化する
ことが可能となった。
【0136】なお、本実施の形態においては、、プログ
ラムパターンが実行されることにより画面を作成するた
めのに項目オブジェクトを用いる例を説明したが、画面
の作成はこれに限定されない。
【0137】たとえば、スクリーン部品において、画面
を作成するために必要なデータをすべて定義するように
してもよい。この場合であっても、画面が修正された場
合に、修正する必要が生じるチェック処理、コマンドの
第1の部分(where節)を生成する処理は、同じス
クリーン部品に含まれるので、そのような変更に容易に
対応することができる。
【0138】以上、本願発明を実施の形態に基づいて説
明してきたが、本願発明はこれら実施の形態のシステム
に限定されるわけではない。本願発明の権利範囲は、特
許請求の範囲の各請求項の記載によって定められるべき
である。本願明細書に開示された実施の形態の各構成要
素と均等の構成要素を用いたものも本願発明の権利範囲
に含まれる。
【図面の簡単な説明】
【図1】 本発明の実施の形態におけるサーバ装置の外
観図である。
【図2】 本願発明に係るサーバ装置の構成を示すブロ
ック図である。
【図3】 本実施の形態におけるサーバ装置10におい
てデータベースアクセスプログラムが実行される概念を
説明するための図である。
【図4】 本実施の形態におけるサーバ装置でプログラ
ムパターンが実行されて行われる処理の流れを示すフロ
ーチャートである。
【図5】 照会処理のプログラムパターンで定義される
処理の一例を示す図である。
【図6】 図4のステップS14で実行されるスクリー
ン部品呼出処理の流れを示すフローチャートである。
【図7】 プログラムパターンが実行されて出力される
画面の一例を示す図である。
【図8】 3つのスクリーン部品を用いたプログラムパ
ターンの具体例を示す図である。
【図9】 スクリーン部品が呼び出されて表示される画
面の例を示す図である。
【図10】 項目オブジェクトの概念を説明するための
模式図である。
【図11】 項目オブジェクトをDB定義情報から抽出
するツールのブロック図である。
【図12】 DB定義ファイルの例を示す図である。
【図13】 項目オブジェクトのデータ定義ファイルの
例を示す図である。
【図14】 DB定義ファイルから項目オブジェクトの
データ定義ファイルを作成する処理のフローチャートで
ある。
【図15】 本発明の一実施の形態にしたがって、項目
オブジェクトを利用したスクリーン部品が動作する際
の、オブジェクトおよびスクリーン部品間の関連を示す
図である。
【図16】 メインプログラムのコーディング例の一部
を示す図である。
【図17】 フォーム部品を実現する処理のフローチャ
ートである。
【図18】 従来のイントラネットワークによって構築
したシステムの構成例を示すブロック図である。
【符号の説明】
10 サーバ装置、100 コンピュータ、102 デ
ィスプレイ、104プリンタ、106 キーボード、1
08 マウス、110 CD−ROMドライブ、112
FDドライブ、114 ハードディスク、126 バ
ス、130ネットワークインタフェース、132 ネッ
トワーク、150,150A 項目オブジェクト、25
3 ブラウザ、290 フォーム部品、310 プログ
ラムパターン、312 プログラム定義ファイル、31
4 データベース、320第1スクリーン、322 第
2スクリーン。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のスクリーン部品をコンピュータに
    実行させることによりデータベースにアクセスするプロ
    グラムであって、 前記複数のスクリーン部品をコンピュータに実行させる
    順序を指定するステップを含み、 前記複数のスクリーン部品それぞれは、 該スクリーン部品ごとに外部から与えられた定義にした
    がって、前記データベースにアクセスするためのコマン
    ドのうち処理対象となるデータを特定するための第1の
    部分を除く第2の部分を生成するステップと、 データを入力および/または出力するための画面を生成
    するステップと、 該スクリーン部品ごとに外部から与えられた定義にした
    がって、前記データベースにアクセスするためのコマン
    ドのうち処理対象となるデータを特定するための第1の
    部分を生成するステップとを含む、データベースアクセ
    スプログラム。
  2. 【請求項2】 前記画面生成ステップは、該スクリーン
    部品ごとに外部から与えられた前記データベースの項目
    にしたがって、画面を生成する、請求項1に記載のデー
    タベースアクセスプログラム。
  3. 【請求項3】 前記複数のスクリーン部品それぞれに含
    まれるステップを、前記複数のスクリーン部品いずれに
    おいても同じ順番で実行するよう指定するステップをさ
    らに含む、請求項1に記載のデータベースアクセスプロ
    グラム。
  4. 【請求項4】 前記複数のスクリーン部品それぞれは、
    該スクリーン部品ごとに外部から与えられた、前記デー
    タベースの項目にしたがって、取得されたデータをチェ
    ックするステップをさらに含む、請求項1に記載のデー
    タベースアクセスプログラム。
  5. 【請求項5】 前記第1の部分を生成するステップは、
    次にコンピュータでスクリーン部品が実行される際に実
    行されるコマンドの第1の部分を生成する、請求項1に
    記載のデータベースアクセスプログラム。
  6. 【請求項6】 前記第1の部分を生成するステップは、
    前記チェックステップでチェックされたデータに基づい
    て、コマンドの第1の部分を生成する、請求項4に記載
    のデータベースアクセスプログラム。
  7. 【請求項7】 前記第2の部分を生成するステップは、
    前記第2の部分を生成しない処理を含む、請求項1に記
    載のデータベースアクセスプログラム。
  8. 【請求項8】 前記チェックステップは、何もチェック
    しない処理を含む、請求項4に記載のデータベースアク
    セスプログラム。
  9. 【請求項9】 前記第1の部分を生成するステップは、
    前記第1の部分を生成しない処理を含む、請求項1に記
    載のデータベースアクセスプログラム。
  10. 【請求項10】 請求項1〜8のいずれかに記載のデー
    タベースアクセスプログラムを記録したコンピュータ読
    取可能な記録媒体。
  11. 【請求項11】 複数のスクリーン部品をコンピュータ
    に実行させることによりデータベースを操作する方法で
    あって、 前記複数のスクリーン部品をコンピュータに実行させる
    順序を指定するステップを含み、 前記複数のスクリーン部品それぞれは、 該スクリーン部品ごとに外部から与えられた定義にした
    がって、前記データベースにアクセスするためのコマン
    ドのうち処理対象となるデータを特定するための第1の
    部分を除く第2の部分を生成するステップと、 データを入力および/または出力するための画面を生成
    するステップと、 該スクリーン部品ごとに外部から与えられた定義にした
    がって、前記データベースにアクセスするためのコマン
    ドのうち処理対象となるデータを特定するための第1の
    部分を生成するステップとを含む、データベース操作方
    法。
JP2002112448A 2002-04-15 2002-04-15 データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法 Pending JP2003308332A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002112448A JP2003308332A (ja) 2002-04-15 2002-04-15 データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法
US10/405,699 US7222118B2 (en) 2002-04-15 2003-04-03 Computer program product for accessing database, recording medium recording database access program therein, and database access method
CNB031407617A CN100545803C (zh) 2002-04-15 2003-04-15 数据库访问方法和数据库服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002112448A JP2003308332A (ja) 2002-04-15 2002-04-15 データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法

Publications (1)

Publication Number Publication Date
JP2003308332A true JP2003308332A (ja) 2003-10-31

Family

ID=29267327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002112448A Pending JP2003308332A (ja) 2002-04-15 2002-04-15 データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法

Country Status (3)

Country Link
US (1) US7222118B2 (ja)
JP (1) JP2003308332A (ja)
CN (1) CN100545803C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198567A1 (en) * 2004-01-29 2005-09-08 Vermeulen Bert M. Web navigation method and system
CN102073642A (zh) * 2009-11-23 2011-05-25 英业达集团(天津)电子技术有限公司 自动生成结构化sql语句的方法与其电子装置
KR101986476B1 (ko) * 2017-04-17 2019-06-05 미쓰비시덴키 가부시키가이샤 프로그램 작성 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
JP2710548B2 (ja) 1993-03-17 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを検索する方法およびブール代数文表現と図形表現を互いに変換する方法
JP3227066B2 (ja) * 1994-09-21 2001-11-12 株式会社日立製作所 プログラム部品を用いたプログラム生成方法
JPH08171508A (ja) 1994-12-19 1996-07-02 Canon Inc データベース管理方法及び装置
US5787453A (en) * 1995-10-24 1998-07-28 Peoplesoft, Inc. Interactive formula processing system for SQL data base
US5875334A (en) * 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
JPH11345235A (ja) 1998-01-13 1999-12-14 Matsushita Electron Corp Html生成装置、html生成方法及びhtml生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6779177B1 (en) * 1999-10-28 2004-08-17 International Business Machines Corporation Mechanism for cross channel multi-server multi-protocol multi-data model thin clients
US6430556B1 (en) * 1999-11-01 2002-08-06 Sun Microsystems, Inc. System and method for providing a query object development environment
JP4136271B2 (ja) 2000-05-16 2008-08-20 住友電気工業株式会社 アプリケーションサーバシステム
JP2003050588A (ja) * 2001-08-06 2003-02-21 Pioneer Electronic Corp コンテンツ提供システムの管理サーバ装置、および端末装置

Also Published As

Publication number Publication date
CN100545803C (zh) 2009-09-30
US20030208504A1 (en) 2003-11-06
US7222118B2 (en) 2007-05-22
CN1459713A (zh) 2003-12-03

Similar Documents

Publication Publication Date Title
US9886248B2 (en) Method for creating software factory for developing J2EE applications
US9465590B2 (en) Code generation framework for application program interface for model
US8826224B2 (en) Apparatus and method for supporting model-driven development
US8375351B2 (en) Extensible rapid application development for disparate data sources
US20060015839A1 (en) Development of software systems
US20090254881A1 (en) Code generation techniques for administrative tasks
US20070208769A1 (en) System and method for generating an XPath expression
US20040044965A1 (en) Structured document edit apparatus, structured document edit method, and program product
US20020089542A1 (en) Computer program product, recording medium having screen component interface program code recorded therein, and screen program creating method
US20040158820A1 (en) System for generating an application framework and components
US20050149868A1 (en) User interface application development program and development apparatus
US20190250895A1 (en) System and method for converting a first programming language application to a second programming language application
US6957416B2 (en) Document builder classes and methods
CN117850984A (zh) 电子设计自动化脚本预检查方法、系统、设备及存储介质
JP4136271B2 (ja) アプリケーションサーバシステム
MXPA03004411A (es) Sistema y metodo para definir y utilizar subclases declarativamente por marcas.
Kolovos et al. The epsilon pattern language
CN1809811A (zh) 用于借助中心xml配置文件生成分布式java应用的方法和装置
US7315980B2 (en) Method and apparatus for generating electronic document definitions
US7058651B2 (en) Method, computer program product, and system for automatic class generation with simultaneous customization and interchange capability
US7222118B2 (en) Computer program product for accessing database, recording medium recording database access program therein, and database access method
US20060005174A1 (en) Defining hierarchical structures with markup languages and reflection
CN1332302C (zh) 用于提供计算机程序代码的维护环境的方法和系统
JP5190899B2 (ja) 情報処理装置、設定ファイル生成方法、および設定ファイル生成プログラム
CN115051904B (zh) 一种基于标记语言的单盘状态管理的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904