DXE Managerの基本的な使用方法
ここでは、DXE Managerの物理構造の作成、XMLドキュメントの操作、インデックスの作成、スタイルシートの適用など、DXE Managerの基本的な使用方法を説明します。
DXE Managerの起動、DXEサーバーへの接続
以下にDXE Managerの起動、そして、DXEサーバーへの接続方法について説明します。
DXE Managerの起動
Windows XPの場合、スタートメニューから、[すべてのプログラム]-[Cyber Luxeon]-[DXE Manager]を選択すると、DXE Managerが起動します。
DXEサーバーへの接続
メニューバーから[接続]-[新規接続]を選択します。[ホスト名]タブで、Cyber Luxeonをインストールしたマシンのホスト名(IPアドレス)を入力します。セキュリティが有効になっている場合は、[認証]タブでユーザー名とパスワードを入力します。[OK]ボタンをクリックすると、接続されます。
図のように、DXEサーバー上の情報が表示されれば、接続成功です。
パーティション、XMLStore、ディレクトリの作成
パーティション、XMLStore、ディレクトリなど、XMLドキュメントを格納するための入れ物をDXE Managerで作成する方法を説明します。
パーティションの作成
DXE Managerのツリーペイン(ウィンドウ左側のペイン)でホストのアイコンを右クリックし、表示されたコンテキストメニューから[パーティションの作成]を選択すると、[パーティションの作成]ダイアログが表示されます。[パーティション名]欄には任意の名前を入力します。ここでは、「test_storage」という値を入力します。[パーティションのパス]欄には、存在するフォルダ名を入力します。ここでは「C:\Program Files\CyberTech\Luxeon\test_storage\」という値を入力します(事前にフォルダは作成しておきます)。
入力後、[OK]ボタンを押下すると、パーティションが作成され、ツリーペインに表示されます(「P」の表示があるアイコン)。
XMLStoreの作成
DXE Managerのツリーペインでパーティションを右クリックし、[XMLStoreの作成]を選択します。ツリーペイン上のパーティションの直下にXMLStoreのアイコンが表示されるので、XMLStoreの名前を入力します。ここでは「test_xmlstore」という値を入力します。
ディレクトリの作成
DXE ManagerのツリーペインでXMLStoreを右クリックし、[新規作成]-[ディレクトリ]を選択します。ツリーペイン上のXMLStoreの直下にディレクトリのアイコンが表示されるので、ディレクトリの名前を入力します。ここでは「test_dir」という値を入力します。
XMLドキュメントの作成
DXE ManagerでXMLドキュメントを作成する方法は、3種類用意されています。なお、ツリーペイン上では、XMLドキュメントは1つのファイルのように見えますが、物理的には、XMLStoreのデータファイル内にバイナリデータとして格納されます。
ツリーペイン上で作成する方法
DXE ManagerのツリーペインでXMLStore、またはディレクトリを選択し、[新規作成]-[ドキュメント]を選択します。直下にドキュメントのアイコンが表示されるので、ドキュメントの名前を入力します。ここでは、「players.xml」という値を入力します。値入力後、ドキュメントの編集ダイアログが表示されます。このダイアログを使用して、XMLを編集することができます。
ファイルのドラッグ&ドロップ
ツリーペイン上に、直接XMLファイルをドラッグ&ドロップをすることによって、XMLを保存する方法です。
インポート
データを作成する、XMLStoreまたはディレクトリをツリーペイン上で選択します。選択後、DXE Managerのメニューバーから[ファイル]-[インポート]-[ファイルシステムから]を選択します。ファイルを選択するダイアログが表示されますので、インポートするXMLファイル、またはXSLファイルを選択し、[開く]ボタンを押下します。
XMLドキュメントの更新
DXE ManagerからXMLドキュメントを更新する方法は3種類用意されています。なお、XMLを更新する方法には、テキストの手動更新のほかに、更新グラマーを使用した方法が用意されていますが、それについては、次回以降で説明します。
テキストの手動更新
ツリーペイン上で、更新したいXMLドキュメントを右クリックし、[更新]-[ドキュメント全体の編集とアップロード]を選択します。ドキュメントの編集ダイアログが表示されますので、テキストベースで編集し、保存します。
XMLドキュメントの削除
XMLドキュメントを削除するには、ツリーペイン上で、削除したいXMLドキュメントを右クリックし、[削除]を選択します。
XMLドキュメントに対するクエリーの実行
以下に、Cyber Luxeonが用意しているクエリーウィザードを使用したXMLドキュメントの検索方法を説明します。なお、XPath、XQueryを用いた検索については、連載の2回目以降に改めて詳細紹介いたします。
クエリーを実行したいXMLドキュメントを右クリックし、[クエリー]-[クエリーウィザード]を選択します。
クエリーダイアログが表示されるので、検索条件を定義します。まずは、XMLのツリー構造上で、抽出したい要素、または属性をチェックボックスで選択します。
選択後、検索条件を指定します。クエリーダイアログの[検索条件の定義]ボタンを押下します。検索条件ウィザードダイアログが開きます。
ここでは、「XMLドキュメントの更新」で作成したXMLを使用し、背番号(backnumber)が50以上の選手を抽出するため、次のようにダイアログ上で値を入力します。
- スキーマ構成要素エリアのbacknumberを選択
- 演算子セレクトボックスで、>=を選択
- 値テキストボックスで、50を入力
入力後、[OK]ボタンを押下し、クエリーダイアログに戻ります。ダイアログ内のクエリー欄に「/players/player[@backnumber >= 50]」と表示されているのを確認してください。クエリーダイアログの[OK]ボタンを押下すると、検索結果がテキストのXMLで表示されます。
[保存]ボタンを押下すると、[保存先を選ぶ]ダイアログが表示されます。ここではXMLStoreに「test_xmlstore」を選択し、さらにXMLStore内の保存先として「test_dir」を選択し、「players.xsl」という名前で保存してください。
デフォルトキャッシュ
Cyber Luxeonの起動時に必ず立ち上がるXMLキャッシュのことです。DB管理者用のGUIツールのDXEマネージャは、このデフォルトキャッシュにアクセスします。このデフォルトキャッシュは、パフォーマンス上、ObjectStoreサーバーと同じマシンで稼動させることが推奨されています。アクセスタイプ
XMLキャッシュには、アクセスタイプというXMLStoreへのアクセス権限を設定するタイプがあります。種類は、更新可能とリードオンリー(読込専用)が用意されています。アクセスタイプはキャッシュ上のルートに対して設定します。- 更新可能
- XMLデータの作成、検索、更新、削除、XSL処理
- XSL適用結果のXMLStoreへの保存
- リードオンリー
- XMLデータの検索
- XSL適用(XMLStoreへの保存はできない)
ロックタイプ
XMLキャッシュには、XMLStoreのデータにアクセスする際に、ロックを取得するかしないかを設定するロックタイプがあります。ロックタイプには、ロック型と非ロック型が用意されています。- ロック型
- ロックを取得
- データの変更有無をチェック
- XMLデータをメモリ上に読み直す
- 非ロック型
ロックタイプとアクセスタイプの組み合わせ
以下の表に、ロックタイプとアクセスタイプの組み合わせの可否をまとめます。ロックタイプ/アクセスタイプ | 更新可能 | リードオンリー |
ロック型 | ○ | ○ |
非ロック型 | × | ○ |
ルート
XMLキャッシュは、XMLStoreの1部分のXML操作を担当します。その担当として割り当てられたXMLStore上の位置をルートと呼びます。1つのXMLキャッシュには、複数のルートを設定することができます。また同一のルートを複数のXMLキャッシュに設定することが可能です。まとめ
冒頭で、オフィスドキュメントのデータ化によるフル活用の時代がやってくると述べましたが、それは真のナレッジマネジメントの時代がやってくる時でもあります。
また、いままでRDBありきで、複雑なテーブル設計によって実現していたシステムアーキテクチャが、XMLDBを活用することによって、自然で柔軟なシステムアーキテクチャに生まれ変わる可能性もあります。RDBありきで構築したシステムをXMLDBで実現したらどのような効果が出るかを具体的なシステムを題材に検討してみるのも面白いでしょう。
本稿が、Cyber LuxeonというネイティブXMLデータベースに触れるきっかけとなり、XMLデータベース活用への第一歩となれば幸いです。
参考資料
- 『Cyber Luxeon ハンドブック』 サイバーテック社
- 『XMLデータベース入門』 山田祥寛 著、翔泳社、2006年4月
- ThinkIT 『第1回:事例から見るXMLデータベース適用範囲の広がり』 丸山則夫 著、2006年2月
- ITmediaエンタープライズ 『XMLデータベース市場に追い風、その活用方法は?』 谷川耕一 著、2006年3月