画像電子学会 第 9 回国際標準化教育研究会 -事業化と標準化教育- Web 型グループウェア開発における技術標準動向と人材育成の課題 The standard trend in Web groupware development and training 竹迫 良範 Yoshinori TAKESAKO サイボウズ・ラボ株式会社 〒112-0004 東京都文京区後楽 1-4-14 後楽森ビル 12F E-mail: takesako@gmail.com 図 1: Web 型グループウェア製品サイボウズ Office 9 のトップページ画面 1. は じ め に サ イ ボ ウ ズ 株 式 会 社 は 、 創 業 1997 年 か ら Web 型 グ ループウェアを開発しているソフトウェア会社である。 主 力 製 品 は す べ て Web ア プ リ ケ ー シ ョ ン と し て 実 装 されており、専用のソフトウェアをインストールする こ と な く 、 Web ブ ラ ウ ザ の み で 利 用 で き る ( 図 1)。 1.1. Web ブラウザの種 類 現 在 、動 作 を サ ポ ー ト し て い る Web ブ ラ ウ ザ の 種 類 は 、 Internet Explorer、 Firefox、 Chrome、 Safari の 各 バ ージョンと多岐に渡っており、各ブラウザの動作の違 い が 、 開 発 上 の 大 き な 問 題 と な っ て い る ( 図 2)。 図 2:サ ポ ー ト 対 象 Web ブ ラ ウ ザ 一 覧 画像電子学会 第 9 回国際標準化教育研究会 2. Web ブ ラ ウ ザ の バ ー ジ ョ ン ア ッ プ の 歴 史 1994 年 に リ リ ー ス さ れ た Netscape Navigator で は 、 -事業化と標準化教育- W3C が 勧 告 し た Web 標 準 に ど れ だ け 準 拠 し て い る か を 視 覚 的 に 確 認 で き る テ ス ト Acid1 Test( 図 4)を 初 テ キ ス ト を 点 滅 さ せ る 目 的 の <blink>を HTML 中 に 記 め て 作 成 し た 。こ の テ ス ト は CSS1 Test Suite に 取 り 込 載できるようにしていた。競争関係にあったライバル ま れ 、 Web 標 準 普 及 へ の 大 き な 前 進 と な っ た 1 。 の Internet Explorer は 、 テ キ ス ト を ス ク ロ ー ル 表 示 さ せ る <marquee>や 、音 を 鳴 ら す <bgsound>な ど を 次 々 に 導入した。当時ブラウザ間で全く互換性のない独自拡 張がベンダー主導で積極的に行われる時期があった。 各ブラウザの挙動と見栄えの違いによって、多くの Web 制 作 者 を 悩 ま す 結 果 と な っ た が 、 W3C に よ る HTML4.01 仕 様 の 勧 告 と CSS の 普 及 に よ っ て 、 各 ブ ラ ウザ・ベンダーは標準準拠を意識するようになった。 Netscape は 2008 年 に 開 発 を 終 了 し た が 、 そ の 後 Google Chrome の 登 場 に よ っ て Web ブ ラ ウ ザ の バ ー ジ ョ ン ア ッ プ 競 争 が 現 在 ま で 続 い て い る ( 図 3)。 図 5: Acid2 Test の 表 示 結 果 そ の 他 、 主 に CSS2.1 へ の 準 拠 度 を 視 覚 的 に 確 認 で き る Acid2 Test( 図 5)も 有 名 で あ る 。現 在 、デ ス ク ト ッ プ PC 向 け の ブ ラ ウ ザ で は ほ ぼ 準 拠 し て い る が 、 Opera Mini 4 や iPod touch 2 な ど ス マ ー ト フ ォ ン 上 の ブ ラウザでは正しく表示されない実装がある。 図 3: Browser History Timeline http://meyer we b.com/eric/browsers/timeline -str uctured. html 2.1. The Web Standards Project(WaSP) WaSP は 1998 年 に 設 立 さ れ た Web 標 準 に 沿 っ た ブ ラ 図 6: Acid3 Test の 100 点 満 点 結 果 ウザの実装とコンテンツ制作を支援する団体である。 最 近 は Ajax 技 術 の 普 及 に よ っ て 、JavaScript や DOM を 多 用 す る Web ア プ リ ケ ー シ ョ ン が 増 え て き た た め 、 主 に HTML の DOM Livel 2 や ECMAScript の 挙 動 を テ ス ト す る Acid3 Test( 図 6) が 2008 年 に 公 開 さ れ た 。 2.2. W3C CSS Working Group こ の よ う に 視 覚 的 に CSS の レ ン ダ リ ン グ 結 果 を 確 認 で き る よ う に し た テ ス ト ス イ ー ト は W3C の WG で も 作 成 さ れ 、 現 在 9,600 件 の テ ス ト が 公 開 さ れ て い る 2 。 1 図 4: 初 め て 作 成 さ れ た Acid1 Test ES ウ ェ ブ ブ ラ ウ ザ 通 信 - Acid1 テ ス ト http://shiki.esrille.com/2011/09/es -acid1.html 2 CSS2.1 Test Suite Results http://wiki.csswg.org/test/css2.1/results 画像電子学会 第 9 回国際標準化教育研究会 3. WHATWG と HTML5 の 関 係 -事業化と標準化教育- 3.2. HTML4 と HTML5 の違 い WHATWG は Web Hypertext Application Technology Working Group の 略 で W3C と は 別 の 団 体 で あ る( 図 7)。 従 来 の HTML4 の 文 章( 図 8)を XML valid で な い 書 き 方 が 許 容 さ れ た HTML5 で 書 き 直 す と 図 9 に な る 。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF -8"> <title>HTML4.01 example</title> <script type="text/javascript"> alert("Hello!"); </script><style type="text/css"> body{background:#decafe}</style> </head> <body> <p>HTML4.01 sample document<hr/></p> </body> </html> 図 8: HTML4.01 の 文 書 サ ン プ ル 図 7: WHATWG の Web サ イ ト 従 来 W3C が 進 め て い た XHTML2.0 の 方 向 性 と 現 場 のニーズの無関心さに不満を持ったブラウザベンダー Opera、Mozilla、Apple の 3 社 が 集 ま り 、独 自 に 新 し い HTML 関 連 仕 様 を ま と め る た め 、 2004 年 に 設 立 し た 。 こ の と き の 仕 様 は Web Applications 1.0 と Web Forms 2.0 と し て ま と め ら れ た 。 の ち の HTML5 で あ る [1]。 <!DOCTYPE html> <html> <meta charset="UTF-8"> <title>HTML5 example</title> <script>alert("Hello!");</script> <style>body{background:#eff}</style> <p>HTML5 sample document<hr></p> </html> 図 9: HTML5 の 文 書 サ ン プ ル 3.1. XHTML2.0 の終 了 と HTML5 の登 場 結 局 W3C は 2007 年 に XHTML2.0 の 策 定 を あ き ら め 従 来 の HTML の 仕 様 で は 字 句 解 析 と 構 文 解 析 の ア ル て 、後 方 互 換 性 を 重 視 し た 新 し い HTML の 仕 様 を 策 定 ゴ リ ズ ム が 明 記 さ れ て お ら ず 、 HTML パ ー サ の 挙 動 が す る と 発 表 し た 。 WHATWG は 自 分 た ち で ま と め た 仕 ブ ラ ウ ザ の バ ー ジ ョ ン 毎 に 異 な っ て い た ( 図 10)。 様 を HTML5 と い う 新 し い 名 前 で 策 定 し て は ど う か と W3C に 対 し て 提 案 し [2]、HTML Working Group が W3C 内 に 新 設 さ れ た 。そ れ に 伴 い W3C は HTML5 の 仕 様 策 定 に 注 力 し 、 XHTML2 Working Group を 解 散 し た 3 。 表 1: HTML5 関 連 API の 実 装 状 況 対応ブラウザ バージョン Internet Explorer Firefox Chrome Safari Opera 8 9 10 3.6 4 10 5 11.50 Local Storage ○ ○ ○ ○ ○ ○ ○ ○ Session Storage ○ ○ ○ ○ ○ ○ ○ ○ Post Message ○ ○ ○ ○ ○ ○ ○ ○ Offline Applications × × × ○ ○ ○ ○ ○ WebSockets API × × × × × ○ ○ × Web Workers × × × ○ ○ ○ ○ ○ Query Selector ○ ○ ○ ○ ○ ○ ○ ○ WebSQL Database(廃止) × × × × × ○ ○ ○ IndexDB Database × × × × × × × × Drag and Drop ○ ○ ○ ○ ○ ○ ○ × File API × × ○ △ ○ ○ × ○ <!DOCTYPE html> <title>HTML5 Syntax Checker</title> <h2>Your Browser is...</h2> <img :src = "opera8.gif" x=``src = "ie.gif" srcZ/="netscape6.gif" src#= "netscape7.gif" = /src = "html5.gif" ''src^K= "safari.gif" /src = "firefox.gif" src = "others.gif" src = "lynx.gif" /> <hr/><!-- ^K is Vertical Tab '¥x0B' --> <p>http://www.w3.org/TR/html5/syntax.html</p> 図 10: HTML5 で は パ ー サ の 動 作 も 標 準 化 HTML5 は Web ア プ リ ケ ー シ ョ ン を 記 述 す る プ ラ ッ GeoLocation × ○ ○ ○ ○ ○ ○ ○ ト フ ォ ー ム の 仕 様 と し て JavaScript の API を 多 く 定 義 History Management × × × × ○ ○ ○ × し て い る 。 い く つ か API は 元 の HTML5 の 仕 様 か ら 分 離 し た 形 で 、個 別 に メ ン テ ナ ン ス を 行 っ て い る( 表 1)。 3 2010-12-17: The XHTML2 Working Group is closed. http://www.w3.org/MarkUp/ 画像電子学会 第 9 回国際標準化教育研究会 -事業化と標準化教育- 4.2. ECMAScript 5 th Edition の登 場 4. ECMAScript の 標 準 化 1996 年 3 月 に リ リ ー ス さ れ た Netscape Navigator 2.0 し か し 、 ECMAScript 4 の 言 語 は 後 方 互 換 性 が な く 、 に は Web ク ラ イ ア ン ト サ イ ド で 動 作 す る ス ク リ プ ト Web が 壊 れ て し ま う と 懸 念 し た 他 の ブ ラ ウ ザ ベ ン ダ ー 言 語 JavaScript の 最 初 の バ ー ジ ョ ン が 搭 載 さ れ て い た 。 から言語仕様の大幅な変更を受け入れてもらうことが 当 時 Netscape と Web 標 準 と ブ ラ ウ ザ シ ェ ア を 争 っ て い で き な か っ た [5]。 代 わ り に ECMAScript 3.1 を ベ ー ス た Microsoft は JavaScript と 互 換 性 の あ る ス ク リ プ ト 言 と し た 小 さ な 仕 様 改 訂 ECMAScript 5 が 承 認 さ れ た 。 語 JScript を 搭 載 し た Internet Explorer 3.0 を 8 月 に リ リ ー ス し た 。 Netscape は JScript の 発 表 に 危 機 感 を 覚 え 、 JavaScript の 標 準 化 を 決 意 し た 。当 初 W3C に JavaScript 4.3. ECMAScript5 の仕 様 忠 実 な処 理 系 「lv5」 2011 年 、サ イ ボ ウ ズ・ラ ボ ユ ー ス の 鈴 木 勇 介 4 は [6]、 の 標 準 化 の 話 を 持 っ て い っ た が 、断 ら れ て し ま っ た [3]。 最 新 の ECMAScript5 の 仕 様 に 忠 実 な 処 理 系 lv5 を 実 装 Netscape は 標 準 を 買 う こ と が で き る 団 体 を 求 め て 、ISO し た 。lv5 で は Array.length に 対 す る PropertyDescriptor や そ の 他 標 準 化 団 体 を 回 り 、欧 州 の ECMA International の設定が可能になっている。これは他のブラウザで 未 に 辿 り 着 き 、ECMAScript( ECMA-262)と し て JavaScript 実 装 な ECMAScript5 の 新 し い 仕 様 の 1 つ で あ る( 図 11)。 の 言 語 仕 様 を 標 準 化 す る こ と と な っ た ( 表 2)。 表 2: ECMAScript 各 版 の 標 準 化 動 向 版 時期 - 1996年3月 JavaScriptの誕生(Netscape Navigator 2.0) 概要 1 1997年6月 ECMA-262 1st Edition 2 1998年6月 ECMA-262 2nd Edition(ISO/IEC 16262:1998) 3 1999年12月 ECMA-262 3rd Edition Ecma Internationalで最初に規格化 以後、JIS X 3060:2000としてJIS規格化 ISO/IEC 16262:2002(2nd Edition)改訂 4 5 廃止 ActionScriptとJavaScriptの統合と大幅な拡張を試みるが挫折 2011年6月 ECMA-262 5.1th Edition として Errata 等の修正 ISO/IEC 16262:2011(3rd Edition)改訂 ES.next 図 11: Test262, 15.2.3.7-6-a-112.js 2009年12月 ECMA-262 5th Edition を10年ぶりに策定 各ブラウザで実装されている仕様の追認(内容的にはES3.1) 5.1 fun ct io n t es tc ase () { var a rr = [0 , 1]; Obj ec t.d ef in eP rop er ty (a rr, " 1 ", { val ue : 1 , con fi gur ab le : f al se }); try { Obj ec t.d ef in ePr op er ti es( ar r , { leng th : { val ue : 1 } }); ret ur n f al se ; } c at ch (e x) { var d esc = O bje ct .g et Own Pr o per ty De scr ip to r(a rr , "l eng th ") ; ret ur n e x in sta nc eo f Typ eE r ror & & des c. va lue = == 2 && des c.w ri ta bl e & & !d esc .e nu mer ab le && ! de sc. co nf ig ura bl e; } } 現在 新しいECMAScript HarmonyとしてTC39で仕様の拡張を検討中 TC39 で は 、ECMA-262 へ の 仕 様 準 拠 度 を 確 認 す る た め の Test Suite と し て Test262 を 提 供 し て い る 。lv5 は 、 Test262 の 11029 件 の 全 件 テ ス ト う ち 11011 件 99.83% を pass し て い る( 表 3)。残 り 18 件 に つ い て は Test262 Microsoft も 標 準 化 に 参 画 し 、 JScript も ECMA-262 に準拠するようにバージョンアップされた。 ECMA-262 は そ の 後 Fast-track 手 続 に よ っ て ISO/IEC 16262:1998 と し て 国 際 標 準 と し て 承 認 さ れ 、日 本 国 内 自 体 の バ グ の 可 能 性 が あ り 、Test262 の 開 発 者 に レ ポ ー ト を 送 り 、数 件 の テ ス ト ケ ー ス は 修 正 の 見 込 み で あ る 。 表 3:ECMAScript Test262 準 拠 度 テ ス ト 結 果 で も JIS X 3060:2000 と し て 翻 訳 JIS が 制 定 さ れ た 。 4.1. 消 えた ECMAScript 4 th Edition 2008 年 頃 ま で 、改 訂 を 目 指 し Adobe と Mozilla を 中 心 に ECMAScript 4 の 標 準 化 に 向 け た 準 備 が 着 々 と 進 Opera Safari Chrome Firefox lv5 all pass 11029 11029 11029 11029 11029 7276 10256 10611 10865 11011 fail 仕様準拠度(%) 3753 773 418 164 18 65.97 92.99 96.21 98.51 99.83 め ら れ て い た 。Adobe は ActionScript 3 の 高 速 な JIT 処 理 系 実 装 Tamarin を 公 開 し 、 Mozilla は JavaScript 2.0 に向けた言語仕様のバージョンアップを行っていた。 ECMAScript 4 は ActionScript と JavaScript の 言 語 大 統一を試みる野心的なプロジェクトであった。 ActionScript 由 来 の class 宣 言 や int 型 、string 型 、const 宣 言 が 可 能 に な り 、 type 宣 言 や テ ン プ レ ー ト 型 も 使 う こ と が で き 、 package、 namespace、 intrinsic 宣 言 な ど 、 ダイナミック言語の大規模開発で必要な要素はすべて ECMAScript 4 で 取 り 入 れ ら れ る 予 定 で あ っ た [4]。 4.4. ISO/IEC 16262:2011 の策 定 日 本 で は 情 報 規 格 調 査 会 の SC22 専 門 委 員 会 内 に ECMAScript ア ド ホ ッ ク を 招 集 し 、ISO/IEC 16262 の 改 訂 に 備 え た 。JSON 形 式 の サ ポ ー ト 、Strict モ ー ド の 追 加 、 ISO8601 形 式 の 日 付 対 応 、 エ ラ ー の 厳 密 化 な ど の 追 加 仕 様 部 分 を 主 に 審 議 し た 。ECMA か ら の Fast-Track 手 続 に よ り 、 JTC1 参 加 各 国 の SC22 mirror committee 4 慶應義塾大学理工学部 3 年 画像電子学会 第 9 回国際標準化教育研究会 -事業化と標準化教育- が投票を行ったが、コメント付きの反対投票を行った 弱 性 と な る 。利 用 者 が 安 心 し て Web ア プ リ ケ ー シ ョ ン の は 日 本 の JISC の み で あ っ た 。投 票 コ メ ン ト で は 、セ を利用するためにも、仕様の策定段階からセキュリテ ミ コ ロ ン 自 動 挿 入 や JSON の 表 記 ゆ れ に 対 す る 許 容 に ィを考慮した設計と確認作業が必要である。 つ い て 最 近 の 実 装 を 反 映 し た 柔 軟 性 の 改 善 、 %演 算 子 のゼロ除算時の振る舞いなど技術的な記述の明確化、 5.3. 世 界 から見 た日 本 のおかしな標 準 URI の 扱 い の 最 新 RFC へ の 準 拠 な ど 技 術 的 な 改 善 を 提 日 本 の 12 時 間 表 示 の 慣 習 で 、 午 後 0 時 と い う も の 案した他、出典として参照すべき仕様の追加、仕様の が あ る が 、通 常 デ ジ タ ル 時 計 の 表 示 は 12:00PM で あ る 。 不整合箇所や誤記など編集上の指摘を行 った。 そ の た め 、国 際 化 を 意 識 し た ソ フ ト ウ ェ ア で は 、午 前・ 午 後 で は な く AM/PM 表 示 を 採 用 し て い る ( 図 13)。 5. Web 標 準 の 課 題 現 在 の Web ア プ リ ケ ー シ ョ ン の 動 作 の 根 幹 を な す JavaScript に 関 す る 言 語 仕 様 は 、W3C で は な く 、ECMA TC39 が ECMA-262 と し て 仕 様 の 策 定 を 行 っ て い る 。 Web Socket の JavaScript 側 API 5 は W3C が 策 定 し て い る が 、 Web Socket の 通 信 プ ロ ト コ ル は IETF が 策 定 に 関 与 し て い る 6 。 HTML5 や 関 連 API は 基 本 的 に W3C が 策 定 し て い る が 、WaSP や WHATWG の よ う に 別 団 体 も 過 去 に 存 在 し て い た 。現 在 の Web 標 準 の 規 格 は 一 つ の団体が主導して決めているものではない。実装の追 認も含め、現実と理想のバランスを取りながら標準化 図 13: 日 時 表 示 の ロ ケ ー ル 設 定 画 面 を進めているのが現状である。複数の団体が将来のイ ンターネットのビジョンを共有し、同じ目的を持って 協調しながら仕様を策定していく必要がある。 日本の標準化の甘さが露呈した事件もあった。世界 か ら 見 る と 日 本 の ロ ー マ 字 の 標 準 は ISO 3602:1989 で あ る 。 こ れ は 「 富 士 通 」 を 「 HUZITU」 と 表 記 す る こ 5.1. Web 制 作 現 場 への標 準 化 教 育 Web 制 作 の 現 場 で は 未 だ に CSS ハ ッ ク と 呼 ば れ て い る 手 法 ( 図 12) が 使 わ れ て い る 。 ブ ラ ウ ザ 毎 に CSS とになり、ヘボン式に慣れている日本人には受け入れ が た い 。こ れ は Web サ イ ト 所 有 者 の 法 的 実 在 性 を 証 明 す る EV SSL の 標 準 化 に お い て 問 題 と な っ た [7]。 の適用範囲や見栄えが異なるため、字句解析器の 例外 に依存した形で条件分岐を記述するという手法である。 body { color: red; /* all browsers */ color: green¥9; /* IE6,7,8 */ *color: yellow; /* IE6,7 */ _color: orange; /* IE6 */ } 図 12: CSS ハ ッ ク と 呼 ば れ る 分 岐 手 法 これはブラウザの実装に依存した形で、将来の動作 が保証されたものではない。また、各ブラウザでの表 示確認に余計な時間と手間がかかってしまう。今後 HTML5 と CSS2.1 の 普 及 と 制 作 現 場 へ の 教 育 に よ っ て 、 こ の よ う な CSS ハ ッ ク が 不 要 に な る こ と が 望 ま し い 。 6. さ い ご に Web の 技 術 は 変 化 が 早 く 標 準 策 定 の サ イ ク ル が 速 い 。 最新の標準動向に敏感な若い世代の人材を標準化団体 の中に取り込んでいく施策も必要であると考える。 参考文献 [1] W3C, 2011, HTML5 A vocabulary and associated APIs for HTML and XHTML( Working Draft) http://www.w3.org/TR/html5/ [2] @IT, 2010, W3C は 賞 味 期 限 切 れ 組 織 ? http://www.atmarkit.co.jp/news/analysis/201001/19/w3c.html [3] Rob Larsen, 2011, ECMA-262 第 5 版 最 新 の JavaScript 仕 様 に 関 す る 調 査 htt p ://www. ib m.co m/ deve loperwork s/jp/web/ library/wa -ec ma262/ 5.2. Web セキュリティの問 題 近 年 の サ イ バ ー 攻 撃 で も Web シ ス テ ム が 攻 撃 の 対 象 と な っ て い る 。Web ブ ラ ウ ザ や Web ア プ リ ケ ー シ ョ ンのセキュリティはこれから益々重要となる。実装の ミ ス だ け で は な く 、 CSRF の よ う に 仕 様 上 の 欠 陥 も 脆 5 6 http://www.w3.org/TR/websockets/ http://tools.ietf.org/html/rfc6455 [4] 2007, Proposed ECMAScript 4th Edition http://www.ecmascript.org/es4/spec/overview.pdf [5] Chris Wilson, 2007, What I think about ES4. http://blogs.msdn.com/b/cwilso/archive/2007/10/31/ what-i-think-about-es4.aspx [6] 情 報 処 理 学 会 , 2012, 第 53 回 プ ロ グ ラ ミ ン グ シ ン ポ ジ ウ ム 予 稿 集 pp.171-176 [7] 秋 山 卓 司 , 2009, EV SSL こ ぼ れ 話 (ISO 3602:1989 の罠) http://yet2come.jp/2009/01/ev-ssl-iso-3602.html
© Copyright 2024 Paperzz