JP2001325098A - アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 - Google Patents

アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体

Info

Publication number
JP2001325098A
JP2001325098A JP2000143123A JP2000143123A JP2001325098A JP 2001325098 A JP2001325098 A JP 2001325098A JP 2000143123 A JP2000143123 A JP 2000143123A JP 2000143123 A JP2000143123 A JP 2000143123A JP 2001325098 A JP2001325098 A JP 2001325098A
Authority
JP
Japan
Prior art keywords
item
database
program
item object
application
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.)
Granted
Application number
JP2000143123A
Other languages
English (en)
Other versions
JP4136271B2 (ja
Inventor
Nobuhiro Nakamura
伸裕 中村
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 JP2000143123A priority Critical patent/JP4136271B2/ja
Publication of JP2001325098A publication Critical patent/JP2001325098A/ja
Application granted granted Critical
Publication of JP4136271B2 publication Critical patent/JP4136271B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プログラムの部品化およびその再利用をより
効率的に行なうことができるアプリケーションプログラ
ムの作成方法を提供する。 【解決手段】 アプリケーションプログラムの作成方法
は、データベースの項目ごとに、当該項目の入力のため
に必要な情報を保持した項目オブジェクトを準備するス
テップ140と、実行時に項目オブジェクトの情報を参
照して、データベースにアクセスするための画面情報を
生成し出力するとともに、当該画面情報を用いた画面表
示を介して入力されたデータに基づいてデータベースを
アクセスするアプリケーションプログラムを作成するス
テップ142とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーション
プログラムの開発および実行方法の改善に関し、特に、
いわゆるオブジェクト指向プログラミングにおいて、プ
ログラム間で共用できる部分を大幅に拡大するプログラ
ム開発環境および実行環境の改善に関する。
【0002】
【従来の技術】従来から、コンピュータを用いたシステ
ム開発においては、開発コストの削減、納期の短縮、品
質向上が重要な目標となっている。そのため、たとえば
手順中心の設計手法からデータを中心とした設計手法へ
の転換、RAD(rapid application development)開
発手法の導入、プログラムの部品化などが試みられ、一
定の効果を上げている。
【0003】たとえばデータ中心設計開発手法の導入に
よりかなりの生産性の向上が見られた。またRAD開発
手法では、ユーザの要求に合わせてプロトタイピングを
行ない、その結果によりさらにユーザの要求を確認して
プロトタイピングの修正を行なう、というように開発サ
イクルを短くすることができる。その結果、RAD開発
手法を導入したシステムでは、主として外部設計、詳細
設計の期間短縮、コスト削減を達成することができた。
その結果、プログラム作成のフェーズが、システム開発
全体で占める割合が相対的に大きくなって来ている。
【0004】また、最近では、企業の基幹システムの開
発プラットフォームにイントラネットを採用するケース
が多くなっている。そうした基幹システムには、アプリ
ケーションサーバを採用してシステム構築を行なうの
が、ネットワーク化された企業では効率的である。典型
的には、アプリケーションサーバのシステム開発では、
HTML(HyperText Markup Language)を拡張したタ
グ言語が用いられる。そうしたタグ言語は、習得が容易
であり、イントラネットの開発ツールとして高い生産性
を有するものとして評価されている。
【0005】しかし、企業を取り巻く環境が一層厳しく
なるにつれ、システム開発に対する要求も厳しくなって
いる。具体的には、より企業のビジネスサイクルが短縮
化してきたため、納期の一層の短縮化が求められ、また
コストの面でもより低コストで製品を提供できる企業が
有利となってきている。
【0006】そこで、前述のようにシステム開発におい
てプログラム作成のフェースの占める割合いが相対的に
大きくなっていることから、この部分の生産性をさらに
向上させることが重要である。そのために最も効率的と
思われるのは、プログラムの部品化の促進である。
【0007】プログラムの部品化は、システム開発に要
する工数を引き下げ、その結果システム開発に要する期
間の短縮と、そのために要する費用の削減との両方の面
でシステム開発の競争力強化に貢献する。また十分に信
頼性のおけるプログラムのみを部品化することで、シス
テムの品質向上にも貢献できる。したがって、プログラ
ムの部品化を如何に効率的に行えるか、そしてそのよう
に準備された部品を如何に効率的に組み合わせてアプリ
ケーションプログラムを構築するかが重要である。
【0008】しかし、従来イントラネットシステムの開
発に用いられていたタグ言語では、こうした部品化の機
能が弱い。そのため従来のタグ言語をそのまま用いる限
り、生産性の向上はあまり望めないことが明白となって
いる。
【0009】図32に一般的な、データベース(DB)
を利用したイントラネットのシステム構成図を示す。図
32を参照して、一般的なイントラネット600は、ネ
ットワーク610を介して互いにHTTPと呼ばれるプ
ロトコルで通信可能なアプリケーションサーバ612、
DBサーバ614、および複数個のクライアントPC6
16を含む。なお「HTTP」はHyper Text
TransferProtocolの省略形である。
【0010】クライアントPC616上では一般的なブ
ラウザ630が動作する。DBサーバ614ではRDB
MS622が稼動している。
【0011】アプリケーションサーバ612上ではWW
Wサーバ618が稼動している。「WWW」はWorl
d Wide Webの省略形である。WWWサーバ6
18の実体はJavaサーブレットエンジン620であ
る。Javaサーブレットエンジン620は、ネットワ
ーク610を介してクライアントPC616のブラウザ
630から与えられる要求に応じてRDBMS622を
アクセスするための画面を形成するための情報(HTM
Lソース)をブラウザ630に与える。ブラウザ630
はこの画面を表示し、ユーザによって入力された情報を
Javaサーブレットエンジン620に返す。Java
サーブレットエンジン620は、与えられた情報にした
がってRDBMS622をアクセスし、結果を表示する
ためのHTMLソースをブラウザ630に返す。ブラウ
ザ630ではこの結果を表示することにより、ユーザの
要求に答える。
【0012】こうして、イントラネット600では、ア
プリケーションサーバ612上で稼動するWWWサーバ
618によって複数個のクライアントPC616からの
要求を処理し、結果を各クライアント上のブラウザに返
すことでRDBMS622を用いた業務処理を行なって
いく。
【0013】
【発明が解決しようとする課題】しかし、前述したとお
りこうしたシステムにおいてJavaサーブレットエン
ジン620を用いたシステムを開発するために重要なプ
ログラムの部品化およびその再利用は、従来のタグ言語
を用いている限り限界に達しているように思われる。従
来のプログラム言語では、部品化の対象はアプリケーシ
ョンから独立して切り出せる部分である。そのため、業
務ロジックを含むようなプログラムは部品化することが
できなかった。たとえば、システムの部品化は全体の2
割程度に留まっていた。
【0014】特に、企業の基幹業務システムではデータ
ベースを取扱うことになるが、データベースの各項目に
はそれぞれデータベース固有の名称が与えられている。
そのため、データベースを取扱うプログラム内にそうし
た固有の名称が埋込まれている。業務が異なり、データ
ベースが変わるとそうした名称は変わる。そのため、あ
るシステムで作成したプログラムを他のシステムの開発
において再利用することは困難である。データベースの
各項目を処理するプログラムを部品化することができれ
ば、部品化およびその再利用がすすみ、プログラム開発
の効率が向上すると思われる。
【0015】そこで、本発明の目的は、プログラムの部
品化およびその再利用をより効率的に行なうことができ
るアプリケーションプログラムの作成方法、データベー
ス操作方法、項目オブジェクト管理方法、モジュール動
作制御方法ならびにデータベース操作方法、項目オブジ
ェクト管理方法およびモジュール動作制御方法を実現す
るためのプログラムを記録したコンピュータ可読な記録
媒体を提供することである。
【0016】この発明の他の目的は、データベースの各
項目を処理するためのプログラムの部品化およびその再
利用をより効率的に行なうことができるアプリケーショ
ンプログラムの作成方法、データベース操作方法、項目
オブジェクト管理方法、モジュール動作制御方法ならび
にデータベース操作方法、項目オブジェクト管理方法お
よびモジュール動作制御方法を実現するためのプログラ
ムを記録したコンピュータ可読な記録媒体を提供するこ
とである。
【0017】
【課題を解決するための手段】この発明の第1の局面
は、アプリケーションプログラムの作成方法に関し、こ
のアプリケーションプログラムの作成方法は、データベ
ースの項目ごとに、当該項目の入力のために必要な情報
を保持した項目オブジェクトを準備するステップと、実
行時に項目オブジェクトの情報を参照して、データベー
スにアクセスするための画面情報を生成し出力するとと
もに、当該画面情報を用いた画面表示を介して入力され
たデータに基づいてデータベースをアクセスするアプリ
ケーションプログラムを作成するステップとを含む。
【0018】項目オブジェクトに、データベースの各項
目ごとに入力のために必要な情報を保持させ、アプリケ
ーションプログラムは実行時にこの項目オブジェクトを
参照して画面情報を生成する。アプリケーションプログ
ラム自体の中にデータベースの項目情報をコーディング
する必要がない。アプリケーションプログラムの構造を
簡単にすることができ、またデータベース固有の情報を
項目オブジェクトに持たせるので、従来はアプリケーシ
ョンプログラム中にコーディングされていた情報を項目
オブジェクトの形で部品化できる。
【0019】好ましくは、項目オブジェクトを準備する
ステップは、データベースの定義情報から、データベー
スの項目ごとに、当該項目の入力のために必要な情報を
抽出して項目オブジェクトの原形を作成するステップを
含む。
【0020】データベースの定義情報から項目オブジェ
クトの原形を作成するので、項目オブジェクトを作成す
るための工数を削減することができる。
【0021】さらに好ましくは、項目オブジェクトを準
備するステップはさらに、項目オブジェクトの原形をイ
ンタラクティブに修正するステップを含む。
【0022】生成された項目オブジェクトの原形をさら
にインタラクティブに修正できるので、実際の業務に適
合した形式で項目オブジェクトを作成できる。パッケー
ジプログラムなどでは、ユーザの要求に応じて画面のカ
スタマイズなどを容易に行なうことができる。しかもこ
の場合、アプリケーションプログラムのロジック部分を
変更する必要はないので、プログラムの品質の向上が期
待できる。
【0023】さらに好ましくは、アプリケーションプロ
グラムを作成するステップは、予めデータベースの項目
内容とは独立に定義された、アプリケーション実行のた
めの基本的フレームワークの中から、アプリケーション
プログラムの作成に適したものを選択するステップと、
選択された基本的フレームワークの中で、アプリケーシ
ョン特有の処理を行なうべき主要部分を、データベース
にアクセスするための画面情報を項目オブジェクトを実
行時に参照して生成し出力するとともに、当該画面情報
を用いた画面表示を介して入力されたデータに基づいて
データベースをアクセス可能なように作成するステップ
を含む。
【0024】基本フレームワークを予め準備しておき、
その中からアプリケーションプログラムの作成に適した
ものを選択することで、コーディングをする必要のある
主要部分の量を削減できる。その結果、プログラム開発
の工数が削減され、納期の短縮およびコストの低減を図
ることができる。またフレームワークとして信頼性の高
いものを準備しておくことにより、バグの発生などを抑
えることができ、プログラムの品質が向上する。
【0025】この発明の他の局面にかかるデータベース
操作方法は、データベースの項目ごとに、当該項目の入
力のために必要な情報を保持した項目オブジェクトを利
用してデータベースをコンピュータを介して操作するデ
ータベース操作方法であって、データベースの項目ごと
に、対応の項目オブジェクトを参照して、当該項目の入
力に必要なフォーム部品項目を準備するステップと、フ
ォーム部品項目を配置したフォーム部品を実現するため
の所定の書式にしたがったソースファイルを生成し他の
アプリケーションに渡すステップと、他のアプリケーシ
ョンからフォーム部品を用いて入力されたデータを受取
るステップと、入力されたデータに基づいて、データベ
ースをアクセスするステップとを含む。
【0026】項目オブジェクトという新規な概念にした
がってフォーム部品項目をアプリケーションプログラム
の実行時に生成することができる。アプリケーションプ
ログラムのコーディング中には、データベース固有の情
報を含ませておく必要がない。したがってコーディング
量が減少して工数およびコストが削減される。またプロ
グラムの品質の向上も期待できる。
【0027】好ましくは、項目オブジェクトは、対応の
項目の項目名称と、データ型と、入力桁数とを特定する
情報を含み、フォーム部品項目を準備するステップは、
データベースの項目ごとに、対応の項目オブジェクトを
参照して、当該項目の名称を表示する名称表示部品と、
当該項目の入力に必要な入力フィールド部品とをフォー
ム部品項目として準備するステップを含む。
【0028】データベースにアクセスする際の、データ
ベース項目の項目名称、データ型、入力桁数など、画面
による入力に必要な情報は項目オブジェクトからアプリ
ケーションプログラムに、その実行時に供給される。ア
プリケーションプログラム中にデータベース固有の情報
をコーディングしておく必要がない。そのためアプリケ
ーションプログラムのロジックを複数業務で共通化する
ことが可能となる。またデータベース固有の部分を項目
オブジェクトの形で部品化できる。
【0029】さらに好ましくは、項目オブジェクトは、
対応の項目の複数個の項目名称を特定する情報を含み、
フォーム部品項目として準備するステップは、データベ
ースの項目ごとに、対応の項目オブジェクトを参照し
て、当該項目の複数個の項目名称のうち、外部から与え
られるパラメータによって定められるものを表示する名
称表示部品と、当該項目の入力に必要な入力フィールド
部品とをフォーム部品項目として準備するステップを含
む。
【0030】項目オブジェクトに複数個の項目名称を持
たせておき、実行時にパラメータでそのうちの一つを選
択して画面表示に利用できる。そのため、たとえば同一
のプログラムロジックを用いて、言語を切り替えること
がパラメータの設定のみで行える。
【0031】さらに好ましくは、データベース操作方法
はさらに、データベースをアクセスするステップでのア
クセス結果を表示するための、所定の書式にしたがった
ソースファイルを生成して他のアプリケーションに渡す
ステップを含む。
【0032】データベースのアクセス結果を他のアプリ
ケーションに渡すことにより、当該他のアプリケーショ
ンではアクセス結果を確認することができる。
【0033】この発明のさらに他の局面によれば、項目
オブジェクト管理方法は、データベースの項目ごとに、
当該項目の入力のために必要な情報を保持した項目オブ
ジェクトを実行時に参照してデータベース操作を行なう
アプリケーションプログラムの実行時に、メモリ上に生
成される項目オブジェクトのインスタンスを管理するた
めの項目オブジェクト管理方法であって、アプリケーシ
ョンからの項目オブジェクトの要求に応答して、要求さ
れた項目オブジェクトのインスタンスがメモリ上に存在
しているか否かを判定するステップと、要求された項目
オブジェクトのインスタンスがメモリ上に存在していな
いと判定された場合には要求された項目オブジェクトの
インスタンスをメモリ上に生成し、生成されたインスタ
ンスをアプリケーションに返すステップと、要求された
項目オブジェクトのインスタンスがメモリ上に存在して
いると判定された場合には、当該メモリ上に存在してい
る要求されたオブジェクトのインスタンスをアプリケー
ションに返すステップとを含む。
【0034】各項目オブジェクトのインスタンスをまと
めて管理できるので、複数個のアプリケーションプログ
ラムに対して同じ項目オブジェクトのインスタンスを共
有することができる。項目オブジェクトが際限なく作成
されメモリ資源が不足したりするおそれは少ない。
【0035】この発明のさらに他の局面によれば、モジ
ュール動作制御方法は、各々が1または複数個のページ
処理メソッドと、与えられるページ指定パラメータにし
たがって、1または複数個のページ処理メソッドのうち
いずれかを実行して処理済みを示す処理結果を返すか、
1または複数個のページ処理メソッドのいずれも実行せ
ず未処理を示す処理結果を返すかのいずれかを選択的に
行なうページ制御メソッドを実装した1または複数個の
プログラムモジュールによる動作を制御するためのモジ
ュール動作制御方法であって、1または複数個のプログ
ラムモジュールを、登録順を保存して管理テーブルに登
録するステップと、プログラムモジュールから受取る処
理結果が処理済みを示すものとなるまで、ページ番号
を、管理テーブルによって定められる新しく登録された
ものから順に与え、処理結果を受取るステップとを含
む。
【0036】プログラムをモジュールごとに作成するこ
とが可能なので、プログラム作成が容易になるとと共
に、モジュールの一部のページを他のページと差し換え
る場合には、そのページを含む新たなモジュールを新規
に登録すれば、もとのモジュールの構造に影響をあたえ
ることなく当該ページを新たなものと差し換えることが
できる。またもとのモジュールを変更しても新たなモジ
ュールへの影響はないので、プログラム変更などが容易
になる。
【0037】本発明のさらに他の局面によれば、コンピ
ュータ可読な記録媒体は、データベースの項目ごとに、
当該項目の入力のために必要な情報を保持した項目オブ
ジェクトを利用してデータベースをコンピュータを介し
て操作するデータベース操作方法を実現するためのプロ
グラムを記録したコンピュータ可読な記録媒体であっ
て、データベース操作方法は、データベースの項目ごと
に、対応の項目オブジェクトを参照して、当該項目の入
力に必要なフォーム部品項目を準備するステップと、フ
ォーム部品項目を配置したフォーム部品を実現するため
の所定の書式にしたがったソースファイルを生成し他の
アプリケーションに渡すステップと、他のアプリケーシ
ョンからフォーム部品を用いて入力されたデータを受取
るステップと、入力されたデータに基づいて、データベ
ースをアクセスするステップとを含む。
【0038】好ましくは、項目オブジェクトは、対応の
項目の項目名称と、データ型と、入力桁数とを特定する
情報を含み、フォーム部品項目を準備するステップは、
データベースの項目ごとに、対応の項目オブジェクトを
参照して、当該項目の名称を表示する名称表示部品と、
当該項目の入力に必要な入力フィールド部品とをフォー
ム部品項目として準備するステップを含む。
【0039】さらに好ましくは、項目オブジェクトは、
対応の項目の複数個の項目名称を特定する情報を含み、
フォーム部品項目として準備するステップは、データベ
ースの項目ごとに、対応の項目オブジェクトを参照し
て、当該項目の複数個の項目名称のうち、外部から与え
られるパラメータによって定められるものを表示する名
称表示部品と、当該項目の入力に必要な入力フィールド
部品とをフォーム部品項目として準備するステップを含
む。
【0040】さらに好ましくは、データベース操作方法
はさらに、データベースをアクセスするステップでのア
クセス結果を表示するための、所定の書式にしたがった
ソースファイルを生成して他のアプリケーションに渡す
ステップを含む。
【0041】本発明のさらに他の局面によれば、コンピ
ュータ可読な記録媒体は、データベースの項目ごとに、
当該項目の入力のために必要な情報を保持した項目オブ
ジェクトを実行時に参照してデータベース操作を行なう
アプリケーションプログラムの実行時に、メモリ上に生
成される項目オブジェクトのインスタンスを管理するた
めの項目オブジェクト管理方法を実現するプログラムを
記憶したコンピュータ可読な記録媒体であって、項目オ
ブジェクト管理方法は、アプリケーションからの項目オ
ブジェクトの要求に応答して、要求された項目オブジェ
クトのインスタンスがメモリ上に存在しているか否かを
判定するステップと、要求された項目オブジェクトのイ
ンスタンスがメモリ上に存在していないと判定された場
合には要求された項目オブジェクトのインスタンスをメ
モリ上に生成し、生成されたインスタンスをアプリケー
ションに返すステップと、要求された項目オブジェクト
のインスタンスがメモリ上に存在していると判定された
場合には、当該メモリ上に存在している要求されたオブ
ジェクトのインスタンスをアプリケーションに返すステ
ップとを含む。
【0042】本発明のさらに他の局面によれば、コンピ
ュータ可読な記録媒体は、各々が1または複数個のペー
ジ処理メソッドと、与えられるページ指定パラメータに
したがって、1または複数個のページ処理メソッドのう
ちいずれかを実行して処理済みを示す処理結果を返す
か、1または複数個のページ処理メソッドのいずれも実
行せず未処理を示す処理結果を返すかのいずれかを選択
的に行なうページ制御メソッドを実装した1または複数
個のプログラムモジュールによる動作を制御するための
モジュール動作制御方法を実現するプログラムを記録し
たコンピュータ可読な記録媒体であって、モジュール動
作制御方法は、1または複数個のプログラムモジュール
を、登録順を保存して管理テーブルに登録するステップ
と、プログラムモジュールから受取る処理結果が処理済
みを示すものとなるまで、ページ番号を、管理テーブル
によって定められる新しく登録されたものから順に与
え、処理結果を受取るステップとを含む。
【0043】
【発明の実施の形態】従来、応答速度が遅いため実用化
が進まなかったJava言語は、JavaVM(Vir
tual Machine)をサーバ側で動かすサーブ
レット(Servlet)の形態で米国を中心にその使
用が広がりつつ有る。Java言語は、以下の特徴を有
している。
【0044】(1) 幅広いプラットフォームで動作
し、次世代OS(Operatingsystem)と
して期待されるLinuxへの対応も容易である。
【0045】(2) 多くのベンダが共通のAPI(A
pplication Programming In
terface)でツールを提供しており、1社のみの
ツールベンダに依存することがない。
【0046】(3) オブジェクト指向言語であり差分
プログラミングなど、プログラムの再利用の仕組を持っ
ている。
【0047】以上のようにJava言語は本発明の目的
と合致した特性を持っているため、本実施の形態のシス
テムではJava言語を採用することとした。ただし、
本発明はJava言語を用いたシステムのみに適用可能
なわけではなく、オブジェクト指向言語であればどのよ
うなプログラム言語を用いてもよい。たとえばC++、
オブジェクトパスカルなどである。
【0048】そして、本発明では、オブジェクト指向言
語におけるプログラム開発およびプログラム実行の上で
特徴的な「オブジェクト」として、データベースのレコ
ードを構成する各項目ごとに規定される、「項目オブジ
ェクト」と呼ぶものを用いることとした。項目オブジェ
クトの内容の詳細については後述することとして、ここ
では項目オブジェクトが従来は考えられていなかったも
ので本発明において新規なものであり、また項目オブジ
ェクトをプログラム開発に用いることによりデータベー
ス操作のためのプログラムの部品化が大きく促進された
ことを指摘しておく。
【0049】Java言語はオブジェクト指向言語であ
り、部品とフレームワークとの2つの側面でプログラム
の再利用が可能である。
【0050】ここで、部品とは従来から行なわれている
手法と同様のものであり、複数のプログラム中で共通す
る部分を抜き出し、他のプログラムから呼出して再利用
するものである。一般的に部品は業務ロジックからは独
立したものであることが多い。
【0051】一方、フレームワークとは、メインルーチ
ンや業務ロジックを含むプログラムの集まりである。た
とえば、以下に説明する受注フレームワークは、一般的
な受注を実装しており、そのまま利用することも、差分
プログラミングによって独自の機能を追加して再利用す
ることもできる。本発明では、一方で項目オブジェクト
を導入してデータベース固有の名称などを抽象化し、そ
れによって業務プログラムに共通する共通のロジックと
して実装されるべき部分をフレームワークとして構築す
ることが可能となった。そのため、本発明によれば従来
の部品化の範囲を超えて、より広い範囲でプログラムの
再利用が可能になる。
【0052】図1に、本発明のシステムを開発するため
のパーソナルコンピュータの外観を示す。以下に説明す
るようにこのパーソナルコンピュータは一般的な構成の
ものでよい。なお、本発明にしたがって開発されたプロ
グラムによって実現されるアプリケーションサーバが動
作するコンピュータも一般的なものでよく、図1に示さ
れるものと同様なものでよい。
【0053】図1を参照して、このコンピュータシステ
ムは、CD−ROM(Compact DiscRead-Only Memory)
ドライブ110およびFD(Flexible Disk)ドライブ
112を備えたコンピュータ100と、ディスプレイ1
02と、プリンタ104と、キーボード106と、マウ
ス108とを含む。
【0054】図2に、このコンピュータの構成をブロッ
ク図形式で示す。図2に示されるようにこのコンピュー
タ100は、CD−ROMドライブ110およびFDド
ライブ112に加えて、それぞれバス126に接続され
たCPU(Central Processing Unit)116と、オペ
レーティングシステムのブートアッププログラムなどを
記憶したROM(Read Only Memory)118と、実行さ
れるプログラムをロードするための、およびプログラム
実行中のデータを記憶するためのRAM(Random Acces
s Memory)120と、作成されたプログラムなどを不揮
発的に記憶するためのハードディスク114と、このコ
ンピュータ100をネットワーク132に接続するため
のネットワークインタフェース130とを含んでいる。
CD−ROMドライブ110にはCD−ROM122が
装着される。FDドライブ112にはFD124が装着
される。
【0055】既に述べたようにこのプログラム開発シス
テムは、コンピュータハードウェアと、CPU116に
より実行されるソフトウェアとにより実現される。一般
的にこうしたソフトウェアは、CD−ROM122、F
D124などの記憶媒体に格納されて流通し、CD−R
OMドライブ110またはFDドライブ112などによ
り記憶媒体から読取られてハードディスク114に一旦
格納される。さらにハードディスク114からRAM1
20に読出されてCPU116により実行される。図1
および図2に示したコンピュータのハードウェア自体は
一般的なものである。したがって、本発明の最も本質的
な部分はCD−ROM122、FD124、ハードディ
スク114などの記憶媒体に記憶されたソフトウェアで
ある。
【0056】なお図1および図2に示したコンピュータ
自体の動作は周知であるので、ここではその詳細な説明
は繰返さない。
【0057】また、上記したコンピュータと同様のコン
ピュータを、アプリケーションサーバとして動作させる
ことも当然考えられる。その場合の上記した各構成要素
の役割も上記したものと同様である。
【0058】[Java フレームワークの検討]図3
2に示す一般的なイントラネットでは、ブラウザ630
とアプリケーションサーバ612との間ではHTTPプ
ロトコルが使用されている。HTTPプロトコルはセッ
ションレス(ステートレス)のプロトコルである。ブラ
ウザ630に表示される画面はHTMLで構成される。
HTTPおよびHTMLは情報を閲覧するために開発さ
れた仕様であり、基幹系システムを構築する場合には生
産性を悪化させる要因となることが分かった。
【0059】イントラネットで使用するHTTPプロト
コルがセッションレスであるため、ブラウザ630とア
プリケーションサーバ612との間の通信は毎回切断さ
れている。しかし、基幹システムではログインしたユー
ザ情報をブラウザ630で表示されるページ間で引継ぐ
必要があり、何らかのセッション管理の仕組みを作り込
む必要がある。
【0060】また、セッションレスであるがために、ブ
ラウザ630に表示される画面の間での遷移の順番が保
証されない。そのため、ユーザの側からURL(Uni
form Resource Locator)を指定
して、本来であれば一連の流れの途中で表示されるべき
画面に直接アクセスしたり、アクセス権限のない画面を
表示させたりすることができる可能性がある。そうした
事態を防止するために、各プログラムでは、ブラウザ6
30に表示される画面が、設計時に想定した遷移の順番
となっているか否かをチェックしたり、表示される画面
が所定の権限に基づいてアクセスされたものかどうかを
チェックしたりする必要がある。
【0061】その他にも、ユーザの操作ミスで不正なデ
ータがアプリケーションサーバ612に送信されてくる
ことがある。たとえば最終的にデータをサーバにおくる
ための指示をするために準備されたボタン(「Subm
it」ボタンなどと呼ばれる。)が誤って二度押された
りすると、データが二重にサーバに送信されることにな
る。このため、何らかの手当てをしないとサーバにおい
て当該データが二重に処理されたりする可能性がある
が、そうした誤動作を防止するための仕組みも必要とな
る。
【0062】さらに、通常のクライアント&サーバシス
テムでは、GUI(Graphical User I
nterface)によって画面設計を行なうことがで
きるが、イントラネットシステムでは、画面表示のため
のHTMLを出力するためのコーディングを手作業で行
なわなければならない。すなわち、イントラネットシス
テムでは、画面で使用するデータ項目全てに対して、項
目名称、入力形式(テキストボックス、ラジオボタン
等)、および入力桁数等の指定などをソースコード中で
行なわなければならない。そのため、通常のGUIを用
いたシステム開発と比較して工数が増えることが避けら
れない。また、HTML出力のコードと業務ロジックの
コードとが混在することが多く、プログラムの部品化を
さまたげる要因となっている。
【0063】これらの要因を考慮しながらプログラムを
作成すると、生産性の大きな低下が避けられない。それ
のみでなく、プログラム作成中での考慮もれなどによる
品質の低下も懸念される。そこで、フレームワークの内
部でこれらの問題を解決し、プログラマーが特に意識し
なくても高品質のプログラムが容易に作成できるよう
に、フレームワークの構築を行なうこととした。
【0064】[フレームワークに必要な機能]フレーム
ワークは、それ以後開発される全てのシステムのベース
となる可能性が高い。したがって一旦フレームワークを
リリースした後に大きな変更を行なうような事態はでき
るだけ避ける必要がある。今後開発されるいかなるシス
テムに対しても対応できるように、フレームワークが持
つべき機能を検討した結果、下記の機能をフレームワー
クとして実装することととした。
【0065】(1) イントラネット固有の問題の隠ぺ
い 既に述べたようなイントラネットシステムでの生産性悪
化の要因を隠ぺいし、プログラマーが特に意識すること
なくプログラムの開発が行えるようにする。
【0066】(2) 多国語対応 ビジネスのグローバル化に伴い、ある企業が海外に子会
社を持つケースが増加している。そうした場合にも、同
一システムを国内と海外との双方で使用することが望ま
しいが、使用する言語の問題がある。通常のアプローチ
としては、最初に日本語版のプログラムを作成したの
ち、そのプログラムのうち必要な部分(画面に表示され
る項目名称、メッセージなど)を外国語(たとえば英
語)に翻訳することであろう。しかしその場合には、実
質的に一つのプログラムを二つの別々のプログラムで実
現することとなる。そのようにプログラムを二重に持つ
のはプログラムの保守性を悪化させることは明らかであ
る。そのため、プログラムの保守性を悪化させることな
く多国語に対応できるようなプログラム開発の手法が望
まれる。
【0067】そこで本システムでは、一つのシステム中
に予め日本語のみならず外国語の資源も組込んでおき、
プログラムの実行時のパラメータ指定によって言語を切
り替える仕組みを実装することとした。こうした機能
は、後述するように項目オブジェクトを使用することに
より簡単に実現することができる。
【0068】このような仕組みをフレームワークとして
実装することにより、たとえばプログラム開発の人件費
が安い海外でプログラムを開発し、それを日本語化する
ことも容易に行える。
【0069】(3) 項目名称のカスタマイズ ある企業が自社のために開発したシステムをパッケージ
化し外販することはよくあることである。しかしその場
合、たとえばシステム中で使用されるデータベースの項
目名称などを、購入企業での使用形態に合わせてカスタ
マイズしたい、というニーズが強い。そこで、本システ
ムではそうしたニーズを満足させるべく、フレームワー
クにそのための機能を実装することとした。この機能も
項目オブジェクトを使用すると簡単に実現することがで
きる。
【0070】[プログラム再利用の形態]プログラムの
再利用を考えた場合、プログラム全体をそのまま利用す
るもの、データ加工のための単純なサブルーチンレベル
で再利用するもの、など様々な粒度のものがある。そこ
で、プログラムの再利用の形態としてどのようなものが
あるかを検討したところ、以下の4つが主要なものとし
て分類された。
【0071】(1) 部品 部品はプログラム再利用の最小単位である。部品は業務
アプリケーションによって呼出され使用される。
【0072】(2) プログラムパターン プログラムパターンとは、部品を組み合わせた業務ロジ
ックを含まないプログラムのことをいう。プログラムパ
ターン中で使用するデータ項目などはパラメータで与え
ることができる。基本テーブルのメンテナンスなどに使
用することができる。
【0073】(3) フレームワーク フレームワークとは部品およびプログラムパターンを組
合せ、基本的な業務ロジックを組込んだ、再利用可能な
プログラムの集合体のことをいう。フレームワーク中の
プログラムは、使用するシステムにあわせて差分プログ
ラムを用いることにより、実際の業務に適応させながら
再利用することができる。
【0074】(4) パッケージ パッケージとは、システム全体をそのまま再利用する再
利用形態である。
【0075】本実施例を実現するにあたっては、まず部
品を開発し、プログラムパターン、フレームワークの順
に開発を進めることとした。その結果、後に詳述する項
目オブジェクトという概念に到達したのである。以下、
項目オブジェクトを利用したイントラネットシステム構
築の手法、およびそのようなイントラネットシステムの
構造と動作とについて述べる。
【0076】[システム開発の手順]図3を参照して、
本システムの開発手順は以下のとおりである。まず、処
理対象となるデータベースの構成に基づいて項目オブジ
ェクトを作成する(140)。そして、そのようにして
作成された項目オブジェクトを利用してアプリケーショ
ンプログラムの作成を行なう(142)。次に、そのよ
うに作成されたアプリケーションを実行することにより
イントラネットシステムのアプリケーションサーバを実
現する(144)。
【0077】[項目オブジェクト]図4を参照して、項
目オブジェクト150は、データベースの各項目に対応
して設定されるオブジェクトである。項目オブジェクト
の例は、受注業務でいえばデータ項目「受注番号」に対
応する項目オブジェクト150Aである。この項目オブ
ジェクト150Aは、プログラム開発過程ではオブジェ
クトクラスであって、プログラム実行時にはこの項目オ
ブジェクトのインスタンスが形成されてプログラム実行
に利用される。
【0078】項目オブジェクト150はオブジェクトク
ラスであるので、図4に示すとおり、項目名(たとえば
「OrderNum」)の他に、プロパティとして項目名称(日
本語名、英語名、他の言語による名称など)、データ
長、データ型(数値型、ストリング型、など)、入力形
式(テキストボックス、ラジオボタン、チェックボック
ス、プルダウンリスト、プルダウンメニュー、コンボボ
ックス、スライダなど)、対応DB列名など、データ項
目を抽象化した場合にそなえておくべき属性一般、およ
び入力されたデータが正しいか否か(たとえばデータ型
が数値型のときに、入力されたデータが数値であるか否
か、桁数はデータ長以内か、など)のチェックを行なう
ためのプログラムコードをメソッドの形で備えている。
【0079】項目オブジェクトの備える属性、メソッド
などについて表1に示す。
【0080】
【表1】
【0081】表1において「項目名」とは、プログラム
のコーディング中でこのデータ項目を参照するために用
いられる名称である。通常はDB中の、この項目オブジ
ェクトに対応する列名を使用し、アルファベットと一部
の記号のみからなる。
【0082】「項目名称」とは、プログラム実行時に画
面に表示される名称のことをいう。本実施の形態では、
項目名称として5通りを設定することが可能である。し
たがって項目名を画面表示に使用する場合もあわせる
と、6通りの表示を切替えて項目名称を表示することが
できる。
【0083】表1に示されるその他の要素については、
当業者にはその意味は明白であろうから、ここではこれ
以上の説明は行なわない。
【0084】[DB定義からの項目オブジェクト定義の
抽出]項目オブジェクトは、本実施の形態のプログラム
開発システムではJava言語のクラス定義のソースプ
ログラムの形でテキスト形式で準備される。項目オブジ
ェクトはデータベースと深い関係があるので、データベ
ース定義からそのまま項目オブジェクトのデータ定義を
行なうようにすると便利である。
【0085】図5に、そのようなプログラム開発システ
ムの簡単なシステムブロック図を示す。実際にはこのシ
ステムが図1および図2に示すような一般的なパーソナ
ルコンピュータによって実現可能であることは言うまで
もない。
【0086】図5を参照して、このシステムは、テキス
ト形式で予め準備されたDB定義情報160からデータ
ベース166を作成したり、DB定義情報160からデ
ータベース166の各項目に対応する項目オブジェクト
の定義の原型であるデータ定義168をテキスト形式で
出力したり、ディスプレイ102、キーボード106お
よびマウス108を用いたインタラクティブな処理によ
りデータ定義168の内容を修正したり、修正されたデ
ータ定義168から項目オブジェクトのクラス定義のた
めのJavaソース164のファイルを出力したりする
処理を行なうDB作成ツール162からなる。
【0087】DB定義情報160の内容の一例を図6に
示す。またデータ定義168の一例を図7に示す。図7
に示されるデータ定義168は、図6のDB定義情報1
60のうち、「/Record」文の直後の「受注番
号」で始まる行から抽出された情報に基づいて作成さ
れ、さらに後にプログラマーによって必要な項目が補充
されたものである。各行は、属性を示すキーワード(た
とえば「/LANG」、「/INPUTTYPE」な
ど)と、そのキーワードに対応する属性内容とからなっ
ている。このデータ定義168の内容にさらにデータチ
ェックなどのメソッドに相当するプログラムコーディン
グの原形を追加する処理もこのときに行なわれる。
【0088】DB定義情報160からデータ定義168
を作成することにより、項目オブジェクト作成のための
工数を最小限に抑えることができる。
【0089】図8に、DB定義情報160からデータ定
義168を作成するプログラムの概略フローチャートを
示す。図8を参照して、まず最初にプログラマーにより
指定されたDB定義ファイルをオープンする(18
0)。つぎにこのファイルの1行目を読む(182)。
その行の内容が「/RECORD」か否かを判定し(1
84)、読込んだ1行の内容が「/RECORD」とな
るまでステップ182および184の処理を繰返す。
【0090】「/RECORD」の一行を読込むと、そ
れ以後はDB定義の一行ごとにデータ定義168を作成
し出力する処理を繰返す。具体的には、まずDB定義情
報160の次の1行を読み(186)、その行の内容が
「/END」か否かを判定する。「/END」でなけれ
ば、読込んだ1行の内容からデータ定義168を作成
し、項目オブジェクトファイルとして出力して(19
0)次の行を読込む処理を行なう(186)。もし読込
んだ1行の内容が「/END」であれば、DB定義情報
160の中の全てのDB項目を処理したということであ
るから、DB定義ファイルをクローズし(192)処理
を終了する。
【0091】ステップ190での処理はDB定義の書式
とデータ定義168との書式との対応関係に基づいて定
められる。その内容についてはシステムに依存し、かつ
当業者には明らかであるのでここではその詳細は述べな
い。
【0092】図5に示されるDB作成ツール162の機
能のうち、データ定義168の内容をインタラクティブ
に修正する処理について、その操作の面から図9〜図1
2を参照して説明する。開発対象のシステムにもよる
が、項目オブジェクトの数は数千に達することもあるた
め、データ定義168を効率的に修正することが可能と
なっていることが望ましい。
【0093】図9を参照して、本実施の形態のシステム
では、DB作成ツール162の基本画面200におい
て、メニュー202から生成メニュー204を選択する
ことによって表示されるプルダウンメニューの中から、
「項目オブジェクト編集」というメニュー項目206を
ポインタ208で選択することによりデータ定義168
の修正を行なう処理が起動される。これにより、図10
に示されるデータ定義選択画面210が表示される。
【0094】データ定義選択画面210の上部には、ア
ルファベットのA〜Zまでに対応するボタンからなるア
ルファベット選択ボタン列212が表示される。この中
のたとえば「U」に対応するボタン214をポインタ2
08で選択することにより、データ定義一覧フィールド
216にそのアルファベットで始める項目名を有する項
目オブジェクトの一覧が表示される。
【0095】図11を参照して、この画面220におい
て、データ定義一覧フィールド216に表示された項目
名のうち、修正対象となる項目に対応するデータ定義
(たとえば「UserID」に対応するデータ定義フィ
ールド222)をポインタ208で選択することによ
り、選択されたデータ定義の内容が項目オブジェクト情
報修正画面として表示される。このときの表示の一例を
図12に示す。
【0096】図12を参照して、項目オブジェクト情報
修正画面224では、選択されたデータ定義に対応する
項目オブジェクト情報が一覧表示される。これらの内容
を修正した後、更新ボタン228を押すことにより、も
とのデータ定義ファイルが更新後の情報で上書きされ
る。
【0097】図9〜図12に示す処理は通常のGUIを
用いたプログラム開発ツールで開発することができる。
これら画面によって行なわれる処理の内容は簡単なの
で、これら画面を実現するためのプログラムの詳細はこ
こでは述べない。しかし当業者にはこれら画面を用いて
データ定義ファイルを更新する方法については明らかで
あろう。
【0098】[アプリケーションプログラムの構造]次
に、このようにして準備した項目オブジェクトを用いた
アプリケーションの構造について説明する。この説明に
より、そうしたアプリケーションをどのようにして作成
するかについても当業者には明らかとなるであろう。
【0099】図13に、アプリケーションサーバによっ
てクライアントPC上に実現される画面の一例を示す。
この例は、ユーザDB(ユーザテーブル)をメンテナン
スするためのプログラムである。図13を参照して、ユ
ーザテーブルメンテナンス画面230は、インラインメ
ニュー240と、ボタン242と、項目名称244およ
び項目フィールドとからなる複数の項目別の行からなる
入力フォームとを含む。ブラウザによりこの画面を表示
するためのHTMLソースをアプリケーションサーバで
作成し、クライアントPCに送って表示させ、クライア
ントPCから送信されてくる入力データにしたがってユ
ーザテーブルを更新するのがアプリケーションサーバの
機能である。
【0100】従来であれば、この画面で主となる入力フ
ォームの部分を、ユーザテーブルメンテナンスとは別の
プログラム、たとえば部署登録の画面で再利用すること
は困難であった。ユーザ登録のプログラムには、ユーザ
ID、氏名などのようなユーザ登録プログラム特有の項
目名称が埋込まれているからである。しかし、項目オブ
ジェクトを導入することにより、プログラムからそうし
たデータ項目の属性を分離することができ、フォーム部
分を再利用することが可能となった。
【0101】図14に、このイントラネットシステムの
アプリケーションサーバを構成するWWWサーバ250
のシステム構成を簡単に示す。図14を参照して、WW
Wサーバ250は、ネットワーク252を介して複数の
クライアントPC上で動作するブラウザ254、256
等からのリクエストを処理するためのJavaサーブレ
ットエンジン260と、Javaサーブレットエンジン
260を介して与えられるクライアントブラウザからの
リクエストを処理するためのメインプログラム262
と、メインプログラム262が各クライアントごとにセ
ッションを維持するために用意するセッション変数27
0、272などを格納するセッション変数オブジェクト
264およびメインプログラム262の実行時に参照す
る項目オブジェクト280、282などを格納するメモ
リ空間266とを含む。
【0102】メインプログラム262は、クライアント
に送信される部品を構成するフォーム部品290を含ん
でいる。そして、後述するようにフォーム部品290に
表示すべきデータ項目をメモリ空間266内の項目オブ
ジェクトの中から選択することにより所望のフォームを
形成するHTMLソースが形成され、クライアントPC
のブラウザに送信される。フォーム部品290自体には
データ項目が埋込まれることがないので、フォーム部品
290を他のプログラムに再利用することが可能とな
る。またユーザテーブルメンテナンスのためのプログラ
ムが実装すべき機能(登録、削除、変更など)のロジッ
ク部分は他のDBテーブルのメンテナンスにも使用可能
であり、その場合にはフォーム部品290に与える項目
オブジェクトを変えればよいので、プログラムの再利用
がより効率的に行える。
【0103】WWWサーバ250が実装すべき機能構造
を図15に示す。図15を参照して、WWWサーバ25
0は、ブラウザ254、256からのリクエストによっ
て起動するJavaプログラムからなる。このプログラ
ム(メインプログラム262)は、セッション変数27
0からログイン情報や前の画面の情報を取得し、アクセ
ス権限や画面遷移の正統性を検査するためのセッション
変数取得部300と、ブラウザ254、256などのブ
ラウザから送信されるデータ(例えば入力された受注番
号など)を取得するためのForm/URL変数取得部
302と、取得されたデータに基づいてSQL(Str
uctured Query Language)を組
み立てるためのSQL組立部304と、組み立てられた
SQLを実行してデータベース166にアクセスするた
めのSQL実行部306と、データベース166から取
得したデータに対して、必要に応じてフォーマット変換
などの処理を行なうためのデータ加工部308と、こう
して得られたデータをHTMLタグとともにブラウザ2
54、256などに送信する処理を行なうHTML出力
部310と、次回のアクセスのためにセッション変数2
70を保管しておくためのセッション変数の保存部31
2とを含む。
【0104】特定のプログラムと連係するために特別な
フォーマットでデータファイルを書出すような処理を行
なうプログラムを除けば、大半のプログラムは上記の順
序で処理を行なう。図15に示す各処理単位を基本部品
として、必要な数の部品を予め用意すれば、プログラマ
は自己が作成しようとするプログラムが実現すべき機能
に対応する部品を見つけだして組み合わせることで効率
的にプログラムを作成することができる。また上記した
処理単位全体をフレームワークとして用意することで、
必要な業務ロジックを追加するだけでプログラムを完成
させることができる。
【0105】[項目オブジェクトを利用した画面出力]
さて、メモリ空間266に格納された項目オブジェクト
を使用した画面出力(HTMLソース出力)の機構の概
略を図16に示す。図16を参照して、メインプログラ
ム262は、フォーム部品290に対して画面で使用す
る項目を特定する情報を与える。フォーム部品290
は、メモリ空間266の中で、メインプログラム262
から与えられた項目に対応する項目オブジェクトを探し
出す。項目オブジェクトには、画面に表示すべきデータ
名称、データ長などに関する情報がすべて含まれている
ので、フォーム部品290は項目オブジェクトからこれ
ら情報を取得することにより、ブラウザ254、256
などに与えるべきHTMLソースを作成することができ
る。作成されたHTMLソースをブラウザ254、25
6などに送信することにより、図13に示される画面が
クライアントPCの上で動作するブラウザにより表示さ
れる。
【0106】表示される項目の名称、データ長、データ
形式などに関する情報は項目オブジェクトから取得され
るので、メインプログラム262中にはそれらの情報は
コーディングされていない。メインプログラム262の
一部の例を図17に示す。図17を参照して、メインプ
ログラム262のプログラム中では、まずパラメータ定
義行320でこの処理において使用するべき項目オブジ
ェクト名称のリストである定数「p_fields」を
定義しておき、後のロジック中のフォーム部品をコール
するCALL命令322において、この定数をパラメー
タとしてフォーム部品に渡している。つまり、業務に直
結した項目オブジェクトの指定は、パラメータ定義行3
20に見られるのみである。
【0107】この場合にメインプログラム262がフォ
ーム部品290に与えるパラメータを図17に示される
ように{userid,username,furig
ana,...}とすると、これらパラメータを他の項
目オブジェクトの名称のリストに変えるだけで、全く同
じメインプログラム262のロジックとと同じフォーム
部品290とを用いて、全く別の画面の表示を実現する
ことができる。
【0108】図18に、フォーム部品を構成するプログ
ラムのロジックをフローチャート形式で示す。与えられ
たパラメータのうち、最初から順番に1パラメータずつ
以下の処理を行なう。すなわち、当該パラメータについ
て、そのパラメータで指定される項目オブジェクトを参
照し、項目名称、データ長などの情報からその項目を入
力するためのフォーム部品に相当するHTMLソースを
作成する(330)。
【0109】続いて全てのパラメータを処理したか否か
を判定し(332)、全てのパラメータを処理するまで
ステップ330、332の処理を繰返す。
【0110】全てのパラメータを処理したと判定された
場合、これまでの処理で作成されたHTMLソースをブ
ラウザ254などに対して出力し、処理を終了する。
【0111】このようにメインプログラムのロジック中
には項目特有の情報がコーディングされていない。その
結果、メインプログラムを種々の処理において共通に再
利用することが可能となった。またフォーム部品290
自体も項目特有の情報と分離されているので、フォーム
部品290についても種々の処理において共通に再利用
することが可能となった。
【0112】このように、本発明によれば、項目オブジ
ェクトを用いることによりプログラムからユーザインタ
フェースを分離し、部品化することに成功した。さら
に、項目オブジェクト中に当該項目のエラーチェック、
DB更新のためのロジックをメソッドとして実装してお
くことで、業務に直結するプログラム部分を部品化する
ことが可能となった。
【0113】なお、項目オブジェクトを実装すること
で、WWWサーバ250の応答速度が低下する懸念があ
ったので、一度使用した項目オブジェクト(のインスタ
ンス)はメモリー中に常駐するようにし、次のリクエス
トの処理においても再利用することとした。その結果、
項目オブジェクトを利用することによる応答時間の悪化
はほとんど見られないか、十分許容範囲内に収まること
が確認された。
【0114】[フレームワークの構築]図19に基本フ
レームワークの構造を模式的に示す。図19を参照し
て、基本フレームワーク340は、セッション変数取得
部342、権限チェック部344、DBコネクション取
得部346、メイン処理部348、DBコネクション返
却部350およびセッション変数保存部352からな
る。これらのうち、セッション変数取得部342、権限
チェック部344およびセッション変数保存部352は
図15に示したセッション変数取得部300、セッショ
ン変数の保存部312などに対応する。DBコネクショ
ン取得部346およびDBコネクション返却部350は
図示しないデータベースの参照、更新に先立ってDBと
のコネクションを確立し、処理後にはコネクションをコ
ネクションプールに返却するためのものである。なお、
本実施の形態では、DBとのコネクション時間の短縮化
を図るために、予め複数個のDBコネクションを確立し
ておき、リクエストに応じてこれらコネクションをそれ
ら要求に割り当て、処理が終了するとコネクションをプ
ールに返却する構成をとっている。
【0115】基本フレームワーク340では、メイン処
理部348以外の部分については予め実装してあるが、
メイン処理部348の内容については何も実装されてい
ない。開発するプログラム部分360は、メイン処理部
348に対する差分プログラミングにより実装する。そ
のためプログラマーとしてはセッション管理、コネクシ
ョン管理の部分について特に意識する必要はない。
【0116】開発するプログラム部分360は、フォー
ム変数取得部362、SQL組立部364、SQL実行
部366、データ加工部368およびHTML出力部3
70を含む。これらはそれぞれ、図15に示すForm
/URL変数取得部302、SQL組立部304、SQ
L実行部306、データ加工部308およびHTML出
力部310に相当する。これらの部分についてはいくつ
かの部品が予め用意されており、プログラマーはその中
から必要な部品を選択して使用することができる。その
結果、メイン処理のコーディング量を大幅に削減するこ
とができる。
【0117】[項目オブジェクトの管理]既に述べたよ
うに、項目オブジェクトはデータベースの項目自体をオ
ブジェクトクラスとして定義し、アプリケーション実行
時にインスタンス生成してメモリに常駐するよう構成さ
れている。このとき、多数のリクエストに対して個別に
項目オブジェクトのインスタンスを生成していたので
は、メモリが浪費されることになるので、本実施の形態
のシステムでは、項目オブジェクト管理用のクラスを設
け、このクラスのインスタンスであるオブジェクトによ
ってデータベースの各項目について一つの項目オブジェ
クトのインスタンスのみを生成し、複数のアプリケーシ
ョンでこのインスタンスを共通に利用することとしてい
る。
【0118】図20にこの概念を示す。図20を参照し
て、アプリケーションプログラム382、384など
は、項目オブジェクト(たとえば項目オブジェクト38
6)を利用したいときには、項目オブジェクト管理のた
めのオブジェクト380に対して項目オブジェクト38
6の要求を出す。項目オブジェクト管理のためのオブジ
ェクト380はこの要求に応答して、項目オブジェクト
386がメモリ上にあるか否かを調べ、ある場合には項
目オブジェクト386を要求を出したアプリケーション
に対して返す。項目オブジェクト386を受けたアプリ
ケーション(たとえばアプリケーションプログラム38
2)は、こうして受取った項目オブジェクト386を用
いて前述したような処理を実行する。項目オブジェクト
の要求を受取ったときに、該当する項目オブジェクトが
メモリ上に存在していないときには、項目オブジェクト
管理のためのオブジェクト380は当該オブジェクトを
生成してからその項目オブジェクトをアプリケーション
に対して返す。
【0119】なおここで「項目オブジェクトを返す。」
という処理は、C++などでは当該オブジェクトのメモ
リ上のポインタをアプリケーションに戻り値として返
す、ということである。Javaの場合にはポインタが
隠ぺいされているため、こうした処理は単に「オブジェ
クトを返す」と呼ばれる。
【0120】図21を参照して、項目オブジェクト管理
のためのオブジェクト380が実行する処理について説
明する。項目オブジェクト管理のためのオブジェクト3
80は、アプリケーションから項目オブジェクトに関す
る要求があるか否かを判定し(400)、要求があるま
で待機する。実際の実装形式としては、以下の処理は項
目オブジェクト管理のためのオブジェクト380が備え
ている、項目オブジェクトをアプリケーションに返すた
めのメソッドとなっている。したがってアプリケーショ
ンは、自己が必要としている項目オブジェクト名をパラ
メータとして項目オブジェクト管理のためのオブジェク
ト380のこのメソッドを呼出すだけでよい。
【0121】さて、アプリケーションによって呼出され
ると(ステップ400においてYES)、要求された項
目オブジェクトがメモリ上にあるか否かが判定される
(402)。実際には、項目オブジェクト管理のための
オブジェクト380は生成済みの項目オブジェクトの管
理テーブルを維持しており、この管理テーブル内に当該
項目オブジェクト名が存在しているときにはメモリ上に
その項目オブジェクトがあり、テーブル内に項目オブジ
ェクト名が存在していないときにはその項目オブジェク
トはまだインスタンス生成されていないと判定する。
【0122】要求された項目オブジェクトがメモリ上に
ないと判定された場合、その要求された項目オブジェク
トのインスタンスを生成する(404)。そしてその項
目オブジェクトを管理テーブルに追加する(406)。
そして処理はステップ408に進む。一方ステップ40
2で、要求された項目オブジェクトが既にメモリ上に存
在していると判定された場合には直接ステップ408に
制御が進む。
【0123】ステップ408では、こうして生成された
項目オブジェクト、または管理テーブル上で見い出され
た項目オブジェクトを、この項目オブジェクトを要求し
たアプリケーションに対して返し、再び次の要求を待つ
処理(400)に戻る。
【0124】以上のような制御構造を有するメソッドに
よって、項目オブジェクト管理のためのオブジェクト3
80の機能が実装されている。
【0125】[部品化の効果]以上のように本実施の形
態のシステム開発環境では、フレームワーク、共通部
品、および項目オブジェクトを部品化し、再利用するこ
とが可能となった。図22(1)に示されるように、従
来の部品化の手法では、プログラム全体420のうち共
通部品424の部分の比率はかなり低く、アプリケーシ
ョンごとに個別に作成しなければならない個別プログラ
ム422の部分が相対的に大きな比重を示していた。そ
れに対し本発明によれば、部品よりも低い層の部分に項
目オブジェクト438を実装することにより、各部品か
らデータ項目に対応した情報およびメソッドを取り除
き、項目オブジェクトにまとめて定義することができる
ようになった。その結果、共通部品436の各部品がス
リムになり、しかも業務に固有のロジックを各部品で実
装する必要が少なくなったため、部品化の対象範囲が広
がった。
【0126】また、項目オブジェクト438の実装によ
り、アプリケーションプログラムにデータ名称やデータ
桁数を記述する必要がなくなった。その結果、アプリケ
ーションプログラムをデータと分離してより抽象化する
ことが可能となり、再利用のためのフレームワーク43
2を準備することが可能となった。その結果、個別にプ
ログラムしなければならない個別プログラム434の部
分の比重は相対的に小さくなった。
【0127】また、データ定義、データの操作のための
メソッドなどを項目オブジェクトにまとめたため、デー
タ名称、データの桁数、エラーチェック方法などを利用
者の要求に応じて変更する場合にも、項目オブジェクト
の中の変更で済むことになった。アプリケーションプロ
グラム本体の変更を行なう必要はないため、ユーザ要求
の変更に伴うプログラムの変更などによってバグが発生
するおそれが少なくなり、品質の向上を図ることが可能
となった。ユーザの業務にあわせてデータ名称の変更を
行なうことも項目オブジェクトの中で行えるため、カス
タマイズが容易になるという効果が得られた。
【0128】さらに、項目オブジェクトに複数種類の項
目名称を準備している。たとえば第1の項目名称は日本
語、第2の項目名称は英語、などとしておき、プログラ
ム実行時には、与えられたパラメータにしたがって特定
の項目名称を選択するようなロジックとしておく。する
と、プログラム自体のロジックは全く変更することな
く、実行時のパラメータを変えることだけにより、アプ
リケーションプログラムの言語を容易に切り替えること
ができる。エラーメッセージなど複数言語での処理が必
要な全ての部分について同様の機構を準備しておけば、
言語の切替は完全に行えることになる。
【0129】以上のように本実施の形態では、項目オブ
ジェクトという概念を導入し、項目オブジェクトを実装
することによりアプリケーションプログラムの構造を変
更し、その結果部品化の範囲を拡大することができた。
さらにその結果、フレームワークを準備することによ
り、さらに個別プログラムの量を少なくすることが可能
となった。
【0130】[再利用可能なプログラムの作成]フレー
ムワーク構築のポイントは、プログラムの再利用であ
る。しかし、オブジェクト指向言語の特徴である継承に
よる差分プログラミングにはある欠点がある。それは、
継承では元となるプログラムの一部を上書きする新しい
プログラムを追加するが、そのためには継承元のプログ
ラムの内部構造を全て理解しなければならないというこ
とである。さもないと、上書きした結果、プログラム全
体として動作がおかしくなる可能性がある。
【0131】また、継承元のプログラムが修正された場
合に、上書きしたプログラムが正常に動作するという保
証はない。たとえば上書きされたメソッドの名前が継承
元のプログラムにおいて変更された場合には、上書きし
たプログラムは正常には動作しなくなるであろう。
【0132】したがって、継承による差分プログラミン
グは保守性を考慮して適用していく必要がある。その結
果、差分プログラミングを、業務内容の改善にあわせて
随時メンテナンスしていく必要のなる業務プログラムへ
適用することは必ずしも容易ではない。特に、業務プロ
グラムが稼動するシステムではプログラム本数が数百〜
数千本となることもある。その場合、作業を行なうシス
テムエンジニアおよびプログラマーの数も多くなり、継
承による差分プログラミングを考慮しながらプログラム
の設計・製造を行なうことは、人材の確保の面でも、開
発納期を確保する面でも困難である。
【0133】そこで、この実施の形態のシステムではさ
らに、プログラミングの枠組みは第1の実施の形態で述
べたように項目オブジェクトによるものとした上で、さ
らにプログラムをモジュール化し、必要なモジュールを
自由に組み合わせることによってプログラムを開発・変
更する機構を採用した。
【0134】[モジュール化構成]図23に、このシス
テムにおける図13に示す画面の遷移に関する内部構造
の全体イメージを示す。図23を参照して、このシステ
ムでは、メインプログラム450から照会モジュール4
52、登録モジュール454、更新モジュール456お
よび削除モジュール458に遷移することができる。各
モジュールにはページ処理460、462、464、4
66などが1または複数個準備されており、メインプロ
グラム450からページ番号を指定して各モジュールを
呼出すことにより、当該モジュールの指定されたページ
が表示されるようになっている。
【0135】図24に、本実施の形態において上記した
ようなページ遷移を実現するためのシステムの内部構造
を示す。図24を参照して、このシステムは、メインプ
ログラム470と、照会モジュール472と、登録モジ
ュール474と、更新モジュール476と、削除モジュ
ール478と、メインプログラム470からパラメータ
を受取って、指定されたモジュールの指定されたページ
を表示するように各モジュールを制御するためのコント
ローラ480とを含む。コントローラ480もまたその
実体はコントローラクラスと呼ばれるクラスのインスタ
ンスである。
【0136】照会モジュール472〜削除モジュール4
78はいずれもメインプログラム470によって生成さ
れるが、コントローラ480もまたメインプログラム4
70によってインスタンス生成される。コントローラ4
80は、対応のメインプログラム470によって生成さ
れたモジュール472〜478が登録される管理テーブ
ルを管理しており、メインプログラム470からパラメ
ータを与えられると、以下に説明するような比較的単純
なアルゴリズムによって適切なモジュールの適切なペー
ジが表示されるような制御を行なう。
【0137】図25に照会モジュール472などの各モ
ジュールの基本構造を示す。こうしたモジュールもそれ
ぞれのクラスのインスタンスとしてプログラム実行時に
生成される。図25に示されるように、たとえば照会モ
ジュール472は、メニュー表示文字列、パラメータな
どを含む各種のプロパティ490と、これらプロパティ
を用いてメニューにメニュー表示文字列を追加するメソ
ッド、メインプログラム470から与えられるパラメー
タによって当該モジュール内に適切なページがあればそ
れを表示する処理を行なうページ制御をするメソッド、
第1のページ処理メソッド、第2のページ処理メソッド
などを含む1または複数のメソッド492等を含む。
【0138】全てのモジュールを通じて、ページ処理メ
ソッドに対応するページ番号は基本的にユニークであ
る。したがって、メインプログラム470があるページ
番号を指定してコントローラ480を起動すると、その
ページ番号に対応したページ処理メソッドが一意に定ま
り、実行される。ただし、後述するようにページ番号が
重なることも許容されるが、その場合にはそのうちの一
つ(最後にコントローラ480に登録されたもの)のみ
が実行される。そうした機構により、ページ処理の交換
が容易に行なえるという効果があるがその詳細について
以下に述べる。
【0139】図26にメインプログラム470の処理の
概略をフローチャート形式で示す。図26を参照して、
メインプログラム470は最初に自己の処理内で利用す
るモジュールのインスタンスを全て生成する(50
0)。次に、メインプログラム470はコントローラ4
80のインスタンスを生成する(502)。こうして生
成されたコントローラ480に予め実装されているモジ
ュール登録メソッドを呼出し、ステップ500でインス
タンス生成した全てのモジュールについてコントローラ
480に登録する。このときコントローラ480は、モ
ジュールの登録順に関する情報を保存している。
【0140】続いて、クライアントPC上で実行されて
いるブラウザからの要求を待ち(506)、要求があれ
ばその要求に対応した処理を行なうページ番号を指定し
て、コントローラ480のモジュール実行メソッドを呼
ぶ。その結果をブラウザに送信した後、制御はステップ
506に戻る。
【0141】図27にコントローラ480は、自己のメ
ソッドの呼出があると、どの呼出があったかを判断し
(520)、その結果にしたがって実行メソッド52
2、登録メソッド524などを実行する。登録メソッド
では、メインプログラム470が生成したモジュールの
インスタンスを特定する情報を管理テーブル内に登録す
る。このとき、前述したとおり登録順に関する情報も保
持される。
【0142】図28に実行メソッド522の詳細を示
す。まず、最初に画面上に表示されるメニューを作成す
る処理を行なう(530)。この処理については図29
を参照して後述する。
【0143】続いて、図27に示した登録メソッドで管
理テーブルに新しく登録された順番で各モジュールを順
に呼出していく。このとき、各モジュールにはパラメー
タとしてページ番号を与える。後述するように各モジュ
ールは、与えられたページ番号と一致するページ処理メ
ソッドがあればそれを実行して「処理済み」という結果
を返し、与えられたページ番号と一致するページ処理メ
ソッドがなければ何もせず「未処理」という結果を返
す。コントローラ480は、ステップ532の処理の結
果、モジュールから「処理済み」という結果が戻って来
たか否かを判定し、「未処理」という結果が戻ってきた
ら次のモジュールに対してステップ532の処理を繰返
す。「処理済み」の結果が戻ってきたら実行メソッドは
終了である。
【0144】図29に図28のステップ530の内容を
示す。図29を参照して、コントローラ480はまず、
空のメニュータグ(ストリング)を作成し、登録テーブ
ルの先頭のモジュールに渡す(550)。各モジュール
はメニュータグを受けると、自己が持つメニュー表示文
字列のこのメニュータグに追加してコントローラ480
に返す。コントローラ480は、モジュールからメニュ
ータグを受取り(552)、全てのモジュールに対して
この処理を行なったか否かを判定する(554)。全て
のモジュールに対して処理が完了していないときは、コ
ントローラ480は次のモジュールにメニュータグを渡
し(556)、以下ステップ552〜554の処理を繰
返す。
【0145】全てのモジュールに対してメニュータグを
渡し、受取る処理が終了したら、その結果得られたメニ
ュータグをブラウザに渡す処理を行なう(558)。こ
の処理により、ブラウザ画面上には、各モジュールが持
っているメニュー表示文字列が並んでメニュー形式で表
示されることになる。
【0146】さて、図28のステップ532でコントロ
ーラ480によって呼出された各モジュールは以下のよ
うなページ実行メソッドを実行する。図30を参照し
て、まず当該モジュールは、パラメータとしてコントロ
ーラ480から与えられたページ番号に該当するページ
が自モジュール内にあるか否かを判定する(570)。
ある場合にはそのページを実行し(572)、「処理済
み」の結果を返す。ない場合には何もせず「未処理」の
結果を返す。
【0147】以上のように、テーブルに新しく登録され
たモジュールから順番に遡ってモジュールを呼出してい
く。その結果、同じページ番号のページ処理メソッドを
持つモジュールが複数存在する場合、新しく登録された
モジュールのページ処理メソッドのみが実行され、古い
モジュールのページ処理メソッドは実行されない。こう
して、特定のページ処理を新しいものと置き換えること
ができる。この関係を図31に示す。
【0148】図31を参照して、図24に示されるシス
テムに新照会モジュール580が追加して登録されたも
のとする。このモジュール580は照会モジュール47
2より新しく登録されたので、照会モジュール472よ
りも先にコントローラ480によって呼出される。また
図31に示されるように、新照会モジュール580は、
ページ制御メソッドの他にページ番号(11)に相当す
るページ処理メソッド582を持ち、このページ番号が
照会モジュール472が有するページ処理メソッドのう
ちの一つのページ番号と一致するものとする。すると、
ページ番号11を呼出す場合、最初に新照会モジュール
580のページ処理メソッド582が呼出される。その
結果新照会モジュール580からコントローラ480に
対して「処理済み」の結果が返される。照会モジュール
472のページ処理(11)のメソッドが呼出されるこ
とはない。
【0149】この構成では、照会モジュール472のペ
ージ処理(11)のメソッドを変更しても、新照会モジ
ュール580のページ処理メソッド582は全く影響を
受けない。したがってモジュール間、ページ処理メソッ
ド間を独立したものとすることができ、保守性の高い業
務プログラムを差分プログラムによって効率良くカスタ
マイズすることができるようになる。
【0150】以上のようなモジュール構成でプログラム
を開発することにより、以下のような効果を得ることが
できる。
【0151】(1) モジュールが処理単位で独立して
いるため、作成が容易であり、メンテナンスも容易にな
る。
【0152】(2) 必要な機能のモジュールを自由に
組み合わせて使うことができる。 (3) モジュールの入れ替え・追加が容易に行えるた
め、プログラムのカスタマイズが容易である。
【0153】以上、本願発明を実施の形態に基づいて説
明してきたが、本願発明はこれら実施の形態のシステム
に限定されるわけではない。本願発明の権利範囲は、特
許請求の範囲の各請求項の記載によって定められるべき
である。本願明細書に開示された実施の形態の各構成要
素と均等の構成要素を用いたものも本願発明の権利範囲
に含まれる。
【図面の簡単な説明】
【図1】 本願発明に係るプログラム開発システムを実
現するためのコンピュータの外観図である。
【図2】 本願発明に係るプログラム開発システムを実
現するためのコンピュータのブロック図である。
【図3】 本発明の一実施の形態におけるアプリケーシ
ョンプログラム作成手順を示すフローチャートである。
【図4】 項目オブジェクトの概念を説明するための模
式図である。
【図5】 項目オブジェクトをDB定義情報から抽出す
るツールのブロック図である。
【図6】 DB定義ファイルの例を示す図である。
【図7】 項目オブジェクトのデータ定義ファイルの例
を示す図である。
【図8】 DB定義ファイルから項目オブジェクトのデ
ータ定義ファイルを作成する処理のフローチャートであ
る。
【図9】 項目オブジェクトのデータ定義ファイルをイ
ンタラクティブに修正する際の画面を示す図である。
【図10】 項目オブジェクトのデータ定義ファイルを
インタラクティブに修正する際の画面を示す図である。
【図11】 項目オブジェクトのデータ定義ファイルを
インタラクティブに修正する際の画面を示す図である。
【図12】 項目オブジェクトのデータ定義ファイルを
インタラクティブに修正する際の画面を示す図である。
【図13】 業務アプリケーションの画面の一例を示す
図である。
【図14】 本発明の一実施の形態において、項目オブ
ジェクトを使用したアプリケーションサーバの概念を説
明するための図である。
【図15】 アプリケーションサーバの実装すべき機能
を説明するための図である。
【図16】 本発明の一実施の形態にしたがって、項目
オブジェクトを利用したアプリケーションが動作する際
の、オブジェクトおよびアプリケーション間の関連を示
す図である。
【図17】 メインプログラムのコーディング例の一部
を示す図である。
【図18】 フォーム部品を実現する処理のフローチャ
ートである。
【図19】 フレームワークと開発するプログラム部分
との関係を示す図である。
【図20】 項目オブジェクト管理オブジェクトによる
項目オブジェクトの管理方法を説明するための図であ
る。
【図21】 項目オブジェクト管理のための処理のフロ
ーチャートである。
【図22】 本発明の一実施の形態によるフレームワー
ク構築の効果を説明するための図である。
【図23】 本発明の一実施の形態によるモジュール制
御の概念を示す図である。
【図24】 本発明の一実施の形態によるモジュール制
御のための、オブジェクトおよびアプリケーション間の
関連を示す図である。
【図25】 モジュールの構成を概念的に示す図であ
る。
【図26】 モジュール処理を取入れたメインプログラ
ムの概略フローチャートである。
【図27】 コントローラオブジェクトの動作を説明す
るためのフローチャートである。
【図28】 コントローラオブジェクトの実行メソッド
の制御構造を示すフローチャートである。
【図29】 コントローラオブジェクトによるメニュー
作成処理のフローチャートである。
【図30】 各モジュールに実装されているページ実行
メソッドのフローチャートである。
【図31】 ページの入れ替えを行なう際のオブジェク
トおよびアプリケーション間の関連を示す図である。
【図32】 従来のイントラネットワークによって構築
したシステムの構成例を示すブロック図である。
【符号の説明】
150,280,282 項目オブジェクト、162
DB作成ツール、254,256 ブラウザ、260
Javaサーブレットエンジン、290 フォーム部
品、470 メインプログラム、472 照会モジュー
ル、474 登録モジュール、476 更新モジュー
ル、478 削除モジュール、580 新照会モジュー
ル。
───────────────────────────────────────────────────── フロントページの続き (54)【発明の名称】 アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、 モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジ ュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 データベースの項目ごとに、当該項目の
    入力のために必要な情報を保持した項目オブジェクトを
    準備するステップと、 実行時に前記項目オブジェクトの前記情報を参照して、
    前記データベースにアクセスするための画面情報を生成
    し出力するとともに、当該画面情報を用いた画面表示を
    介して入力されたデータに基づいて前記データベースを
    アクセスするアプリケーションプログラムを作成するス
    テップとを含む、アプリケーションプログラムの作成方
    法。
  2. 【請求項2】 前記項目オブジェクトを準備するステッ
    プは、前記データベースの定義情報から、データベース
    の項目ごとに、当該項目の入力のために必要な情報を抽
    出して項目オブジェクトの原形を作成するステップを含
    む、請求項1に記載のアプリケーションプログラムの作
    成方法。
  3. 【請求項3】 前記項目オブジェクトを準備するステッ
    プはさらに、前記項目オブジェクトの原形をインタラク
    ティブに修正するステップを含む、請求項2に記載のア
    プリケーションプログラムの作成方法。
  4. 【請求項4】 前記アプリケーションプログラムを作成
    するステップは、 予め前記データベースの項目内容とは独立に定義され
    た、アプリケーション実行のための基本的フレームワー
    クの中から、前記アプリケーションプログラムの作成に
    適したものを選択するステップと、 前記選択された基本的フレームワークの中で、アプリケ
    ーション特有の処理を行なうべき主要部分を、前記デー
    タベースにアクセスするための画面情報を前記項目オブ
    ジェクトを実行時に参照して生成し出力するとともに、
    当該画面情報を用いた画面表示を介して入力されたデー
    タに基づいて前記データベースをアクセス可能なように
    作成するステップを含む、請求項1に記載のアプリケー
    ションプログラムの作成方法。
  5. 【請求項5】 データベースの項目ごとに、当該項目の
    入力のために必要な情報を保持した項目オブジェクトを
    利用してデータベースをコンピュータを介して操作する
    データベース操作方法であって、 前記データベースの項目ごとに、対応の項目オブジェク
    トを参照して、当該項目の入力に必要なフォーム部品項
    目を準備するステップと、 前記フォーム部品項目を配置したフォーム部品を実現す
    るための所定の書式にしたがったソースファイルを生成
    し他のアプリケーションに渡すステップと、 前記他のアプリケーションから前記フォーム部品を用い
    て入力されたデータを受取るステップと、 前記入力されたデータに基づいて、前記データベースを
    アクセスするステップとを含む、データベース操作方
    法。
  6. 【請求項6】 前記項目オブジェクトは、対応の項目の
    項目名称と、データ型と、入力桁数とを特定する情報を
    含み、 前記フォーム部品項目を準備するステップは、前記デー
    タベースの項目ごとに、対応の項目オブジェクトを参照
    して、当該項目の名称を表示する名称表示部品と、当該
    項目の入力に必要な入力フィールド部品とを前記フォー
    ム部品項目として準備するステップを含む、請求項5に
    記載のデータベース操作方法。
  7. 【請求項7】 前記項目オブジェクトは、対応の項目の
    複数個の前記項目名称を特定する情報を含み、 前記フォーム部品項目として準備するステップは、前記
    データベースの項目ごとに、対応の項目オブジェクトを
    参照して、当該項目の前記複数個の項目名称のうち、外
    部から与えられるパラメータによって定められるものを
    表示する名称表示部品と、当該項目の入力に必要な入力
    フィールド部品とを前記フォーム部品項目として準備す
    るステップを含む、請求項6に記載のデータベース操作
    方法。
  8. 【請求項8】 さらに、前記データベースをアクセスす
    るステップでのアクセス結果を表示するための、前記所
    定の書式にしたがったソースファイルを生成して前記他
    のアプリケーションに渡すステップを含む、請求項5に
    記載のデータベース操作方法。
  9. 【請求項9】 データベースの項目ごとに、当該項目の
    入力のために必要な情報を保持した項目オブジェクトを
    実行時に参照してデータベース操作を行なうアプリケー
    ションプログラムの実行時に、メモリ上に生成される項
    目オブジェクトのインスタンスを管理するための項目オ
    ブジェクト管理方法であって、 アプリケーションからの項目オブジェクトの要求に応答
    して、要求された項目オブジェクトのインスタンスがメ
    モリ上に存在しているか否かを判定するステップと、 前記要求された項目オブジェクトのインスタンスがメモ
    リ上に存在していないと判定された場合には前記要求さ
    れた項目オブジェクトのインスタンスを前記メモリ上に
    生成し、生成されたインスタンスを前記アプリケーショ
    ンに返すステップと、 前記要求された項目オブジェクトのインスタンスがメモ
    リ上に存在していると判定された場合には、当該メモリ
    上に存在している前記要求されたオブジェクトの前記イ
    ンスタンスを前記アプリケーションに返すステップとを
    含む、項目オブジェクト管理方法。
  10. 【請求項10】 各々が1または複数個のページ処理メ
    ソッドと、与えられるページ指定パラメータにしたがっ
    て、前記1または複数個のページ処理メソッドのうちい
    ずれかを実行して処理済みを示す処理結果を返すか、前
    記1または複数個のページ処理メソッドのいずれも実行
    せず未処理を示す処理結果を返すかのいずれかを選択的
    に行なうページ制御メソッドを実装した1または複数個
    のプログラムモジュールによる動作を制御するためのモ
    ジュール動作制御方法であって、 前記1または複数個のプログラムモジュールを、登録順
    を保存して管理テーブルに登録するステップと、 プログラムモジュールから受取る処理結果が処理済みを
    示すものとなるまで、前記ページ番号を、前記管理テー
    ブルによって定められる新しく登録されたものから順に
    与え、処理結果を受取るステップとを含む、モジュール
    動作制御方法。
  11. 【請求項11】 データベースの項目ごとに、当該項目
    の入力のために必要な情報を保持した項目オブジェクト
    を利用してデータベースをコンピュータを介して操作す
    るデータベース操作方法を実現するためのプログラムを
    記録したコンピュータ可読な記録媒体であって、 前記データベース操作方法は、 前記データベースの項目ごとに、対応の項目オブジェク
    トを参照して、当該項目の入力に必要なフォーム部品項
    目を準備するステップと、 前記フォーム部品項目を配置したフォーム部品を実現す
    るための所定の書式にしたがったソースファイルを生成
    し他のアプリケーションに渡すステップと、 前記他のアプリケーションから前記フォーム部品を用い
    て入力されたデータを受取るステップと、 前記入力されたデータに基づいて、前記データベースを
    アクセスするステップとを含む、コンピュータ可読な記
    録媒体。
  12. 【請求項12】 前記項目オブジェクトは、対応の項目
    の項目名称と、データ型と、入力桁数とを特定する情報
    を含み、 前記フォーム部品項目を準備するステップは、前記デー
    タベースの項目ごとに、対応の項目オブジェクトを参照
    して、当該項目の名称を表示する名称表示部品と、当該
    項目の入力に必要な入力フィールド部品とを前記フォー
    ム部品項目として準備するステップを含む、請求項11
    に記載のコンピュータ可読な記録媒体。
  13. 【請求項13】 前記項目オブジェクトは、対応の項目
    の複数個の前記項目名称を特定する情報を含み、 前記フォーム部品項目として準備するステップは、前記
    データベースの項目ごとに、対応の項目オブジェクトを
    参照して、当該項目の前記複数個の項目名称のうち、外
    部から与えられるパラメータによって定められるものを
    表示する名称表示部品と、当該項目の入力に必要な入力
    フィールド部品とを前記フォーム部品項目として準備す
    るステップを含む、請求項12に記載のコンピュータ可
    読な記録媒体。
  14. 【請求項14】 前記データベース操作方法はさらに、
    前記データベースをアクセスするステップでのアクセス
    結果を表示するための、前記所定の書式にしたがったソ
    ースファイルを生成して前記他のアプリケーションに渡
    すステップを含む、請求項11に記載のデータベース操
    作方法。
  15. 【請求項15】 データベースの項目ごとに、当該項目
    の入力のために必要な情報を保持した項目オブジェクト
    を実行時に参照してデータベース操作を行なうアプリケ
    ーションプログラムの実行時に、メモリ上に生成される
    項目オブジェクトのインスタンスを管理するための項目
    オブジェクト管理方法を実現するプログラムを記憶した
    コンピュータ可読な記録媒体であって、 前記項目オブジェクト管理方法は、 アプリケーションからの項目オブジェクトの要求に応答
    して、要求された項目オブジェクトのインスタンスがメ
    モリ上に存在しているか否かを判定するステップと、 前記要求された項目オブジェクトのインスタンスがメモ
    リ上に存在していないと判定された場合には前記要求さ
    れた項目オブジェクトのインスタンスを前記メモリ上に
    生成し、生成されたインスタンスを前記アプリケーショ
    ンに返すステップと、 前記要求された項目オブジェクトのインスタンスがメモ
    リ上に存在していると判定された場合には、当該メモリ
    上に存在している前記要求されたオブジェクトの前記イ
    ンスタンスを前記アプリケーションに返すステップとを
    含む、コンピュータ可読な記録媒体。
  16. 【請求項16】 各々が1または複数個のページ処理メ
    ソッドと、与えられるページ指定パラメータにしたがっ
    て、前記1または複数個のページ処理メソッドのうちい
    ずれかを実行して処理済みを示す処理結果を返すか、前
    記1または複数個のページ処理メソッドのいずれも実行
    せず未処理を示す処理結果を返すかのいずれかを選択的
    に行なうページ制御メソッドを実装した1または複数個
    のプログラムモジュールによる動作を制御するためのモ
    ジュール動作制御方法を実現するプログラムを記録した
    コンピュータ可読な記録媒体であって、 前記モジュール動作制御方法は、 前記1または複数個のプログラムモジュールを、登録順
    を保存して管理テーブルに登録するステップと、 プログラムモジュールから受取る処理結果が処理済みを
    示すものとなるまで、前記ページ番号を、前記管理テー
    ブルによって定められる新しく登録されたものから順に
    与え、処理結果を受取るステップとを含む、コンピュー
    タ可読な記録媒体。
JP2000143123A 2000-05-16 2000-05-16 アプリケーションサーバシステム Expired - Lifetime JP4136271B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000143123A JP4136271B2 (ja) 2000-05-16 2000-05-16 アプリケーションサーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000143123A JP4136271B2 (ja) 2000-05-16 2000-05-16 アプリケーションサーバシステム

Publications (2)

Publication Number Publication Date
JP2001325098A true JP2001325098A (ja) 2001-11-22
JP4136271B2 JP4136271B2 (ja) 2008-08-20

Family

ID=18649986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000143123A Expired - Lifetime JP4136271B2 (ja) 2000-05-16 2000-05-16 アプリケーションサーバシステム

Country Status (1)

Country Link
JP (1) JP4136271B2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141416A (ja) * 2003-11-05 2005-06-02 Nomura Research Institute Ltd チェックコード生成システム、生成プログラム、生成方法、及びチェックコード生成機能を有する入力チェックシステム、入力チェック方法
JP2005242516A (ja) * 2004-02-25 2005-09-08 Nomura Research Institute Ltd データ統合管理システム及びデータ統合管理プログラム
JP2005327276A (ja) * 2004-05-11 2005-11-24 Microsoft Corp 効率的なパッチ当て
US7222118B2 (en) 2002-04-15 2007-05-22 Sumitomo Electric Industries, Ltd. Computer program product for accessing database, recording medium recording database access program therein, and database access method
US7849413B2 (en) 2006-07-27 2010-12-07 Canon Kabushiki Kaisha Information processing apparatus and user interface control method
JP5144816B2 (ja) * 2011-03-02 2013-02-13 三菱電機株式会社 プログラマブル表示器、及び作画データの作成方法
JP2013511086A (ja) * 2009-11-12 2013-03-28 マイクロソフト コーポレーション ウェブサービスインターフェイス及びクエリ検索
JP2013182337A (ja) * 2012-02-29 2013-09-12 Kyocera Document Solutions Inc 機器情報提供システム、電子機器および機器情報提供プログラム
JP2013235388A (ja) * 2012-05-08 2013-11-21 Nomura Research Institute Ltd アプリケーション開発支援システムおよびアプリケーション開発支援プログラム
WO2015029193A1 (ja) * 2013-08-29 2015-03-05 株式会社野村総合研究所 Webサーバシステム、アプリケーション開発支援システム、Webサーバシステムにおける多言語対応方法、Webサーバシステムにおけるマルチデバイス対応方法、およびアプリケーション開発支援方法
JP2019510309A (ja) * 2016-03-02 2019-04-11 アリババ グループ ホウルディング リミテッド ハイブリッドアプリケーションにおいてListCellを再利用する方法及び装置
JP2021026488A (ja) * 2019-08-05 2021-02-22 三菱電機株式会社 画面開発支援装置、画面開発支援方法及び画面開発支援プログラム
CN112947990A (zh) * 2021-03-23 2021-06-11 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质
CN114327372A (zh) * 2020-09-29 2022-04-12 腾讯科技(深圳)有限公司 一种质量需求配置方法、装置、设备和介质

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222118B2 (en) 2002-04-15 2007-05-22 Sumitomo Electric Industries, Ltd. Computer program product for accessing database, recording medium recording database access program therein, and database access method
JP2005141416A (ja) * 2003-11-05 2005-06-02 Nomura Research Institute Ltd チェックコード生成システム、生成プログラム、生成方法、及びチェックコード生成機能を有する入力チェックシステム、入力チェック方法
JP4643900B2 (ja) * 2003-11-05 2011-03-02 株式会社野村総合研究所 チェックコード生成機能を有する入力チェックシステム
JP4495782B2 (ja) * 2004-02-25 2010-07-07 株式会社野村総合研究所 データ統合管理システム及びデータ統合管理プログラム
JP2005242516A (ja) * 2004-02-25 2005-09-08 Nomura Research Institute Ltd データ統合管理システム及びデータ統合管理プログラム
JP2005327276A (ja) * 2004-05-11 2005-11-24 Microsoft Corp 効率的なパッチ当て
US8539469B2 (en) 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US9092301B2 (en) 2004-05-11 2015-07-28 Microsoft Technology Licensing, Llc Efficient patching
US7849413B2 (en) 2006-07-27 2010-12-07 Canon Kabushiki Kaisha Information processing apparatus and user interface control method
US9740733B2 (en) 2009-11-12 2017-08-22 Microsoft Technology Licensing, Llc Web service interface and querying
JP2013511086A (ja) * 2009-11-12 2013-03-28 マイクロソフト コーポレーション ウェブサービスインターフェイス及びクエリ検索
US10423612B2 (en) 2009-11-12 2019-09-24 Microsoft Technology Licensing, Llc Web service interface and querying
US9471690B2 (en) 2009-11-12 2016-10-18 Microsoft Technology Licensing, Llc Web service interface and querying
JP5144816B2 (ja) * 2011-03-02 2013-02-13 三菱電機株式会社 プログラマブル表示器、及び作画データの作成方法
JP2013182337A (ja) * 2012-02-29 2013-09-12 Kyocera Document Solutions Inc 機器情報提供システム、電子機器および機器情報提供プログラム
JP2013235388A (ja) * 2012-05-08 2013-11-21 Nomura Research Institute Ltd アプリケーション開発支援システムおよびアプリケーション開発支援プログラム
WO2015029193A1 (ja) * 2013-08-29 2015-03-05 株式会社野村総合研究所 Webサーバシステム、アプリケーション開発支援システム、Webサーバシステムにおける多言語対応方法、Webサーバシステムにおけるマルチデバイス対応方法、およびアプリケーション開発支援方法
US9952836B2 (en) 2013-08-29 2018-04-24 Nomura Research Institute, Ltd. Web server system, application development support system, multilingual support method in web server system, multi-device support method in web server system, and application development support method
CN105518633B (zh) * 2013-08-29 2018-10-19 株式会社野村综合研究所 Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法
CN105518633A (zh) * 2013-08-29 2016-04-20 株式会社野村综合研究所 Web服务器系统、应用开发辅助系统、Web服务器系统中的多语言支持方法、Web服务器系统中的多设备支持方法以及应用开发辅助方法
JP2019510309A (ja) * 2016-03-02 2019-04-11 アリババ グループ ホウルディング リミテッド ハイブリッドアプリケーションにおいてListCellを再利用する方法及び装置
JP2021026488A (ja) * 2019-08-05 2021-02-22 三菱電機株式会社 画面開発支援装置、画面開発支援方法及び画面開発支援プログラム
CN114327372A (zh) * 2020-09-29 2022-04-12 腾讯科技(深圳)有限公司 一种质量需求配置方法、装置、设备和介质
CN112947990A (zh) * 2021-03-23 2021-06-11 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质
CN112947990B (zh) * 2021-03-23 2023-04-07 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质

Also Published As

Publication number Publication date
JP4136271B2 (ja) 2008-08-20

Similar Documents

Publication Publication Date Title
US7191429B2 (en) System and method for managing architectural layers within a software model
US20070079282A1 (en) Browser based designer and player
US8375351B2 (en) Extensible rapid application development for disparate data sources
US7165073B2 (en) Dynamic, hierarchical data exchange system
US6678867B2 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US6268852B1 (en) System and method for facilitating generation and editing of event handlers
US6085196A (en) Object-oriented system and computer program product for mapping structured information to different structured information
US20060015839A1 (en) Development of software systems
US6009436A (en) Method and apparatus for mapping structured information to different structured information
US20040111428A1 (en) Toolset for applying object-oriented models to multi-tiered enterprise applications
US7007266B1 (en) Method and software system for modularizing software components for business transaction applications
US9684640B2 (en) Methods and apparatus for processing markup language documents
US20070094306A1 (en) Method and model for enterprise system development and execution
US20090125892A1 (en) Computer Software Development System and Method
US20050257210A1 (en) Upgrading pattern configurations
US5933634A (en) Mock-up method and mock-up control system for displaying pseudo operation
JP4136271B2 (ja) アプリケーションサーバシステム
US20040012630A1 (en) Process for automatically creating and controlling a set of graphical objects in a client-server environment
CN109344165A (zh) 一种查询方法及存储设备
US20070094289A1 (en) Dynamic, hierarchical data exchange system
JP2002366352A (ja) Webアプリケーション開発支援装置
JP2004265278A (ja) プログラム自動生成装置
CN113626016A (zh) 一种基于Vue+Element UI+Koa2的前后端分离的可重用组件
EP0926607A2 (en) Object-oriented system for mapping structered information to different structured information
JP2003308332A (ja) データベースアクセスプログラム、そのプログラムを記録したコンピュータ読取可能な記録媒体およびデータベース操作方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050901

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050914

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080326

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4136271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

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

EXPY Cancellation because of completion of term