• 検索結果がありません。

社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report ドメイン知識に基づくエンドユーザ向け Web アプリケーションフレームワークの

N/A
N/A
Protected

Academic year: 2022

シェア "社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report ドメイン知識に基づくエンドユーザ向け Web アプリケーションフレームワークの"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.

Copyright ©20●● by IEICE

ドメイン知識に基づくエンドユーザ向け Web アプリケーション フレームワークの試作

李 静

中所 武司

明治大学大学院理工学研究科 ソフトウェア工学研究室 E-mail: †[email protected], ‡[email protected]

あらまし 近年のインターネットの普及により、様々な業務が Web アプリケーション化されている。それに伴い、

Web アプリケーションを効率的に開発するための基盤として、フレームワークやコンポーネントを使うことが基本 的な技法となっている。本研究では、外注する予算の確保が難しい中小規模の Web アプリケーションを対象として、

サービスの頻繁な変化にも対応できるようなエンドユーザ主導型開発のためのフレーワークを提案する。エンドユ ーザである業務専門家が、自らの有する業務知識に基づき、このフレームワークを用いて Web アプリケーションを 構築することをめざしている。本稿では、エンドユーザ向け Web アプリケーションフレームワークに関する研究ア プローチとその試作について報告する。

キーワード エンドユーザ、 Web アプリケーション、フレームワーク、ドメイン知識

Web Application Framework for End-User-Initiative Development with Domain Knowledge

Sei Ree

Takeshi Chusho

Software Engineering Laboratory, Graduate School of Science and Technology, Meiji University E-mail: †[email protected][email protected]

Abstract In recent years, many web applications are used in various business fields. These web applications are often

developed on the base of framework with reusable components. Furthermore, it is increasingly required that business professionals build their web application by themselves. In this paper, web application framework for end-user-initiative development is proposed to support small and medium businesses. Then, the web application framework and a visual tool for the end-user are built.

Keyword End-User

, Web Application , Framework , Domain Knowledge

1. は じ め に

イ ン タ ー ネ ッ ト の 普 及 と 共 に 、様 々 な 業 務 が Webア プ リ ケ ー シ ョ ン 化 さ れ 、そ れ ぞ れ の Webア プ リ ケ ー シ ョ ン を ゼ ロ か ら 開 発 す る の は 負 担 の 大 き な 作 業 で あ る た め 、Webア プ リ ケ ー シ ョ ン を 効 率 的 に 開 発 す る た め の 基 盤 を 提 供 す る フ レ ー ム ワ ー ク や コ ン ポ ー ネ ン ト を 使 う こ と が 基 本 的 な 技 法 と な っ て い る 。 ま た 、 情 報 シ ス テ ム は 、 従 来 、 情 報 処 理 の 専 門 家 が 開 発 し 、 限 ら れ た 人 達 が 利 用 し て き た 。 し か し 、 ワ ー ク ス テ ー シ ョ ン や パ ソ コ ン の 普 及 お よ び そ れ ら を つ な ぐ ネ ッ ト ワ ー ク の 普 及 に 伴 い 、 一 般 の 業 務 の 専 門 家 が 自 ら 情 報 シ ス テ ム やWebア プ リ ケ ー シ ョ ン を 利 用 す る よ う に な っ て き た 。

そ こ で , 我 々 は 、 こ の よ う な 業 務 の 専 門 家 が 日 常 的 に 担 当 す る 小 さ な 部 門 や 個 人 の 業 務 を 対 象 と す る 中 小 規 模 の Web ア プ リ ケ ー シ ョ ン に 関 し て 、 低 コ ス ト で 短 期 間 に 開 発 す る と と も に 、 頻 繁 な 機 能 変 更 を 伴 う 保 守 に 対 応 す る こ と が 重 要 に な る と い う 観 点 か ら 、 そ の

分 野 の 業 務 の 専 門 家 主 導 で 開 発 ・ 保 守 で き る よ う な 技 法 を 研 究 し て き た [1]。

2.

エ ン ド ユ ー ザ 主 導 開 発

本 研 究 で は 、 外 注 す る 予 算 の 確 保 が 難 し い 中 小 規 模 の Webア プ リ ケ ー シ ョ ン を 対 象 と し て 、サ ー ビ ス の 頻 繁 な 変 化 に も 対 応 で き る よ う な エ ン ド ユ ー ザ 主 導 型 フ レ ー ワ ー ク を 提 案 す る 。 エ ン ド ユ ー ザ で あ る 業 務 専 門 家 が 、 自 ら の 有 す る 業 務 知 識 に 基 づ き 、 こ の フ レ ー ム ワ ー ク を 用 い て 自 ら Webア プ リ ケ ー シ ョ ン を 構 築 す る こ と を め ざ し て い る 。

そ こ で 、 エ ン ド ユ ー ザ が コ ー デ ィ ン グ な し で 、Web ア プ リ ケ ー シ ョ ン を 開 発 で き る フ レ ー ム ワ ー ク の 試 作 ・ 評 価 を 行 う た め に 、 次 の よ う な ア プ ロ ー チ を と っ た 。ま ず 、不 用 品 交 換 シ ス テ ム[2]を 例 題 と し て 選 定 し 、 ソ フ ト ウ ェ ア の 全 体 像 を 把 握 す る た め に 例 題 ア プ リ ケ ー シ ョ ン を 構 築 す る[3]。次 に 、フ レ ー ム ワ ー ク 作 成 の 基 盤 と す る た め に 、Ajax[4]とJSON[5]技 術 を 用 い て 例 題 ア プ リ ケ ー シ ョ ン を 再 構 築 す る 。 こ の 実 装 し た 例 題

(2)

ア プ リ ケ ー シ ョ ン か ら コ ン ポ ー ネ ン ト を 抽 出 し 、 コ ン ポ ー ネ ン ト 間 を つ な げ る APIを 作 成 す る 。最 後 に 、こ れ ら の コ ン ポ ー ネ ン ト とAPIに よ り フ レ ー ム ワ ー ク を 構 築 す る 。

さ ら に ,こ の フ レ ー ム ワ ー ク を 用 い て 、エ ン ド ユ ー ザ が 作 成 し た 外 部 仕 様 か ら ア プ リ ケ ー シ ョ ン に 変 換 す る 機 能 を 実 現 す る た め に , エ ン ド ユ ー ザ を 支 援 す る ビ ジ ュ ア ル ツ ー ル を 開 発 す る .そ の 詳 細 は 第 5章 で 述 べ る 。

3. 例 題 ア プ リ ケ ー シ ョ ンの 構 築 3.1. アプリケーションの概 要

今 回 、 不 用 品 交 換 シ ス テ ム を 例 題 と し て と り あ げ た 理 由 は 、 最 近 、 環 境 問 題 が 重 要 視 さ れ て い る こ と が あ る 。持 続 可 能 な 社 会 実 現 の 一 環 と し て 、IT技 術 の 適 用 に よ る 資 源 の 節 約 や 環 境 保 全 の 達 成(Green-B y-IT)が 期 待 さ れ て い る こ と か ら 、 た と え ば 、 地 方 自 治 体 や 町 内 会 の ボ ラ ン テ ィ ア で 運 営 し て い る 不 用 品 交 換 シ ョ ッ プ を 担 当 者 自 身 が Webサ イ ト と し て 立 ち 上 げ る こ と が で き れ ば 、 大 き な 効 果 が 期 待 で き る 。

本 研 究 で は 、 不 用 品 を 提 供 す る 人 と そ れ を 活 用 し た い 人 の 仲 介 を す る シ ス テ ム を 想 定 し て い る 。 ユ ー ザ は 当 シ ス テ ム を 用 い 、PC端 末 で 不 用 品 の 情 報 を 登 録 し た り 、 申 請 し た り 、 検 索 し た り す る こ と が で き 、 全 部 で 10画 面 に よ り 構 成 す る 。図 1 は 不 用 品 交 換 シ ス テ ム の 画 面 遷 移 を 示 し 、 次 の ユ ー ス ケ ー ス を 備 え る 。

図1. 不 用 品 交 換 シ ス テ ム の 画 面 遷 移 図

― メ ー ル ア ド レ ス を 登 録 す る 。

― ユ ー ザ 情 報 を 登 録 ・ 更 新 す る 。

― シ ス テ ム に ロ グ イ ン す る 。

― 不 用 品 情 報 を 登 録 ・ 更 新 す る 。

― 不 用 品 情 報 を 検 索 す る 。

― 不 用 品 を 申 請 す る 。

3.2. 基 本 的 アーキテクチャ

シ ス テ ム は 、 従 来 の3層 ア ー キ テ ク チ ャ を 採 用 し 、 ユ ー ザ イ ン タ フ ェ ー ス を 提 供 す る プ レ ゼ ン テ ー シ ョ ン 層 , ア プ リ ケ ー シ ョ ン の 処 理 を 行 う ア プ リ ケ ー シ ョ ン 層 , デ ー タ を 管 理 す る デ ー タ 層 で 構 成 さ れ る 。 実 装 レ ベ ル で は , そ れ ぞ れWebブ ラ ウ ザ とWebサ ー バ , ア プ リ ケ ー シ ョ ン サ ー バ ,デ ー タ ベ ー ス サ ー バ に 対 応 す る 。

近 年 、Webア プ リ ケ ー シ ョ ン を 開 発 す る た め に 、MVC モ デ ル に 準 拠 す るStrutsに 代 表 さ れ る 汎 用 フ レ ー ム ワ ー ク が 利 用 さ れ て い る 。MVCモ デ ル は 、ア プ リ ケ ー シ ョ ン の 状 態 を 保 持 す る モ デ ル と , 表 示 ・ 出 力 を 司 る ビ ュ ー と 、 入 力 を 受 け 取 っ て そ の 内 容 に 応 じ て ビ ュ ー と モ デ ル を 制 御 す る コ ン ト ロ ー ラ の 役 割 が 明 確 に 分 離 さ れ て い る 。 そ の 結 果 、 処 理 フ ロ ー が 把 握 し や す く な る た め 、 シ ス テ ム 全 体 を 理 解 し や す く 、 開 発 と 保 守 の 容 易 性 を 向 上 さ せ る と い う 効 果 が あ る 。

し か し 、 Strutsな ど の 汎 用 フ レ ー ム ワ ー ク は コ ン ト ロ ー ラ へ の 設 定 が 複 雑 と い う 問 題 が あ る 。 そ こ で 、 本 稿 で は 、 汎 用 フ レ ー ム ワ ー ク の 代 わ り に 、JSP/Servlet モ デ ル に 基 づ く シ ン プ ル な フ レ ー ム ワ ー クEcoFWを 開 発 し た 。図2は 、フ レ ー ム ワ ー クEcoFWを 用 い た シ ス テ ム ア ー キ テ ク チ ャ を 表 し て い る 。EcoFWで は 、URLに よ り ロ ジ ッ ク ク ラ ス を 呼 出 し 、 ビ ュ ー と ロ ジ ッ ク ク ラ ス を 分 離 す る こ と が 実 現 で き た 。 さ ら に 、 デ ー タ ベ ー ス へ の 操 作 を 容 易 に す る 機 能 も 備 え た 。 図2に お い て 、 APサ ー バ 層 の 実 線 部 分 は ド メ イ ン 非 依 存 で あ り 、他 の ド メ イ ン に も 適 用 す る 。 点 線 の 箇 所 は ド メ イ ン に 依 存 す る 。

図2. 不 用 品 交 換 シ ス テ ム の 構 造(バ ー ジ ョ ン 1) サ ー ブ レ ッ ト

(E choSe rvl et) Web

ブ ラ ウ ザ

ロ ジ ッ ク ク ラ ス

DB処 理

API

pr oper ties フ ァ イ ル ( SQ L) 画 面 フ

ァ イ ル (J SP)

DB

ク ラ イ ア ン APサ ー バ DBサ ー バ

リ ク エ ス ト

レ ス ポ ン ス

呼 び 出 し

遷 移 先 応 答 UR Lよ りロ ジ ッ ク ク ラ ス を 呼 び 出

Tab l e Co n t a in er

オ ブ ジ ェ ク ト

S QLキ ー

S Q L文 読 み 込 み

S Q L文 発 行 メ イ ン メ ニ

ュ ー 画 面 1

ユ ー ザ 情 報 登 録 画 面

2

ユ ー ザ 情 報 確 認 画 面

3 ユ ー ザ ロ グ

イ ン 画 面 4

ユ ー ザ マ イ ペ ー ジ 画 面

5

不 用 品 登 録 画 面

6

不 用 品 検 索 申 請 画 面

7 ユ ー ザ 情 報 変 更 画 面

9 不 用 品 情 報 リ ス ト 画 面

8

メ ー ル UR L

メ ー ル ア ド レ ス 登 録 画

10

(3)

3.3. 実 装 結 果

こ こ ま で の 研 究 で は 、2つ の バ ー ジ ョ ン の 例 題 ア プ リ ケ ー シ ョ ン を 実 装 し た 。バ ー ジ ョ ン1は 、図 2 に 示 す よ う に 、EcoFWを 用 い て 不 用 品 交 換 シ ス テ ム の 実 装 を 行 っ た 。バ ー ジ ョ ン2は 、バ ー ジ ョ ン 1 の 例 題 ア プ リ ケ ー シ ョ ン を 書 き 直 し 、 ド メ イ ン 依 存 部 分 の 画 面 フ ァ イ ル(JSP)と ロ ジ ッ ク ク ラ ス が ド メ イ ン 非 依 存 と な る よ う に 実 装 し た 。

バ ー ジ ョ ン1の ド メ イ ン 依 存 部 分 に お い て は 、1画 面 に 対 し て 、 1 つ のJSPと 1 つ の ロ ジ ッ ク ク ラ ス が 対 応 す る と い う ル ー ル で 作 成 し た 。 ま た 、 業 務 用 のSQL文 を 事 前 に 作 成 し 、propertiesフ ァ イ ル に 格 納 し た 。バ ー ジ ョ ン1の 不 用 品 交 換 シ ス テ ム の 実 装 内 容 を 表 1 に 示 す 。

表1. バ ー ジ ョ ン1の 実 装 内 容 ( ド メ イ ン 依 存 ) 内 容 JSP ロ ジ ッ ク

ク ラ ス

Propertiesフ ァ イ ル

10 10 2

バ ー ジ ョ ン 2 で は 、 バ ー ジ ョ ン1のJSPフ ァ イ ル に 対 し て 、JavaScriptを 使 っ て 、HTMLを ダ イ ナ ミ ッ ク に 作 成 で き る よ う に し た 。 そ し て 、 ロ ジ ッ ク か ら 画 面 へ 渡 す 情 報 はJSON形 式 デ ー タ を 使 う こ と に し た 。そ の 理 由 は 、JavaScriptのAjax技 術 を 用 い 、JSON形 式 デ ー タ を 簡 単 に 解 析 で き る よ う す る た め で あ る 。

従 来 、 情 報 の 表 示 ・ 出 力 を 司 る ビ ュ ー を 構 築 す る の に は 、 HTML言 語 を 用 い 、 <table>、 <input>な ど の HTML タ グ を 使 っ て き た 。バ ー ジ ョ ン 2の 実 装 は 、JavaScript 言 語 を 用 い て HTMLタ グ を 自 動 的 に 生 成 す る こ と に よ り 、 HTMLタ グ を 使 わ な く て よ い よ う に し た 。

具 体 的 な 例 と し て , 各 画 面 が 備 え る メ ニ ュ ー 画 面 へ の リ ン ク 機 能 に 関 す る バ ー ジ ョ ン 1 と バ ー ジ ョ ン 2 の 実 装 を 以 下 に 示 す 。 バ ー ジ ョ ン 1 の 実 装 例 で 記 述 さ れ て い る "メ ニ ュ ー 画 面 へ "、 "menuLink"、 "menu.jsp"、

"body"を 、 バ ー ジ ョ ン 2で の コ ン ポ ー ネ ン ト _LINK_Cの 引 数 と し て 渡 し て 実 行 す る と 、バ ー ジ ョ ン 1と 同 じ よ う な HTMLタ グ を 生 成 す る こ と が で き る 。 バ ー ジ ョ ン 2 で 作 成 し た コ ン ポ ー ネ ン ト は JSフ ァ イ ル に 格 納 し て お り 、 他 の 画 面 に も 共 通 に 使 わ れ る 。

実 装 の 例 :

・ バ ー ジ ョ ン 1で リ ン ク 機 能 を 果 た す HTMLタ グ

<body>

<a href="menu.jsp" name="menuLink ">

メ ニ ュ ー 画 面 へ </a>

</body>

・ バ ー ジ ョ ン 2で リ ン ク 機 能 を 果 た す コ ン ポ ー ネ ン ト

var _LINK_C = function(value,name,url,parentE){

this.init = function(){

var dom=document.createElement("a") var elementLink =

parent.appendChild(dom) elementLink.href = url

var txt=new _LABEL_C(value,elementLink) txt.init()

} }

ロ ジ ッ ク ク ラ ス で は 、 デ ー タ ベ ー ス へ の 操 作 結 果 を 整 理 し て 、 画 面 へ 渡 す の が 主 な 処 理 で あ る 。 バ ー ジ ョ ン 1 で は 、 デ ー タ ベ ー ス へ の 操 作 結 果 を 固 定 形 式 の Javaオ ブ ジ ェ ク ト に 整 理 し た 。バ ー ジ ョ ン 2で は 、Java オ ブ ジ ェ ク ト を JSONオ ブ ジ ェ ク ト に 変 換 し 、 画 面 に 渡 す よ う に し た 。JSONオ ブ ジ ェ ク ト を 生 成 す る APIが 各 画 面 で 共 通 に 使 わ れ る よ う に 作 成 し た 。

実 際 の 不 用 品 交 換 シ ス テ ム で 実 装 さ れ た 画 面 の 例 と し て 、 ユ ー ザ の マ イ ペ ー ジ 画 面 を 図 3に 示 す 。 ユ ー ザ が ロ グ イ ン し た ら 、 マ イ ペ ー ジ 画 面 へ 遷 移 す る 。 こ の 画 面 で は 、 ユ ー ザ が 登 録 し た 不 用 品 情 報 お よ び 申 請 し た 不 用 品 が 表 示 さ れ 、 変 更 ・ 取 消 の 操 作 を 行 う こ と が で き る 。

図3. 不 用 品 交 換 シ ス テ ム の マ イ ペ ー ジ 画 面

3.4. アプリケーションに関する考 察

例 題 ア プ リ ケ ー シ ョ ン の バ ー ジ ョ ン1は シ ン プ ル で あ る が 、 上 述 し た シ ス テ ム 機 能 を 全 部 備 え て お り 、 現 在 実 用 性 に つ い て 試 用 評 価 し て い る 。 汎 用 フ レ ー ム ワ ー ク の 代 わ り に EcoFWを 開 発 し 、ビ ュ ー と モ デ ル を 分 離 し た こ と に よ り 、 シ ス テ ム ア ー キ テ ク チ ャ を 理 解 し や す く な り 、 保 守 の 容 易 性 も ア ッ プ さ せ た と 考 え ら れ る 。

例 題 ア プ リ ケ ー シ ョ ン の バ ー ジ ョ ン 2で は 、 シ ス テ ム 機 能 は 拡 張 し な か っ た が 、 バ ー ジ ョ ン 1 に 比 べ て ド

(4)

メ イ ン 非 依 存 の 割 合 を 増 加 さ せ た 。 表 2 は 、 例 題 ア プ リ ケ ー シ ョ ン の 実 装 に お け る バ ー ジ ョ ン 1 と バ ー ジ ョ ン 2 の ス テ ッ プ 数 及 び バ ー ジ ョ ン 1 に 対 す る バ ー ジ ョ ン 2 の ス テ ッ プ 数 の 減 尐 量 の 割 合 を 示 す 。 表 か ら わ か る よ う に 、 バ ー ジ ョ ン 2 は バ ー ジ ョ ン 1 と 比 べ る と 、 ド メ イ ン 依 存 の JSP の 記 述 ス テ ッ プ 数 が 51% 減 尐 し 、 ロ ジ ッ ク ク ラ ス も 43% の 削 減 量 に な っ た 。

表2. 例 題 実 装 に お け る ス テ ッ プ 数

ド メ イ ン 依 存 ド メ イ ン 非 依 存 JSP

ロ ジ ッ ク ク ラ

Propert ies フ ァ イ ル

EcoFW JS フ ァ イ ル API

バ ー ジ

ョ ン 1 624 1447 422 1438 0 0

バ ー ジ

ョ ン 2 308 831 422 1438 769 389

減 少 量 316 616 0 - - -

減 少 量

の 割 合 51% 43% 0 - - -

4. フ レ ー ム ワ ー ク の 抽 出 4.1. ドメイン非 依存 部 分の抽 出

本 研 究 で は 、 バ ー ジ ョ ン 2で 実 装 し た 例 題 ア プ リ ケ ー シ ョ ン を コ ン ポ ー ネ ン ト 化 し 、 ビ ュ ー 部 分 と モ デ ル 部 分 か ら ド メ イ ン 非 依 存 部 分 を 抽 出 し た 。

ビ ュ ー 部 分 に 関 し て は 、 上 述 し た よ う に 各 画 面 で HTMLタ グ を 自 動 的 に 生 成 す る コ ン ポ ー ネ ン ト を 作 成 し た 。 そ し て 、 フ レ ー ム ワ ー ク を 構 築 す る た め に 、 作 成 し た コ ン ポ ー ネ ン ト の 汎 用 化 を 試 み た 。 汎 用 化 の 方 法 と し て は 、 コ ン ポ ー ネ ン ト に 次 の 3つ の 属 性 を 付 加 し て コ ン ポ ー ネ ン ト の 実 体 と 属 性 を 分 離 し 、 実 体 が 呼 び 出 さ れ る 時 に 属 性 を 設 定 で き る よ う に し た 。

コ ン ポ ー ネ ン ト の 属 性 :

・data

→ コ ン ポ ー ネ ン ト に 差 し 込 む デ ー タ

・css

→ コ ン ポ ー ネ ン ト の 位 置 、 サ イ ズ な ど の 情 報

・events

→ コ ン ポ ー ネ ン ト の イ ベ ン ト

例 え ば 、HTMLの<input type="text"/>タ グ を 生 成 す る コ ン ポ ー ネ ン ト_INPUT_TEXT_C の 場 合 、 以 下 の 属 性

css属 性 :

width:100px top:10px left:10px data属 性 :

value: 入 力 欄 テ ス ト events属 性 :

onchage:changColor(red)

を 設 定 し て 実 行 す れ ば 、 次 の HMTLタ グ

<input type="text" style= "width:1 00 px;top:10 px;left:10 px "

va lu e= "入 力 欄 テ ス ト" oncha nge= "changColor(red)"/ >

を 生 成 す る こ と が で き る 。

モ デ ル 部 分 に 関 し て は 、 バ ー ジ ョ ン1で の 各 ロ ジ ッ ク ク ラ ス が 、 デ ー タ ベ ー ス へ の 操 作 結 果 を JSONオ ブ ジ ェ ク ト の 形 式 で 画 面 へ 返 す よ う に し た 。 図 4 は 、 不 用 品 交 換 シ ス テ ム の バ ー ジ ョ ン 2 の ア ー キ テ ク チ ャ を 表 す 。図 4 で 示 す よ う に 、各 ロ ジ ッ ク ク ラ ス でSQL文 発 行 の 結 果 で あ るJavaオ ブ ジ ェ ク トTableContainerを JSONオ ブ ジ ェ ク ト へ 変 換 す る よ う に し た 。 ま た 、 バ ー ジ ョ ン 2 の 各 ロ ジ ッ ク ク ラ ス が バ ー ジ ョ ン 1 よ り 軽 量 に な る た め 、Javaオ ブ ジ ェ ク ト か らJSONへ 変 換 す る 部 分 を 抽 出 し て 共 通 に 使 わ れ る JSON生 成 APIを 作 成 し た 。

図4. 不 用 品 交 換 シ ス テ ム の 構 造(バ ー ジ ョ ン 2)

4.2. フレームワーク化の考 察

ド メ イ ン 非 依 存 部 分 の 抽 出 に よ っ て 、 フ レ ー ム ワ ー ク の 構 造 を お お む ね 決 定 で き た 。

ビ ュ ー 部 分 を コ ン ポ ー ネ ン ト 化 す る こ と に よ っ て 画 面 フ ァ イ ル(JSP)の ス テ ッ プ 数 が 大 幅 に 削 減 し た こ と を 確 認 し た 。 さ ら に 、 コ ン ポ ー ネ ン ト を 汎 用 化 す る こ と で 、 そ の 他 の ド メ イ ン の 画 面 構 築 に も 適 用 可 能 と し た 。

モ デ ル 部 分 に 関 し て は 、 一 部 の ビ ジ ネ ス ロ ジ ッ ク を JSONオ ブ ジ ェ ク ト へ 変 換 す る こ と に し た の で 、 ロ ジ ッ ク ク ラ ス が よ り 軽 く な っ た 。 な お 、 ド メ イ ン に 依 存 し て い る ロ ジ ッ ク を 非 依 存 に す る の は 難 し い 面 も あ る が 、 ロ ジ ッ ク 系 の コ ン ポ ー ネ ン ト の 作 成 も 検 討 し て い る 。

5. エ ン ド ユ ー ザ へ の 支 援 5.1. 概 要

例 題 ア プ リ ケ ー シ ョ ン の バ ー ジ ョ ン 1 を 実 装 す る た め に , そ の 外 部 仕 様 の 設 計 を 行 っ た 。 業 務 用 の テ ー ブ ル 定 義 書 、 図 3 に 示 し た よ う な 画 面 の 詳 細 設 計 書 、

サ ー ブ レ ッ ト Web

ブ ラ ウ ザ

ロ ジ ッ ク ク ラ ス

DB処 理

API pr oper ties

フ ァ イ ル (SQ L)

画 面 フ ァ イ ル (Ja va scr ipt)

DB

ク ラ イ ア ン APサ ー バ DBサ ー バ

リ ク エ ス ト

レ ス ポ ン ス

呼 び 出 し J S O Nオ ブ ジ ェ ク ト

Tab l e Co n t a in er

SQ L文 の 読 み 込 み

S Q L文 発 行

JSON生 成

API

(5)

図 1 に 示 し た 画 面 遷 移 図 、 図 2 の properties フ ァ イ ル に 格 納 す る ビ ジ ネ ス ロ ジ ッ ク 用 の SQL 文 を 作 成 し た 。 エ ン ド ユ ー ザ 主 導 開 発 で は 、 こ れ ら の 外 部 仕 様 を エ ン ド ユ ー ザ 自 身 が 作 成 し な け れ ば な ら な い の で 、 そ の た め の ビ ジ ュ ア ル ツ ー ル を 作 成 す る こ と と し た 。 こ の ビ ジ ュ ア ル ツ ー ル は 、業 務 用 の DB設 計 、GUI仕 様 設 計 、 ビ ジ ネ ス ロ ジ ッ ク 作 成 の 三 つ の 基 本 機 能 を 備 え る 必 要 が あ る 。 図 5 は エ ン ド ユ ー ザ へ の 支 援 方 式 を 示 す 。 次 節 で 、ビ ジ ュ ア ル ツ ー ル の そ れ ぞ れ の 機 能 を 説 明 す る 。

図5. エ ン ド ユ ー ザ へ の 支 援 方 式

5.2. DB自 動 生 成

本 研 究 で は 、 ア プ リ ケ ー シ ョ ン の 管 理 対 象 に 応 じ て 業 務 用 の テ ー ブ ル を 作 成 す る 。 不 用 品 交 換 シ ス テ ム の 場 合 は 、 ユ ー ザ 、 不 用 品 、 不 用 品 申 請 の 3 つ の 管 理 対 象 が あ り 、 そ れ ぞ れ に 対 し て 、 必 要 な 管 理 項 目 を 備 え た テ ー ブ ル を 作 成 し た 。 エ ン ド ユ ー ザ は ビ ジ ュ ア ル ツ ー ル を 用 い て 管 理 対 象 を 設 定 し て 、 管 理 項 目 の 追 加 お よ び 型 の 設 定 が で き る 。 管 理 項 目 の 型 は 使 用 し て い る RDBMS の 型 に よ り 提 供 さ れ る 。 エ ン ド ユ ー ザ の 設 定 情 報 に 基 づ い て SQL テ ー ブ ル 操 作 コ マ ン ド を 使 っ て テ ー ブ ル の 生 成 、 削 除 、 更 新 を 行 い 、DB 自 動 生 成 の 機 能 を 実 現 す る 。 同 時 に 、 テ ー ブ ル 情 報 を 図 5 の 固 有 DBに 保 持 し て 、ビ ジ ネ ス ロ ジ ッ ク に 使 う こ と に な る 。

5.3. GUI 仕 様 設 計

例 題 ア プ リ ケ ー シ ョ ン の 画 面 詳 細 設 計 書 で は 、 画 面 ご と に ,該 当 画 面 の 項 目 、項 目 属 性 、表 示 形 式 、入 力/

出 力 な ど の 情 報 を 定 義 し た 。 エ ン ド ユ ー ザ が ビ ジ ュ ア ル ツ ー ル を 使 う 場 合 は 、 ペ ー ジ ご と に コ ン ポ ー ネ ン ト を 組 み 込 み , ド ラ ッ グ&ド ロ ッ プ の 操 作 で 定 義 す る 方 式 と す る 。 そ し て 、 コ ン ポ ー ネ ン ト ご と に 属 性 な ど の 情 報 を 設 定 す る 。 設 定 し た 情 報 は 、JSON フ ァ イ ル の 形 式 で 保 存 す る 。 即 ち 、 エ ン ド ユ ー ザ が 構 築 し た ア プ リ ケ ー シ ョ ン を 運 用 す る と き に JSON フ ァ イ ル が 呼 ば れ 、 画 面 が 描 画 さ れ る 。 ビ ジ ネ ス ロ ジ ッ ク 設 計 に 使 用 す る こ と を 考 慮 し て 、 標 準 コ ン ポ ー ネ ン ト の 仕 様 に 基 づ い て ペ ー ジ ご と に 図 5 の 固 有 DBに 保 存 す る 。

ま た 、 不 用 品 交 換 シ ス テ ム の 例 題 ア プ リ ケ ー シ ョ ン の 開 発 を 通 じ て 、 多 く の 機 能 を 備 え た 標 準 コ ン ポ ー ネ ン ト を 抽 出 し て 実 装 し た 。 図 6 は 、 標 準 コ ン ポ ー ネ ン ト の イ メ ー ジ を 示 す . パ ラ メ タ 設 定 、 イ ベ ン ト 配 置 、 情 報 表 示 の 3 つ の 機 能 に よ り 構 成 さ れ 、 必 要 に 応 じ て 取 捨 選 択 す れ ば よ い 。

図6. 標 準 コ ン ポ ー ネ ン ト の イ メ ー ジ パ ラ メ タ 設 定 イ ベ ン ト 配 置

情 報 表 示

(6)

5.4. ビジネスロジック仕 様 実 現

ビ ジ ネ ス ロ ジ ッ ク に 関 し て は 、 バ リ デ ー シ ョ ン 機 能 、 DB 操 作 機 能 、 画 面 遷 移 と メ ー ル 送 信 な ど の そ れ 以 外 の 機 能 を 分 け て 実 現 す る 。 ビ ジ ュ ア ル ツ ー ル に よ る 支 援 機 能 を 検 討 し た 結 果 、ビ ジ ネ ス ロ ジ ッ ク の 支 援 がDB 自 動 生 成 とGUI仕 様 設 計 支 援 よ り 難 し い こ と が 判 明 し た 。 よ っ て 、 本 研 究 で は 、 ビ ジ ネ ス ロ ジ ッ ク に 関 し て 2 段 階 に 分 け て 実 装 す る こ と と し た 。 第1段 階 で は 、 バ リ デ ー シ ョ ン 、DB 操 作 、 画 面 遷 移 を 実 装 す る 。 ま た 、 第2段 階 で メ ー ル 送 信 な ど の ド メ イ ン 依 存 の 機 能 を 加 え る 。

本 研 究 で は 、 関 連 項 目 の リ レ ー シ ョ ン シ ッ プ の 設 定 を 行 う こ と に よ っ て ビ ジ ネ ス ロ ジ ッ ク を 実 現 す る 。 エ ン ド ユ ー ザ が ビ ジ ュ ア ル ツ ー ル を 用 い て 、 コ ン ポ ー ネ ン ト の パ ラ メ タ と チ ェ ッ ク タ イ プ の リ レ ー シ ョ ン シ ッ プ を 設 定 し て バ リ デ ー シ ョ ン 機 能 を 実 現 す る 。DB 操 作 機 能 の 場 合 は 、 イ ベ ン ト 、 パ ラ メ タ 、 テ ー ブ ル カ ラ ム の 関 連 付 け を 行 う 。設 定 し た 情 報 は SQL文 の 形 式 で 保 持 さ れ る 。 図 5 で 示 す よ う に 、 構 築 さ れ た ア プ リ ケ ー シ ョ ン を 運 用 す る 時 に は パ ラ メ タ を SQL 文 に 差 し 込 ん で DB操 作 機 能 を 実 行 す る 。 画 面 遷 移 は 、 イ ベ ン ト と ペ ー ジ の 関 係 を 設 定 す る 。

5.5. 考 察

エ ン ド ユ ー ザ へ の 支 援 方 式 を 示 す 図 5 は 、 左 側 が ア プ リ ケ ー シ ョ ン 開 発 支 援 の ビ ジ ュ ア ル ツ ー ル で 、 右 側 が 生 成 さ れ た ア プ リ ケ ー シ ョ ン の 部 分 で あ る 。 ア プ リ ケ ー シ ョ ン 開 発 支 援 方 式 で は 、 ビ ジ ュ ア ル ツ ー ル を 用 い て 、 ア プ リ ケ ー シ ョ ン を 実 現 す る た め の DB 設 計 、 GUI仕 様 設 計 、 ビ ジ ネ ス ロ ジ ッ ク の 設 定 を 行 う 。 エ ン ド ユ ー ザ の 操 作 し や す さ を 考 慮 し て 、 ド ラ ッ グ&ド ロ ッ プ でGUI仕 様 を 設 計 す る よ う に す る 。 そ し て 、GUI 標 準 コ ン ポ ー ネ ン ト を 抽 出 す る こ と に よ っ て エ ン ド ユ ー ザ がGUI仕 様 設 計 を し や す く な る 。リ レ ー シ ョ ン シ ッ プ を 設 定 す る 形 式 で バ リ デ ー シ ョ ン と DB操 作 機 能 を 実 現 す る こ と に よ り 、 エ ン ド ユ ー ザ が 理 解 し や す く な る 。

図 5 の 右 部 分 は 、 エ ン ド ユ ー ザ が 構 築 し た ア プ リ ケ ー シ ョ ン を 実 行 す る 環 境 で あ る 。ア プ リ ケ ー シ ョ ン は 、 起 動 ペ ー ジ に よ り 起 動 さ れ 、 シ ス テ ム の 保 持 情 報 を 利 用 し な が ら 、 ア プ リ ケ ー シ ョ ン の 各 機 能 を 実 行 す る 。 即 ち 、 フ レ ー ム ワ ー ク は 、 エ ン ド ユ ー ザ が 設 定 し た 情 報 を 解 釈 す る こ と に よ っ て ア プ リ ケ ー シ ョ ン の 実 行 を 行 う と い え る 。 ま た 、 生 成 さ れ た ア プ リ ケ ー シ ョ ン の 保 守 の 多 く は 、 保 持 し た 情 報 だ け の 変 更 で よ い の で 、 ア プ リ ケ ー シ ョ ン を は じ め か ら 作 り 直 す 必 要 は な い 。

6. お わ り に

本 稿 で は 、エ ン ド ユ ー ザ 向 け Webア プ リ ケ ー シ ョ ン フ レ ー ム ワ ー ク の 研 究 の 一 環 と し て 、 不 用 品 交 換 シ ス テ ム を 例 題 と す る ア プ リ ケ ー シ ョ ン を 試 作 し 、 考 察 及 び 評 価 を 行 っ た 。 バ ー ジ ョ ン 1 の 例 題 ア プ リ ケ ー シ ョ ン は 、 基 本 的 な シ ス テ ム 機 能 を 実 現 し た う え で 、 フ レ ー ム ワ ー ク EcoFWを ド メ イ ン 非 依 存 部 分 と し て 分 離 し た 。 さ ら に 、 バ ー ジ ョ ン 2の 例 題 ア プ リ ケ ー シ ョ ン を 実 装 す る こ と に よ っ て 、画 面 フ ァ イ ル(JSP)を コ ン ポ ー ネ ン ト 化 さ せ 、 ド メ イ ン 非 依 存 性 を 実 現 し た 。 そ し て 、JSONオ ブ ジ ェ ク ト を 使 う こ と に よ っ て 、 ソ ー ス 量 を か な り 削 減 で き る こ と を 確 認 し た 。

ま た 、 エ ン ド ユ ー ザ を 支 援 す る た め の ビ ジ ュ ア ル ツ ー ル を 検 討 し た 。 第 1段 階 で 各 機 能 の 実 現 方 式 を 定 め た 上 で 実 装 を 行 っ て い る 。

今 後 は 、 ビ ジ ュ ア ル ツ ー ル の 第 1 段 階 の 実 装 を 終 わ ら せ る と と も に 、 第 2 段 階 の ド メ イ ン 依 存 の ビ ジ ネ ス ロ ジ ッ ク に つ い て 検 討 し て い く 。

文 献

[1] 中 所 武 司, “業 務 の 知 識 を 有 す る エ ン ド ユ ー ザ 主 導 の ア プ リ ケ ー シ ョ ン 開 発 技 法 ~ フ レ ー ム ワ ー ク・ド メ イ ン モ デ ル・サ ー ビ ス 連 携 ~”, 電 子 情 報 通 信 学 会 技 術 研 究 報 告 Vol.107, No.331, 知 能 ソ フ ト ウ ェ ア 工 学 研 究 会 KBSE2007-30, 19-24(Nov. 2007).

[2] 中 所 武 司, “抽 象 フ ォ ー ム を 用 い た エ ン ド ユ ー ザ 主 導 の 要 求 定 義 法”, 情 報 処 理 学 会 ウ ィ ン タ ー ワ ー ク シ ョ ッ プ 2008・ イ ン ・ 道 後 論 文 集 、 シ ン ポ ジ ウ ム シ リ ー ズ Vol.2008, No.3, pp.63 -64 (Jan.

2008)

[3] 李 静 , 中 所 武 司 ,“エ ン ド ユ ー ザ 向 け Web ア プ リ ケ ー シ ョ ン フ レ ー ム ワ ー ク の 提 案 と 試 作,”

FIT2011 第10回 情 報 科 学 技 術 フ ォ ー ラ ム, B-013, Sep. 2011.

[4] “Ajax”, http://ja.wikipedia.org/wiki/Ajax,(2011.6.27 参 照 ).

[5] “JSONの 紹 介”, http://www.json.org/,(2011. 6.27参 照 )

図 1 に 示 し た 画 面 遷 移 図 、 図 2 の properties フ ァ イ ル に 格 納 す る ビ ジ ネ ス ロ ジ ッ ク 用 の SQL 文 を 作 成 し た 。 エ ン ド ユ ー ザ 主 導 開 発 で は 、 こ れ ら の 外 部 仕 様 を エ ン ド ユ ー ザ 自 身 が 作 成 し な け れ ば な ら な い の で 、 そ の た め の ビ ジ ュ ア ル ツ ー ル を 作 成 す る こ と と し た 。 こ の ビ ジ ュ ア ル ツ ー ル は

参照

関連したドキュメント

Associate Professor, Graduate School of Marine Science and Technology, Tokyo University of Marine Science and Technology (Ocean Newsletter No. Designation of the Takashima Kozaki

情報理工学研究科 情報・通信工学専攻. 2012/7/12

* Department of Mathematical Science, School of Fundamental Science and Engineering, Waseda University, 3‐4‐1 Okubo, Shinjuku, Tokyo 169‐8555, Japan... \mathrm{e}

Arnold This paper deals with recent applications of fractional calculus to dynamical sys- tems in control theory, electrical circuits with fractance, generalized voltage di-

Arnold This paper deals with recent applications of fractional calculus to dynamical sys- tems in control theory, electrical circuits with fractance, generalized voltage di-

建築基準法施行令(昭和 25 年政令第 338 号)第 130 条の 4 第 5 号に規定する施設で国土交通大臣が指定する施設. 情報通信施設 情報通信 イ 電気通信事業法(昭和