第 7 章 INTER-Mediator の適用範囲と評価 95
7.4 今後の発展に向けての課題
現状のINTER-Mediatorは,Webアプリケーションを開発するための基本的な機能は揃っていると考える.
バグを潰したり,レアケースでの不具合の解消はもちろん随時続ける.一方,インタビューでも明らかに なったように,直接的にはドキュメントの不足があり,早急に改善する必要がある.
エンドユーザー開発で利用価値を高めるためには,宣言的な記述で一定の機能を利用できる仕組みは随時 追加する必要があると考える.ただ,闇雲に機能を追加するというのもかえって複雑になるだけである.今 後の展開を検討するにあたり,O’Reillyが主催するフロントエンドツールのカンファレンス「fluent2014[78]」
での中で「フレームワークはコミュニティのベストプラクティスと共に進化する」といった発言がEmber.js の開発者よりあった[59].Web開発者がやりたいことを「プラクティス」として抽出し,フレームワーク の路線として強くサポートする必要があると解釈できる.プラクティスは「よく利用される手法」や「典型 的な解決策」とも言える.一方で「パターン」と表現しないのは,パターンとしてまとめられていることの ような抽象度を求めていないことの現れである.INTER-Mediatorでマスター/ディテール形式のユーザーイ ンタフェースを宣言的な記述だけでサポートするのは,「マスター/ディテール形式」がWebあるいは一般的 な業務システムで使われている典型的なプラクティスである.こうしたプラクティスの抽出と効果的な実現 が可能な実装を求めることで,より利用価値を高める必要がある.
115
第 8 章 まとめ
WebアプリケーションフレームワークのINTER-Mediatorは,独自拡張のないHTMLで記述するページファ イルと,データベースとのやりとりを宣言的な手法で記述する定義ファイルを記述することで,データベー スの内容を読み書き可能なWebアプリケーションが構築できる.開発作業や開発後の改変作業を宣言的な 記述によって行える.一般的なフレームワークでは手続き的なプログラムの作成や修正が必要になり,言語 でのプログラミングを学習する必要がある.こうした手法は柔軟性は高いものの,スキル獲得には時間が かかる.これに対して宣言的な手法であれば,学習コストが低くなり,エンジニアでないような自身の業務 を持つエンドユーザーやWebデザイナーでも取り組むことができる.本フレームワークを利用して開発し たシステムに対してエンドユーザーで保守を行えば,保守作業を専門会社に発注しなくても取り組めるた め,保守のための予算が限られた現場でも保守開発を行う機会が増え,業務の変化に応じたシステム構築 の継続を可能にする.
保守作業が宣言的な記述の変更でできることを示すために,まず,Webアプリケーションの改変が発生 する状況を「ページ要素」「データベース要求」「単一フィールド要求」「ユーザーインタフェースのカスタ マイズ」「データベース応答」「スキーマ変更」と6つに分類し,本フレームワークで作られたWebアプリ ケーションをそれぞれの場合での改変作業を検討した.「ページ要素」「データベース要求」「単一フィール ド要求」については一般的なフレームワークでは手続き的なプログラミングが必要になるのに対し,本フ レームワークでは宣言的な手法で改変が行われることが確認できた.それ以外の分野は,手続き的なプロ グラミングが必要か,もしくはデータベース管理の知識が必要になり,エンジニアによって行われることが 想定できる.すべての保守作業ではないものの,軽微な変更をエンドユーザーサイドで即座に対応できる ことで,経費節減だけでなく,業務への最適化のスピードアップにもつながる.
Webアプリケーションに必要なさまざまな機能を本フレームワークでは宣言的な記述で利用できる.そ のことを実現する特徴的な実装の1つがバインディングである.テキストフィールドを構成するHTML要 素の属性にテーブル名とフィールド名を記述すると,ページを表示するとそのテキストにはデータベースの テーブルのフィールドにある値が表示される.ページ上で修正すると値をフィールドに書き戻す.加えて,
複数のレコードを表示できるように,1レコード分に相当するテーブルの行をレコードの数だけ複製する仕 組みを採用した.1レコードに対応した繰り返す要素群を「リピーター」,リピーターの親ノードを「エンク ロージャー」として,例えばテーブルであればTRタグ群がリピーターでTBODYタグがエンクロージャー となる.テーブルの場合は自動的にエンクロージャーとリピーターのセットを識別可能なので,バインドの 記述を行うだけで繰り返し範囲などの記述はしなくてもレコードの数に応じた繰り返し表示ができる.
本フレームワークを利用して開発するときの記述方法に関して,Web業界で働くデザイナーを中心とし た被験者12名に対する学習可能性の実験を行った.学習コンテンツを読んで学習し,その後に試験を行っ た.被験者は手続き的なプログラミングは日常的に行っていなかった.実験の結果,試験時間が極端に短
時間で試験もほとんど回答できなかった4名と,1〜2時間の学習と試験を行い試験結果は1名を除いて半 分以上の正解を得ている2つのグループに分かれた.前者は学習をあきらめたグループである.後者のグ ループでは得点が一様に分布していることから,学習した結果が試験に現れていると考えられ,学習は可 能であるという結論が得られた.また,学習すべき基本概念に応じた分類ごとの正答率を求めたが,いずれ の分類でも8人中6人は50%以上の得点を得ており,分野ごとに大きな偏りはなかった.学習できた被験 者とできなかった被験者のいずれもプログラミングの経験があったが,学習できた被験者群の中ではプログ ラミング経験があるほど高い得点になる傾向があり,プログラミングの経験が理解を助けるか,あるいは被 験者の意欲の高さとの相関があることが考えられる.また,データベースに対する知識や経験にも影響す ることが,試験後のアンケート結果からも得られ,HTMLの記述だけではなくデータベースの知識の重要 性も確認できた.
本フレームワークを実際に使用して開発を行ったエンドユーザーや開発者にインタビューを行った.手 続き的なプログラムが必要なフレームワークに比べて,手軽に手早くアプリケーションが作成できる点や,
HTMLに直接記述することの分かりやすさなどが高い評価を得られた.一方,一歩踏み込んだ情報が得ら れないなどの,情報提供やノウハウの共有という点での課題が浮かび上がった.さらに,本フレームワー クは,実用システムでの利用も始まっている.年賀状などのオンデマンド印刷を行う会社では,発注側の 顧客と印刷会社のスタッフとのやりとりのためのシステム,本フレームワークを利用して構築し,運用を 続けている.また,FileMakerデータベースを変換してWebアプリケーションとして稼働するシステムが,
ホスティングサービスの会社によって同社の顧客に提供されている.
現在の業務システム開発では,さまざまなフレームワークが用いられているが,いずれも開発専門業者 によって構築が必要になり,さらに保守作業も専門業者に頼ることになる.専門家による開発ではさまざ まな機能を組み込める一方で,コストは高くなる傾向にあり,予算規模が小さな場合にはシステム化をあ きらめたり,あるいは保守できない状況になってしまう.その結果,中小企業や部門の中でシステム化され ない業務が発生すると考えられる.調査によれば,開発と保守にかかる費用は同程度である.本フレーム ワークを利用することで,開発を専門会社に発注するとしても,保守作業をエンドユーザー側で行えれば,
直接的なコストは半減する.本フレームワークにより,外注を中心としたシステム開発の枠組みとは異な るワークフローを作り出し,直接経費の低減やエンドユーザーが直接保守を行うことでの効率化を実現し,
システム化を促進して業務の効率化に貢献できる.
謝辞 117
謝辞
本研究を進めるにあたり,トップエスイー在学中よりご指導いただいた国立情報学研究所アーキテクチャ 科学研究系の鄭顕志助教,博士課程よりご指導いただいた電気通信大学大学院情報システム学研究科の石 川冬樹客員准教授に感謝します.
INTER-Mediatorの開発を進めるにあたって,コミッターとして開発にご協力をいただいた,株式会社エ
ミックの松尾篤さん,春芳堂の伊藤清徳さん,株式会社エミックの鈴木健太郎さんの貢献に感謝します.ま た,開発に関して協力をいただいた,飯島興産株式会社の飯島基文さん,Office sevenFの今泉みゆきさん,
小林幸彦さん,CM DATABANKの溝口敬章さん,森田デザインオフィスの森田博巳さん,株式会社ビッツ の村上幸雄さん,のだ歯科医院の野田修さん,国際協力データサービスの湯浅力さんにも感謝します.
Facebookグループを中心としたコミュニティの皆さんや,システム開発で採用していただいた皆さんに
感謝します.研究に直結した開発機会をいただいた合同会社オンデマンドの西ヶ谷一志さんに感謝します.
インタビューに応じていただいた,倉敷芸術大学メディア映像学科の馬場始三准教授,豊国印刷株式会社 の多田信之さん,国際協力データサービスの湯浅力さん,株式会社エミックの松尾篤さんと鈴木健太郎さん に感謝します.
学習可能性を探るユーザー実験にご参加いただいた皆様に感謝します.
最後に,エンドユーザー開発に関わるさまざまな知見はFileMakerを利用した開発の現場から得られまし た.FileMakerに関係した皆さんを始め,いっしょにFileMakerソリューションの開発や運用を行なった皆 さんにも感謝します.