JP4632056B2 - Mapping system, mapping method and program - Google Patents

Mapping system, mapping method and program 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
Japanese (ja)
Other versions
JP2008171316A (en
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/en
Publication of JP2008171316A publication Critical patent/JP2008171316A/en
Application granted granted Critical
Publication of JP4632056B2 publication Critical patent/JP4632056B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マッピングシステム、マッピング方法及びプログラムに関し、特にオブジェクトモデルの要素(例えば、クラス)をリレーショナルデータベース(RDB)にマッピングするマッピングシステム、マッピング方法及びプログラムに関する。   The present invention relates to a mapping system, a mapping method, and a program, and more particularly, to a mapping system, a mapping method, and a program for mapping an object model element (for example, a class) to a relational database (RDB).

アプリケーションソフトウェアを、オブジェクト指向技術で開発する場合でも、オブジェクト指向データベースのデータ層にODBMS(オブジェクトデータベース管理システム)を利用せずに、RDBMS(リレーショナルデータベース管理システム)を利用することが多い。   Even when application software is developed using object-oriented technology, RDBMS (relational database management system) is often used instead of ODBMS (object database management system) for the data layer of an object-oriented database.

この場合、オブジェクトモデルをRDBで保管するために、オブジェクトモデルの各要素とRDBの各要素との間でのマッピング(以下「ORマッピング」と称する。)が必要となる。   In this case, in order to store the object model in the RDB, mapping (hereinafter referred to as “OR mapping”) between each element of the object model and each element of the RDB is required.

なお、オブジェクトモデルの各要素は、例えば、クラス(属性を含む)、関連(クラス間の関連)、および、汎化(クラスとその上位概念のクラスとの関係)であり、RDBの各要素は、各テーブルの項目(属性)である。   Each element of the object model is, for example, a class (including attributes), a relation (association between classes), and a generalization (a relation between a class and its higher concept class), and each element of the RDB is , Each table item (attribute).

従来のマッピング方法の例が、特許文献1(特開2000−148555号公報)に記載されている。   An example of a conventional mapping method is described in Patent Document 1 (Japanese Patent Laid-Open No. 2000-148555).

従来の一般的な方法では、オブジェクトモデルとRDBは直接的にマッピングされる。   In the conventional general method, the object model and the RDB are directly mapped.

例えば、オブジェクトモデルの1つのクラスは、RDBの1つのテーブルの項目にマッピングされ、オブジェクトモデルの1つの関連は、RDBの1つのテーブルの項目にマッピングされるか、その関連にて示されるクラスに対応するテーブルの項目に埋め込まれるかしてマッピングされる。   For example, one class of an object model is mapped to an item in one table in the RDB, and one association in the object model is mapped to an item in one table in the RDB or to a class indicated by the association. It is mapped by being embedded in the corresponding table item.

また、オブジェクトモデルのクラスのインスタンスは、そのクラスを項目としたRDBのテーブルのレコードにマッピングされ、オブジェクトモデルの関連のインスタンスは、例えば、その関連を項目としたRDBのテーブルのレコードにマッピングされる。   An instance of an object model class is mapped to a record in an RDB table having the class as an item, and an associated instance of the object model is mapped to a record in an RDB table having the association as an item, for example. .

なお、特許文献1では、オブジェクトモデルの1つのクラスを、RDBの複数のテーブルの項目にマッピングするという構成になっている。
特開2000−148555号公報
In Patent Document 1, one class of an object model is mapped to items in a plurality of RDB tables.
JP 2000-148555 A

しかし、特許文献1に記載されたような、オブジェクトモデルとRDBとの直接的なマッピングでは、オブジェクト指向のデータと手続きを一体化して情報を隠蔽する特徴(=カプセル化)と、アプリケーションソフトウェアに要求される処理時間(=必要に応じて高速に処理する)の両方を満たすことは困難である。   However, in the direct mapping between the object model and the RDB as described in Patent Document 1, a feature (= encapsulation) for concealing information by integrating object-oriented data and procedures, and a requirement for application software It is difficult to satisfy both of the processing time (= high speed processing as necessary).

その理由は、オブジェクトモデルの要素ごとにRDBのテーブルが作成され、それらのオブジェクトモデルの要素やテーブルがグループ化されていないからである。このため、カプセル化を行う場合は、個々のオブジェクトモデルの要素ごとにカプセル化することになり、オブジェクトモデルの要素に対応するテーブルごとに逐次的に処理する必要があるため、処理時間を高速化することが困難になる。   This is because an RDB table is created for each element of the object model, and the elements and tables of the object model are not grouped. For this reason, when encapsulating, each element of the object model is encapsulated, and it is necessary to sequentially process each table corresponding to the element of the object model, so the processing time is increased. It becomes difficult to do.

結果として、カプセル化が行われないことによって、オブジェクトの協調動作の仕組みが壊され、アプリケーションソフトウェアの柔軟性が損なわれたり、オブジェクトモデルの個々の要素を独立させて処理することによって、要求される処理時間より長い処理時間がかかったりするという問題が発生する。   As a result, the lack of encapsulation breaks the mechanism of object collaboration, impairs the flexibility of application software, and is required by processing individual elements of the object model independently. There arises a problem that it takes a longer processing time than the processing time.

本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができるマッピングシステム、マッピング方法およびプログラムを提供することを目的とする。   The present invention has been made in view of the problems of the prior art as described above, and is a mapping system capable of generating application software that realizes object encapsulation and can perform predetermined processing at high speed. An object is to provide a mapping method and a program.

上記目的を達成するために本発明は、
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
前記マッピング装置は、
オブジェクトモデルの複数の要素を格納する要素格納部と、
項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するRDB格納部と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成し、該第1のSQL文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
前記コンテキスト情報管理装置は、
前記マッピング部から送信されてきた第1のSQL文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第1のSQL文と前記識別子とを対応付けるコンテキスト情報管理部と、
前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得し、取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込むことを特徴とする。
In order to achieve the above object, the present invention provides:
In a mapping system comprising a mapping device comprising a memory and a context information management device connected to the mapping device,
The mapping device
An element storage for storing multiple elements of the object model;
An RDB storage unit for storing a relational database represented by a table including items and records corresponding to the items;
A reception unit that receives a selection condition for selecting a plurality of elements to be encapsulated;
A selection unit that selects a plurality of elements that meet the selection condition received by the reception unit from the plurality of elements stored in the element storage unit, and stores the selected plurality of elements in the memory When,
A mapping unit that generates a first SQL statement for acquiring a plurality of elements stored in the memory and transmits the first SQL statement to the context information management device;
The context information management device includes:
A context information management unit that assigns a unique identifier to the first SQL statement transmitted from the mapping unit, transmits the identifier to the mapping device, and associates the first SQL statement with the identifier;
A context information storage unit that stores the first SQL sentence associated with the context information management unit and the identifier;
The mapping unit acquires the first SQL sentence from the context information management device based on the identifier transmitted from the context information management unit, and processes the message with the acquired first SQL sentence It is characterized by being incorporated into the second SQL sentence for

また、前記マッピング部は、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信し、
前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与し、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付け、
前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶することを特徴とする。
Further, the mapping unit transmits a second SQL sentence in which the first SQL sentence is embedded to the context information management device,
The context information management unit assigns a unique identifier to the second SQL sentence in which the first SQL sentence transmitted from the mapping part is incorporated, and the second SQL sentence in which the first SQL sentence is incorporated. The SQL statement is associated with the identifier,
The context information storage unit stores a second SQL sentence in which the first SQL sentence associated with the context information management unit is incorporated, and the identifier.

また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する処理と、
前記マッピング装置が、前記第1のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報管理装置が、前記対応付けられた前記第1のSQL文と前記識別子とを記憶する処理と、
前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する処理と、
前記マッピング装置が、前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む処理とを有する。
A mapping method for mapping an object model element to a relational database element in a mapping system comprising a mapping device having a memory and a context information management device connected to the mapping device,
The mapping device stores the object model element;
The mapping device stores the relational database element represented by a table composed of an item and a record corresponding to the item;
A process in which the mapping apparatus receives a selection condition for selecting a plurality of elements to be encapsulated;
A process in which the mapping device selects a plurality of elements that meet the accepted selection condition from the plurality of stored elements;
A process in which the mapping device stores the selected plurality of elements in the memory;
The mapping device generates a first SQL statement for acquiring a plurality of elements stored in the memory; and
A process in which the mapping device transmits the first SQL statement to the context information management device;
A process in which the context information management device assigns a unique identifier to the first SQL sentence transmitted from the mapping device;
A process in which the context information management device transmits the identifier to the mapping device;
A process in which the context information management device associates the first SQL sentence with the identifier;
A process in which the context information management device stores the associated first SQL sentence and the identifier;
A process in which the mapping device acquires the first SQL statement from the context information management device based on an identifier transmitted from the context information management device;
The mapping apparatus includes a process of incorporating the acquired first SQL sentence into a second SQL sentence for processing a message.

また、前記マッピング装置が、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報記憶装置が、前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する処理とを有することを特徴とする。
In addition, the mapping device transmits a second SQL statement in which the first SQL statement is embedded to the context information management device;
A process in which the context information management device assigns a unique identifier to a second SQL sentence in which the first SQL sentence transmitted from the mapping unit is embedded;
A process in which the context information management device associates a second SQL sentence in which the first SQL sentence is embedded with the identifier;
The context information storage device includes a process of storing a second SQL sentence in which the associated first SQL sentence is incorporated and the identifier.

また、メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
前記選択された複数の要素を前記メモリに格納する手順と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する手順と、
前記第1のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する手順と、
前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
前記第1のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文と前記識別子とを記憶する手順と、
前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する手順と、
前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む手順とをコンピュータに実行させる。
A program for mapping an object model element to a relational database element in a mapping system comprising a mapping device having a memory and a context information management device connected to the mapping device,
Storing the object model element in the mapping device;
A procedure for storing the relational database element represented in a table comprising an item and a record corresponding to the item in the mapping device;
A procedure for accepting selection conditions for selecting a plurality of elements to be encapsulated,
A procedure for selecting a plurality of elements that meet the accepted selection condition from the plurality of stored elements;
Storing the selected plurality of elements in the memory;
Generating a first SQL statement for obtaining a plurality of elements stored in the memory;
A procedure for transmitting the first SQL sentence from the mapping device to the context information management device;
A procedure for assigning a unique identifier to the first SQL sentence transmitted from the mapping device;
Transmitting the identifier from the context information management device to the mapping device;
Associating the first SQL statement with the identifier;
Storing the associated first SQL sentence and the identifier;
A procedure for obtaining the first SQL sentence from the context information management device based on the identifier transmitted from the context information management device;
And causing the computer to execute a procedure for incorporating the acquired first SQL sentence into a second SQL sentence for processing a message.

また、前記第1のSQL文が組み込まれた第2のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する手順と、
前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する手順とをコンピュータに実行させる。
A procedure for transmitting a second SQL statement in which the first SQL statement is embedded from the mapping device to the context information management device;
A procedure for assigning a unique identifier to the second SQL sentence in which the first SQL sentence transmitted from the mapping unit is incorporated;
Associating a second SQL statement in which the first SQL statement is embedded with the identifier;
A computer is caused to execute a procedure for storing a second SQL sentence in which the associated first SQL sentence is incorporated and the identifier.

上記のように構成された本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第1のSQL文が生成され、生成された第1のSQL文に固有の識別子が付与されて格納され、識別子に基づいて第1のSQL文が取得され、メッセージを処理するための第2のSQL文に第1のSQL文が組み込まれる。   In the present invention configured as described above, a first SQL statement for acquiring an object element that meets a selection condition stored in a memory included in the mapping device is generated, and the generated first A unique identifier is assigned to the SQL statement and stored, the first SQL statement is acquired based on the identifier, and the first SQL statement is incorporated into the second SQL statement for processing the message.

これにより、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。   As a result, it is possible to simultaneously realize flexibility in changing application software, a reduction in development difficulty, and high-speed execution performance.

以上説明したように本発明においては、マッピング装置に具備されたメモリに格納されている選択条件に合うオブジェクト要素を取得するための第1のSQL文を生成し、生成された第1のSQL文に固有の識別子を付与して格納し、識別子に基づいて第1のSQL文を取得し、メッセージを処理するための第2のSQL文に第1のSQL文を組み込む構成としたため、オブジェクトのカプセル化が実現され、所定の処理を高速で行えるアプリケーションソフトウェアを生成することができる。   As described above, in the present invention, a first SQL statement for acquiring an object element that meets a selection condition stored in a memory provided in the mapping apparatus is generated, and the generated first SQL statement is generated. Since the first SQL statement is acquired based on the identifier, the first SQL statement is acquired, and the first SQL statement is incorporated into the second SQL statement for processing the message, the capsule of the object Application software that can perform predetermined processing at high speed can be generated.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明のマッピングシステムの実施の一形態を示す図である。   FIG. 1 is a diagram showing an embodiment of a mapping system of the present invention.

本形態は図1に示すように、マッピング装置100−1〜100−nと、マッピング装置100−1〜100−nと接続されたコンテキスト情報管理装置200とから構成されている。   As shown in FIG. 1, the present embodiment includes mapping devices 100-1 to 100-n and a context information management device 200 connected to the mapping devices 100-1 to 100-n.

さらに、マッピング装置100−1には、要素格納部110と、マッピング処理部(RDBラッパー)120と、RDB(リレーショナルデータベース)格納部130とが設けられている。   Further, the mapping apparatus 100-1 includes an element storage unit 110, a mapping processing unit (RDB wrapper) 120, and an RDB (relational database) storage unit 130.

要素格納部110は、オブジェクトモデルの複数の要素を格納する。図1では、要素格納部110は、オブジェクトモデルの要素(以下、要素と称する。)111−1〜111−3を格納しているが、その数については3つに限らない。要素は、例えば、クラス(属性を含む)、クラス間の関連(以下関連と称する)、または、汎化(クラスとその上位概念のクラスとの関係)、インスタンス(属性値を含む)、リンクである。なお、関連および汎化もクラスの一種とすれば、要素は、クラスとなる。   The element storage unit 110 stores a plurality of elements of the object model. In FIG. 1, the element storage unit 110 stores the elements (hereinafter referred to as elements) 111-1 to 111-3 of the object model, but the number is not limited to three. An element can be, for example, a class (including attributes), a relationship between classes (hereinafter referred to as a relationship), or a generalization (a relationship between a class and its higher-level concept), an instance (including an attribute value), or a link. is there. If association and generalization are also a kind of class, an element is a class.

RDB格納部130は、項目(列)とその項目に対応するレコード(行)とからなるテーブルにて表されるRDBの要素を格納する。図1では、RDB格納部130は、RDBの要素131−1〜131−3を格納しているが、その数については3つに限らない。なお、その項目は、要素を格納することができ、また、その項目に対応するレコードは、その項目に格納された要素のデータ(インスタンス)を格納することができる。   The RDB storage unit 130 stores RDB elements represented by a table including items (columns) and records (rows) corresponding to the items. In FIG. 1, the RDB storage unit 130 stores RDB elements 131-1 to 131-3, but the number is not limited to three. The item can store an element, and the record corresponding to the item can store data (instance) of the element stored in the item.

マッピング処理部120は、要素格納部110に格納されている各要素を、RDB格納部130に格納されるRDBの要素(テーブル、列、行等)にマッピングする。   The mapping processing unit 120 maps each element stored in the element storage unit 110 to an RDB element (table, column, row, etc.) stored in the RDB storage unit 130.

さらにマッピング処理部120には、メモリ121と、受付部123と、選択部122と、マッピング部124とが設けられている。ここで例えば、マッピング処理部120が、メモリを有するCPU等のコンピュータである場合、マッピング処理部120は、ソフトウェア(プログラム)を実行することによって、メモリ121と、受付部123と、選択部122と、マッピング部124とを実現する。   Further, the mapping processing unit 120 is provided with a memory 121, a reception unit 123, a selection unit 122, and a mapping unit 124. Here, for example, when the mapping processing unit 120 is a computer such as a CPU having a memory, the mapping processing unit 120 executes the software (program), thereby causing the memory 121, the receiving unit 123, the selection unit 122, , The mapping unit 124 is realized.

メモリ(カプセル化対象要素格納部)121は、マッピング処理部120の作業メモリとして使用される。   The memory (encapsulation target element storage unit) 121 is used as a working memory of the mapping processing unit 120.

受付部123は、例えば、カプセル化の対象となる複数の要素を選択するための選択条件(例えば、利用者にて選択された具体的な要素名)を受け付ける。   For example, the reception unit 123 receives a selection condition (for example, a specific element name selected by the user) for selecting a plurality of elements to be encapsulated.

また、受付部123は、選択条件に応じて選択された複数の要素のまとめ方を特定するための特定条件(例えば、要素の処理に対して要求される処理速度)を受け付ける。   In addition, the reception unit 123 receives a specific condition (for example, a processing speed required for element processing) for specifying how to group a plurality of elements selected according to the selection condition.

選択部122は、受付部123にて選択条件を受け付けた場合、要素格納部110に格納されている複数の要素から、受付部123にて受け付けられた選択条件に合う複数の要素を選択し、選択された要素をメモリ121に格納する。   When the selection unit 122 receives the selection condition in the reception unit 123, the selection unit 122 selects a plurality of elements that meet the selection condition received in the reception unit 123 from the plurality of elements stored in the element storage unit 110. The selected element is stored in the memory 121.

マッピング部124は、受付部123から提供される利用者から受け付けられた特定条件に従って、オブジェクトモデルの各要素に対応するRDBの要素をRDB格納部130に格納する。また、マッピング部124は、利用者や他のマッピング処理部120から要求された処理に対して、各要素を操作するためのSQL文を生成する。また、マッピング部124はマッピング処理部120に情報を受け渡すために、生成したSQL文をコンテキスト情報管理部201へ送信する。他のマッピング処理部120より、コンテキスト情報識別子を含むメッセージを受け取った場合、マッピング部124は、コンテキスト情報管理装置200からコンテキスト情報を受け取り、コンテキスト情報の中身を解析せずに副問い合わせの内容などにして生成したSQL文の中に組み込んでSQL文を統合する。   The mapping unit 124 stores the RDB elements corresponding to the respective elements of the object model in the RDB storage unit 130 according to the specific condition received from the user provided from the reception unit 123. In addition, the mapping unit 124 generates an SQL sentence for operating each element for processing requested by the user or another mapping processing unit 120. Further, the mapping unit 124 transmits the generated SQL sentence to the context information management unit 201 in order to pass information to the mapping processing unit 120. When a message including a context information identifier is received from another mapping processing unit 120, the mapping unit 124 receives the context information from the context information management device 200 and converts it into the contents of the sub-query without analyzing the contents of the context information. The SQL statement is integrated by incorporating it into the generated SQL statement.

なお、マッピング装置100−2〜100−nの構成についても、上述したマッピング装置100−1の構成と同様である。   Note that the configurations of the mapping devices 100-2 to 100-n are the same as the configuration of the mapping device 100-1.

また、コンテキスト情報管理装置200には、コンテキスト情報管理部201と、コンテキスト情報記憶部202とが設けられている。   Further, the context information management device 200 is provided with a context information management unit 201 and a context information storage unit 202.

コンテキスト情報管理部201は、マッピング部124から送信されてきたSQL文を、当該SQL文の内容を隠蔽した状態でコンテキスト情報記憶部202に記憶させ、管理する。   The context information management unit 201 stores and manages the SQL sentence transmitted from the mapping unit 124 in the context information storage unit 202 in a state where the contents of the SQL sentence are concealed.

図2は、図1に示した要素格納部110に格納されたオブジェクトモデルの一例を示す図である。   FIG. 2 is a diagram illustrating an example of an object model stored in the element storage unit 110 illustrated in FIG.

図1に示した要素格納部110に格納されたオブジェクトモデルは図2に示すように、分野名と、団体名と、氏名と、活動期間と、役職名とのそれぞれの要素の関連を有するオブジェクトモデルである。このオブジェクトモデルには、以下の(1)〜(5)に示す特徴がある。   As shown in FIG. 2, the object model stored in the element storage unit 110 shown in FIG. 1 is an object having an association of each element of a field name, an organization name, a name, an activity period, and a title. It is a model. This object model has the following characteristics (1) to (5).

(1)「分野」は一般的に幅広く利用される(「団体」以外の分野としても利用される)。   (1) “Fields” are generally used widely (also used as fields other than “organizations”).

(2)「分野名」を検索条件とした団体の検索は高速な処理が要求される。   (2) Searching for organizations using “field name” as a search condition requires high-speed processing.

(3)「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用される。   (3) “Position” is always used only in a necessary action in a message for “activity”.

(4)「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求される。   (4) The search for “person” using “organization name” and “title” as search conditions requires high-speed processing.

(5)「人」は一般的に幅広く利用される(「団体」で活動する人以外も取り扱われる)。   (5) “People” are generally widely used (other than those who work in “groups”).

図3は、図2に示したオブジェクトモデルに対するRDB格納部130へのマッピングの一例を説明するための図である。なお、図3において、図1に示したものと同一のものには同一符号を付してある。   FIG. 3 is a diagram for explaining an example of mapping of the object model shown in FIG. 2 to the RDB storage unit 130. In FIG. 3, the same components as those shown in FIG.

図3に示したマッピングでは、要素格納部110に格納されているオブジェクトモデルの要素とマッピング処理部120に格納されているRDBラッパーとの対応付けは、以下のようになる。   In the mapping illustrated in FIG. 3, the association between the object model element stored in the element storage unit 110 and the RDB wrapper stored in the mapping processing unit 120 is as follows.

「分野」は、一般的に幅広く利用されるので、「分野」のクラス(要素)は、マッピング処理部120のメモリ121に、「分野ラッパー」(RDBラッパー)として単独でマッピングされる。   Since the “field” is generally widely used, the class (element) of the “field” is independently mapped as a “field wrapper” (RDB wrapper) in the memory 121 of the mapping processing unit 120.

「分野名」を検索条件とした団体の検索は高速な処理が要求され、「分野」は必ず「団体」に対するメッセージで必要な動作でのみ利用されるという特徴があるので、「団体」のクラス(要素)および「分野」と「団体」との間の関連(要素)は、マッピング処理部120のメモリ121に、「団体ラッパー」(RDBラッパー)として、まとめてマッピングされる。   Searching for organizations that use “field name” as a search condition requires high-speed processing, and because “field” is always used only for operations required for messages to “group”, the “group” class (Elements) and associations (elements) between “fields” and “organizations” are collectively mapped as “organization wrappers” (RDB wrappers) in the memory 121 of the mapping processing unit 120.

「団体名」と「役職名」を検索条件とした「人」の検索は高速な処理が要求され、「役職」は必ず「活動」に対するメッセージで必要な動作でのみ利用されるので、「活動」の関連クラス(要素)と、「役職」のクラス(要素)と、「活動」と「役職」の間の関連(要素)とは、マッピング処理部120のメモリ121に、「活動ラッパー」(RDBラッパー)として、まとめてマッピングされる。   Searching for “people” using “organization name” and “title” as search criteria requires high-speed processing, and “title” is always used only in the action required for messages related to “activity”. , A class (element) of “position”, and a relationship (element) between “activity” and “position” are stored in the memory 121 of the mapping processing unit 120 as “activity wrapper” ( RDB wrappers) are collectively mapped.

「人」は、一般的に幅広く利用されるので、「人」のクラス(要素)は、マッピング処理部120のメモリ121に、「人ラッパー」(RDBラッパー)として単独でマッピングされる。   Since “person” is generally widely used, the class (element) of “person” is mapped alone as a “person wrapper” (RDB wrapper) in the memory 121 of the mapping processing unit 120.

また、マッピング処理部120に格納されているRDBラッパーとRDB格納部130に格納されるRDBのテーブルの対応付けは、以下のようになる。   The association between the RDB wrapper stored in the mapping processing unit 120 and the RDB table stored in the RDB storage unit 130 is as follows.

「団体ラッパー」に対応する「分野」-「団体」の関連(要素)及び「団体」クラス(要素)について、従来のORマッピングと同様に、それらの各要素にそれぞれ対応する分野−団体テーブル及び団体テーブルが作成される。なお、分野−団体テーブル及び団体テーブルは、1つのグループに属する。   As with the conventional OR mapping, the “field”-“association” association (element) and the “organization” class (element) corresponding to the “organization wrapper” correspond to the respective fields—organization table and A group table is created. The field-group table and the group table belong to one group.

同様に、「分野ラッパー」に対応する「分野テーブル」(RDBテーブル)と、「活動ラッパー」に対応する「活動テーブル」(RDBのテーブル)と、「人ラッパー」に対応する「人テーブル」(RDBのテーブル)とが作成される。   Similarly, a “field table” (RDB table) corresponding to the “field wrapper”, an “activity table” (RDB table) corresponding to the “activity wrapper”, and a “people table” corresponding to the “person wrapper” ( RDB table).

以下に、図1に示したマッピングシステムにおけるマッピング方法について詳細に説明する。   Hereinafter, a mapping method in the mapping system shown in FIG. 1 will be described in detail.

図4は、図1に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。ここでは、人IDで示される「人」が活動している「団体」の中で、指定された分野名の「分野」の「団体」をマッピング処理部120にて検索する場合を例に挙げて説明する。   FIG. 4 is a sequence diagram for explaining an example of a mapping method in the mapping system shown in FIG. Here, as an example, the mapping processing unit 120 searches for “organization” of the “field” of the designated field name among “organizations” in which the “person” indicated by the person ID is active. I will explain.

まず、受付部123にて人IDに基づいて所属団体の検索が受け付けられると(ステップS1)、人ラッパーから活動ラッパーへ、人IDに基づいた団体(分野名)の検索メッセージが渡される(ステップS2)。   First, when a search for an affiliated organization is received based on the person ID in the reception unit 123 (step S1), a search message for the group (field name) based on the person ID is passed from the person wrapper to the activity wrapper (step S1). S2).

すると、活動ラッパーから団体ラッパーへ、活動ラッパーにおける戻り値である団体IDに基づいた団体(分野名)の検索メッセージが渡される(ステップS3)。そして、団体ラッパーにて団体IDに基づいた分野名が取得されると、取得された分野名のメッセージである一致確認メッセージが分野ラッパーへ渡される(ステップS4)。   Then, a search message for a group (field name) based on the group ID which is a return value in the activity wrapper is passed from the activity wrapper to the group wrapper (step S3). When the field name based on the group ID is acquired by the group wrapper, a match confirmation message that is a message of the acquired field name is passed to the field wrapper (step S4).

分野ラッパーにおいては、団体ラッパーから渡された分野一致確認メッセージに基づいて分野IDと分野名との一致が確認され、一致したかどうかが分野ラッパーから団体ラッパーへ通知される(ステップS5)。   The field wrapper confirms the match between the field ID and the field name based on the field match confirmation message delivered from the group wrapper, and notifies the group wrapper whether or not they match (step S5).

その後、団体ラッパーから活動ラッパーへ、団体名が通知され(ステップS6)、活動ラッパーから人ラッパーへ、団体名一覧が通知され(ステップS7)、さらに、人ラッパーから受付部123へ団体名一覧が通知される(ステップS8)。   Thereafter, the group name is notified from the group wrapper to the activity wrapper (step S6), the group name list is notified from the activity wrapper to the person wrapper (step S7), and the group name list is further transmitted from the person wrapper to the reception unit 123. Notification is made (step S8).

ここで、ステップS3〜S6までの処理は、人に関する各々の活動に対して繰り返される。また、ステップS4〜S5までの処理は、団体に関する各々の分野に対して繰りされる。   Here, the process from step S3 to S6 is repeated for each activity related to a person. Further, the processing from steps S4 to S5 is repeated for each field related to the group.

このシーケンスにおいて、上述したように『「分野名」を検索条件とした団体の検索は高速な処理が要求される。』という特徴があるため、各分野に対する分野一致確認を一括で行うものが必要となる。   In this sequence, as described above, “searching for organizations using“ field name ”as a search condition requires high-speed processing. Therefore, it is necessary to check the field match for each field at once.

図5は、図4に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。   FIG. 5 is a sequence diagram for explaining a mapping method in which the field match confirmation for each field is collectively performed in the sequence shown in FIG.

図4を用いて説明したステップS4の処理において、団体ラッパーから分野ラッパーへ分野名の一致確認メッセージが分野ラッパーへ渡される際に、コンテキスト情報が渡される(ステップS41)。   In the process of step S4 described with reference to FIG. 4, when the field name matching confirmation message is passed from the group wrapper to the field wrapper, the context information is passed (step S41).

以下に、図5におけるステップS41の処理の詳細について説明する。   Details of the process of step S41 in FIG. 5 will be described below.

図6は、図5におけるステップS41の処理の詳細を説明するためのフローチャートである。また、図7は、図6に示したフローチャートにおける各処理の模式図である。以下、図6及び図7を用いて説明する。   FIG. 6 is a flowchart for explaining details of the processing in step S41 in FIG. FIG. 7 is a schematic diagram of each process in the flowchart shown in FIG. Hereinafter, a description will be given with reference to FIGS. 6 and 7.

「団体ラッパー」のマッピング部124にて、団体に関連する分野を取得するための第1のSQL文(<分野IDのSELECT文>)
「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」
が生成される(ステップS11)。この第1のSQL文を単独で実行した場合には、複数(例えば、数十)の分野IDが検索される。
First SQL statement for acquiring a field related to a group in the mapping unit 124 of “group wrapper” (<SELECT statement of field ID>)
"SELECT field ID FROM field-group table WHERE group ID =" group 0001 ""
Is generated (step S11). When this first SQL statement is executed alone, a plurality (for example, several tens) of field IDs are searched.

そして、「団体ラッパー」のマッピング部124からコンテキスト情報管理部201へ、生成された第1のSQL文が渡される。コンテキスト情報管理部201にて受け取った第1のSQL文に固有のコンテキスト情報識別子が付与され、付与されたコンテキスト情報識別子と当該第1のSQL文とが対応付けられてコンテキスト情報としてコンテキスト情報記憶部202に格納される(ステップS12)。このときのコンテキスト情報識別子をAとする。また、コンテキスト情報識別子Aが「団体ラッパー」のマッピング部124へ送信される。   Then, the generated first SQL sentence is passed from the mapping unit 124 of the “organization wrapper” to the context information management unit 201. A unique context information identifier is assigned to the first SQL sentence received by the context information management unit 201, and the assigned context information identifier and the first SQL sentence are associated with each other as context information storage unit 202 (step S12). Let A be the context information identifier at this time. Further, the context information identifier A is transmitted to the mapping unit 124 of “organization wrapper”.

その後、「団体ラッパー」から「分野ラッパー」へ「コンテキスト情報識別子A」と分野名=「”化学工業”」の引数と共に「分野一致確認」のメッセージが送付される(ステップS13)。この実施例では、メッセージの引数として1つコンテキスト情報識別子となっているが、メッセージの引数に複数のコンテキスト情報識別子が指定されても良い。   Thereafter, a message “confirm field match” is sent from the “organization wrapper” to the “field wrapper” together with arguments “context information identifier A” and field name = ““ Chemical Industry ”” (step S13). In this embodiment, one context information identifier is used as a message argument. However, a plurality of context information identifiers may be specified as a message argument.

「分野ラッパー」のマッピング部124にて、受け取った「分野一致確認」のメッセージを処理するための第2のSQL文の”分野ラッパー”のマッピング部分
「SELECT 分野ID FROM 分野テーブル WHERE 分野ID IN ( <分野IDのSELECT文> ) AND 分野名 ="化学工業"」
が生成される(ステップS14)。
In the mapping field 124 of the “field wrapper”, the “field wrapper” mapping part of the second SQL statement for processing the received “field match confirmation” message “SELECT field ID FROM field table WHERE field ID IN ( <Selection statement of field ID>) AND field name = "Chemical industry"
Is generated (step S14).

そして、「分野ラッパー」のマッピング部124から、コンテキスト情報管理部201へ「コンテキスト情報識別子A」のコンテキスト情報の取得が要求される。コンテキスト情報管理部201にて、受け取った「コンテキスト情報識別子A」を検索キーにして、コンテキスト情報記憶部202から、コンテキスト情報(コンテキスト情報識別子:「コンテキスト情報識別子A」、第1のSQL文(<分野IDのSELECT文>:「SELECT 分野ID FROM 分野-団体テーブル WHERE 団体ID = ”団体0001”」)が取得され、「分野ラッパー」のマッピング部124に受け渡される(ステップS15)。   Then, the context information management unit 201 is requested to acquire the context information of “context information identifier A” from the “field wrapper” mapping unit 124. The context information management unit 201 uses the received “context information identifier A” as a search key, and retrieves the context information (context information identifier: “context information identifier A”, first SQL statement (< Field ID SELECT statement>: “SELECT field ID FROM field-group table WHERE group ID =“ group 0001 ””) is acquired and passed to the mapping section 124 of “field wrapper” (step 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文を、新たな別のコンテキスト情報として利用しても良い。
In the field wrapper mapping unit 124, the final SQL statement that processes the field match confirmation message by incorporating the first SQL statement of the received context information into the second SQL statement generated in step S14. "SELECT field ID FROM field table WHERE field ID IN (SELECT field ID FROM field-group table WHERE group ID =" group 0001 ") AND field name =" chemical industry ""
Is generated (step S16). By executing this final SQL statement, it is possible to check whether the organization is related to the field of the designated field name ("Chemical Industry") without degradation in performance at high speed. . Here, the generated final SQL statement is generally converted to an SQL statement optimized for high-speed processing by an RDBMS (relational database management system) or the like and executed. In addition, the SQL sentence generated in this way may be used as another new context information.

以上により本発明においては、アプリケーションソフトウェアの変更の柔軟性、開発難易度の低下、高速な実行性能を同時に実現することができる。変更の柔軟性が高くなる理由は、変更が容易になるになるようにプログラムをRDBラッパーのメッセージ単位に分割して記述できるためである。開発難易度の低下する理由は、複雑なプログラム(含マッピングされたSQL文)がRDBラッパーのメッセージ単位に小さく分割して記述されるためである。高速な実行性能を実現できる理由は、RDBラッパー間での1つの協調動作でのSQL文発行回数を最高1回まで統合して実行するため、以下に示す(イ)〜(ハ)の効果が得られるためである。
(イ)SQL文が統合され、SQL文の発行回数が減る。
(ロ)各SQL文の実行の間での引数及び実行結果の受け渡しが減るため、受け渡されるデータ量が減る(データの受け渡しは、通信によって行われるのが一般的である)。
(ハ)統合されたSQL文に対して、RDBMSのSQL実行最適化が行われる(個々のSQL文を最適化するよりも、最適化の範囲が広くなる)。
As described above, in the present invention, it is possible to simultaneously realize the flexibility of changing application software, the reduction in development difficulty, and the high-speed execution performance. The reason why the flexibility of the change is high is that the program can be described by being divided into RDB wrapper message units so that the change becomes easy. The reason why the development difficulty level is lowered is that a complicated program (SQL statement including mapping) is described by being divided into small message units of the RDB wrapper. The reason why high-speed execution performance can be realized is that the SQL statement issuance times in one cooperative operation between RDB wrappers are integrated and executed up to one time, so the following effects (a) to (c) are It is because it is obtained.
(A) The SQL sentence is integrated, and the number of times the SQL sentence is issued is reduced.
(B) Since the exchange of arguments and execution results between the executions of the respective SQL statements is reduced, the amount of data to be delivered is reduced (data delivery is generally performed by communication).
(C) SQL execution optimization of the RDBMS is performed on the integrated SQL statement (the range of optimization becomes wider than when individual SQL statements are optimized).

本発明のマッピングシステムの実施の一形態を示す図である。It is a figure which shows one Embodiment of the mapping system of this invention. 図1に示した要素格納部に格納されたオブジェクトモデルの一例を示す図である。It is a figure which shows an example of the object model stored in the element storage part shown in FIG. 図2に示したオブジェクトモデルに対するRDB格納部へのマッピングの一例を説明するための図である。It is a figure for demonstrating an example of the mapping to the RDB storage part with respect to the object model shown in FIG. 図1に示したマッピングシステムにおけるマッピング方法の一例を説明するためのシーケンス図である。It is a sequence diagram for demonstrating an example of the mapping method in the mapping system shown in FIG. 図4に示したシーケンスにおいて、各分野に対する分野一致確認を一括で行うマッピング方法を説明するためのシーケンス図である。FIG. 5 is a sequence diagram for explaining a mapping method for collectively performing field matching confirmation for each field in the sequence shown in FIG. 4. 図5におけるステップS41の処理の詳細を説明するためのフローチャートである。It is a flowchart for demonstrating the detail of the process of step S41 in FIG. 図7は、図6に示したフローチャートにおける各処理の模式図である。FIG. 7 is a schematic diagram of each process in the flowchart shown in FIG.

符号の説明Explanation of symbols

101−1〜101−n マッピング装置
110 要素格納部
111−1〜111−3 オブジェクトモデル要素
120 マッピング処理部
121 メモリ
122 選択部
123 受付部
124 マッピング部
130 RDB格納部
131−1〜131−3 RDBの要素
200 コンテキスト情報管理装置
201 コンテキスト情報管理部
202 コンテキスト情報記憶部
101-1 to 101-n Mapping device 110 Element storage unit 111-1 to 111-3 Object model element 120 Mapping processing unit 121 Memory 122 Selection unit 123 Reception unit 124 Mapping unit 130 RDB storage unit 131-1 to 131-3 RDB Element 200 Context information management device 201 Context information management unit 202 Context information storage unit

Claims (6)

メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおいて、
前記マッピング装置は、
オブジェクトモデルの複数の要素を格納する要素格納部と、
項目とその項目に対応するレコードとからなるテーブルにて表されるリレーショナルデータベースを格納するRDB格納部と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける受付部と、
前記要素格納部に格納されている複数の要素の中から、前記受付部にて受け付けられた選択条件に合う複数の要素を選択し、該選択された複数の要素を前記メモリに格納する選択部と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成し、該第1のSQL文を前記コンテキスト情報管理装置へ送信するマッピング部とを有し、
前記コンテキスト情報管理装置は、
前記マッピング部から送信されてきた第1のSQL文に固有の識別子を付与し、該識別子を前記マッピング装置へ送信し、前記第1のSQL文と前記識別子とを対応付けるコンテキスト情報管理部と、
前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文と前記識別子とを記憶するコンテキスト情報記憶部とを有し、
前記マッピング部は、前記コンテキスト情報管理部から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得し、取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込むことを特徴とするマッピングシステム。
In a mapping system comprising a mapping device comprising a memory and a context information management device connected to the mapping device,
The mapping device
An element storage for storing multiple elements of the object model;
An RDB storage unit for storing a relational database represented by a table including items and records corresponding to the items;
A reception unit that receives a selection condition for selecting a plurality of elements to be encapsulated;
A selection unit that selects a plurality of elements that meet the selection condition received by the reception unit from the plurality of elements stored in the element storage unit, and stores the selected plurality of elements in the memory When,
A mapping unit that generates a first SQL statement for acquiring a plurality of elements stored in the memory and transmits the first SQL statement to the context information management device;
The context information management device includes:
A context information management unit that assigns a unique identifier to the first SQL statement transmitted from the mapping unit, transmits the identifier to the mapping device, and associates the first SQL statement with the identifier;
A context information storage unit that stores the first SQL sentence associated with the context information management unit and the identifier;
The mapping unit acquires the first SQL sentence from the context information management device based on the identifier transmitted from the context information management unit, and processes the message with the acquired first SQL sentence A mapping system characterized by being incorporated into a second SQL sentence for
請求項1に記載のマッピングシステムにおいて、
前記マッピング部は、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信し、
前記コンテキスト情報管理部は、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与し、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付け、
前記コンテキスト情報記憶部は、前記コンテキスト情報管理部にて対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶することを特徴とするマッピングシステム。
The mapping system according to claim 1,
The mapping unit transmits a second SQL sentence in which the first SQL sentence is embedded to the context information management device,
The context information management unit assigns a unique identifier to the second SQL sentence in which the first SQL sentence transmitted from the mapping part is incorporated, and the second SQL sentence in which the first SQL sentence is incorporated. The SQL statement is associated with the identifier,
The mapping system characterized in that the context information storage unit stores a second SQL statement in which the first SQL statement associated with the context information management unit is incorporated and the identifier.
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするマッピング方法であって、
前記マッピング装置が、前記オブジェクトモデル要素を格納する処理と、
前記マッピング装置が、項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を格納する処理と、
前記マッピング装置が、カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける処理と、
前記マッピング装置が、前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する処理と、
前記マッピング装置が、前記選択された複数の要素を前記メモリに格納する処理と、
前記マッピング装置が、前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する処理と、
前記マッピング装置が、前記第1のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記識別子を前記マッピング装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報管理装置が、前記対応付けられた前記第1のSQL文と前記識別子とを記憶する処理と、
前記マッピング装置が、前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する処理と、
前記マッピング装置が、前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む処理とを有するマッピング方法。
A mapping method for mapping an object model element to a relational database element in a mapping system comprising a mapping device comprising a memory and a context information management device connected to the mapping device,
The mapping device stores the object model element;
The mapping device stores the relational database element represented by a table composed of items and records corresponding to the items;
A process in which the mapping apparatus receives a selection condition for selecting a plurality of elements to be encapsulated;
A process in which the mapping device selects a plurality of elements that meet the accepted selection condition from the plurality of stored elements;
A process in which the mapping device stores the selected plurality of elements in the memory;
The mapping device generates a first SQL statement for acquiring a plurality of elements stored in the memory; and
A process in which the mapping device transmits the first SQL statement to the context information management device;
A process in which the context information management device assigns a unique identifier to the first SQL sentence transmitted from the mapping device;
A process in which the context information management device transmits the identifier to the mapping device;
A process in which the context information management device associates the first SQL sentence with the identifier;
A process in which the context information management device stores the associated first SQL sentence and the identifier;
A process in which the mapping device acquires the first SQL statement from the context information management device based on an identifier transmitted from the context information management device;
A mapping method, wherein the mapping device includes a process of incorporating the acquired first SQL sentence into a second SQL sentence for processing a message.
請求項3に記載のマッピング方法において、
前記マッピング装置が、前記第1のSQL文が組み込まれた第2のSQL文を前記コンテキスト情報管理装置へ送信する処理と、
前記コンテキスト情報管理装置が、前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する処理と、
前記コンテキスト情報管理装置が、前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける処理と、
前記コンテキスト情報記憶装置が、前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する処理とを有することを特徴とするマッピング方法。
The mapping method according to claim 3, wherein
A process in which the mapping device transmits a second SQL statement in which the first SQL statement is embedded to the context information management device;
A process in which the context information management device assigns a unique identifier to a second SQL sentence in which the first SQL sentence transmitted from the mapping unit is embedded;
A process in which the context information management device associates a second SQL sentence in which the first SQL sentence is embedded with the identifier;
The mapping method characterized in that the context information storage device includes a process of storing a second SQL sentence in which the associated first SQL sentence is incorporated and the identifier.
メモリを具備するマッピング装置と、該マッピング装置と接続されたコンテキスト情報管理装置とを有してなるマッピングシステムにおけるオブジェクトモデル要素をリレーショナルデータベース要素にマッピングするためのプログラムであって、
前記オブジェクトモデル要素を前記マッピング装置に格納する手順と、
項目とその項目に対応するレコードとからなるテーブルにて表される前記リレーショナルデータベース要素を前記マッピング装置に格納する手順と、
カプセル化の対象となる複数の要素を選択するための選択条件を受け付ける手順と、
前記格納されている複数の要素の中から、前記受け付けられた選択条件に合う複数の要素を選択する手順と、
前記選択された複数の要素を前記メモリに格納する手順と、
前記メモリに格納された複数の要素を取得するための第1のSQL文を生成する手順と、
前記第1のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング装置から送信されてきた第1のSQL文に固有の識別子を付与する手順と、
前記識別子を前記コンテキスト情報管理装置から前記マッピング装置へ送信する手順と、
前記第1のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文と前記識別子とを記憶する手順と、
前記コンテキスト情報管理装置から送信されてきた識別子に基づいて、前記コンテキスト情報管理装置から前記第1のSQL文を取得する手順と、
前記取得された前記第1のSQL文をメッセージを処理するための第2のSQL文に組み込む手順とをコンピュータに実行させるプログラム。
A program for mapping an object model element to a relational database element in a mapping system comprising a mapping device comprising a memory and a context information management device connected to the mapping device,
Storing the object model element in the mapping device;
A procedure for storing the relational database element represented in a table comprising an item and a record corresponding to the item in the mapping device;
A procedure for accepting selection conditions for selecting a plurality of elements to be encapsulated,
A procedure for selecting a plurality of elements that meet the accepted selection condition from the plurality of stored elements;
Storing the selected plurality of elements in the memory;
Generating a first SQL statement for obtaining a plurality of elements stored in the memory;
A procedure for transmitting the first SQL sentence from the mapping device to the context information management device;
A procedure for assigning a unique identifier to the first SQL sentence transmitted from the mapping device;
Transmitting the identifier from the context information management device to the mapping device;
Associating the first SQL statement with the identifier;
Storing the associated first SQL sentence and the identifier;
A procedure for obtaining the first SQL sentence from the context information management device based on the identifier transmitted from the context information management device;
A program for causing a computer to execute a procedure for incorporating the acquired first SQL sentence into a second SQL sentence for processing a message.
請求項5に記載のプログラムにおいて、
前記第1のSQL文が組み込まれた第2のSQL文を前記マッピング装置から前記コンテキスト情報管理装置へ送信する手順と、
前記マッピング部から送信されてきた前記第1のSQL文が組み込まれた第2のSQL文に固有の識別子を付与する手順と、
前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを対応付ける手順と、
前記対応付けられた前記第1のSQL文が組み込まれた第2のSQL文と前記識別子とを記憶する手順とをコンピュータに実行させるプログラム。
The program according to claim 5,
Transmitting a second SQL statement in which the first SQL statement is embedded from the mapping device to the context information management device;
A procedure for assigning a unique identifier to the second SQL sentence in which the first SQL sentence transmitted from the mapping unit is incorporated;
Associating a second SQL statement in which the first SQL statement is embedded with the identifier;
A program for causing a computer to execute a procedure for storing a second SQL sentence in which the associated first SQL sentence is incorporated and the identifier.
JP2007005697A 2007-01-15 2007-01-15 Mapping system, mapping method and program Expired - Fee Related JP4632056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007005697A JP4632056B2 (en) 2007-01-15 2007-01-15 Mapping system, mapping method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005697A JP4632056B2 (en) 2007-01-15 2007-01-15 Mapping system, mapping method and program

Publications (2)

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

Family

ID=39699334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005697A Expired - Fee Related JP4632056B2 (en) 2007-01-15 2007-01-15 Mapping system, mapping method and program

Country Status (1)

Country Link
JP (1) JP4632056B2 (en)

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 (en) * 1992-08-12 1994-03-04 Pfu Ltd Secondary inquiry edition device and its method
JP2000163448A (en) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> Method and device for executing object oriented reference
JP2003280977A (en) * 2002-03-27 2003-10-03 Seiko Epson Corp Information management by object-oriented database
JP2004355416A (en) * 2003-05-30 2004-12-16 Nobuhiko Nagamori Relational database search processing method using set, phase and symbolic logic
JP2005507121A (en) * 2001-10-25 2005-03-10 ビーイーエイ・システムズ・インコーポレーテッド Multipart lookup table fields and their use in data processing operations involving multiple tables in relational databases
JP2006244478A (en) * 2005-02-28 2006-09-14 Microsoft Corp Composable query building api and query language
JP2006244488A (en) * 2005-02-28 2006-09-14 Microsoft Corp Platform for data service between different application frameworks
JP2006244498A (en) * 2005-02-28 2006-09-14 Microsoft Corp Data model for object relational data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660123A (en) * 1992-08-12 1994-03-04 Pfu Ltd Secondary inquiry edition device and its method
JP2000163448A (en) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> Method and device for executing object oriented reference
JP2005507121A (en) * 2001-10-25 2005-03-10 ビーイーエイ・システムズ・インコーポレーテッド Multipart lookup table fields and their use in data processing operations involving multiple tables in relational databases
JP2003280977A (en) * 2002-03-27 2003-10-03 Seiko Epson Corp Information management by object-oriented database
JP2004355416A (en) * 2003-05-30 2004-12-16 Nobuhiko Nagamori Relational database search processing method using set, phase and symbolic logic
JP2006244478A (en) * 2005-02-28 2006-09-14 Microsoft Corp Composable query building api and query language
JP2006244488A (en) * 2005-02-28 2006-09-14 Microsoft Corp Platform for data service between different application frameworks
JP2006244498A (en) * 2005-02-28 2006-09-14 Microsoft Corp Data model for object relational data

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 (en) 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
US9762589B2 (en) Methods and systems for generating a dynamic workflow in a multi-tenant database environment
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
US8122012B2 (en) Abstract record timeline rendering/display
US10296625B2 (en) Computerized system and method for identifying relationships
US10452632B1 (en) Multi-input SQL-MR
US20120041945A1 (en) Mechanism for facilitating efficient collection and presentation of business activity monitoring data
KR20060127468A (en) System and method for implementing database application which are guaranteeing independence of software module
US8504880B2 (en) Mechanism for facilitating efficient error handling in a network environment
US8458215B2 (en) Dynamic functional module availability
US11023346B2 (en) Techniques for providing application contextual information
AU2018380147A1 (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
JP4632056B2 (en) Mapping system, mapping method and program
US20120016913A1 (en) Using xml to run tests in a multi-tenant database environment
US9977916B2 (en) Reach objects
JP2004062566A (en) Database system, master node device constituting it, and program
US20200233679A1 (en) Software application optimization
US10896194B2 (en) Generating a combined database with data extracted from multiple systems
US9992264B2 (en) High-speed trace functionality in an on-demand services environment

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