JP2003036171A - プログラム実行方法及びプログラム実行装置 - Google Patents
プログラム実行方法及びプログラム実行装置Info
- Publication number
- JP2003036171A JP2003036171A JP2001222579A JP2001222579A JP2003036171A JP 2003036171 A JP2003036171 A JP 2003036171A JP 2001222579 A JP2001222579 A JP 2001222579A JP 2001222579 A JP2001222579 A JP 2001222579A JP 2003036171 A JP2003036171 A JP 2003036171A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- program
- execution
- definition file
- executing
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 オブジェクトの属性やメソドの変更を容易に
する。 【解決手段】 標準処理プログラム210を予め用意
し、オブジェクトの属性及びメソドを定義する属性定義
ファイル22を作成し、属性定義ファイル22に記述さ
れた属性及びメソドの定義に基づいて、標準処理プログ
ラム210により該当オブジェクトに属性とメソドとを
実装させてオブジェクトを実行させる。オブジェクトの
実行に際して、属性定義ファイル22に標準形式と異な
る特殊形式の定義が存在する場合、特殊処理プログラム
211により該当オブジェクトに属性とメソドとを実装
させてオブジェクトを実行させる。
する。 【解決手段】 標準処理プログラム210を予め用意
し、オブジェクトの属性及びメソドを定義する属性定義
ファイル22を作成し、属性定義ファイル22に記述さ
れた属性及びメソドの定義に基づいて、標準処理プログ
ラム210により該当オブジェクトに属性とメソドとを
実装させてオブジェクトを実行させる。オブジェクトの
実行に際して、属性定義ファイル22に標準形式と異な
る特殊形式の定義が存在する場合、特殊処理プログラム
211により該当オブジェクトに属性とメソドとを実装
させてオブジェクトを実行させる。
Description
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
技術に係り、特にオブジェクト指向の技術仕様に則った
オブジェクトを実行するプログラム実行方法及びプログ
ラム実行装置に関するものである。
技術に係り、特にオブジェクト指向の技術仕様に則った
オブジェクトを実行するプログラム実行方法及びプログ
ラム実行装置に関するものである。
【0002】
【従来の技術】従来より、クライアント装置上で動作
し、ユーザからデータベースに対する様々な操作の窓口
となるアプリケーション(ユーザインタフェース層)
と、ロジック処理サーバ装置上で動作し、ユーザインタ
フェース層から指定された操作をデータベースに対して
施すプログラム(ロジック層)と、データベースサーバ
装置に実装されたデータベース(データベース層)の3
階層から構成される3階層システムアーキテクチャにお
いては、ロジック層がCOM(Component Object Mode
l)を基盤としたオブジェクトにより実装されている。
COMは、米国マイクロソフト社が提唱する分散オブジ
ェクト技術である。
し、ユーザからデータベースに対する様々な操作の窓口
となるアプリケーション(ユーザインタフェース層)
と、ロジック処理サーバ装置上で動作し、ユーザインタ
フェース層から指定された操作をデータベースに対して
施すプログラム(ロジック層)と、データベースサーバ
装置に実装されたデータベース(データベース層)の3
階層から構成される3階層システムアーキテクチャにお
いては、ロジック層がCOM(Component Object Mode
l)を基盤としたオブジェクトにより実装されている。
COMは、米国マイクロソフト社が提唱する分散オブジ
ェクト技術である。
【0003】このCOMの技術を利用すれば、一定の機
能を実現するアプリケーションプログラムは、部品化さ
れたオブジェクトプログラムを組み合わせて構成すれば
よいから、開発が容易になるという利点がある。ところ
で、このようなCOMは、バイナリプログラム単位での
オブジェクト指向のプログラミングを実現する仕様を有
していることから、COMを実装するには、C++など
のオブジェクト指向言語を用いたプログラムが必要にな
る。
能を実現するアプリケーションプログラムは、部品化さ
れたオブジェクトプログラムを組み合わせて構成すれば
よいから、開発が容易になるという利点がある。ところ
で、このようなCOMは、バイナリプログラム単位での
オブジェクト指向のプログラミングを実現する仕様を有
していることから、COMを実装するには、C++など
のオブジェクト指向言語を用いたプログラムが必要にな
る。
【0004】図4は従来の3階層モデルのクライアント
・サーバシステムの構成を示すブロック図である。クラ
イアント装置11とロジック処理サーバ装置12とデー
タベースサーバ装置13は、通信ネットワーク14で相
互に接続されている。このようなクライアント・サーバ
システムにおいて、データベースサーバ装置13に図5
のような社員テーブル30が格納され、社員の情報が社
員テーブル30の各レコード(各列)に登録されている
場合を考える。図5の例では、社員テーブル30の属性
として、社員番号と氏名と身長とがあり、社員Aの情報
と社員Bの情報と社員Cの情報とが社員テーブル30の
レコードに登録されている。
・サーバシステムの構成を示すブロック図である。クラ
イアント装置11とロジック処理サーバ装置12とデー
タベースサーバ装置13は、通信ネットワーク14で相
互に接続されている。このようなクライアント・サーバ
システムにおいて、データベースサーバ装置13に図5
のような社員テーブル30が格納され、社員の情報が社
員テーブル30の各レコード(各列)に登録されている
場合を考える。図5の例では、社員テーブル30の属性
として、社員番号と氏名と身長とがあり、社員Aの情報
と社員Bの情報と社員Cの情報とが社員テーブル30の
レコードに登録されている。
【0005】このようなデータベースを3階層モデルの
システムでオブジェクト指向を用いて表現する場合、ロ
ジック層では社員を表現するクラス(共通の属性やメソ
ドを持った同種のオブジェクト群をまとめたもの)を定
義して、そのオブジェクトとして社員A,B,Cを実装
することになる。具体的にはC++のようなオブジェク
ト指向言語を用いて社員というクラスを定義し、そのメ
ソド(手続き)として上記属性の値を読んだり更新した
りするCOMオブジェクトをアプリケーションプログラ
ム20として作成する。図6はCOMオブジェクトにお
ける属性及びメソドの定義例を概念的に示す図である。
システムでオブジェクト指向を用いて表現する場合、ロ
ジック層では社員を表現するクラス(共通の属性やメソ
ドを持った同種のオブジェクト群をまとめたもの)を定
義して、そのオブジェクトとして社員A,B,Cを実装
することになる。具体的にはC++のようなオブジェク
ト指向言語を用いて社員というクラスを定義し、そのメ
ソド(手続き)として上記属性の値を読んだり更新した
りするCOMオブジェクトをアプリケーションプログラ
ム20として作成する。図6はCOMオブジェクトにお
ける属性及びメソドの定義例を概念的に示す図である。
【0006】図6の例は、オブジェクトに実装された
「GetProperty」という名称のメソドを示
し、このメソドは、変数Name[I]で指定された属
性が社員番号ならば、社員テーブル30から社員番号の
データを読み出して変数Value[I]に代入し、変
数Name[I]で指定された属性が氏名ならば、社員
テーブル30から氏名のデータを読み出して変数Val
ue[I]に代入し、変数Name[I]で指定された
属性が身長ならば、社員テーブル30から身長のデータ
を読み出して変数Value[I]に代入することをI
(Iは0からCount−1までの整数)毎に繰り返す
ことを示している。アプリケーションプログラム20
は、図6のようなメソドを含むオブジェクトを実行し
て、データベースサーバ装置13の社員テーブル30か
ら社員データを読み出す。
「GetProperty」という名称のメソドを示
し、このメソドは、変数Name[I]で指定された属
性が社員番号ならば、社員テーブル30から社員番号の
データを読み出して変数Value[I]に代入し、変
数Name[I]で指定された属性が氏名ならば、社員
テーブル30から氏名のデータを読み出して変数Val
ue[I]に代入し、変数Name[I]で指定された
属性が身長ならば、社員テーブル30から身長のデータ
を読み出して変数Value[I]に代入することをI
(Iは0からCount−1までの整数)毎に繰り返す
ことを示している。アプリケーションプログラム20
は、図6のようなメソドを含むオブジェクトを実行し
て、データベースサーバ装置13の社員テーブル30か
ら社員データを読み出す。
【0007】ここで、社員テーブル30の属性に図7に
示すような追加を行うものとする。図7の例では、体重
と性別という属性を追加している。さらに、性別に関し
てはデータベースサーバ装置13の記憶領域の効率化の
ために、図8に示すような性別マスタテーブル40を用
意する。性別マスタテーブル40は、性別を識別するI
Dを定義するもので、男性には「1」というIDが付与
され、女性には「2」というIDが付与されている。こ
れにより、社員テーブル30には、「1」又は「2」の
IDが社員の性別に応じて登録される。
示すような追加を行うものとする。図7の例では、体重
と性別という属性を追加している。さらに、性別に関し
てはデータベースサーバ装置13の記憶領域の効率化の
ために、図8に示すような性別マスタテーブル40を用
意する。性別マスタテーブル40は、性別を識別するI
Dを定義するもので、男性には「1」というIDが付与
され、女性には「2」というIDが付与されている。こ
れにより、社員テーブル30には、「1」又は「2」の
IDが社員の性別に応じて登録される。
【0008】このような変更をロジック層のクラスに反
映させるためには、図7に示した「GetProper
ty」というメソドに、図9に示すような変更を加える
必要がある。図9において、「If( Name[I]=“体重”)
Value[I]=<体重を読むロジック>」は、変数Name
[I]で指定された属性が体重ならば、社員テーブル3
0から体重のデータを読み出して変数Value[I]
に代入することを意味する。また、「If( Name[I]=
“性別”)[ TemporaryValue=<性別(ID)を読むロジッ
ク> Value[I]=<性別(ID)から性別名称に変換するロ
ジック>]」は、変数Name[I]で指定された属性
が性別ならば、社員テーブル30からIDを読み出して
変数TemporaryValueに代入し、この値を
「男性」又は「女性」という性別名称に変換して変数V
alue[I]に代入することを意味している。
映させるためには、図7に示した「GetProper
ty」というメソドに、図9に示すような変更を加える
必要がある。図9において、「If( Name[I]=“体重”)
Value[I]=<体重を読むロジック>」は、変数Name
[I]で指定された属性が体重ならば、社員テーブル3
0から体重のデータを読み出して変数Value[I]
に代入することを意味する。また、「If( Name[I]=
“性別”)[ TemporaryValue=<性別(ID)を読むロジッ
ク> Value[I]=<性別(ID)から性別名称に変換するロ
ジック>]」は、変数Name[I]で指定された属性
が性別ならば、社員テーブル30からIDを読み出して
変数TemporaryValueに代入し、この値を
「男性」又は「女性」という性別名称に変換して変数V
alue[I]に代入することを意味している。
【0009】
【発明が解決しようとする課題】以上のように、従来の
分散オブジェクト環境では、例えばデータベースに属性
の追加や削除が生じて、COMオブジェクトの属性やメ
ソドを変更する必要が生じると、データベースにアクセ
スするためのメソドも含めてロジック層のプログラムを
修正する必要があった。このような修正が必要となった
場合、C++などのオブジェクト指向言語によるプログ
ラムの変更が必要になるため、プログラムの変更作業に
時間がかかるだけでなく、プログラムの保守や管理に手
間がかかるという問題点があった。本発明は、上記課題
を解決するためになされたもので、オブジェクトの属性
やメソドを容易に変更することができるプログラム実行
方法及びプログラム実行装置を提供することを目的とす
る。
分散オブジェクト環境では、例えばデータベースに属性
の追加や削除が生じて、COMオブジェクトの属性やメ
ソドを変更する必要が生じると、データベースにアクセ
スするためのメソドも含めてロジック層のプログラムを
修正する必要があった。このような修正が必要となった
場合、C++などのオブジェクト指向言語によるプログ
ラムの変更が必要になるため、プログラムの変更作業に
時間がかかるだけでなく、プログラムの保守や管理に手
間がかかるという問題点があった。本発明は、上記課題
を解決するためになされたもので、オブジェクトの属性
やメソドを容易に変更することができるプログラム実行
方法及びプログラム実行装置を提供することを目的とす
る。
【0010】
【課題を解決するための手段】本発明は、オブジェクト
指向の技術仕様に則ったオブジェクトを実行するプログ
ラム実行方法であって、第1のオブジェクト実行プログ
ラム(210)を予め用意する手順と、オブジェクトの
属性及びメソドを定義する属性定義ファイル(22)を
作成する手順と、前記属性定義ファイルに記述された属
性及びメソドの定義に基づいて、前記第1のオブジェク
ト実行プログラムにより該当オブジェクトに属性とメソ
ドとを実装させて、このオブジェクトを実行させる手順
とを有するものである。また、本発明のプログラム実行
方法の1構成例は、前記第1のオブジェクト実行プログ
ラムで実行不能な特殊処理に対応した第2のオブジェク
ト実行プログラム(211)を予め用意する手順と、前
記オブジェクトの実行に際して、前記属性定義ファイル
に標準形式と異なる特殊形式の定義が存在する場合、前
記第2のオブジェクト実行プログラムに処理を委譲し、
この第2のオブジェクト実行プログラムにより該当オブ
ジェクトに属性とメソドとを実装させて、このオブジェ
クトを実行させる手順とを有するものである。また、本
発明のプログラム実行方法の1構成例において、前記オ
ブジェクト指向の技術仕様は、COMである。
指向の技術仕様に則ったオブジェクトを実行するプログ
ラム実行方法であって、第1のオブジェクト実行プログ
ラム(210)を予め用意する手順と、オブジェクトの
属性及びメソドを定義する属性定義ファイル(22)を
作成する手順と、前記属性定義ファイルに記述された属
性及びメソドの定義に基づいて、前記第1のオブジェク
ト実行プログラムにより該当オブジェクトに属性とメソ
ドとを実装させて、このオブジェクトを実行させる手順
とを有するものである。また、本発明のプログラム実行
方法の1構成例は、前記第1のオブジェクト実行プログ
ラムで実行不能な特殊処理に対応した第2のオブジェク
ト実行プログラム(211)を予め用意する手順と、前
記オブジェクトの実行に際して、前記属性定義ファイル
に標準形式と異なる特殊形式の定義が存在する場合、前
記第2のオブジェクト実行プログラムに処理を委譲し、
この第2のオブジェクト実行プログラムにより該当オブ
ジェクトに属性とメソドとを実装させて、このオブジェ
クトを実行させる手順とを有するものである。また、本
発明のプログラム実行方法の1構成例において、前記オ
ブジェクト指向の技術仕様は、COMである。
【0011】また、本発明のプログラム実行装置は、オ
ブジェクトの属性及びメソドを定義する属性定義ファイ
ル(22)と、この属性定義ファイルに記述された属性
及びメソドの定義に基づいて該当オブジェクトに属性と
メソドとを実装して、このオブジェクトを実行する第1
のオブジェクト実行手段(210)とを有するものであ
る。また、本発明のプログラム実行装置の1構成例は、
前記第1のオブジェクト実行手段で実行不能な特殊処理
に対応した第2のオブジェクト実行手段(211)を有
し、前記第1のオブジェクト実行手段は、前記属性定義
ファイルに標準形式と異なる特殊形式の定義が存在する
場合、前記第2のオブジェクト実行手段に処理を委譲
し、前記第2のオブジェクト実行手段は、前記属性定義
ファイルに特殊形式で記述された属性及びメソドの定義
に基づいて該当オブジェクトに属性とメソドとを実装し
て、このオブジェクトを実行するものである。また、本
発明のプログラム実行装置の1構成例において、前記オ
ブジェクト指向の技術仕様は、COMである。
ブジェクトの属性及びメソドを定義する属性定義ファイ
ル(22)と、この属性定義ファイルに記述された属性
及びメソドの定義に基づいて該当オブジェクトに属性と
メソドとを実装して、このオブジェクトを実行する第1
のオブジェクト実行手段(210)とを有するものであ
る。また、本発明のプログラム実行装置の1構成例は、
前記第1のオブジェクト実行手段で実行不能な特殊処理
に対応した第2のオブジェクト実行手段(211)を有
し、前記第1のオブジェクト実行手段は、前記属性定義
ファイルに標準形式と異なる特殊形式の定義が存在する
場合、前記第2のオブジェクト実行手段に処理を委譲
し、前記第2のオブジェクト実行手段は、前記属性定義
ファイルに特殊形式で記述された属性及びメソドの定義
に基づいて該当オブジェクトに属性とメソドとを実装し
て、このオブジェクトを実行するものである。また、本
発明のプログラム実行装置の1構成例において、前記オ
ブジェクト指向の技術仕様は、COMである。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明の実施
の形態となる3階層モデルのクライアント・サーバシス
テムの構成を示すブロック図である。図1のクライアン
ト・サーバシステムは、ユーザインタフェースを提供す
るクライアント装置1と、ユーザからクライアント装置
1を通じて指定された操作をデータベースに対して施す
ロジック処理サーバ装置2と、データベースサーバ装置
3とから構成される。クライアント装置1とロジック処
理サーバ装置2とデータベースサーバ装置3は、通信ネ
ットワーク4で相互に接続されている。
て図面を参照して詳細に説明する。図1は本発明の実施
の形態となる3階層モデルのクライアント・サーバシス
テムの構成を示すブロック図である。図1のクライアン
ト・サーバシステムは、ユーザインタフェースを提供す
るクライアント装置1と、ユーザからクライアント装置
1を通じて指定された操作をデータベースに対して施す
ロジック処理サーバ装置2と、データベースサーバ装置
3とから構成される。クライアント装置1とロジック処
理サーバ装置2とデータベースサーバ装置3は、通信ネ
ットワーク4で相互に接続されている。
【0013】クライアント装置1とロジック処理サーバ
装置2とデータベースサーバ装置3は、それぞれコンピ
ュータで実現することができる。コンピュータは、演算
装置と記憶装置と入出力装置とを備え、プログラムに従
ってクライアント装置1やロジック処理サーバ装置2、
データベースサーバ装置3として動作する。
装置2とデータベースサーバ装置3は、それぞれコンピ
ュータで実現することができる。コンピュータは、演算
装置と記憶装置と入出力装置とを備え、プログラムに従
ってクライアント装置1やロジック処理サーバ装置2、
データベースサーバ装置3として動作する。
【0014】データベースサーバ装置3には、社員テー
ブル30と性別マスタテーブル40とが格納されてい
る。社員テーブル30と性別マスタテーブル40は、そ
れぞれ図7、図8に示したものと同一とする。
ブル30と性別マスタテーブル40とが格納されてい
る。社員テーブル30と性別マスタテーブル40は、そ
れぞれ図7、図8に示したものと同一とする。
【0015】ロジック処理サーバ装置(プログラム実行
装置)2には、アプリケーションプログラム21が実装
されている。アプリケーションプログラム21は、CO
Mオブジェクトを実行する、第1のオブジェクト実行プ
ログラムである標準処理プログラム210と第2のオブ
ジェクト実行プログラムである特殊処理プログラム21
1とを含んでいる。プログラム210,211は、CO
Mオブジェクトを実行するものであるが、このプログラ
ム210,211も、C++等のオブジェクト指向言語
を用いて予め作成されたCOMオブジェクトである。
装置)2には、アプリケーションプログラム21が実装
されている。アプリケーションプログラム21は、CO
Mオブジェクトを実行する、第1のオブジェクト実行プ
ログラムである標準処理プログラム210と第2のオブ
ジェクト実行プログラムである特殊処理プログラム21
1とを含んでいる。プログラム210,211は、CO
Mオブジェクトを実行するものであるが、このプログラ
ム210,211も、C++等のオブジェクト指向言語
を用いて予め作成されたCOMオブジェクトである。
【0016】標準処理プログラム210は、後述する属
性定義ファイルに標準フォーマットで記述された属性及
びメソドの定義に基づいて該当オブジェクトに属性とメ
ソドとを実装し、このオブジェクトを実行する。また、
特殊処理プログラム211は、属性定義ファイルに特殊
フォーマットで記述された属性及びメソドの定義に基づ
いて該当オブジェクトに属性とメソドとを実装し、この
オブジェクトを実行する。
性定義ファイルに標準フォーマットで記述された属性及
びメソドの定義に基づいて該当オブジェクトに属性とメ
ソドとを実装し、このオブジェクトを実行する。また、
特殊処理プログラム211は、属性定義ファイルに特殊
フォーマットで記述された属性及びメソドの定義に基づ
いて該当オブジェクトに属性とメソドとを実装し、この
オブジェクトを実行する。
【0017】図2は属性定義ファイル22の構造を示す
図である。属性定義ファイル22は、オブジェクトの属
性及びメソドを定義するものであり、テキスト形式で記
述されている。図2の例では、「社員」というオブジェ
クトの属性及びメソドを定義している。主キーは、社員
テーブル30に登録された各社員の中から特定の社員を
識別するための情報であり、ここでは各社員に固有の社
員番号が主キーとして定義されている。
図である。属性定義ファイル22は、オブジェクトの属
性及びメソドを定義するものであり、テキスト形式で記
述されている。図2の例では、「社員」というオブジェ
クトの属性及びメソドを定義している。主キーは、社員
テーブル30に登録された各社員の中から特定の社員を
識別するための情報であり、ここでは各社員に固有の社
員番号が主キーとして定義されている。
【0018】次に、本実施の形態では、社員の情報をリ
レーショナルデータベースで管理することを想定してい
るので、属性定義ファイル22で定義された各属性は、
対象となるテーブルとこのテーブル中の対象となるカラ
ムとを指定している。例えば、「社員番号,社員テーブ
ル.社員番号」という記述は、「社員番号」という属性
が社員テーブル30の「社員番号」というカラムに格納
されている値であることを示している。
レーショナルデータベースで管理することを想定してい
るので、属性定義ファイル22で定義された各属性は、
対象となるテーブルとこのテーブル中の対象となるカラ
ムとを指定している。例えば、「社員番号,社員テーブ
ル.社員番号」という記述は、「社員番号」という属性
が社員テーブル30の「社員番号」というカラムに格納
されている値であることを示している。
【0019】同様に、「氏名,社員テーブル.氏名」と
いう記述は、「氏名」という属性が社員テーブル30の
「氏名」というカラムに格納されている値であることを
示し、「身長,社員テーブル.身長」という記述は、
「身長」という属性が社員テーブル30の「身長」とい
うカラムに格納されている値であることを示し、「体
重,社員テーブル.体重」という記述は、「体重」とい
う属性が社員テーブル30の「体重」というカラムに格
納されている値であることを示している。
いう記述は、「氏名」という属性が社員テーブル30の
「氏名」というカラムに格納されている値であることを
示し、「身長,社員テーブル.身長」という記述は、
「身長」という属性が社員テーブル30の「身長」とい
うカラムに格納されている値であることを示し、「体
重,社員テーブル.体重」という記述は、「体重」とい
う属性が社員テーブル30の「体重」というカラムに格
納されている値であることを示している。
【0020】また、「性別,社員テーブル.性別(ID),
性別マスタテーブル(ID→名称)」という記述は、「性
別」という属性が社員テーブル30の「性別」というカ
ラムに格納されている値(ID)であり、更にこのID
に対応する、性別マスタテーブル40の「名称」カラム
に格納されている値であることを示している。
性別マスタテーブル(ID→名称)」という記述は、「性
別」という属性が社員テーブル30の「性別」というカ
ラムに格納されている値(ID)であり、更にこのID
に対応する、性別マスタテーブル40の「名称」カラム
に格納されている値であることを示している。
【0021】以上のような属性定義ファイル22は、テ
キスト形式で記述されているので、ロジック処理サーバ
装置2の編集手段(テキストエディタ)23によって容
易に作成・変更を行うことができる。
キスト形式で記述されているので、ロジック処理サーバ
装置2の編集手段(テキストエディタ)23によって容
易に作成・変更を行うことができる。
【0022】標準処理プログラム210は、アプリケー
ションプログラム21中にオブジェクト宣言文を発見す
ると、このオブジェクト宣言文で指定されたオブジェク
トに対応する属性定義ファイル22を参照し、オブジェ
クト宣言文で指定されたオブジェクトに属性とメソドと
を実装して実行する。
ションプログラム21中にオブジェクト宣言文を発見す
ると、このオブジェクト宣言文で指定されたオブジェク
トに対応する属性定義ファイル22を参照し、オブジェ
クト宣言文で指定されたオブジェクトに属性とメソドと
を実装して実行する。
【0023】図2の例によれば、標準フォーマットで記
述された「社員番号」、「氏名」、「身長」、「体
重」、「性別」の各属性により、社員テーブル30から
社員番号のデータを読み出すメソドと、社員テーブル3
0から氏名のデータを読み出すメソドと、社員テーブル
30から身長のデータを読み出すメソドと、社員テーブ
ル30から体重のデータを読み出すメソドと、社員テー
ブル30から性別(ID)のデータを読み出し、このデ
ータに対応する性別名称を性別マスタテーブル40から
読み出すメソドが「社員」というオブジェクトに実装さ
れる。
述された「社員番号」、「氏名」、「身長」、「体
重」、「性別」の各属性により、社員テーブル30から
社員番号のデータを読み出すメソドと、社員テーブル3
0から氏名のデータを読み出すメソドと、社員テーブル
30から身長のデータを読み出すメソドと、社員テーブ
ル30から体重のデータを読み出すメソドと、社員テー
ブル30から性別(ID)のデータを読み出し、このデ
ータに対応する性別名称を性別マスタテーブル40から
読み出すメソドが「社員」というオブジェクトに実装さ
れる。
【0024】以上のように本実施の形態によれば、オブ
ジェクトの属性及びメソドをオブジェクトから切り出し
て属性定義ファイル22で定義しているので、テキスト
形式の属性定義ファイル22を変更するだけで、オブジ
ェクトの属性やメソドを変更することができる。したが
って、オブジェクトの本体を提供している標準処理プロ
グラム(COMオブジェクト)210を変更する必要が
ないので、標準的なDCOMを使った場合と比較して、
プログラムの変更作業に要する工数を減らすことができ
る。また、C++等のオブジェクト指向言語の開発環境
を必要とせず、実行環境での変更作業が可能なので、開
発環境準備の作業工数も削減できる。
ジェクトの属性及びメソドをオブジェクトから切り出し
て属性定義ファイル22で定義しているので、テキスト
形式の属性定義ファイル22を変更するだけで、オブジ
ェクトの属性やメソドを変更することができる。したが
って、オブジェクトの本体を提供している標準処理プロ
グラム(COMオブジェクト)210を変更する必要が
ないので、標準的なDCOMを使った場合と比較して、
プログラムの変更作業に要する工数を減らすことができ
る。また、C++等のオブジェクト指向言語の開発環境
を必要とせず、実行環境での変更作業が可能なので、開
発環境準備の作業工数も削減できる。
【0025】また、「性別」という属性の定義例からも
分かるように、データベースの内容をそのまま取得する
のではなく、あるテーブルから取得した内容を基に別の
テーブルで定義されている関連データを取得するといっ
た、リレーショナルデータベースで一般的に発生してい
るアクセス手順も標準フォーマットで定義することがで
きる。また、単一データの属性でなく、配列や構造体で
表現される属性も定義することができる。
分かるように、データベースの内容をそのまま取得する
のではなく、あるテーブルから取得した内容を基に別の
テーブルで定義されている関連データを取得するといっ
た、リレーショナルデータベースで一般的に発生してい
るアクセス手順も標準フォーマットで定義することがで
きる。また、単一データの属性でなく、配列や構造体で
表現される属性も定義することができる。
【0026】さらに、標準フォーマットで定義できない
属性やメソドについては、特殊フォーマットで定義する
ことができる。図3は特殊フォーマットで記述された属
性の1例を示す図である。図3の記述は、「身長偏差」
という属性が、社員テーブル30の「身長」というカラ
ムから取り出した値を身長偏差計算プログラムに渡した
結果得られる値であることを示している。身長偏差計算
プログラムは、身長偏差(社員全員の平均身長からの差
分)を計算する特殊処理プログラム(COMオブジェク
ト)211である。
属性やメソドについては、特殊フォーマットで定義する
ことができる。図3は特殊フォーマットで記述された属
性の1例を示す図である。図3の記述は、「身長偏差」
という属性が、社員テーブル30の「身長」というカラ
ムから取り出した値を身長偏差計算プログラムに渡した
結果得られる値であることを示している。身長偏差計算
プログラムは、身長偏差(社員全員の平均身長からの差
分)を計算する特殊処理プログラム(COMオブジェク
ト)211である。
【0027】前述のように、標準処理プログラム210
は、オブジェクト宣言文で指定されたオブジェクトに対
応する属性定義ファイル22を参照するが、この属性定
義ファイル22の中に特殊フォーマットで記述された属
性又はメソドの定義が存在すると、この特殊フォーマッ
トに対応する特殊処理プログラム211を起動させて処
理を委譲する。特殊処理プログラム211は、特殊フォ
ーマットで記述された属性及びメソドの定義を基にし
て、オブジェクト宣言文で指定されたオブジェクトに属
性とメソドとを実装して実行する。
は、オブジェクト宣言文で指定されたオブジェクトに対
応する属性定義ファイル22を参照するが、この属性定
義ファイル22の中に特殊フォーマットで記述された属
性又はメソドの定義が存在すると、この特殊フォーマッ
トに対応する特殊処理プログラム211を起動させて処
理を委譲する。特殊処理プログラム211は、特殊フォ
ーマットで記述された属性及びメソドの定義を基にし
て、オブジェクト宣言文で指定されたオブジェクトに属
性とメソドとを実装して実行する。
【0028】図3の例によれば、社員テーブル30から
身長のデータを読み出して、このデータを身長偏差計算
プログラムに渡し、身長偏差計算プログラムで計算され
た身長偏差のデータを得るメソドがオブジェクトに実装
される。このように、特殊フォーマットに対応する特殊
処理プログラム211を用意することで、標準処理プロ
グラム210を変更することなく、特殊な属性やメソド
の実装が可能となる。なお、図2、図3の例では、属性
定義ファイル22でメソドのみを定義し、実際のデー
タ、すなわち属性については社員テーブル30で定義し
ているが、属性定義ファイル22を使って属性を定義す
るには、実際のデータを属性定義ファイル22中で列挙
すればよい。
身長のデータを読み出して、このデータを身長偏差計算
プログラムに渡し、身長偏差計算プログラムで計算され
た身長偏差のデータを得るメソドがオブジェクトに実装
される。このように、特殊フォーマットに対応する特殊
処理プログラム211を用意することで、標準処理プロ
グラム210を変更することなく、特殊な属性やメソド
の実装が可能となる。なお、図2、図3の例では、属性
定義ファイル22でメソドのみを定義し、実際のデー
タ、すなわち属性については社員テーブル30で定義し
ているが、属性定義ファイル22を使って属性を定義す
るには、実際のデータを属性定義ファイル22中で列挙
すればよい。
【0029】
【発明の効果】本発明によれば、第1のオブジェクト実
行プログラムを予め用意する手順と、オブジェクトの属
性及びメソドを定義する属性定義ファイルを作成する手
順と、属性定義ファイルに記述された属性及びメソドの
定義に基づいて、第1のオブジェクト実行プログラムに
より該当オブジェクトに属性とメソドとを実装させて、
このオブジェクトを実行させる手順とを設けることによ
り、オブジェクトの属性及びメソドをオブジェクトから
切り出して属性定義ファイルで定義するようにしたの
で、例えばテキスト形式の属性定義ファイルを変更する
だけで、オブジェクトの属性やメソドを容易に変更する
ことができる。したがって、オブジェクトの本体を提供
している第1のオブジェクト実行プログラムを変更する
必要がないので、C++等のオブジェクト指向言語によ
るプログラムの変更が不要となる。その結果、プログラ
ムの変更作業に要する時間を減らすことができ、プログ
ラムの保守や管理に要する手間も減らすことができる。
行プログラムを予め用意する手順と、オブジェクトの属
性及びメソドを定義する属性定義ファイルを作成する手
順と、属性定義ファイルに記述された属性及びメソドの
定義に基づいて、第1のオブジェクト実行プログラムに
より該当オブジェクトに属性とメソドとを実装させて、
このオブジェクトを実行させる手順とを設けることによ
り、オブジェクトの属性及びメソドをオブジェクトから
切り出して属性定義ファイルで定義するようにしたの
で、例えばテキスト形式の属性定義ファイルを変更する
だけで、オブジェクトの属性やメソドを容易に変更する
ことができる。したがって、オブジェクトの本体を提供
している第1のオブジェクト実行プログラムを変更する
必要がないので、C++等のオブジェクト指向言語によ
るプログラムの変更が不要となる。その結果、プログラ
ムの変更作業に要する時間を減らすことができ、プログ
ラムの保守や管理に要する手間も減らすことができる。
【0030】また、第1のオブジェクト実行プログラム
で実行不能な特殊処理に対応した第2のオブジェクト実
行プログラムを予め用意する手順と、オブジェクトの実
行に際して、属性定義ファイルに標準形式と異なる特殊
形式の定義が存在する場合、第2のオブジェクト実行プ
ログラムに処理を委譲し、この第2のオブジェクト実行
プログラムにより該当オブジェクトに属性とメソドとを
実装させて、このオブジェクトを実行させる手順とを設
けることにより、標準処理を実行する第1のオブジェク
ト実行プログラムを変更することなく、特殊な属性やメ
ソドの実装が可能となる。したがって、プログラムの変
更作業に要する時間を減らすことができ、プログラムの
保守や管理に要する手間も減らすことができる。
で実行不能な特殊処理に対応した第2のオブジェクト実
行プログラムを予め用意する手順と、オブジェクトの実
行に際して、属性定義ファイルに標準形式と異なる特殊
形式の定義が存在する場合、第2のオブジェクト実行プ
ログラムに処理を委譲し、この第2のオブジェクト実行
プログラムにより該当オブジェクトに属性とメソドとを
実装させて、このオブジェクトを実行させる手順とを設
けることにより、標準処理を実行する第1のオブジェク
ト実行プログラムを変更することなく、特殊な属性やメ
ソドの実装が可能となる。したがって、プログラムの変
更作業に要する時間を減らすことができ、プログラムの
保守や管理に要する手間も減らすことができる。
【図1】 本発明の実施の形態となる3階層モデルのク
ライアント・サーバシステムの構成を示すブロック図で
ある。
ライアント・サーバシステムの構成を示すブロック図で
ある。
【図2】 本発明の実施の形態における属性定義ファイ
ルの構造を示す図である。
ルの構造を示す図である。
【図3】 本発明の実施の形態において特殊フォーマッ
トで記述された属性を示す図である。
トで記述された属性を示す図である。
【図4】 従来の3階層モデルのクライアント・サーバ
システムの構成を示すブロック図である。
システムの構成を示すブロック図である。
【図5】 従来のクライアント・サーバシステムにおい
てデータベースに格納された社員テーブルの構造を示す
図である。
てデータベースに格納された社員テーブルの構造を示す
図である。
【図6】 COMオブジェクトにおける属性及びメソド
の定義例を概念的に示す図である。
の定義例を概念的に示す図である。
【図7】 属性を追加した後の社員テーブルの構造を示
す図である。
す図である。
【図8】 性別マスタテーブルの構造を示す図である。
【図9】 属性を追加した後の属性及びメソドの定義例
を概念的に示す図である。
を概念的に示す図である。
1…クライアント装置、2…ロジック処理サーバ装置、
3…データベースサーバ装置、4…通信ネットワーク、
21…アプリケーションプログラム、22…属性定義フ
ァイル、23…編集手段、210…標準処理プログラ
ム、211…特殊処理プログラム。
3…データベースサーバ装置、4…通信ネットワーク、
21…アプリケーションプログラム、22…属性定義フ
ァイル、23…編集手段、210…標準処理プログラ
ム、211…特殊処理プログラム。
Claims (6)
- 【請求項1】 オブジェクト指向の技術仕様に則ったオ
ブジェクトを実行するプログラム実行方法であって、 第1のオブジェクト実行プログラムを予め用意する手順
と、 オブジェクトの属性及びメソドを定義する属性定義ファ
イルを作成する手順と、 前記属性定義ファイルに記述された属性及びメソドの定
義に基づいて、前記第1のオブジェクト実行プログラム
により該当オブジェクトに属性とメソドとを実装させ
て、このオブジェクトを実行させる手順とを有すること
を特徴とするプログラム実行方法。 - 【請求項2】 請求項1記載のプログラム実行方法にお
いて、 前記第1のオブジェクト実行プログラムで実行不能な特
殊処理に対応した第2のオブジェクト実行プログラムを
予め用意する手順と、 前記オブジェクトの実行に際して、前記属性定義ファイ
ルに標準形式と異なる特殊形式の定義が存在する場合、
前記第2のオブジェクト実行プログラムに処理を委譲
し、この第2のオブジェクト実行プログラムにより該当
オブジェクトに属性とメソドとを実装させて、このオブ
ジェクトを実行させる手順とを有することを特徴とする
プログラム実行方法。 - 【請求項3】 請求項1又は2記載のプログラム実行方
法において、 前記オブジェクト指向の技術仕様は、COMであること
を特徴とするプログラム実行方法。 - 【請求項4】 オブジェクト指向の技術仕様に則ったオ
ブジェクトを実行するプログラム実行装置において、 オブジェクトの属性及びメソドを定義する属性定義ファ
イルと、 この属性定義ファイルに記述された属性及びメソドの定
義に基づいて該当オブジェクトに属性とメソドとを実装
して、このオブジェクトを実行する第1のオブジェクト
実行手段とを有することを特徴とするプログラム実行装
置。 - 【請求項5】 請求項4記載のプログラム実行装置にお
いて、 前記第1のオブジェクト実行手段で実行不能な特殊処理
に対応した第2のオブジェクト実行手段を有し、 前記第1のオブジェクト実行手段は、前記属性定義ファ
イルに標準形式と異なる特殊形式の定義が存在する場
合、前記第2のオブジェクト実行手段に処理を委譲し、 前記第2のオブジェクト実行手段は、前記属性定義ファ
イルに特殊形式で記述された属性及びメソドの定義に基
づいて該当オブジェクトに属性とメソドとを実装して、
このオブジェクトを実行することを特徴とするプログラ
ム実行装置。 - 【請求項6】 請求項4又は5記載のプログラム実行装
置において、 前記オブジェクト指向の技術仕様は、COMであること
を特徴とするプログラム実行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001222579A JP2003036171A (ja) | 2001-07-24 | 2001-07-24 | プログラム実行方法及びプログラム実行装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001222579A JP2003036171A (ja) | 2001-07-24 | 2001-07-24 | プログラム実行方法及びプログラム実行装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003036171A true JP2003036171A (ja) | 2003-02-07 |
Family
ID=19056040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001222579A Pending JP2003036171A (ja) | 2001-07-24 | 2001-07-24 | プログラム実行方法及びプログラム実行装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003036171A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473903B2 (en) | 2009-09-28 | 2013-06-25 | The Bank Of Tokyo-Mitsubishi Ufj, Ltd. | Code edit apparatus and recording medium |
-
2001
- 2001-07-24 JP JP2001222579A patent/JP2003036171A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473903B2 (en) | 2009-09-28 | 2013-06-25 | The Bank Of Tokyo-Mitsubishi Ufj, Ltd. | Code edit apparatus and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7805341B2 (en) | Extraction, transformation and loading designer module of a computerized financial system | |
US4894771A (en) | Data base management system extending structure | |
US5535325A (en) | Method and apparatus for automatically generating database definitions of indirect facts from entity-relationship diagrams | |
JP2003523004A (ja) | 階層的情報システムに及び階層的情報システムから変換するためのシステム及び方法 | |
EP1457878B1 (en) | Automatic generation of an object model from a dimensional model | |
KR100529661B1 (ko) | 오브젝트 통합 관리 시스템 | |
CN107491476B (zh) | 一种适用于多种大数据管理系统的数据模型转换及查询分析方法 | |
CN108345691B (zh) | 数据源通用处理框架构建方法、数据源处理方法及装置 | |
JPH04172542A (ja) | データベース管理システム | |
US5873092A (en) | Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties | |
CN116795859A (zh) | 数据分析方法、装置、计算机设备和存储介质 | |
CN115934673A (zh) | 用于促进元数据标识和导入的系统和方法 | |
JPS60218142A (ja) | デ−タの動的型変換方式 | |
EP2343658A1 (en) | Federation as a process | |
JP7458259B2 (ja) | データ管理装置及びデータ管理方法 | |
CN115905164A (zh) | 对数据库工件的扩展的元数据的标识和导入 | |
JP2003036171A (ja) | プログラム実行方法及びプログラム実行装置 | |
JP2001067369A (ja) | 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 | |
JP2004259066A (ja) | データソース統合プログラム及びシステム並びに方法 | |
JP2000113007A (ja) | Cad/pdm連携システム、cad/pdm連携方法、cad/pdm連携プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JPH01211029A (ja) | データベース操作言語処理方式 | |
US7178153B1 (en) | Method and mechanism for implementing an access interface infrastructure | |
JP2000122855A (ja) | データ名称付与方法及び装置、記録媒体 | |
JP2000267906A (ja) | データベースモデル変換方法 | |
JPH10161923A (ja) | オブジェクト指向データベース管理装置 |