SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Cyber Luxeonで学ぶXMLDB入門

XMLDBとCyber Luxeonの基本

Cyber Luxeonで学ぶXMLDB入門 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

Cyber Luxeonのアーキテクチャと管理ツール

 ここでは、Cyber Luxeonを構成するプロセスと、Cyber Luxeonのサーバー上の物理的な構成、DB管理者用GUIツールのDXEマネージャについて概説します。以下の図にCyber Luxeonのアーキテクチャを示します。

Cyber Luxeonのアーキテクチャと管理ツール
Cyber Luxeonのアーキテクチャと管理ツール

Cyber Luxeonのプロセス構成

 Cyber Luxeonは、複数のプロセスがそれぞれ協業することで、XMLDBとしての機能を実現しています。複数のプロセスで役割分担をすることにより、プロセスを複数のサーバーに分散することができますので、スケーラビリティの向上も期待できます。以下の表にCyber Luxeonを構成するプロセスをまとめます。

Cyber Luxeonのプロセス
プロセスプロセス名(Windowsの場合)概要
DXE ObjectStoreサーバosserver.exeXMLStoreを直接読み書きする
XMLキャッシュxlnserver.exeXMLStore上にあるXMLデータを、キャッシュして管理する
DXEロックマネージャoscmgr6.exeXMLStoreのロック状態を管理する
Cyber Luxeon管理プロセスxlnadmin.exe各XMLキャッシュの設定とXMLStoreの配置状況を管理する

 上記のアーキテクチャ図のオレンジ色のコンポーネントが、Cyber Luxeonのプロセスの各プロセスをあらわしています。

DXE ObjectStoreサーバ

 XMLStoreを直接読み書きする唯一のプロセスです。他のプロセスはすべて、DXE ObjectStoreサーバを経由してXMLStoreにアクセスします。

XMLキャッシュ

 XMLStore上にあるXMLデータを、キャッシュして管理します。具体的には、DXE Object Storeサーバーにアクセスし、XMLStore上にあるXMLデータに対して、作成・検索・更新・削除、XSL処理などを行います。XML操作の中心部分を担うXMLキャッシュを複数のサーバに分散して配置することで、システム全体のパフォーマンス向上を図ることができます。

DXEロックマネージャ

 XMLStoreのロック状態をキャッシュします。XMLキャッシュは、DXEロックマネージャから、XMLドキュメントのロック状態を取得します。XMLキャッシュの稼動するマシンごとに起動されます。

Cyber Luxeon管理プロセス

 各XMLキャッシュの設定とXMLStoreの配置状況を管理します。XMLキャッシュの管理事項を以下に列挙します。

  • XMLキャッシュの名称
  • アクセス・タイプ
  • ロック・タイプ
  • ルート

Cyber Luxeonのプロセスにアクセスするクライアント

 Cyber Luxeonのプロセスにアクセスするクライアントは、DXEクライアントとDXEマネージャです。

DXEクライアント

 Cyber Luxeonにアクセスするユーザーアプリケーションを総称して、DXEクライアントと呼びます。DXEクライアントを開発するには、Cyber Luxeonに用意されたAPIを使用してデータベースを操作する処理をユーザーアプリケーションに記述します。DXEクライアントは、XMLStoreに直接アクセスするのではなく、XMLキャッシュにアクセスし、間接的にXMLStoreにアクセスします。

DXEマネージャ

 DXEマネージャは、XMLDBの管理者が、Cyber Luxeonや、格納されたデータを管理するためのGUIツールです。DXEマネージャはデフォルトキャッシュにアクセスします。

物理構成

 以下の図にCyber Luxeonの物理的構成を示します。

Cyber Luxeonの物理的構成
Cyber Luxeonの物理的構成

ホスト

 ホストはCyber Luxeonが稼動しているマシンのことです。

パーティション

 パーティションとは物理的なフォルダに論理名を割り当てたものです。

 パーティションの実体は、「c:\Program Files\CyberTech\Luxeon\storage」などのフォルダです。1ホスト内に複数のパーティションを作成することができます。

XMLStore

 XMLStoreとは、名前の通り、XMLを蓄積する仕組みのことです。1つのストアに対し、1つの物理ファイルが割り当てられます。1パーティション内に複数のXMLStoreを作成することができます。

ディレクトリ

 XMLStore内で、データを分類するための仕組みです。また、ディレクトリ内にも階層構造にディレクトリを作成することができます。ファイルシステム上の実際のフォルダとは異なります。

ドキュメント

 格納するXMLドキュメントそのものです。

仮想ドキュメント

 仮想ドキュメントは、DXE サーバーエクステンションに関連づけられます。DXEサーバーエクステンションとは、サーバサイドで起動するバッチ処理です。あたかも、XMLファイルを操作しているようにサーバ上のプログラムファイルを呼び出すので、仮想ドキュメントという名前がついています。JavaもしくはCOMで開発することができます。

 仮想ドキュメントのメリットとして以下のものがあげられます。

  1. キャッシュプロセスのアドレス空間を使って動作するので、実行中にサーバ/クライアント間の通信やクライアントに負荷がかからない。
  2. DXEクライアントは1処理1トランザクションであるが、DXEサーバーエクステンション
  3. は、複数の更新処理を1トランザクションで管理できる。

バインダドキュメント

 複数のXMLドキュメントを束ねて扱うためのドキュメントです。バインダドキュメントで複数のXMLを束ねることにより、バインダドキュメントにidをキーとしたインデックスを設定して、検索を高速化することができます。

Cyber Luxeonの入手方法、インストールと起動

 まずは、Cyber Luxeonが起動するまでを説明します。

入手方法

 サイバーテック社のサイトから無償版(Developer Edition)を申し込んでください。申し込み後、サイバーテック社からメディアが郵送されます(2006年12月25日現在)。

インストール

 Cyber Luxeonをインストールするには、CD-ROMに格納されているsetup用のexeファイルを実行します。インストールのウィザードが起動しますので、ウィザードに従ってインストールします。詳細は付属のインストールマニュアルを参照してください。

起動

 Cyber LuxeonはWindowsにインストールするとサービスとして登録されます。サービスへの登録は、[コントロールパネル]>[管理ツール]>>[サービス]で確認することができます。

 以下の図は、Cyber Luxeonの起動直後にWindowsタスクマネージャでプロセスを参照した抜粋です。

Cyber Luxeonのプロセスをタスクマネージャで見た様子
Cyber Luxeonのプロセスをタスクマネージャで見た様子
サンプルアプリケーションの起動
 Cyber Luxeonをインストールすると、サンプルアプリケーションも同時に起動できるようになります。サンプルアプリケーションはTomcat上のWebアプリケーションとして用意されています。サンプルアプリケーションの起動は、Windows XPの場合、スタートメニューから[すべてのプログラム]-[Cyber Luxeon]-[Java]-[サンプルのインストールとサーバーの起動]を選択します。起動ファイルの実体は「%LUXEOM_HOME%(Cyber Luxeonのインストールフォルダ)\bin\tomcat_startup.bat」です。Cyber Luxeonの各プロセスが起動され、あらかじめ用意されたサンプルアプリケーションがインストールされます。起動が成功した場合、以下の図のようにコンソールが起動されます。
Cyber Luxeonのコンソール
Cyber Luxeonのコンソール

次のページ
DXE Managerの基本的な使用方法

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Cyber Luxeonで学ぶXMLDB入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 佐藤 治夫 (株式会社ビープラウド)(サトウ ハルオ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/835 2007/06/13 10:07

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング