XMLDB.jp

XMLDB解説
HOME  >  XMLDB解説  >  XMLデータベースとAjaxの熱い関係「第4回:Webカタログ」

XMLデータベースとAjaxの熱い関係「第4回:Webカタログ」

Webカタログという応用システム

Webカタログとは、Webブラウザで閲覧する製品カタログのことである。と説明すると、「なんだ、よくあるシステムじゃないか」と思ってこの文章を読むのをやめようと思うかもしれない。だが、ちょっと待って頂きたい。確かにWebカタログはありふれている。カタログにするだけの製品を抱えた企業のWebサイトには、たいていWebカタログが存在すると言ってぐらい、ありふれた存在である。だが、ありふれた存在であることと、取るに足らないシステムだと言うことは、イコールではない。実は、Webカタログを構築し、それを維持していくのはたやすいことではない。そして、Webカタログを上手く構築して運用していくためには、XMLデータベースが最適だという理由をここでは説明してみたい。

しかし、その前にまずはWebカタログとは何かを説明するところから始めよう。

Webカタログは、カタログであるから、通常の印刷されるカタログに記載された情報は一通り含んでいなければならない。これは大前提である。

次に、カタログに記載された製品を探し出す手段が用意されていなければならない。製品数が少なければ、利用者が目で探す......という選択もあり得るが、製品の種類が数千、数万、あるいはそれ以上ともなると、優れた検索機能が必要とされる。製品情報の様々な項目を駆使して検索できねばならない。

さて、検索して目的の製品を見つけ出すことができるようになると、グッと実用性が高くなってくる。だが、これだけではまだ十分ではない。次々と新製品が作られてくるからだ。Webカタログは、新製品の情報を素早く取り込んで、利用者に提供しなければならない。既に発売済みの製品の情報が閲覧可能になるまで、数週間待ち......などということがあっては、便利なWebカタログとは言い難いのである。

Webカタログの難しさ

さて、ここまでの説明を読んで、Webカタログとは難しいシステムだと感じただろうか。それとも、簡単に開発できると感じただろうか?

実は、Webカタログにはいろいろ落とし穴があって、単純なシステムではスムーズに運用することができない。どこに落とし穴があるのか、説明してみよう。

まず。「製品情報の様々な項目を駆使して検索する」という機能性について考えてみよう。ここでいう「様々な項目」とは具体的に何だろう。たとえば、サイズ、重さ、色、ものによっては消費電力、定格出力、接続可能なオプションの数、準拠する標準規格の種類等々、様々な情報が存在していることになる。製品の種類が多ければ、それらを活用して検索できるようにしなければならないのは当然の要請といえる。しかし、製品の種類が異なれば、その項目は同じにならないのである。

たとえば、電気を通すと光を放つ「発光ダイオード」という電子部品は、今や交通信号など様々な場所で使われているが、これには赤、緑、青、白などの固有の「色」がある。青色の発光ダイオードは、青く発光させることしかできない。それゆえに、「発光ダイオード」の製品を検索する場合に「色」によって検索条件を指定できることは、いわば必須の要請である。赤信号は、青い発光ダイオードでは作ることができないのである。

しかし、ダイオードには、交流を直流に変換するために使用されるタイプもある。直流の電池で駆動する機器を、交流の家庭用電源で動作させるためのACアダプタには、多くの場合このような部品が組み込まれている。しかし、ACアダプタは光らないことから分かる通り、このようなダイオードが光ることはない。つまり、このようなダイオードには「色」の情報はないし、色によって検索を行うことはない。

つまり、同じダイオードと呼ばれる部品に限っても、カタログに記載すべき情報項目に食い違いが存在するのである。まして、ダイオード以外の電子部品ともなれば、項目の食い違いは更に大きくなる。

それゆえに、Webカタログは、このような異なる情報項目を持つ様々な製品を全て扱える能力を持たねばならないわけである。けして、単純なデータ構造を1つだけ決めて、それに全製品の情報を入力できたりはしないのである。

話はまだ終わらない。新製品の追加という問題を考えると、そもそもデータ構造を事前に決めておく......という方法が不可能になってしまうのである。なぜかといえば、未来に扱う製品が必要とする項目の全てを事前に予測することはできないからだ。たとえば、ダイオードを扱う企業が、ある日突然レトロブームなので真空管が売れているから、我が社も真空管をカタログに追加しよう......と決めたとしよう。確かに、真空管の中でも2極管と呼ばれるタイプは、ダイオードと同じような機能性を持っていて、扱うのが筋違いとは言えない。しかし、今更時代遅れの真空管を扱うことがあるなど、事前に予測することは難しいだろう。さて、ここで問題となるのは、真空管はダイオードと違って、ヒータによって過熱する必要があることだ。当然、ヒータは電気を流して暖めることになるが、真空管ごとにそのための電圧は決まっている。もちろんWebカタログにはそのための電圧も記入しなければならない。だが、ヒータ電圧という項目をWebカタログに書き込まねばならないことは、Webカタログのシステムを構築する段階では予測することはできなかったのだ。

つまり、Webカタログとは、構造の種類が多岐に渡り、変更も多いシステムなのである。常に変化しながら運用を続けていくしかない宿命を背負っているのである。このようなシステムはRDBMSを初めとする昔ながらの技術では扱いにくい対象となる。

XMLデータベースによって乗り越えるWebカタログ

このような問題に対処するにはスキーマレスXMLデータベースが最適と言える。データベースの設計という作業をデータベース側が要求しないため、製品ごとにデータの構造が変わっても問題ない。また、運用中に構造が変化していっても、そのまま運用を続けることができる。

本文では説明しなかったが、実はカタログに記載される情報は、1つの項目が更に細分化して記載されるケースがある。たとえばバッテリで動作する機器なら、動作持続時間として、標準バッテリ使用時と、大容量バッテリ使用時の時間を別々に記載するかもしれない。必然的に、カタログの情報は、単純な縦横の表には収まりきらない。つまり、データはツリー構造が求められる。しかし、この問題も、もともとツリー構造を扱うXMLデータベースであれば、問題なく収容することができるのである。

次回予告

データベースには様々な個性を持った製品が存在し、それぞれには得意分野がある。次回は、Webカタログには特にNeoCoreに代表されるスキーマレスXMLデータベースが適しているという理由について掘り下げてみよう。


▲このページのTOPへ

  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド