XMLデータベースを用いた オブジェクト指向データベース

XMLデータベースを用いた
Javaのための仮想的な
オブジェクト指向データベースの試作
2007年2月10日
谷 聖一研究室 福澤 太
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
オブジェクト指向とは?
キーボード
CPU
マザーボード
ディスプレイ
メモリー
HDD
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
オブジェクト指向とは?
クラス
: オブジェクトの定義
フィールド
CPU
オブジェクトを表す値の入れ物
キーボード
メソッド
オブジェクトへの操作・振る舞い
ディスプレイ
インスタンスメモリー
: クラスに値を入れたもの
HDD
マザーボード
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
オブジェクト指向とは?
クラス :オブジェクト・モデル
オブジェクトの定義
インスタンス
フィールド
CPU
オブジェクトを表す値の入れ物
メソッド
インスタンス
キーボード
インスタンス
オブジェクトへの操作・振る舞い
ディスプレイ
インスタンスメモリー
: クラスに値を入れたもの
HDD
マザーボード
インスタンス
インスタンス
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
研究目的
オブジェクト指向言語と関係データベース
オブジェクト指向言語
関係データベース
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
研究目的
オブジェクト指向言語と関係データベース
オブジェクト指向言語
関係データベース
インスタンス
インスタンス
インスタンス
インスタンス
インピーダンスミスマッチ
インスタンス
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
研究目的
オブジェクト指向言語とオブジェクト指向データベース
オブジェクト指向言語
オブジェクト指向データベース
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
インスタンス
インスタンス
インスタンス
研究目的
オブジェクト指向言語とオブジェクト指向データベース
オブジェクト指向言語
歴史
オブジェクト指向データベース
1960~1980年代
オブジェクト指向、オブジェクト指向言語の誕生
1980年代初期
インスタンス
オブジェクト指向データベースの研究が始まる
インスタンス
1980年代後半
C++の誕生
オブジェクト指向データベースの研究が盛んに行わ
れるようになる
インスタンス
インスタンス
インスタンス
インスタンス
1990年代初期
C++に対応した多数のOODBMSが発売される
1993年
ODMGによりOQLやODLが策定される
1995年
インスタンス
インスタンス
Javaの誕生
インスタンス
1999年
ODMGがJavaに対応
2001年
ODMGの活動休止
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
インスタンス
インスタンス
研究目的
オブジェクト指向言語とオブジェクト指向データベース
オブジェクト指向言語
1960~1980年代
歴史
オブジェクト指向データベース
オブジェクト指向、オブジェクト指向言語の誕生
オブジェクト指向データベースの欠点
オブジェクト指向データベースの研究が始まる
1980年代初期
インスタンス
インスタンス
1980年代後半
C++の誕生
• オブジェクト指向言語でなければならない
•
オブジェクト指向データベースの研究が盛んに行わ
れるようになる
オブジェクト指向という概念は曖昧
インスタンス
インスタンス
1990年代初期
インスタンス
インスタンス
C++に対応した多数のOODBMSが発売される
ODMGによりOQLやODLが策定される
関係データベースは良い製品が多く・
1995年
Javaの誕生
環境も整備されている
1999年
ODMGがJavaに対応
1993年
インスタンス
2001年
インスタンス
インスタンス
インスタンス
ODMGの活動休止
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
インスタンス
インスタンス
研究目的
オブジェクト指向言語とオブジェクト指向データベース
オブジェクト指向言語
オブジェクト指向データベース
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
インスタンス
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
インスタンス
インスタンス
インスタンス
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XMLとは?
開始タグ
要
素
要
素
内
容
終了タグ
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
属性
<title>目次</title>
</head>
<body>
XMLデータベースを用いたJavaのための仮想的な<br/>
オブジェクト指向データベースの提案<br/>
<ul>
<li>オブジェクト指向とは?</li>
<li>研究目的</li>
要
<li>XMLとは?</li>
素
<li>XMLDBを用いたOODBの提案</li>
<li>デモ</li>
<li>課題と今後の目標</li>
</ul>
</body>
</html>
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XMLとは?
要
素
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
属性
<title>目次</title>
タグによって構造化され、構造の定義が可能な、
</head>
開始タグ
テキスト形式のデータ記述のための仕様
<body>
XMLデータベースを用いたJavaのための仮想的な<br/>
プログラムAPI オブジェクト指向データベースの提案<br/>
XMLDBへの問い合わせ言語
<ul>
• DOM
• XQuery
要
<li>オブジェクト指向とは?</li>
• SAX 素
<li>研究目的</li>
要
内
<li>XMLとは?</li>
素
容
<li>XMLDBを用いたOODBの提案</li>
任意の場所を指定する
XMLの応用例
<li>デモ</li> • XHTML
• XPath
<li>課題と今後の目標</li>
• MathML
</ul>
• SVG
</body>
</html>
終了タグ
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XMLデータベースを用いた
オブジェクト指向データベースの提案
オブジェクトをXMLに変換
ク
ラ
ア クインスタンス
イ
プラ
ア
ネ
リイ
ン
ッ
ケア
ト
ト
インスタンス
インスタンス
ー
ン
ワ
側
ト
シ
ー
シ
ョ
ク
ス
ン
テ
インスタンス
インスタンス
ム インスタンス
サ
ー
バ
ー
側
シ
ス
テ
ム
X
M
L
D
B
ご
と
の
ド
ラ
イ
バ
XML
XML
ネ
ッ
ト
XML ワ
ー
ク
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XML
X
M
L
デ
ー
XML
タ
ベ
ー
ス
XML
XMLデータベースを用いた
オブジェクト指向データベースの提案
オブジェクトの検索
をOQLで記述
アク
プラ
リイ
ケア
ーン
シト
ョ
ン
ク
ラ
イ
ア
ン
ト
側
シ
ス
テ
ム
OQLによる検索
OQLをXQuery
に変換
サ
ー
バ
ー
側
シ
ス
テ
ム
X
M
L
D
B
ご
と
の
ド
ラ
イ
XML
バ
XML
XML
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XML
X
M
L
デ
XML
ー
タ
ベ
ー
ス
XML
XMLデータベースを用いた
オブジェクト指向データベースの提案
オブジェクトの検索
をOQLで記述
アク
プラ
リイ
ケア
ーン
シト
ョ
ン
ク
ラ
イ
ア
ン
ト
側
シ
ス
テ
ム
OQLによる検索
OQLをXQuery
に変換
サ
ー
バ
ー
側
シ
ス
テ
ム
X
M
L
D
B
ご
と
の
ド
ラ
イ
XML
バ
XML
XML
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XML
X
M
L
デ
XML
ー
タ
ベ
ー
ス
XML
XMLデータベースを用いた
オブジェクト指向データベースの提案
オブジェクトの検索
をOQLで記述
ク
ラ
アク
イ
プラ
ア
リイ
ン
ケア
ト
ーン
側
ト
シ
シ
ョ
ス
ン
テ
XMLから ム
オブジェクトに復元
OQLによる検索
OQLをXQuery
に変換
X
M
サ
L
ー
D
バ
B
ー
ご
参照するXMLを
側
と
繰り返し獲得
シ
の
ス
ド
テ
ラ
ム
イ
XML
バ
XML
XML
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
XML
X
M
L
デ
XML
ー
タ
ベ
ー
ス
XML
XMLデータベースを用いた
オブジェクト指向データベースの提案
オブジェクトの登録・更新
1.登録したい
オブジェクトをBindする
アク
プラ
リイ
ケア
ーン
シト
ョ
ン
2.コミットする
ク
ラ
イ
ア
ン
ト
側
シ
ス
テ
ム
X
M
サ
1.Bindされている
L
ー
オブジェクトを
D
バ
B
XMLに変換する
ー
ご
側
と
シ
の
ス
ド
テ
ラ
ム
イ
バ
2.追加・更新・
無視に分ける
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
X
M
L
デ
ー
タ
ベ
ー
ス
XMLデータベースを用いた
オブジェクト指向データベースの提案
クライアントアプリケーションからは
一つのオブジェクト指向データベースに見える
アク
プラ
リイ
ケア
ーン
シト
ョ
ン
ク
ラ
イ
ア
ン
ト
側
シ
ス
テ
ム
サ
ー
バ
ー
側
シ
ス
テ
ム
X
M
L
D
B
ご
と
の
ド
ラ
イ
バ
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
X
M
L
デ
ー
タ
ベ
ー
ス
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
デモ
著者クラスと本クラスからなる
二部グラフの構造をしたオブジェクト・モデル
著者
名前:String
- Wikipedia:String
- 著書:本[1…*]
-
*
*
本
- タイトル:String
- 著者:著者[1…*]
- 出版社:String
- ISBN番号:String
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
目次


オブジェクト指向とは?
研究目的






オブジェクト指向言語と関係データベース
オブジェクト指向言語とオブジェクト指向データベース
XMLとは?
XMLデータベースを用いた
オブジェクト指向データベースの提案
デモ
課題と今後の目標
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
課題と今後の目標

理論部分での課題
(クエリ内からのメソッド呼び出し、排他制御、
オブジェクトの削除、クエリの最適化など)

実装部分での課題
(アクセス制限、バージョン管理、Xpriori以外のDBへの
対応、高速化など)

追加機能
(ネイティブクエリ、スーパークラス・インターフェイスによ
るクエリ、クラスファイルからのスキーマ生成など)
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作
御清聴ありがとうございました。
XMLデータベースを用いたJavaのための仮想的な
オブジェクト指向データベースの試作