米ORACLE社では、Oracle 8iをXML対応するための開発キットとして、Oracle XDKを提供しています。
Oracle 8.1.6では、標準で組み込まれています。
このXDKは、JDBCやServletAPIに準拠して作成されているため、Oracle7と接続したり、Apacheから起動したりすることもできます。
以下に、そのシステム構成やソフトウェア構成について説明します。
Oracle SDKを利用すると、ブラウザから、XSQL言語でデータベースにアクセスできます。
XSQL言語を利用すると、データをXMLデータとして取得できるます。
XMLデータは、階層構造や繰り返し構造を含んだデータとなるため、処理が簡単になります。
Webサーバ上のJava ServletのXMLパーサとXSQLプロセッサにより、XSQL言語からXSLとSQLに変換されを出力されます。
このSQLを、XML SQLユーティリティでDBアクセスすることにより、XMLデータが出力されます。
これらのXMLデータとXSLデータを、XSLプロセッサにより、ブラウザに表示されます。
XSLプロセッサでは、XMLに対応していないブラウザ用に、HTMLデータとして表示することもできます。
OracleをXML対応するためには、以下のソフトウェアが必要です。
ORACLEのXML関連モジュールは、http://technet.oracle.com/tech/xml/
からダウンロードすることができます。
これらのソフトウェアを利用するためには、あらかじめOracle8iと、JDK1.2をインストールしておく必要があります。
パッケージ名 | ファイル名 |
---|---|
XML Parsers and XSL Processors for Java | xmlparser_v2_0_2_6.tar.gz |
XML Transviewer Beans | transview_v1_0_2.tar.gz |
XML Class Generators for Java | xmlclassgen_v1_0_1.tar.gz |
XML SQL Utility for Java | XSU12.zip |
XSQL Servlet | xsqlservlet_v0_9_8_6.tar.gz |
XSQL Servletをダウンロードして展開すると、XML Parserや、XML SQL Utilityなどが入っています。 ですから、XSQL Servletのみダウンロードしても使えます。 使い方は、中に入っている英語版のリリースノートを参照してください。
XML Parser for Javaは、Java言語で記述された、XMLパーサです。
XML Parser for Javaを利用すると、Oracle8iを使ったXMLアプリケーションの開発が簡単になり、標準化できます。
XML Parser for Javaは、XML文書を解析し、その内容をメモリに展開します。
展開されたメモリの内容に対しては、DOMやSAXによるAPIでアクセスすることができます。
また、スタイルシートも搭載しているため、XMLデータにXSLスタイルシートを反映させて表示できます。
XML Parser for Javaは、XSQLサーブレットに入っています。
xmlparserv2.jar
XML Transviewer Beansは、簡単にXMLアプリケーションを開発できるようになります。
XMLデータやXSLスタイルシートを作成し、その結果を画面に表示することもできます。
また、JDevelopのなどと連動して使うこともできます。
XML Transviewer Beansは、以下の機能があります。
xmlparserv2.jar, xmlcomp.jar, jdev-rt.zip
XML SQL Utilityの出力したDTDから、Javaクラスを生成します。 このクラスを用いることにより、Javaプログラムでは、DTDに沿ったXML文書を処理することができます。 この機能を使うと、2つの異なるアプリケーション間で、共通のデータを扱うことができます。
classgen.jar
SQLの検索結果をXMLデータまたは、DOMインターフェイスで返却します。
XMLデータをORACLEの表に登録できます。
XMLデータの他に、DTDも出力できます。
XML Class Generatorsを使って、Javaクラスも生成できます。
XML SQL Utility for Javaは、XSQLサーブレットに入っています。
oraclexmlsql.jar
XSQL Servletは、ORACLE XDKの一部となります。
ブラウザからの要求で、XML Parserと、XML SQL Utilityを呼び出し、処理結果を返却します。
XSQL Servletには、以下の機能があります。
XSQLConfig.xml
oraclexsql.jar, classes111.zip, oraclexmlsql.jar, xmlparserv2.jar
unix# vi jserv.properties # for Oracle XML wrapper.classpath=/usr/local/classes/oraclexsql.jar wrapper.classpath=/usr/local/classes/classes111.zip wrapper.classpath=/usr/local/classes/oraclexmlsql.jar wrapper.classpath=/usr/local/classes/xmlparserv2.jar wrapper.classpath=/usr/local/classes unix# vi jserv.conf ApJServAction .xsql /servlets/oracle.xml.xsql.XSQLServlet unix# cp -pr demo /usr/local/htdocs/. unix# apachectl restart unix# lynx http://localhost/demo/ |
XSQLを使うためには、/usr/local/classes/XSQLConfig.xml ファイルのJDBCドライバの設定が必要です。
以下は、1521ポートで起動したNet8のリスナーを使って、オラクルSID(XMLTEST)に対して接続する例です。
JDBCを使っているため、SQL*NetV2のリスナーを使って、Oracle7に対しても接続することができます。
<connection name="demo"> <username>scott</username> <password>tiger</password> <dburl>jdbc:oracle:thin:@localhost:1521:XMLTEST</dburl> <driver>oracle.jdbc.driver.OracleDriver</driver> </connection> |
XSQLを使って、Oracleデータベースを検索するサンプルページを作成してみました。