(57)【要約】【課題】オブジェクトのカプセル化を実現し、所定の処理を高速で行えるアプリケーションソフトウェアを生成する。【解決手段】マッピング装置１００−１に具備されたメモリ１２１に格納されている選択条件に合うオブジェクト要素を取得するための第１のＳＱＬ文がマッピング部１２４にて生成されてコンテキスト情報管理部２０１へ送信され、コンテキスト情報管理部２０１にて第１のＳＱＬ文に固有の識別子が付与されてコンテキスト情報記憶部２０２に格納され、コンテキスト情報記憶部２０２に格納された識別子に基づいて第１のＳＱＬ文がマッピング装置１００−１にて取得され、メッセージを処理するための第２のＳＱＬ文に第１のＳＱＬ文が組み込まれる。【選択図】図１
2008171316.tif 000002
【特許請求の範囲】
【請求項１】
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
前記マッピング装置は、
オブジェクトモデルの複数の要素を格納する要素格納部と、
項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するＲＤＢ格納部と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成し、該第１のＳＱＬ文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
前記コンテキスト情報管理装置は、
前記マッピング部から送信されてきた第１のＳＱＬ文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第１のＳＱＬ文と前記識別子とを対応付けるコンテキスト情報管理部と、
前記コンテキスト情報管理部にて対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得し、取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込むことを特徴とするマッピングシステム。
【請求項２】
請求項１に記載のマッピングシステムにおいて、
前記マッピング部は、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記コンテキスト情報管理装置へ送信し、
前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与し、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付け、
前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶することを特徴とするマッピングシステム。
【請求項３】
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成する処理と、
前記マッピング装置が、前記第１のＳＱＬ文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第１のＳＱＬ文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記第１のＳＱＬ文と前記識別子とを対応付ける処理と、
前記コンテキスト情報管理装置が、前記対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶する処理と、
前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得する処理と、
前記マッピング装置が、前記取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込む処理とを有するマッピング方法。
【請求項４】
請求項３に記載のマッピング方法において、
前記マッピング装置が、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付ける処理と、
前記コンテキスト情報記憶装置が、前記対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶する処理とを有することを特徴とするマッピング方法。
【請求項５】
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
前記選択された複数の要素を前記メモリに格納する手順と、
前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成する手順と、
前記第１のＳＱＬ文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング装置から送信されてきた第１のＳＱＬ文に固有の識別子を付与する手順と、
前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
前記第１のＳＱＬ文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶する手順と、
前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得する手順と、
前記取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込む手順とをコンピュータに実行させるプログラム。
【請求項６】
請求項５に記載のプログラムにおいて、
前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与する手順と、
前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶する手順とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マッピングシステム、マッピング方法及びプログラムに関し、特にオブジェクトモデルの要素（例えば、クラス）をリレーショナルデータベース（ＲＤＢ）にマッピングするマッピングシステム、マッピング方法及びプログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトウェアを、オブジェクト指向技術で開発する場合でも、オブジェクト指向データベースのデータ層にＯＤＢＭＳ（オブジェクトデータベース管理システム）を利用せずに、ＲＤＢＭＳ（リレーショナルデータベース管理システム）を利用することが多い。
【０００３】
この場合、オブジェクトモデルをＲＤＢで保管するために、オブジェクトモデルの各要素とＲＤＢの各要素との間でのマッピング（以下「ＯＲマッピング」と称する。）が必要となる。
【０００４】
なお、オブジェクトモデルの各要素は、例えば、クラス（属性を含む）、関連（クラス間の関連）、および、汎化（クラスとその上位概念のクラスとの関係）であり、ＲＤＢの各要素は、各テーブルの項目（属性）である。
【０００５】
従来のマッピング方法の例が、特許文献１（特開２０００−１４８５５５号公報）に記載されている。
【０００６】
従来の一般的な方法では、オブジェクトモデルとＲＤＢは直接的にマッピングされる。
【０００７】
例えば、オブジェクトモデルの１つのクラスは、ＲＤＢの１つのテーブルの項目にマッピングされ、オブジェクトモデルの１つの関連は、ＲＤＢの１つのテーブルの項目にマッピングされるか、その関連にて示されるクラスに対応するテーブルの項目に埋め込まれるかしてマッピングされる。
【０００８】
また、オブジェクトモデルのクラスのインスタンスは、そのクラスを項目としたＲＤＢのテーブルのレコードにマッピングされ、オブジェクトモデルの関連のインスタンスは、例えば、その関連を項目としたＲＤＢのテーブルのレコードにマッピングされる。
【０００９】
なお、特許文献１では、オブジェクトモデルの１つのクラスを、ＲＤＢの複数のテーブルの項目にマッピングするという構成になっている。
【特許文献１】特開２０００−１４８５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に記載されたような、オブジェクトモデルとＲＤＢとの直接的なマッピングでは、オブジェクト指向のデータと手続きを一体化して情報を隠蔽する特徴（＝カプセル化）と、アプリケーションソフトウェアに要求される処理時間（＝必要に応じて高速に処理する）の両方を満たすことは困難である。
【００１１】
その理由は、オブジェクトモデルの要素ごとにＲＤＢのテーブルが作成され、それらのオブジェクトモデルの要素やテーブルがグループ化されていないからである。このため、カプセル化を行う場合は、個々のオブジェクトモデルの要素ごとにカプセル化することになり、オブジェクトモデルの要素に対応するテーブルごとに逐次的に処理する必要があるため、処理時間を高速化することが困難になる。
【００１２】
結果として、カプセル化が行われないことによって、オブジェクトの協調動作の仕組みが壊され、アプリケーションソフトウェアの柔軟性が損なわれたり、オブジェクトモデルの個々の要素を独立させて処理することによって、要求される処理時間より長い処理時間がかかったりするという問題が発生する。
【００１３】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができるマッピングシステム、マッピング方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明は、
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
前記マッピング装置は、
オブジェクトモデルの複数の要素を格納する要素格納部と、
項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するＲＤＢ格納部と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成し、該第１のＳＱＬ文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
前記コンテキスト情報管理装置は、
前記マッピング部から送信されてきた第１のＳＱＬ文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第１のＳＱＬ文と前記識別子とを対応付けるコンテキスト情報管理部と、
前記コンテキスト情報管理部にて対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得し、取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込むことを特徴とする。
【００１５】
また、前記マッピング部は、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記コンテキスト情報管理装置へ送信し、
前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与し、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付け、
前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶することを特徴とする。
【００１６】
また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成する処理と、
前記マッピング装置が、前記第１のＳＱＬ文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第１のＳＱＬ文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記第１のＳＱＬ文と前記識別子とを対応付ける処理と、
前記コンテキスト情報管理装置が、前記対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶する処理と、
前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得する処理と、
前記マッピング装置が、前記取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込む処理とを有する。
【００１７】
また、前記マッピング装置が、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付ける処理と、
前記コンテキスト情報記憶装置が、前記対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶する処理とを有することを特徴とする。
【００１８】
また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
前記選択された複数の要素を前記メモリに格納する手順と、
前記メモリに格納された複数の要素を取得するための第１のＳＱＬ文を生成する手順と、
前記第１のＳＱＬ文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング装置から送信されてきた第１のＳＱＬ文に固有の識別子を付与する手順と、
前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
前記第１のＳＱＬ文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第１のＳＱＬ文と前記識別子とを記憶する手順と、
前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第１のＳＱＬ文を取得する手順と、
前記取得された前記第１のＳＱＬ文をメッセージを処理するための第２のＳＱＬ文に組み込む手順とをコンピュータに実行させる。
【００１９】
また、前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング部から送信されてきた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文に固有の識別子を付与する手順と、
前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第１のＳＱＬ文が組み込まれた第２のＳＱＬ文と前記識別子とを記憶する手順とをコンピュータに実行させる。
【００２０】
上記のように構成された本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第１のＳＱＬ文が生成され、生成された第１のＳＱＬ文に固有の識別子が付与されて格納され、識別子に基づいて第１のＳＱＬ文が取得され、メッセージを処理するための第２のＳＱＬ文に第１のＳＱＬ文が組み込まれる。
【００２１】
これにより、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。
【発明の効果】
【００２２】
以上説明したように本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第１のＳＱＬ文を生成し、生成された第１のＳＱＬ文に固有の識別子を付与して格納し、識別子に基づいて第１のＳＱＬ文を取得し、メッセージを処理するための第２のＳＱＬ文に第１のＳＱＬ文を組み込む構成としたため、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができる。
【発明を実施するための最良の形態】
【００２３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２４】
図１は、本発明のマッピングシステムの実施の一形態を示す図である。
【００２５】
本形態は図１に示すように、マッピング装置１００−１〜１００−ｎと、マッピング装置１００−１〜１００−ｎと接続されたコンテキスト情報管理装置２００とから構成されている。
【００２６】
さらに、マッピング装置１００−１には、要素格納部１１０と、マッピング処理部（ＲＤＢラッパー）１２０と、ＲＤＢ（リレーショナルデータベース）格納部１３０とが設けられている。
【００２７】
要素格納部１１０は、オブジェクトモデルの複数の要素を格納する。図１では、要素格納部１１０は、オブジェクトモデルの要素（以下、要素と称する。）１１１−１〜１１１−３を格納しているが、その数については３つに限らない。要素は、例えば、クラス（属性を含む）、クラス間の関連（以下関連と称する）、または、汎化（クラスとその上位概念のクラスとの関係）、インスタンス（属性値を含む）、リンクである。なお、関連および汎化もクラスの一種とすれば、要素は、クラスとなる。
【００２８】
ＲＤＢ格納部１３０は、項目（列）とその項目に対応するレコード（行）とからなるテーブルにて表されるＲＤＢの要素を格納する。図１では、ＲＤＢ格納部１３０は、ＲＤＢの要素１３１−１〜１３１−３を格納しているが、その数については３つに限らない。なお、その項目は、要素を格納することができ、また、その項目に対応するレコードは、その項目に格納された要素のデータ（インスタンス）を格納することができる。
【００２９】
マッピング処理部１２０は、要素格納部１１０に格納されている各要素を、ＲＤＢ格納部１３０に格納されるＲＤＢの要素（テーブル、列、行等）にマッピングする。
【００３０】
さらにマッピング処理部１２０には、メモリ１２１と、受付部１２３と、選択部１２２と、マッピング部１２４とが設けられている。ここで例えば、マッピング処理部１２０が、メモリを有するＣＰＵ等のコンピュータである場合、マッピング処理部１２０は、ソフトウェア（プログラム）を実行することによって、メモリ１２１と、受付部１２３と、選択部１２２と、マッピング部１２４とを実現する。
【００３１】
メモリ（カプセル化対象要素格納部）１２１は、マッピング処理部１２０の作業メモリとして使用される。
【００３２】
受付部１２３は、例えば、カプセル化の対象となる複数の要素を選択するための選択条件（例えば、利用者にて選択された具体的な要素名）を受け付ける。
【００３３】
また、受付部１２３は、選択条件に応じて選択された複数の要素のまとめ方を特定するための特定条件（例えば、要素の処理に対して要求される処理速度）を受け付ける。
【００３４】
選択部１２２は、受付部１２３にて選択条件を受け付けた場合、要素格納部１１０に格納されている複数の要素から、受付部１２３にて受け付けられた選択条件に合う複数の要素を選択し、選択された要素をメモリ１２１に格納する。
【００３５】
マッピング部１２４は、受付部１２３から提供される利用者から受け付けられた特定条件に従って、オブジェクトモデルの各要素に対応するＲＤＢの要素をＲＤＢ格納部１３０に格納する。また、マッピング部１２４は、利用者や他のマッピング処理部１２０から要求された処理に対して、各要素を操作するためのＳＱＬ文を生成する。また、マッピング部１２４はマッピング処理部１２０に情報を受け渡すために、生成したＳＱＬ文をコンテキスト情報管理部２０１へ送信する。他のマッピング処理部１２０より、コンテキスト情報識別子を含むメッセージを受け取った場合、マッピング部１２４は、コンテキスト情報管理装置２００からコンテキスト情報を受け取り、コンテキスト情報の中身を解析せずに副問い合わせの内容などにして生成したＳＱＬ文の中に組み込んでＳＱＬ文を統合する。
【００３６】
なお、マッピング装置１００−２〜１００−ｎの構成についても、上述したマッピング装置１００−１の構成と同様である。
【００３７】
また、コンテキスト情報管理装置２００には、コンテキスト情報管理部２０１と、コンテキスト情報記憶部２０２とが設けられている。
【００３８】
コンテキスト情報管理部２０１は、マッピング部１２４から送信されてきたＳＱＬ文を、当該ＳＱＬ文の内容を隠蔽した状態でコンテキスト情報記憶部２０２に記憶させ、管理する。
【００３９】
図２は、図１に示した要素格納部１１０に格納されたオブジェクトモデルの一例を示す図である。
【００４０】
図１に示した要素格納部１１０に格納されたオブジェクトモデルは図２に示すように、分野名と、団体名と、氏名と、活動期間と、役職名とのそれぞれの要素の関連を有するオブジェクトモデルである。このオブジェクトモデルには、以下の（１）〜（５）に示す特徴がある。
【００４１】
（１）「分野」は一般的に幅広く利用される（「団体」以外の分野としても利用される）。
【００４２】
（２）「分野名」を検索条件とした団体の検索は高速な処理が要求される。
【００４３】
（３）「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用される。
【００４４】
（４）「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求される。
【００４５】
（５）「人」は一般的に幅広く利用される（「団体」で活動する人以外も取り扱われる）。
【００４６】
図３は、図２に示したオブジェクトモデルに対するＲＤＢ格納部１３０へのマッピングの一例を説明するための図である。なお、図３において、図１に示したものと同一のものには同一符号を付してある。
【００４７】
図３に示したマッピングでは、要素格納部１１０に格納されているオブジェクトモデルの要素とマッピング処理部１２０に格納されているＲＤＢラッパーとの対応付けは、以下のようになる。
【００４８】
「分野」は、一般的に幅広く利用されるので、「分野」のクラス（要素）は、マッピング処理部１２０のメモリ１２１に、「分野ラッパー」（ＲＤＢラッパー）として単独でマッピングされる。
【００４９】
「分野名」を検索条件とした団体の検索は高速な処理が要求され、「分野」は必ず「団体」に対するメッセージで必要な動作でのみ利用されるという特徴があるので、「団体」のクラス（要素）および「分野」と「団体」との間の関連（要素）は、マッピング処理部１２０のメモリ１２１に、「団体ラッパー」（ＲＤＢラッパー）として、まとめてマッピングされる。
【００５０】
「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求され、「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用されるので、「活動」の関連クラス（要素）と、「役職」のクラス（要素）と、「活動」と「役職」の間の関連（要素）とは、マッピング処理部１２０のメモリ１２１に、「活動ラッパー」（ＲＤＢラッパー）として、まとめてマッピングされる。
【００５１】
「人」は、一般的に幅広く利用されるので、「人」のクラス（要素）は、マッピング処理部１２０のメモリ１２１に、「人ラッパー」（ＲＤＢラッパー）として単独でマッピングされる。
【００５２】
また、マッピング処理部１２０に格納されているＲＤＢラッパーとＲＤＢ格納部１３０に格納されるＲＤＢのテーブルの対応付けは、以下のようになる。
【００５３】
「団体ラッパー」に対応する「分野」-「団体」の関連（要素）及び「団体」クラス（要素）について、従来のＯＲマッピングと同様に、それらの各要素にそれぞれ対応する分野−団体テーブル及び団体テーブルが作成される。なお、分野−団体テーブル及び団体テーブルは、１つのグループに属する。
【００５４】
同様に、「分野ラッパー」に対応する「分野テーブル」（ＲＤＢテーブル）と、「活動ラッパー」に対応する「活動テーブル」（ＲＤＢのテーブル）と、「人ラッパー」に対応する「人テーブル」（ＲＤＢのテーブル）とが作成される。
【００５５】
以下に、図１に示したマッピングシステムにおけるマッピング方法について詳細に説明する。
【００５６】
図４は、図１に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。ここでは、人ＩＤで示される「人」が活動している「団体」の中で、指定された分野名の「分野」の「団体」をマッピング処理部１２０にて検索する場合を例に挙げて説明する。
【００５７】
まず、受付部１２３にて人ＩＤに基づいて所属団体の検索が受け付けられると（ステップＳ１）、人ラッパーから活動ラッパーへ、人ＩＤに基づいた団体（分野名）の検索メッセージが渡される（ステップＳ２）。
【００５８】
すると、活動ラッパーから団体ラッパーへ、活動ラッパーにおける戻り値である団体ＩＤに基づいた団体（分野名）の検索メッセージが渡される（ステップＳ３）。そして、団体ラッパーにて団体ＩＤに基づいた分野名が取得されると、取得された分野名のメッセージである一致確認メッセージが分野ラッパーへ渡される（ステップＳ４）。
【００５９】
分野ラッパーにおいては、団体ラッパーから渡された分野一致確認メッセージに基づいて分野ＩＤと分野名との一致が確認され、一致したかどうかが分野ラッパーから団体ラッパーへ通知される（ステップＳ５）。
【００６０】
その後、団体ラッパーから活動ラッパーへ、団体名が通知され（ステップＳ６）、活動ラッパーから人ラッパーへ、団体名一覧が通知され（ステップＳ７）、さらに、人ラッパーから受付部１２３へ団体名一覧が通知される（ステップＳ８）。
【００６１】
ここで、ステップＳ３〜Ｓ６までの処理は、人に関する各々の活動に対して繰り返される。また、ステップＳ４〜Ｓ５までの処理は、団体に関する各々の分野に対して繰りされる。
【００６２】
このシーケンスにおいて、上述したように『「分野名」を検索条件とした団体の検索は高速な処理が要求される。』という特徴があるため、各分野に対する分野一致確認を一括で行うものが必要となる。
【００６３】
図５は、図４に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。
【００６４】
図４を用いて説明したステップＳ４の処理において、団体ラッパーから分野ラッパーへ分野名の一致確認メッセージが分野ラッパーへ渡される際に、コンテキスト情報が渡される（ステップＳ４１）。
【００６５】
以下に、図５におけるステップＳ４１の処理の詳細について説明する。
【００６６】
図６は、図５におけるステップＳ４１の処理の詳細を説明するためのフローチャートである。また、図７は、図６に示したフローチャートにおける各処理の模式図である。以下、図６及び図７を用いて説明する。
【００６７】
「団体ラッパー」のマッピング部１２４にて、団体に関連する分野を取得するための第１のＳＱＬ文（＜分野ＩＤのＳＥＬＥＣＴ文＞）
「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」
が生成される（ステップＳ１１）。この第１のＳＱＬ文を単独で実行した場合には、複数（例えば、数十）の分野ＩＤが検索される。
【００６８】
そして、「団体ラッパー」のマッピング部１２４からコンテキスト情報管理部２０１へ、生成された第１のＳＱＬ文が渡される。コンテキスト情報管理部２０１にて受け取った第１のＳＱＬ文に固有のコンテキスト情報識別子が付与され、付与されたコンテキスト情報識別子と当該第１のＳＱＬ文とが対応付けられてコンテキスト情報としてコンテキスト情報記憶部２０２に格納される（ステップＳ１２）。このときのコンテキスト情報識別子をＡとする。また、コンテキスト情報識別子Ａが「団体ラッパー」のマッピング部１２４へ送信される。
【００６９】
その後、「団体ラッパー」から「分野ラッパー」へ「コンテキスト情報識別子Ａ」と分野名＝「”化学工業”」の引数と共に「分野一致確認」のメッセージが送付される（ステップＳ１３）。この実施例では、メッセージの引数として１つコンテキスト情報識別子となっているが、メッセージの引数に複数のコンテキスト情報識別子が指定されても良い。
【００７０】
「分野ラッパー」のマッピング部１２４にて、受け取った「分野一致確認」のメッセージを処理するための第２のＳＱＬ文の”分野ラッパー”のマッピング部分
「SELECT 分野ID FROM 分野テーブル WHERE 分野ID IN ( ＜分野IDのSELECT文＞ ) AND 分野名 ="化学工業"」
が生成される（ステップＳ１４）。
【００７１】
そして、「分野ラッパー」のマッピング部１２４から、コンテキスト情報管理部２０１へ「コンテキスト情報識別子Ａ」のコンテキスト情報の取得が要求される。コンテキスト情報管理部２０１にて、受け取った「コンテキスト情報識別子Ａ」を検索キーにして、コンテキスト情報記憶部２０２から、コンテキスト情報（コンテキスト情報識別子：「コンテキスト情報識別子Ａ」、第１のＳＱＬ文(＜分野IDのSELECT文＞：「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」)が取得され、「分野ラッパー」のマッピング部１２４に受け渡される（ステップＳ１５）。
【００７２】
「分野ラッパー」のマッピング部１２４にて、ステップＳ１４で生成された第２のＳＱＬ文に、受け取ったコンテキスト情報の第１のＳＱＬ文が組み込まれ、分野一致確認メッセージを処理する最終的なＳＱＬ文
「SELECT 分野ID FROM 分野テーブル WHERE 分野ID IN ( SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001” ) AND 分野名 ="化学工業"」
が生成される（ステップＳ１６）。この最終的なＳＱＬ文を実行することにより高速に、且つ性能劣化することなく団体が指定された分野名（”化学工業”）の分野に関連しているかどうかを確認する処理を行うことができる。ここで、生成された最終的なＳＱＬ文は、一般的にＲＤＢＭＳ（リレーショナルデータベース管理システム）などによって、高速に処理できるように最適化されたＳＱＬ文に変換されて実行される。また、このように生成されたＳＱＬ文を、新たな別のコンテキスト情報として利用しても良い。
【００７３】
以上により本発明においては、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。変更の柔軟性が高くなる理由は、変更が容易になるになるようにプログラムをＲＤＢラッパーのメッセージ単位に分割して記述できるためである。開発難易度の低下する理由は、複雑なプログラム（含マッピングされたＳＱＬ文）がＲＤＢラッパーのメッセージ単位に小さく分割して記述されるためである。高速な実行性能を実現できる理由は、ＲＤＢラッパー間での１つの協調動作でのＳＱＬ文発行回数を最高１回まで統合して実行するため、以下に示す（イ）〜（ハ）の効果が得られるためである。
（イ）ＳＱＬ文が統合され、ＳＱＬ文の発行回数が減る。
（ロ）各ＳＱＬ文の実行の間での引数及び実行結果の受け渡しが減るため、受け渡されるデータ量が減る（データの受け渡しは、通信によって行われるのが一般的である)。
（ハ）統合されたＳＱＬ文に対して、ＲＤＢＭＳのＳＱＬ実行最適化が行われる（個々のＳＱＬ文を最適化するよりも、最適化の範囲が広くなる）。
【図面の簡単な説明】
【００７４】
【図１】本発明のマッピングシステムの実施の一形態を示す図である。
【図２】図１に示した要素格納部に格納されたオブジェクトモデルの一例を示す図である。
【図３】図２に示したオブジェクトモデルに対するＲＤＢ格納部へのマッピングの一例を説明するための図である。
【図４】図１に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。
【図５】図４に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。
【図６】図５におけるステップＳ４１の処理の詳細を説明するためのフローチャートである。
【図７】図７は、図６に示したフローチャートにおける各処理の模式図である。
【符号の説明】
【００７５】
１０１−１〜１０１−ｎ    マッピング装置
１１０    要素格納部
１１１−１〜１１１−３    オブジェクトモデル要素
１２０    マッピング処理部
１２１    メモリ
１２２    選択部
１２３    受付部
１２４    マッピング部
１３０    ＲＤＢ格納部
１３１−１〜１３１−３    ＲＤＢの要素
２００    コンテキスト情報管理装置
２０１    コンテキスト情報管理部
２０２    コンテキスト情報記憶部
【図１】
2008171316.tif 000003
【図２】
2008171316.tif 000004
【図３】
2008171316.tif 000005
【図４】
2008171316.tif 000006
【図５】
2008171316.tif 000007
【図６】
2008171316.tif 000008
【図７】
2008171316.tif 000009