JP4632056B2 - マッピングシステム、マッピング方法及びプログラム - Google Patents

マッピングシステム、マッピング方法及びプログラム Download PDF

Info

Publication number
JP4632056B2
JP4632056B2 JP2007005697A JP2007005697A JP4632056B2 JP 4632056 B2 JP4632056 B2 JP 4632056B2 JP 2007005697 A JP2007005697 A JP 2007005697A JP 2007005697 A JP2007005697 A JP 2007005697A JP 4632056 B2 JP4632056 B2 JP 4632056B2
Authority
JP
Japan
Prior art keywords
mapping
context information
information management
sql
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007005697A
Other languages
English (en)
Other versions
JP2008171316A (ja
Inventor
卓雄 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007005697A priority Critical patent/JP4632056B2/ja
Publication of JP2008171316A publication Critical patent/JP2008171316A/ja
Application granted granted Critical
Publication of JP4632056B2 publication Critical patent/JP4632056B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マッピングシステム、マッピング方法及びプログラムに関し、特にオブジェクトモデルの要素(例えば、クラス)をリレーショナルデータベース(RDB)にマッピングするマッピングシステム、マッピング方法及びプログラムに関する。
アプリケーションソフトウェアを、オブジェクト指向技術で開発する場合でも、オブジェクト指向データベースのデータ層にODBMS(オブジェクトデータベース管理システム)を利用せずに、RDBMS(リレーショナルデータベース管理システム)を利用することが多い。
この場合、オブジェクトモデルをRDBで保管するために、オブジェクトモデルの各要素とRDBの各要素との間でのマッピング(以下「ORマッピング」と称する。)が必要となる。
なお、オブジェクトモデルの各要素は、例えば、クラス(属性を含む)、関連(クラス間の関連)、および、汎化(クラスとその上位概念のクラスとの関係)であり、RDBの各要素は、各テーブルの項目(属性)である。
従来のマッピング方法の例が、特許文献1(特開2000−148555号公報)に記載されている。
従来の一般的な方法では、オブジェクトモデルとRDBは直接的にマッピングされる。
例えば、オブジェクトモデルの1つのクラスは、RDBの1つのテーブルの項目にマッピングされ、オブジェクトモデルの1つの関連は、RDBの1つのテーブルの項目にマッピングされるか、その関連にて示されるクラスに対応するテーブルの項目に埋め込まれるかしてマッピングされる。
また、オブジェクトモデルのクラスのインスタンスは、そのクラスを項目としたRDBのテーブルのレコードにマッピングされ、オブジェクトモデルの関連のインスタンスは、例えば、その関連を項目としたRDBのテーブルのレコードにマッピングされる。
なお、特許文献1では、オブジェクトモデルの1つのクラスを、RDBの複数のテーブルの項目にマッピングするという構成になっている。
特開2000−148555号公報
しかし、特許文献1に記載されたような、オブジェクトモデルとRDBとの直接的なマッピングでは、オブジェクト指向のデータと手続きを一体化して情報を隠蔽する特徴(=カプセル化)と、アプリケーションソフトウェアに要求される処理時間(=必要に応じて高速に処理する)の両方を満たすことは困難である。
その理由は、オブジェクトモデルの要素ごとにRDBのテーブルが作成され、それらのオブジェクトモデルの要素やテーブルがグループ化されていないからである。このため、カプセル化を行う場合は、個々のオブジェクトモデルの要素ごとにカプセル化することになり、オブジェクトモデルの要素に対応するテーブルごとに逐次的に処理する必要があるため、処理時間を高速化することが困難になる。
結果として、カプセル化が行われないことによって、オブジェクトの協調動作の仕組みが壊され、アプリケーションソフトウェアの柔軟性が損なわれたり、オブジェクトモデルの個々の要素を独立させて処理することによって、要求される処理時間より長い処理時間がかかったりするという問題が発生する。
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができるマッピングシステム、マッピング方法およびプログラムを提供することを目的とする。
上記目的を達成するために本発明は、
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
前記マッピング装置は、
オブジェクトモデルの複数の要素を格納する要素格納部と、
項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するRDB格納部と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成し、該第1のSQL文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
前記コンテキスト情報管理装置は、
前記マッピング部から送信されてきた第1のSQL文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第1のSQL文と前記識別子とを対応付けるコンテキスト情報管理部と、
前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得し、取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込むことを特徴とする。
また、前記マッピング部は、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信し、
前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与し、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付け、
前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶することを特徴とする。
また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する処理と、
前記マッピング装置が、前記第1のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報管理装置が、前記対応付けられた前記第1のSQL文と前記識別子とを記憶する処理と、
前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する処理と、
前記マッピング装置が、前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む処理とを有する。
また、前記マッピング装置が、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報記憶装置が、前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する処理とを有することを特徴とする。
また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
前記選択された複数の要素を前記メモリに格納する手順と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する手順と、
前記第1のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する手順と、
前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
前記第1のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文と前記識別子とを記憶する手順と、
前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する手順と、
前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む手順とをコンピュータに実行させる。
また、前記第1のSQL文が組み込まれた第2のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する手順と、
前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する手順とをコンピュータに実行させる。
上記のように構成された本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第1のSQL文が生成され、生成された第1のSQL文に固有の識別子が付与されて格納され、識別子に基づいて第1のSQL文が取得され、メッセージを処理するための第2のSQL文に第1のSQL文が組み込まれる。
これにより、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。
以上説明したように本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第1のSQL文を生成し、生成された第1のSQL文に固有の識別子を付与して格納し、識別子に基づいて第1のSQL文を取得し、メッセージを処理するための第2のSQL文に第1のSQL文を組み込む構成としたため、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができる。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明のマッピングシステムの実施の一形態を示す図である。
本形態は図1に示すように、マッピング装置100−1〜100−nと、マッピング装置100−1〜100−nと接続されたコンテキスト情報管理装置200とから構成されている。
さらに、マッピング装置100−1には、要素格納部110と、マッピング処理部(RDBラッパー)120と、RDB(リレーショナルデータベース)格納部130とが設けられている。
要素格納部110は、オブジェクトモデルの複数の要素を格納する。図1では、要素格納部110は、オブジェクトモデルの要素(以下、要素と称する。)111−1〜111−3を格納しているが、その数については3つに限らない。要素は、例えば、クラス(属性を含む)、クラス間の関連(以下関連と称する)、または、汎化(クラスとその上位概念のクラスとの関係)、インスタンス(属性値を含む)、リンクである。なお、関連および汎化もクラスの一種とすれば、要素は、クラスとなる。
RDB格納部130は、項目(列)とその項目に対応するレコード(行)とからなるテーブルにて表されるRDBの要素を格納する。図1では、RDB格納部130は、RDBの要素131−1〜131−3を格納しているが、その数については3つに限らない。なお、その項目は、要素を格納することができ、また、その項目に対応するレコードは、その項目に格納された要素のデータ(インスタンス)を格納することができる。
マッピング処理部120は、要素格納部110に格納されている各要素を、RDB格納部130に格納されるRDBの要素(テーブル、列、行等)にマッピングする。
さらにマッピング処理部120には、メモリ121と、受付部123と、選択部122と、マッピング部124とが設けられている。ここで例えば、マッピング処理部120が、メモリを有するCPU等のコンピュータである場合、マッピング処理部120は、ソフトウェア(プログラム)を実行することによって、メモリ121と、受付部123と、選択部122と、マッピング部124とを実現する。
メモリ(カプセル化対象要素格納部)121は、マッピング処理部120の作業メモリとして使用される。
受付部123は、例えば、カプセル化の対象となる複数の要素を選択するための選択条件(例えば、利用者にて選択された具体的な要素名)を受け付ける。
また、受付部123は、選択条件に応じて選択された複数の要素のまとめ方を特定するための特定条件(例えば、要素の処理に対して要求される処理速度)を受け付ける。
選択部122は、受付部123にて選択条件を受け付けた場合、要素格納部110に格納されている複数の要素から、受付部123にて受け付けられた選択条件に合う複数の要素を選択し、選択された要素をメモリ121に格納する。
マッピング部124は、受付部123から提供される利用者から受け付けられた特定条件に従って、オブジェクトモデルの各要素に対応するRDBの要素をRDB格納部130に格納する。また、マッピング部124は、利用者や他のマッピング処理部120から要求された処理に対して、各要素を操作するためのSQL文を生成する。また、マッピング部124はマッピング処理部120に情報を受け渡すために、生成したSQL文をコンテキスト情報管理部201へ送信する。他のマッピング処理部120より、コンテキスト情報識別子を含むメッセージを受け取った場合、マッピング部124は、コンテキスト情報管理装置200からコンテキスト情報を受け取り、コンテキスト情報の中身を解析せずに副問い合わせの内容などにして生成したSQL文の中に組み込んでSQL文を統合する。
なお、マッピング装置100−2〜100−nの構成についても、上述したマッピング装置100−1の構成と同様である。
また、コンテキスト情報管理装置200には、コンテキスト情報管理部201と、コンテキスト情報記憶部202とが設けられている。
コンテキスト情報管理部201は、マッピング部124から送信されてきたSQL文を、当該SQL文の内容を隠蔽した状態でコンテキスト情報記憶部202に記憶させ、管理する。
図2は、図1に示した要素格納部110に格納されたオブジェクトモデルの一例を示す図である。
図1に示した要素格納部110に格納されたオブジェクトモデルは図2に示すように、分野名と、団体名と、氏名と、活動期間と、役職名とのそれぞれの要素の関連を有するオブジェクトモデルである。このオブジェクトモデルには、以下の(1)〜(5)に示す特徴がある。
(1)「分野」は一般的に幅広く利用される(「団体」以外の分野としても利用される)。
(2)「分野名」を検索条件とした団体の検索は高速な処理が要求される。
(3)「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用される。
(4)「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求される。
(5)「人」は一般的に幅広く利用される(「団体」で活動する人以外も取り扱われる)。
図3は、図2に示したオブジェクトモデルに対するRDB格納部130へのマッピングの一例を説明するための図である。なお、図3において、図1に示したものと同一のものには同一符号を付してある。
図3に示したマッピングでは、要素格納部110に格納されているオブジェクトモデルの要素とマッピング処理部120に格納されているRDBラッパーとの対応付けは、以下のようになる。
「分野」は、一般的に幅広く利用されるので、「分野」のクラス(要素)は、マッピング処理部120のメモリ121に、「分野ラッパー」(RDBラッパー)として単独でマッピングされる。
「分野名」を検索条件とした団体の検索は高速な処理が要求され、「分野」は必ず「団体」に対するメッセージで必要な動作でのみ利用されるという特徴があるので、「団体」のクラス(要素)および「分野」と「団体」との間の関連(要素)は、マッピング処理部120のメモリ121に、「団体ラッパー」(RDBラッパー)として、まとめてマッピングされる。
「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求され、「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用されるので、「活動」の関連クラス(要素)と、「役職」のクラス(要素)と、「活動」と「役職」の間の関連(要素)とは、マッピング処理部120のメモリ121に、「活動ラッパー」(RDBラッパー)として、まとめてマッピングされる。
「人」は、一般的に幅広く利用されるので、「人」のクラス(要素)は、マッピング処理部120のメモリ121に、「人ラッパー」(RDBラッパー)として単独でマッピングされる。
また、マッピング処理部120に格納されているRDBラッパーとRDB格納部130に格納されるRDBのテーブルの対応付けは、以下のようになる。
「団体ラッパー」に対応する「分野」-「団体」の関連(要素)及び「団体」クラス(要素)について、従来のORマッピングと同様に、それらの各要素にそれぞれ対応する分野−団体テーブル及び団体テーブルが作成される。なお、分野−団体テーブル及び団体テーブルは、1つのグループに属する。
同様に、「分野ラッパー」に対応する「分野テーブル」(RDBテーブル)と、「活動ラッパー」に対応する「活動テーブル」(RDBのテーブル)と、「人ラッパー」に対応する「人テーブル」(RDBのテーブル)とが作成される。
以下に、図1に示したマッピングシステムにおけるマッピング方法について詳細に説明する。
図4は、図1に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。ここでは、人IDで示される「人」が活動している「団体」の中で、指定された分野名の「分野」の「団体」をマッピング処理部120にて検索する場合を例に挙げて説明する。
まず、受付部123にて人IDに基づいて所属団体の検索が受け付けられると(ステップS1)、人ラッパーから活動ラッパーへ、人IDに基づいた団体(分野名)の検索メッセージが渡される(ステップS2)。
すると、活動ラッパーから団体ラッパーへ、活動ラッパーにおける戻り値である団体IDに基づいた団体(分野名)の検索メッセージが渡される(ステップS3)。そして、団体ラッパーにて団体IDに基づいた分野名が取得されると、取得された分野名のメッセージである一致確認メッセージが分野ラッパーへ渡される(ステップS4)。
分野ラッパーにおいては、団体ラッパーから渡された分野一致確認メッセージに基づいて分野IDと分野名との一致が確認され、一致したかどうかが分野ラッパーから団体ラッパーへ通知される(ステップS5)。
その後、団体ラッパーから活動ラッパーへ、団体名が通知され(ステップS6)、活動ラッパーから人ラッパーへ、団体名一覧が通知され(ステップS7)、さらに、人ラッパーから受付部123へ団体名一覧が通知される(ステップS8)。
ここで、ステップS3〜S6までの処理は、人に関する各々の活動に対して繰り返される。また、ステップS4〜S5までの処理は、団体に関する各々の分野に対して繰りされる。
このシーケンスにおいて、上述したように『「分野名」を検索条件とした団体の検索は高速な処理が要求される。』という特徴があるため、各分野に対する分野一致確認を一括で行うものが必要となる。
図5は、図4に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。
図4を用いて説明したステップS4の処理において、団体ラッパーから分野ラッパーへ分野名の一致確認メッセージが分野ラッパーへ渡される際に、コンテキスト情報が渡される(ステップS41)。
以下に、図5におけるステップS41の処理の詳細について説明する。
図6は、図5におけるステップS41の処理の詳細を説明するためのフローチャートである。また、図7は、図6に示したフローチャートにおける各処理の模式図である。以下、図6及び図7を用いて説明する。
「団体ラッパー」のマッピング部124にて、団体に関連する分野を取得するための第1のSQL文(<分野IDのSELECT文>)
「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」
が生成される(ステップS11)。この第1のSQL文を単独で実行した場合には、複数(例えば、数十)の分野IDが検索される。
そして、「団体ラッパー」のマッピング部124からコンテキスト情報管理部201へ、生成された第1のSQL文が渡される。コンテキスト情報管理部201にて受け取った第1のSQL文に固有のコンテキスト情報識別子が付与され、付与されたコンテキスト情報識別子と当該第1のSQL文とが対応付けられてコンテキスト情報としてコンテキスト情報記憶部202に格納される(ステップS12)。このときのコンテキスト情報識別子をAとする。また、コンテキスト情報識別子Aが「団体ラッパー」のマッピング部124へ送信される。
その後、「団体ラッパー」から「分野ラッパー」へ「コンテキスト情報識別子A」と分野名=「”化学工業”」の引数と共に「分野一致確認」のメッセージが送付される(ステップS13)。この実施例では、メッセージの引数として1つコンテキスト情報識別子となっているが、メッセージの引数に複数のコンテキスト情報識別子が指定されても良い。
「分野ラッパー」のマッピング部124にて、受け取った「分野一致確認」のメッセージを処理するための第2のSQL文の”分野ラッパー”のマッピング部分
「SELECT 分野ID FROM 分野テーブル WHERE 分野ID IN ( <分野IDのSELECT文> ) AND 分野名 ="化学工業"」
が生成される(ステップS14)。
そして、「分野ラッパー」のマッピング部124から、コンテキスト情報管理部201へ「コンテキスト情報識別子A」のコンテキスト情報の取得が要求される。コンテキスト情報管理部201にて、受け取った「コンテキスト情報識別子A」を検索キーにして、コンテキスト情報記憶部202から、コンテキスト情報(コンテキスト情報識別子:「コンテキスト情報識別子A」、第1のSQL文(<分野IDのSELECT文>:「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」)が取得され、「分野ラッパー」のマッピング部124に受け渡される(ステップS15)。
「分野ラッパー」のマッピング部124にて、ステップS14で生成された第2のSQL文に、受け取ったコンテキスト情報の第1のSQL文が組み込まれ、分野一致確認メッセージを処理する最終的なSQL文
「SELECT 分野ID FROM 分野テーブル WHERE 分野ID IN ( SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001” ) AND 分野名 ="化学工業"」
が生成される(ステップS16)。この最終的なSQL文を実行することにより高速に、且つ性能劣化することなく団体が指定された分野名(”化学工業”)の分野に関連しているかどうかを確認する処理を行うことができる。ここで、生成された最終的なSQL文は、一般的にRDBMS(リレーショナルデータベース管理システム)などによって、高速に処理できるように最適化されたSQL文に変換されて実行される。また、このように生成されたSQL文を、新たな別のコンテキスト情報として利用しても良い。
以上により本発明においては、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。変更の柔軟性が高くなる理由は、変更が容易になるになるようにプログラムをRDBラッパーのメッセージ単位に分割して記述できるためである。開発難易度の低下する理由は、複雑なプログラム(含マッピングされたSQL文)がRDBラッパーのメッセージ単位に小さく分割して記述されるためである。高速な実行性能を実現できる理由は、RDBラッパー間での1つの協調動作でのSQL文発行回数を最高1回まで統合して実行するため、以下に示す(イ)〜(ハ)の効果が得られるためである。
(イ)SQL文が統合され、SQL文の発行回数が減る。
(ロ)各SQL文の実行の間での引数及び実行結果の受け渡しが減るため、受け渡されるデータ量が減る(データの受け渡しは、通信によって行われるのが一般的である)。
(ハ)統合されたSQL文に対して、RDBMSのSQL実行最適化が行われる(個々のSQL文を最適化するよりも、最適化の範囲が広くなる)。
本発明のマッピングシステムの実施の一形態を示す図である。 図1に示した要素格納部に格納されたオブジェクトモデルの一例を示す図である。 図2に示したオブジェクトモデルに対するRDB格納部へのマッピングの一例を説明するための図である。 図1に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。 図4に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。 図5におけるステップS41の処理の詳細を説明するためのフローチャートである。 図7は、図6に示したフローチャートにおける各処理の模式図である。
符号の説明
101−1〜101−n マッピング装置
110 要素格納部
111−1〜111−3 オブジェクトモデル要素
120 マッピング処理部
121 メモリ
122 選択部
123 受付部
124 マッピング部
130 RDB格納部
131−1〜131−3 RDBの要素
200 コンテキスト情報管理装置
201 コンテキスト情報管理部
202 コンテキスト情報記憶部

Claims (6)

  1. メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
    前記マッピング装置は、
    オブジェクトモデルの複数の要素を格納する要素格納部と、
    項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するRDB格納部と、
    カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
    前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
    前記メモリに格納された複数の要素を取得するための第1のSQL文を生成し、該第1のSQL文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
    前記コンテキスト情報管理装置は、
    前記マッピング部から送信されてきた第1のSQL文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第1のSQL文と前記識別子とを対応付けるコンテキスト情報管理部と、
    前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
    前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得し、取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込むことを特徴とするマッピングシステム。
  2. 請求項1に記載のマッピングシステムにおいて、
    前記マッピング部は、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信し、
    前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与し、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付け、
    前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶することを特徴とするマッピングシステム。
  3. メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
    前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
    前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
    前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
    前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
    前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
    前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する処理と、
    前記マッピング装置が、前記第1のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
    前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する処理と、
    前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
    前記コンテキスト情報管理装置が、前記第1のSQL文と前記識別子とを対応付ける処理と、
    前記コンテキスト情報管理装置が、前記対応付けられた前記第1のSQL文と前記識別子とを記憶する処理と、
    前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する処理と、
    前記マッピング装置が、前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む処理とを有するマッピング方法。
  4. 請求項3に記載のマッピング方法において、
    前記マッピング装置が、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
    前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する処理と、
    前記コンテキスト情報管理装置が、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける処理と、
    前記コンテキスト情報記憶装置が、前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する処理とを有することを特徴とするマッピング方法。
  5. メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
    前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
    項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
    カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
    前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
    前記選択された複数の要素を前記メモリに格納する手順と、
    前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する手順と、
    前記第1のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
    前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する手順と、
    前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
    前記第1のSQL文と前記識別子とを対応付ける手順と、
    前記対応付けられた前記第1のSQL文と前記識別子とを記憶する手順と、
    前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する手順と、
    前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む手順とをコンピュータに実行させるプログラム。
  6. 請求項5に記載のプログラムにおいて、
    前記第1のSQL文が組み込まれた第2のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
    前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する手順と、
    前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける手順と、
    前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する手順とをコンピュータに実行させるプログラム。
JP2007005697A 2007-01-15 2007-01-15 マッピングシステム、マッピング方法及びプログラム Expired - Fee Related JP4632056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007005697A JP4632056B2 (ja) 2007-01-15 2007-01-15 マッピングシステム、マッピング方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005697A JP4632056B2 (ja) 2007-01-15 2007-01-15 マッピングシステム、マッピング方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008171316A JP2008171316A (ja) 2008-07-24
JP4632056B2 true JP4632056B2 (ja) 2011-02-16

Family

ID=39699334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005697A Expired - Fee Related JP4632056B2 (ja) 2007-01-15 2007-01-15 マッピングシステム、マッピング方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4632056B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868353B1 (en) 2022-07-07 2024-01-09 Hewlett Packard Enterprise Development Lp Fingerprints for database queries

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660123A (ja) * 1992-08-12 1994-03-04 Pfu Ltd 副次問い合わせ編集装置およびその方法
JP2000163448A (ja) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> オブジェクト指向照会を実行する方法および装置
JP2003280977A (ja) * 2002-03-27 2003-10-03 Seiko Epson Corp オブジェクト指向データベースによる情報管理
JP2004355416A (ja) * 2003-05-30 2004-12-16 Nobuhiko Nagamori 集合と位相と記号論理によるリレーショナル・データベース検索処理方法
JP2005507121A (ja) * 2001-10-25 2005-03-10 ビーイーエイ・システムズ・インコーポレーテッド マルチパート・ルックトアップ・テーブル・フィールドおよびリレーショナル・データベースの多数のテーブルを伴うデータ処理オペレーションにおけるその使用法
JP2006244478A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 構成可能なクエリを形成するapiおよびクエリ言語
JP2006244498A (ja) * 2005-02-28 2006-09-14 Microsoft Corp オブジェクトリレーショナルデータ用のデータモデル
JP2006244488A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 異なるアプリケーションフレームワーク間のデータサービスのためのプラットフォーム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660123A (ja) * 1992-08-12 1994-03-04 Pfu Ltd 副次問い合わせ編集装置およびその方法
JP2000163448A (ja) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> オブジェクト指向照会を実行する方法および装置
JP2005507121A (ja) * 2001-10-25 2005-03-10 ビーイーエイ・システムズ・インコーポレーテッド マルチパート・ルックトアップ・テーブル・フィールドおよびリレーショナル・データベースの多数のテーブルを伴うデータ処理オペレーションにおけるその使用法
JP2003280977A (ja) * 2002-03-27 2003-10-03 Seiko Epson Corp オブジェクト指向データベースによる情報管理
JP2004355416A (ja) * 2003-05-30 2004-12-16 Nobuhiko Nagamori 集合と位相と記号論理によるリレーショナル・データベース検索処理方法
JP2006244478A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 構成可能なクエリを形成するapiおよびクエリ言語
JP2006244498A (ja) * 2005-02-28 2006-09-14 Microsoft Corp オブジェクトリレーショナルデータ用のデータモデル
JP2006244488A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 異なるアプリケーションフレームワーク間のデータサービスのためのプラットフォーム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868353B1 (en) 2022-07-07 2024-01-09 Hewlett Packard Enterprise Development Lp Fingerprints for database queries

Also Published As

Publication number Publication date
JP2008171316A (ja) 2008-07-24

Similar Documents

Publication Publication Date Title
US11888605B2 (en) Methods and systems for making effective use of system resources
US11080279B2 (en) Dynamic data management
US9753706B2 (en) Adding directives for versions of source files directly into source code
US9747360B2 (en) Mapping non-relational database objects into a relational database model
US7024417B1 (en) Data mining framework using a signature associated with an algorithm
US9411907B2 (en) Method and system for performing searches in a multi-tenant database environment
US20170134388A1 (en) Methods and systems for generating a dynamic workflow in a multi-tenant database environment
US8122012B2 (en) Abstract record timeline rendering/display
US10296625B2 (en) Computerized system and method for identifying relationships
US20120041945A1 (en) Mechanism for facilitating efficient collection and presentation of business activity monitoring data
KR20060127468A (ko) 소프트웨어 모듈의 독립성을 보장하는 데이터베이스어플리케이션을 구현하는 시스템 및 방법
US20130117291A1 (en) System, method and computer program product for defining applications using metadata records created from an object specifying a predefined metadata format
US8504880B2 (en) Mechanism for facilitating efficient error handling in a network environment
US11023346B2 (en) Techniques for providing application contextual information
WO2019113293A1 (en) Systems and methods for monitoring execution of structured query language (sql) queries
US11120016B2 (en) Automated generation of a query statement based on user selections received through a user interface
US20090112794A1 (en) Aliased keys for federated database queries
US20110314373A1 (en) System, method and computer program product for performing actions associated with data to be displayed, utilizing a widget
US20060161573A1 (en) Logical record model entity switching
JP4632056B2 (ja) マッピングシステム、マッピング方法及びプログラム
US20120016913A1 (en) Using xml to run tests in a multi-tenant database environment
US9977916B2 (en) Reach objects
JP2004062566A (ja) データベースシステム及びそれを構成するマスターノード装置及びプログラム
US20200233679A1 (en) Software application optimization
US20190197169A1 (en) Generating a combined database with data extracted from multiple systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101020

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees