Webアプリ開発事始 第18回

XMLとWebアプリケーション(1)
~XMLの基本
長谷川裕行
有限会社 手國堂

XMLのメリット

XMLを用いることで「アプリケーション間の効率的なデータ交換」が実現され、それによって「データベースを用いたWebアプリケーション開発の効率化」が期待できます。


- データ交換の効率化 -

アプリケーションの持つデータのエクスポート機能やHTML形式の出力を用いれば、データ交換は可能です。しかしその場合、データをやり取りするアプリケーション同士が同じデータ形式を扱えなければなりません。XMLを共通のデータ形式とすれば、アプリケーション間のデータ交換が容易になります。

データベースの場合、汎用のデータ交換形式としてCSVを使えますが、フィールド(列)のデータ型や桁数などの属性まで記録できません。XMLでは、これらを元データに含めて記録できます。また、送り側と受け側のフィールド構成が異なるデータベース間でも、その差異を吸収させることができます。

また、XMLはテキスト形式のデータであることも重要です。テキスト形式のデータはどのようなコンピュータでも扱えるため、アプリケーション間だけではなく、異なるシステム、異なるOS間でのデータ交換も容易になります。


- データベース処理の効率化 -

上述のメリットをデータベースを用いたWebアプリケーションに利用すれば、開発が効率化できます。従来は、データベース・エンジンの出力したレコードセット(行セット)などの処理結果を、HTML形式に加工する必要がありました。データベース・エンジンの処理結果をXMLとして扱えば、その工程が大幅に効率化できます。

Webアプリケーションは、クライアント側でブラウザさえ動作すれば実行可能である点が大きなメリットです。例えば企業間で注文伝票や在庫一覧表、請求書や実験データなど大量の書式化された情報を受け渡しする場合、WebアプリケーションでXMLを扱えるようにすれば、組織間の差異を吸収できるようになります。


- 企業間取引の効率化 -

ある企業が複数の取引先に商品を発注する場合で考えてみましょう。受注システムは企業ごとに異なっています。当然、受注情報のデータ構造もまちまちです。

A社の受注形式
品番 品名 単位 単価 数量 納品日 備考

B社の受注形式
商品コード 類別コード 名称 売価 仕切率 数量 その他

こういったデータ形式の違いを、発注元である自社の都合で統一させることはできません。そのため、同じ「商品の発注」という処理でも、相手先ごとに異なる形式のデータを生成しなければならなくなります。紙の伝票に印刷する場合でも、相手先ごとに異なる様式で出力するための処理を作らなければなりません。

発注先の商品を検索する場合でも、その検索手段が相手先ごとに異なっているでしょうし、ネットワークを介した検索に対応していないところもあるでしょう。せっかくコンピュータとネットワークが利用できても、このように相手先によって利用方法が異なっていては、効率的な作業は実現しません。

そこで、受発注データをXMLで送受信する仕組みを作ったとします。受注側であるメーカーが、自社システムのフロントエンドにXML形式の受注データを処理する機構さえ設ければ、発注元はどのメーカー宛の発注情報でも、すべて同じ形式のXMLデータとして作成すればよくなります。

現実問題としては、受注側の足並みをそろえることが難しいでしょう。この方法は、グループ企業間の情報交換や、機械部品の受発注を一括管理する部品センターなど、一定のルールを適用しやすい範囲の企業間取引で利用されています。

特に、様々なデータ形式とXML形式のデータとを相互変換する仕組みを、組織と組織の間に設けるセンター管理方式は、利用者側のシステムに対する変更が最小限で済むため、非常に有効です。


- 広がるXMLの用途 -

このように、データ形式をXMLに統一することで、特別な手間も大きな投資もせず、企業間でのデータ連携――いわゆるBtoB(Business to Business)が実現できます。また、顧客と企業間――BtoC(Business to Consumer)での情報交換でも同様にXMLを使えば、あらゆる情報をどこに対しても同じ手段で送受信できることになります。

XMLは、一般的なインターネットのWebサービスの他、デジタル放送や携帯電話向けWebサイト※2、医療や政治・経済、学術研究分野などなど、社会の至る所に広まっています。

※2 ご存じの方も多いと思いますが、携帯電話のWebページ記述言語は、NTT DoCoMoのi-modeがC-HTML(Compact HTML)、J-PHONEのJ-SKY webがMML(Mobile Markup Language)など、通信会社ごとに仕様が異なっています。そのため、1つの情報を各社の携帯電話に対応させるには、元の情報をXMLで記述しておき、接続してきたクライアントを調べてXMLで記述されたデータをクライアントの仕様に適合したHTMLに変換して送信する――という処理が必要になります。


XML+HTML=XHTML

1998年にXMLがバージョン1.0としてW3C※3で勧告された後、翌1999年にHTML 4.0が勧告されました。

過去、WebブラウザはMicrosoft社のInternet ExplorerとNetscape社のNetscape Navigatorが互いに勢力を争い、それぞれがW3Cに規定されていない独自のタグを用意したために、「どのような環境でも同じ表示結果を得る」というHTMLのメリットが意味をなさなくなったという経緯がありました。それらを整理して統一することが、HTML 4.0の重要な役割でした。

また、特に企業のWebサイトでは、ユーザーを惹き付けるために動画や音声など様々な形式のデータが扱われ、HTMLの本来の目的だった「テキストを効率的に公開する」こと以上に、レイアウトなど見た目をよくすることが重要視され始めていました。そこで、DHTML(Dynamic HyperText Markup Language)やCSS(Cascading Style Sheet)などの新しい技術や規格が提案され、HTML 4.0と同居するようになりました。

そんな中、W3Cは2000年初頭にHTML 4.01をXMLの規格に適合するよう拡張したXHTML(eXtensible HyperText Markup Language)の規格を勧告しました。これによってWebページの記述方法は、文書の構造化をXHTMLで行い、レイアウトなどの見た目にスタイルシートを使うという形になりました。

XHTMLでは、HTML 4.xまでの規格に存在していた<HR>(水平線)タグなど見た目に関する制御機能が取り除かれ、すべてのタグに終了タグが必要であるなど、記述規則も厳密になっています。

※3 World Wide Web Consortiumの略。WWWの普及と技術の標準化を推進する目的で1994年に設立された国際的な団体


トップページ
拡張可能な言語
XMLのメリット
データ交換の効率化
データベース処理の効率化
企業間取引の効率化
広がるXMLの用途
XMLの基本事項
XML文書を作る
スタイルシート
あとがき

Copyright © MESCIUS inc. All rights reserved.