実務にも使えるオープン・ソースのXMLツールが増えてきた。MS ExcelやRDBMSと連携し,XMLデータのメールを暗号化して送受信するツールや,XML専用のWWWサーバー,オープン・ソースのRDBMSでXMLを扱うためのツールなどだ。個々の機能や特性を見極め,有償製品と上手に使い分けよう。

表1●日本語が使用できるXML関連無償ソフトの例
MSXML以外はすべてオープン・ソース・ソフト
 XMLによる電子データ交換(EDI)や文書管理などの業務システムに使用できるXML関連のオープン・ソース・ソフトが多数登場してきた(表1[拡大表示])。特に,日本で開発されたソフトが増えている。「市販のXML関連ソフトが高価であり,そのことが中小企業がXMLを導入する障壁になっている」(三菱総合研究所 ビジネスソリューション事業本部 メディア&コミュニケーションチーム 主任研究員 保田正則氏)といった状況を打破すべく,国産ベンダーや有志が無償ソフトの提供を開始した。

 これらのXML関連ソフトは,現在のところEDIの実験や研究目的の文書管理システムなどで使用されている段階だ。とは言え,既にユーザーから機能や安定性に対する高い評価を得ているものも多い。

 評価が高い理由は,ソースが公開されているので用途に応じて改良できる,国産なのでドキュメントが日本語であり,情報交換も日本語で行える,などの点が大きい。

 対するXMLツール・ベンダーは,「商用ソフトから無償ツールまで,機能や規模に応じた様々な選択が可能なことが,XMLがインターネット上のビジネス標準である理由」(インフォテリア 製品企画部 シニアテクニカルアナリスト 冨谷彰氏)と,選択肢の拡大を歓迎する姿勢だ。システムに要求される信頼性や処理速度に応じて,有償ソフトと無償ソフトが使い分けられるとの見方である。

表計算からXMLメールで受発注

 例えばUBL(Universal Business Library)は,中小企業のEDI化を目的に開発されたツールである。情報処理振興事業協会の事業として三菱総合研究所と日本IBMが開発し,2000年11月から無償で提供している。ソース・コードも公開しており,改変,再配布,営利目的での使用も可能だ(すなわち,オープン・ソース・ソフトである)。しかし,開発元によるサポートはない。システム・インテグレータや業界団体がUBLを使ってシステムを構築する形態を想定している。

図1●UBL(Universal Business Library)のソフト構成
紫色の部分がUBLに含まれるツールおよびライブラリ。いずれもJavaで記述されており,Windows98/Me/2000で動作する。Webアプリケーション,MS Access用アプリケーション,MS Excel用アプリケーションのサンプル・プログラムがある
 UBLは,XMLデータを暗号化してメールで送受信し,表計算ソフトMS Excelやリレーショナル・データベース管理システム(RDBMS),Webアプリケーションと連携するためのツールやライブラリで構成している。XMLデータを別形式のXMLデータに変換するツールや,変換ルールを定義するGUIツールも用意する(図1[拡大表示])。

 既に石油業界と建設業界がXMLによるEDI実験にUBLを使用した。2001年1月に終了した石油連盟の購買ワーキング・グループによる調達システムの実験は,アプリケーション開発・実行環境にMS Accessを使った。

 建設業界の実験は,6社の設備および機器メーカーが参加し,2001年3月に終了した。中堅,中小建設業者向けの設備見積もり業務を対象にしたものだ。Excelシートから見積書を送受信するシステムを構築した。実験に参加した近畿電力の関連会社きんでんの技術本部エンジニアリング部課長 井岡良文氏は,「UBL上のアプリケーションを使用した立場から見て,使用した範囲では機能,ツール自体の安定性に問題は無かった。また処理性能も実用には差し支えない」と評価する。

 実験での処理性能の結果は,CPUはPentiumIII 500MHz,メモリーは128Mバイトのパソコンで,30行の見積書を電文に加工するのに約30秒,130行で約180秒程度だった。この結果から,“大量取引の処理には向かないがUBLが対象とする中小企業であれば実用上問題ない”と判断した。「無償で使用できること,XMLなので自社の業務システムなど他のシステムと連携しやすいこと,WWW化が容易であることを考えると,UBLは有力なツール」(井岡氏)と見ている。

JavaによるXML専用サーバー

図2●XML対応WWWサーバーのBaykit XML Serverの構造
インストール直後にXMLが使用できるWWWサーバー・ソフト。Javaで記述されており,Windows 98/Me/2000やLinuxなどで動作する。Javaサーブレットや,XML形式の独自スクリプトXi,WWW-DB連携ツールPHPなどでアプリケーションを開発できる。フリーの簡易RDBMSも内蔵している
写真1●Baykit XML Serverを使用して構築したWWWサイト「らっこプロジェクト」
このWWWサイトでは,論文を登録して査読状況などを管理するワークフロー・アプリケーションを開発し,公開している
 Baykit XML Serverは,XML機能を組み込んだWWWサーバーだ。Apacheなど他のWWWサーバーでもXML機能を組み込めるが,セッティングが煩雑な場合が多い。Baykit XML ServerはXMLに特化しており,インストール後すぐにXML機能を使用できる。

 XMLによるオープン・ソース・ソフトを開発するボランティア・グループである横浜ベイキット*1が開発し,公開している。横浜ベイキットの中心メンバーである川道亮治氏は「我々が開発したXiをはじめとする様々なXML関連技術を広く使ってもらって発展させたいと思い,グループを作った。ユーザーから開発者まで広く参加してもらいたい」との考えだ。

 XMLパーサーXSLTプロセッサなどを内蔵しており,サーバー上のXMLファイルを,XSLTの指定に従ってHTMLに変換する(図2[拡大表示])。Internet Explorer 5.xを使えばWWWブラウザ側で同様な変換が可能だが,WWWサーバー側で変換することでパソコン以外の様々なデバイスからもXMLを使用できる。

 またXML形式の独自スクリプトXiでアプリケーションを記述できるのも特徴だ。そのほか,Javaサーブレット,JSP(JavaServer Pages),WWW-DB連携ツールPHPなどでアプリケーションを開発でき,簡易RDBMSも内蔵している。

 Baykit XML Serverを使用して構築したWWWサイトもある。「らっこプロジェクト」は,論文を登録してXMLファイルとして管理する。論文の査読状況を管理するワークフロー・アプリケーションを提供しているWWWサイトだ(写真1[拡大表示])。開発,運営している独立行政法人 産業技術総合研究所 主任研究官 山本吉伸氏は「Baykit XML Serverは安定している。ベータ版では不具合を発見することはあるが,正式公開版は堅牢で,これまで致命的なトラブルはない」と言う。

 XMLデータを,オープン・ソースのRDBMSであるPostgreSQLに格納するためのソフトもある。XMLPGSQLと呼び,PostgreSQLのライブラリとして提供されている*2。システム・インテグレータのメディアフロントが開発した。構造化されたXMLデータを,RDBMSのテーブルにマッピングするツールである(図3[拡大表示])。

 浅海智晴氏が開発したSmartDocも,既に多くのユーザーに使用されているソフトだ*3。SmartDocは,XML形式の文書から,組版ツールLaTeXやPDFやHTML,Javaのヘルプ・ファイルであるJavaHelp形式のデータを生成するツールである(写真2[拡大表示])。HTMLライクなタグや,<SECTION>などの文章構造を示すタグでレイアウトを指定したXML文書から,上記の様々な形式のデータを生成する。

図3●XML-DB連携ツールXMLPGSQLの機能
XMLデータを,オープン・ソースのRDBMSであるPostgreSQLに格納するためのソフト。PostgreSQLの拡張言語であるPL/pgSQLで開発されている
写真2●SmartDocを使ってXMLから作成したPDF
SmartDocはXMLからPDFやHTML,LaTeX形式のドキュメントを生成する。Javaで開発されている

無償ソフトと製品を使い分ける

 もちろん無償のソフトを使えば必ずコストが削減できるわけではない。インフォテリアの富谷氏は「システム構築の総コストに占めるソフト・ライセンスのコストはそれほど大きくない。システム全体での費用対効果を考えるべき」と指摘する。

 システムの可用性がどの程度要求されるかも考慮しなければならない。例えば無償のXMLパーサーは多数あるが,「インフォテリアのXMLパーサーiPEXのプロフェッショナル版は200万円以上するが,すでに約100ライセンスを出荷している。機能面での差もさることながら,不具合の報告があれば,即日修正版の開発に着手する,というサポート体制が選択できることも評価していただいている」と言う。

 また,今回紹介したソフトはいずれもJavaで開発されており,一般的に言えばOSネイティブのソフトの方が処理は速い。

 しかしXMLであれば,無償ソフトでシステムを構築し,処理が増えて性能や可用性が要求される段階になれば商用ソフトに移行するといった方法も,他のデータ形式に比べて採りやすい。XMLは標準化されており,かつデータの交換や移行が容易であるという特徴があるからだ。

(高橋 信頼=nob@nikkeibp.co.jp

■IT Pro注:関連記事
【製品一覧表】XML関連ツール
インフォテリア,XMLデータの入出力を行う2製品の新版を発表
インフォテリア,Ariba対応のサプライヤ向けサーバー製品を発表
ビーコンIT,XML専用データベースのSolaris版を投入
【解説】ebXML
XMLとの組み合わせで注目される新プロトコル「SOAP」