第4回:Webアプリケーションを構築しよう! (1/4)

XMLDB入門
eXistではじめよう!使って覚えるXMLデータベース入門

第4回:Webアプリケーションを構築しよう!

著者:ウルシステムズ  大塚 庸史、柏原 宏充   2007/8/6
1   2  3  4  次のページ
eXistを使ってのWebアプリケーション構築

   「第3回:eXistでXQueryを実行しよう!」に続いて今回は、eXistとAjaxを使ってWebアプリケーションの構築を行います。今回のアプリケーション構築では、基本的なJavaとJavaScriptの知識を前提としています。

   それではeXistとAjaxの組み合わせに挑戦してみましょう!

eXistを使ったWebアプリケーション構築のパターン

   「第1回:今、XMLデータベースを始める理由」で書いたように、eXistは標準で多様なAPIを提供しています。Webアプリケーションを作る場合、以下のようなパターンでの利用が考えられます。

インターフェース種類特徴開発内容
XQueryServletServlet環境で稼働。XQueryの結果をそのまま返すXQuery+Webブラウザ側処理
XQueryGeneratorCocoonとの連携で利用するXQuery+Cocoon
XML:DBJavaからJDBCのデータソースとして利用する。低レベルのAPIが利用可能XQuery+Java+JSP
RESTRESTでの呼び出しを行うXQuery+他Webアプリケーションなど
XML-RPCXML-RPCでの呼び出しを行う
SOAPSOAPプロトコルでの呼び出しを行う

表1:eXistで提供されているAPI

   eXistでは、業務的/システム的な要件に応じて適切なAPIを選択することができます。今回はこれらの中から、XQueryServletを使ってアプリケーション構築を行います。


eXistによるXQueryの拡張

   eXistではアプリケーションのニーズに応じ、XQueryをJava言語によって独自に拡張することができる仕組みが用意されています。以下は標準で提供されている拡張ライブラリの一覧です。

ライブラリ名概要
xmldiff複数のXMLドキュメント間の差分をとる
xmldbDB操作ライブラリ
validationXMLバリデーションライブラリ
utilユーティリティライブラリ
transformXSL変換関連ライブラリ
text全文検索関連ライブラリ
systemシステム情報取得のためのライブラリ
sqlRDBへのSQL実行ライブラリ。結果をXML形式で返す
simpleqlsimple query language用パーサ。XPath形式へ変換をする
sessionHTTPセッションを扱うためのライブラリ
schedulerスケジューリングを行うためのライブラリ
responseHTTPレスポンスを扱うためのライブラリ
requestHTTPリクエストを扱うためのライブラリ
ngramNグラム検索を行うためのライブラリ
math数学的操作を行うためのライブラリ
mailメール関連の処理を行うためのライブラリ
imageeXist DBに格納されているイメージを処理するためのライブラリ
httpHTTPリクエストを扱うためのライブラリ
exampleサンプル用ライブラリ
datetime日付関連処理用ライブラリ

表2:標準で提供されている拡張ライブラリ


XQueryServletの特徴

   eXsitにはJettyというServletコンテナが同梱されています。XQueryServletはJetty上で稼働し、XMLデータベース(以下、XMLDB)とHTTPプロトコルとのインターフェースの役割を果たします。

   リクエストURL名に含まれる「*.xql」の部分をXQueryとして実行し、その結果をHTTPレスポンスとしてクライアントに返します。XQueryServletを使うことで、XQueryの記述のみでWebアプリケーションを作成することができます。


サンプルアプリケーションについて

   今回のサンプルアプリケーションでは、「第3回:eXistでXQueryを実行しよう!」で登録したサンプルデータを利用して、製品と部品の関連を管理できるプログラムを作ります。

   作成するアプリケーションでは、これらの製品一覧の表示を行います。一覧画面から特定の製品を選択すると、製品を構成している部品をツリーで階層構造を表示することとします。

1   2  3  4  次のページ


ウルシステムズ株式会社 大塚 庸史
著者プロフィール
ウルシステムズ株式会社  大塚 庸史
ウルシステムズ株式会社シニアコンサルタント。2003年より現職。以前よりスクリプト言語には大きな興味を寄せていたが、最近、JavaScript、Flexの柔らかさに開眼しつつある。XQueryは今年「来る」と確信しつつ日々奔走中。


ウルシステムズ株式会社 柏原 宏充
著者プロフィール
ウルシステムズ株式会社  柏原 宏充
ウルシステムズ株式会社シニアコンサルタント。Web系開発の世界でRDBMSと触れあっていたところ、様々なことがあってXMLDBの世界へ。技術を文字にして伝え、文字を実装にして証明することを武器に、今日もお客様の課題解決に取り組んでいる。


INDEX
第4回:Webアプリケーションを構築しよう!
eXistを使ってのWebアプリケーション構築
 作ってみよう!
 関数の作成と再帰呼び出し
 製品一覧:グリッド表示
eXistではじめよう!使って覚えるXMLデータベース入門
第1回今、XMLデータベースを始める理由
第2回eXistをインストールしよう!
第3回eXistでXQueryを実行しよう!
第4回Webアプリケーションを構築しよう!

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored