技術解説
|
スマート・クライアント・アプリケーションの主要なメリットの1つとされているのは、オフライン機能のサポートだ。ユーザーはデータ・ソースにアクセス中にデータのスナップショットを取り出し、データ・ソースから切断されている間もそのデータを変更できる。オフライン機能は、ラップトップなどのデバイスを使うモバイル・ユーザーや、断続的あるいは信頼性の低いネットワーク接続を利用しているユーザーをサポートする上で魅力的だ。ただし、こうした機能のサポートは容易ではない。
大半のアプリケーションは単なる巨大なデータ・リポジトリ(データの貯蔵庫)ではなく、そのデータにどのような操作を実行するかを指定したり、追加された変更を検証してデータの完全性を確認するなど、各種のルール(ビジネス・ロジック)が含まれる。例えば、支払勘定システムであれば、支払いを入力する前に注文書を開いて承認する必要がある。オンライン・アプリケーション(エンド・ユーザーがバックエンドのデータ・ストアに常に接続しているアプリケーション)であれば、通常、そうしたルールに照らし合わせてデータへのあらゆる変更を検証し、もし更新が拒否された場合には直ちにその旨をユーザーに伝え、エラーを修正できるようになっている。
ユーザーがオフライン時にもデータに変更を加えられるということになれば、この仕組みは一挙に複雑さを増す。ビジネス・ルールに従うべきすべてのオンライン・コードを、オフラインでも動作するようにあらかじめ複製するようなシステムは、導入と保守の複雑さが増す。コードやそのほかに必要なすべての要素(例えば、データベースやデータベース・ソフトウェア)のコピーを各クライアントにインストールしなければならず、また管理者はユーザーが接続する各データベースに適切な複製ルールを設定し、保守しなければならないからだ。
代替の方法としては、ユーザーがオフライン時に加えた変更については、その後、そのユーザーが再接続した際に変更を検証できるようにするというものがある。残念ながら、大半のアプリケーションはこうしたまとまった検証を実行するようには設計されておらず、各変更を個々に処理し、受理または却下するよう設計されている。オフライン機能を改良するには、開発者は大量の更新をまとめて処理するための追加のコードを記述し、ユーザーにエラーを報告する方法や、エラーが見つかった場合に変更を部分的に受け付けるかどうかといった問題についても十分に検討する必要がある。
最後にもう1つ注意すべきは、オフラインのシナリオにおいては、オフライン・ユーザーが再接続するまでの間に、別のオンライン・ユーザーが記録を修正している可能性も考えなければならない点だ。ユーザーがネットワークに再接続するまでの時間が長くなればなるほど、そうした競合の可能性も高くなる。多くのアプリケーションは、そうした競合に対処できるようには設計されていない。
そのため、Office 2003はオフライン機能の実装に必要ないくつかの要素を提供するとはいえ、ユーザーが出先から利用してもすべて問題なく機能するような環境を整えるには、ほとんどの企業は既存のアプリケーションを変更しなければならないだろう。
INDEX | ||
[技術解説]Office 2003のXMLスキーマ・サポートがもたらすインパクト | ||
1.スマート・クライアント向けプラットフォームの本命 | ||
コラム:スキーマの役割とは | ||
2.Excel/InfoPathとXML | ||
コラム:オフラインのアプリケーション・サポートはなぜ難しいか | ||
3.Wordデータをビジネス・プロセスに認識させる | ||
コラム:Office向けの開発ツール | ||
技術解説 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|