TOP
>
サーバ構築・運用
> eXistを使ってのWebアプリケーション構築
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アプリケーションを作る場合、以下のようなパターンでの利用が考えられます。
インターフェース種類
特徴
開発内容
XQueryServlet
Servlet環境で稼働。XQueryの結果をそのまま返す
XQuery+Webブラウザ側処理
XQueryGenerator
Cocoonとの連携で利用する
XQuery+Cocoon
XML:DB
JavaからJDBCのデータソースとして利用する。低レベルのAPIが利用可能
XQuery+Java+JSP
REST
RESTでの呼び出しを行う
XQuery+他Webアプリケーションなど
XML-RPC
XML-RPCでの呼び出しを行う
SOAP
SOAPプロトコルでの呼び出しを行う
表1:eXistで提供されているAPI
eXistでは、業務的/システム的な要件に応じて適切なAPIを選択することができます。今回はこれらの中から、XQueryServletを使ってアプリケーション構築を行います。
eXistによるXQueryの拡張
eXistではアプリケーションのニーズに応じ、XQueryをJava言語によって独自に拡張することができる仕組みが用意されています。以下は標準で提供されている拡張ライブラリの一覧です。
ライブラリ名
概要
xmldiff
複数のXMLドキュメント間の差分をとる
xmldb
DB操作ライブラリ
validation
XMLバリデーションライブラリ
util
ユーティリティライブラリ
transform
XSL変換関連ライブラリ
text
全文検索関連ライブラリ
system
システム情報取得のためのライブラリ
sql
RDBへのSQL実行ライブラリ。結果をXML形式で返す
simpleql
simple query language用パーサ。XPath形式へ変換をする
session
HTTPセッションを扱うためのライブラリ
scheduler
スケジューリングを行うためのライブラリ
response
HTTPレスポンスを扱うためのライブラリ
request
HTTPリクエストを扱うためのライブラリ
ngram
Nグラム検索を行うためのライブラリ
math
数学的操作を行うためのライブラリ
mail
メール関連の処理を行うためのライブラリ
image
eXist DBに格納されているイメージを処理するためのライブラリ
http
HTTPリクエストを扱うためのライブラリ
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アプリケーション構築
作ってみよう!
関数の作成と再帰呼び出し
製品一覧:グリッド表示