 |
|
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の世界へ。技術を文字にして伝え、文字を実装にして証明することを武器に、今日もお客様の課題解決に取り組んでいる。
|
|
|
|