平成22年度 卒業研究発表会 XML データベースと Google マップを用いた地域安全マップシステムの開発 著者 笠川敦史 指導教員 1 . は じ め に 近 年 、 増 え 続 け て い る 莫 大 な 情 報 を 高 速 に 保 存・管 理・抽 出 で き る シ ス テ ム に デ ー タ ベ ー ス (DB) が あ る 。DB の 種 類 の ひ と つ に XML デ ー タ ベ ー ス が あ る 。 こ れ は 、 情 報 を 保 存 す る 形 式 に XML ド キ ュ メ ン ト を 用 い る DB の こ と を 言 う 。 本 研 究 で は 、 以 前 か ら 斉 藤 卒 研 室 で 研 究 さ れ て き た 地 域 安 全 マ ッ プ シ ス テ ム に XML デ ー タ ベ ー ス を実装したシステムを開発することを目的として い る 。複 数 の ユ ー ザ は 、Google マ ッ プ を 使 用 し た 入力フォームから犯罪情報を入力する。この情報 は XMLDB に よ っ て 保 存 ・ 管 理 さ れ る 。 ま た 、 情 報 を 閲 覧 す る 場 合 に は 、 DB で 保 管 し て い る 情 報 を Google マ ッ プ 上 に 表 示 さ せ る 。こ の シ ス テ ム に よ り、複数のユーザにより、犯罪情報をまとめた 1 つ の 地 図 を 作 り 上 げ る こ と が で き る 。 成果として、ユーザが情報を入力する動作、年 月を選択して、情報を出力する動作を行うシステ ム を 開 発 す る こ と が で き た 。 斉藤徹 2.3 Ajax(Asynchronous JavaScript and XML) Ajax と は 仕 組 み の 総 称 で あ る 。 JavaScript と XML に よ り サ ー バ と の 非 同 期 通 信 を 実 現 し て い る 。 ク ラ イ ア ン ト 側 で 動 作 す る JavaScript が ク ラ イ アントとサーバ間通信の中間層としてバックグラ ウ ン ド で 動 作 す る 。 そ の た め 、 Web ブ ラ ウ ザ が サ ーバとの通信中に、サーバからの返信を待つ必要 が な く 、 ユ ー ザ は 別 の 動 作 を 行 う こ と が で き る 。 図 2. Ajax 動 作 モ デ ル 3 . シ ス テ ム 概 要 3.1 シ ス テ ム 構 成 本 シ ス テ ム の 構 成 を 図 3 に 示 す 。 2 . 技 術 概 要 2.1 デ ー タ ベ ー ス (DB : Data Base) 独 立 し て 存 在 し て い た フ ァ イ ル を 1 つ に ま と め 、 複数の関連業務間でデータの共有を図るのがデー タベースである。データはデータベース管理シス テ ム (DBMS)に 管 理 さ れ 、 検 索 要 求 に 応 じ て 必 要 な データを提供し、データレコードの追加・削除・ 更新などのデータベース操作を提供する。 2.2 XML(eXtensible Markup Language) XML は 個 別 の 目 的 に 応 じ た マ ー ク ア ッ プ 言 語 を 作 成 す る た め の 言 語 の 総 称 を 言 う 。 XML に よ っ て 記 述 さ れ た 文 章 を XML ド キ ュ メ ン ト と 言 う 。 デ ー タ を 記 述 す る 要 素 は 、 タ グ と そ の タ グ の 間 にある子要素からなる。このように、要素同士が 親子の関係をもつ木構造のデータ形態をとってい る の が XML の 特 徴 の 1 つ で あ る 。 も う ひ と つ は 、 タグの名前が任意であるということがある。管理 者はタグ名から、その要素以下のデータはどのよ う な 内 容 の デ ー タ か を 想 像 す る こ と が で き る 。 図 1. XML の 構 成 図 3. シ ス テ ム 構 成 図 地 図 情 報 登 録 で の 各 資 源 の 動 作 を 以 下 に 示 す 。 (1)HTTP で 1.Google サ ー バ と 、 XMLHttpRequest に よ る Ajax の 非 同 期 通 信 で 2.Tomcat を 実 装 し た Web サ ー バ と 通 信 を 行 う (2-1)Google Maps API で Google マ ッ プ を 描 画 (2-2)Java サ ー ブ レ ッ ト プ ロ グ ラ ム 呼 び 出 し (3)サ ー ブ レ ッ ト と DBMS が JDBC と い う API を 用 い て 接 続 、 入 力 項 目 を 要 求 (4)要 求 結 果 よ り 入 力 フ ォ ー ム を 作 成 、 返 信 (5)Web ペ ー ジ の 入 力 フ ォ ー ム に ユ ー ザ が 入 力 (6)XMLHttpRequest で 入 力 情 報 等 を Web サ ー バ に 送 信 (7)送 信 情 報 を 元 に XML ド キ ュ メ ン ト を 生 成 (8)XML ド キ ュ メ ン ト を DB に 格 納 す る 平成22年度 卒業研究発表会 3.2 デ ー タ ベ ー ス 構 成 3.4 地 図 情 報 検 索 本 研 究 で は 、 XML ド キ ュ メ ン ト を 格 納 す る XML ユ ー ザ は デ ー タ ベ ー ス に 格 納 さ れ て い る 情 報 を 型 の 列 (DOC)と XML ド キ ュ メ ン ト を 識 別 す る ID で 検 索 ・ 確 認 ・ 削 除 が で き る 。 こ の 流 れ を 示 す 。 あ る int 型 の 列 (NUMBER)か ら な る 表 を 用 い て い る 。 (1)出 力 用 Web ペ ー ジ に ア ク セ ス す る と 、入 力 時 と 同じようにサーバと非同期通信を行う。サーブレ 本 シ ス テ ム で は 、 XML 形 式 で さ ま ざ ま な 属 性 の ッ ト は 、DBMS に 格 納 さ れ て い る XML ド キ ュ メ ン ト 情 報 を 記 録 で き る よ う に す る こ と で 、 XMLDB の 利 の Date 要 素 か ら Select フ ォ ー ム を 作 成 す る 。 こ 点 を 生 か す こ と を 目 標 と し た 。 の Select フ ォ ー ム は Web ペ ー ジ に 出 力 さ れ る 。 しかしながら、入力するデータをどのような属 性が利用できるのかをすぐに読み出せるようにし (2)ユ ー ザ は Select フ ォ ー ム か ら 年 月 を 選 択 す る 。 ておかないと、データ登録画面の表示が困難にな この情報はサーブレットに送信され、この条件に る 。 合 う XML が DB か ら 抽 出 さ れ る 。 こ の 複 数 の XML このため、本システムでは、入力の際に利用で は 1 つ の XML と し て ま と め ら れ 、 ク ラ イ ア ン ト に き る 属 性 を 検 索 ID=0 の デ ー タ に 要 素 と し て 保 存 送 信 さ れ る 。 しておく方式をと った。この方法を (3)ク ラ イ ア ン ト で 採用することで、 は、送信されてきた 途中で入力できる XML を DOM と 呼 ば れ 属性が増えた場合 る API を 用 い て 解 析 にも、入力画面を し、必要な情報を取 柔軟に変更できる り出す。この抽出し ようになると期待 た情報を、マップ上 し た 。 図 4.属 性 取 得 用 XML にマーカーと吹き出 3.3 地 図 情 報 登 録 し を 用 い て 表 示 す る 。 図 6. 出 力 フ ォ ー ム ユ ー ザ は ま ず 地 図 情 報 を DB に 登 録 す る 。3.1 で 述 べ ら れ て い る が 、 さ ら に 詳 し い 流 れ を 示 す 。 4 . ま と め (1) 入 力 用 Web ペ ー ジ に ア ク セ ス す る と 、 各 サ ー バとの通信により図 5 の入力フォームが出力され このシステムには、データ保存にスキーマレス る (3.1 参 照 ) 。 こ の と き 、 入 力 す る 要 素 は 、 3.2 XMLDB を 使 う こ と で 以 下 の 機 能 が 実 現 で き た 。 の ID=0 の XML の 要 素 名 を 、XQuery と 呼 ば れ る XML 1. ユ ー ザ ・管 理 者 が 入 力 項 目 を 追 加 で き る の ク エ リ 言 語 を 用 い る こ と で 取 得 し て い る 。 2. ユ ー ザ は 必 要 な 項 目 の み 入 力 す れ ば よ い 1.に つ い て は 、 XML が 木 構 造 で 要 素 の 追 加 が 容 (2)図 5 に 示 す フ ォ 易 に で き る デ ー タ 構 造 で あ る こ と か ら 、 2.に つ い ームを用いてユーザ て は ス キ ー マ レ ス な DB な の で 構 造 の 異 な る XML は情報を入力する。 が DB に 格 納 で き る こ と か ら 実 現 す る こ と が で き このとき、新たに追 た 。 加したい要素を入力 以 上 の よ う に 、 XMLDB の 特 徴 を あ る 程 度 生 か し することもできる。 た シ ス テ ム を 開 発 す る こ と が で き た 。 入力された情報と、 マーカーで示された し か し 、 現 時 点 で は 格 納 す る XML の 形 式 を 地 図 位 置 の 情 報 (緯 度 、 情 報 用 に 半 ば 固 定 し て い る 。 こ れ を ど の よ う な 構 経 度 、 住 所 )が GET 図 5. 入 力 フ ォ ー ム 造 の XML で も プ ロ グ ラ ム で 処 理 で き る よ う に す れ メ ソ ッ ド で サ ー バ に 送 ら れ る 。 ば 、ユ ー ザ・管 理 者 が DB で 管 理 さ れ る 構 造 を 自 由 に設計できるようになる。そうすれば、データ項 (3)サ ー ブ レ ッ ト は 受 け 取 っ た 情 報 か ら XML ド キ 目 が 異 な る ほ か の シ ス テ ム (た と え ば Web カ タ ロ ュ メ ン ト を 生 成 す る 。こ の と き UNIX タ イ ム を 付 加 グ )に こ の シ ス テ ム を 流 用 す る こ と が 可 能 に な る 。 す る (要 素 Date)。こ の XML ド キ ュ メ ン ト を ク エ リ 5 . 参 考 文 献 言 語 SQL で DB に 格 納 す る 。 また、新たな項目が入力されていた場合、0 番の XQuery + XML デ ー タ ベ ー ス 入 門 要 素 取 得 用 の XML を 更 新 す る 。 菅 原 香 代 子 , 米 持 幸 寿 著 / 日 経 BP 社
© Copyright 2024 Paperzz