FC2ブログ
 

Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです


--年--月--日

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


2009年10月02日

Silverlight - 既存のWEBアプリと比較

今回は、既存のWEBアプリケーションについて基本をおさらいしてみました。
その上で、Silverlightの特徴を記述します。

まずは、
HTTPの処理方式について
 ClientがブラウザでWebサイトのコンテンツを表示する場合、HTTPリクエストという形式でWebServerに対して『コンテンツを構成するHTMLファイルや画像ファイルを下さい。』と依頼します。するとWebServerは要求されたファイルを返します。

 Clientのブラウザは受け取ったHTMLファイルを解析してコンテンツを表示します。この時、WebServerはファイル送信後に、そのClientの情報(アドレス等)を破棄してしまいます。
 WebServerはその都度、Clientからの依頼に対して応答を返しますが、依頼元の情報は記憶していない為、とても単純な仕組みが実装でき、コンテンツを効率よく表示しているのです。
※このように、Clientの情報をWebSeverは記憶せず、パフォーマンスの向上と記憶容量の節約する事を、【ステートレス(Clientのステート:状態を保持しないこと)】と、呼ぶそうです。

次に、
HTMLページの移動・更新について
 上述した通り、シンプルなやりとりでブラウザがWebページを表示するのですが、ハイパーリンクをクリックしてページを移動する度に毎回WebServerへのHTTP要求が送信され、ブラウザは返されたHTMLファイルを解析して表示しています。
 このように、HTTPとHTMLによるWebコンテンツの閲覧では、ページの移動や更新を行う際に、毎回WebServerへアクセスが発生します。
※高速化のために、一度表示したページを保存しておいて、次回以降に再利用する「Webキャッシュ」や「インターネット一時ファイル」と呼ばれる方式が一般的には利用されています。

ここで、
HTMLによる大量データ表示について
 一般的に、HTMLはWeb上のDocumentを記述する為に使用されているマークアップ言語です。マークアップとは、タグによりText文書の見た目や構造を指定することを意味します。タグとはHTMLの場合<>で囲まれた指定文字を意味します。

 HTMLによるページでは、画像の読み込みやハイパーテキストによる別文書へのリンクを容易に行えますが、基本的にはテキスト文書にマークアップやCSSスタイルを設定したり、表組機能を利用してページを格子スタイルでレイアウトすることしかできません。

 例えば、業務アプリによく見られる「スクロールバー付のデータグリッドで大量のデータを一度に表示する」というような画面を作成することはできず、検索エンジンの結果画面のように「次の○○件」や「前の○○件」というリンクをたどってページを切り替えるか、縦に長いページで表示するしかありません。

 ページの切り替えを行う度に、WebServer上のプログラムにアクセスすることになり、レスポンス対策だけで、かなりのインフラコストを投資する必要がありました。

最後に
CGI/PHP/JSP/JavaサーブレットによるWebアプリについて
 PerlによるCGIや、PHP、JSP、Javaサーブレットなどで作成されたWebアプリは、通常HTMLベースの画面構成となる為、WebServerへのHTTP要求がClientから送られる時に、プログラムが実行され、結果をHTMLドキュメントとして要求元に返すという仕組みになります。

 これらのWebアプリでは、ページを切り替える度に以下の処理が実行されています。
 Ⅰ.WebSeverへの処理要求を送る。
 Ⅱ.WebServer上で、プログラムが実行され、結果をHTMLドキュメントで返す。
 Ⅲ.Clientのブラウザが返されたHTMLドキュメントを解析してページ全体を更新する。

※HTTP通信はステートレスなので、ショッピングカートのような処理を実現する為には、ブラウザが生成する「Cookie」を保持することで、Clientの識別を行う必要があります。


◆SilverlightによるWebアプリケーション◆
 SilverlightによるWebアプリでは、以下のような特徴でHTMLベースのアプリケーションにおける不利な点を改善することができるそうです。
 WebServerにアクセスしなくてもページを切り替えることが可能。
 ページ全体を切り替えなくても、データを取得して表示することができる。

 つまり、WebServerにアクセスする回数が少なくなり、レスポンスが向上します。また、デザインやユーザーインターフェースの優位な点として、
 Windows Presentation Foundation (WPF)テクノロジーを使用する為、グラフィカルな表現やアニメーション効果を追加することができ、デザイン面や操作性が向上する。
ということが挙げられるそうです。

WPFについては、今後もう少し勉強してこのブログ内で記述したいと考えています。

[ posted by h.i ]

この記事に対するコメント


この記事に対するコメントの投稿














管理者にだけ表示を許可する



この記事に対するトラックバック
トラックバックURL
http://comfair2.blog24.fc2.com/tb.php/439-ea77c69a
この記事にトラックバックする(FC2ブログユーザー)











上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。