オフラインwebアプリ

ネットワーク障害時にも、業務が継続できる点はOK。
サーバ側の開発は大変。

==============
まずブラウザがWebアプリケーションをダウンロードしてきて蓄積(キャッシュ)。このキャッシュされたWebアプリケーションが応答を返し,入力されたデータはSQLiteに保存する。オンライン状態のときにサーバーとの間でデータを同期させる。


このオフライン機能は,標準仕様をベースに実装される。具体的にはW3CWHATWGで標準化作業を進めているHTML 5を使う。ここに盛り込まれている,Webアプリケーションをオフライン対応にする仕様に沿って,キャッシュ可能なアプリケーションを開発できる。


日立製作所小林敦ソフトウェア事業部企画本部計画部担当部長は,「例えば,セッションの状態を管理できていないために決済が完了したことになってしまう,あるいは2重決済になるといった事態が起こり得る。これを回避する仕組みがWebアプリケーションに必要になる」と説明する。オフラインで使い続けるケースが加わるために,今までのように「セッションが切れた処理を無効にする」とはできないわけである。


 ブラウザにキャッシュしたWebアプリケーションとサーバー側のWebアプリケーションが,きちんとデータを同期できることも重要だ。「長期間オフラインでWebアプリケーションを使うユーザーがいることを,設計時に考慮しておくべき。オフラインにしている間にサーバー側のアプリケーションをバージョンアップして,データを同期できなくなるかもしれない」(富士通研究所ソフトウェアイノベーション研究部の松塚貴英氏)。同期に際してWebアプリケーションのバージョンやデータの整合性チェック,データの変換などを実行する仕組みを設ける必要がある。