2013年10月7日月曜日

Webアプリケーション: 第2回

実施日時: 2013-10-07(月) 3限
講義内容: Webのシステムアーキテクチャ

今日の講義では、Webのシステムアーキテクチャについてお話しました。ポイントを以下にまとめてみます。

  • アーキテクチャ(architecture)=「構造」
    • どのような部品から構成されているか?
    • それぞれの部品はどのような役割か?
    • 部品は互いにどのようにやりとりを行うか?
  • 分散システムアーキテクチャの例
    • クライアント・サーバシステム(→Wikipedia
    • ピア・ツー・ピアシステム(→Wikipedia
    • いずれも、古くから様々なシステムで利用されているアーキテクチャであり、利点・欠点もかなり明らかになっている。いわば「先人の知恵」
  • Webとは
    • インターネット上に実現された分散ハイパーメディアシステム
  • ハイパーメディア(hypermedia)
    • 様々な「情報」をリンクで互いに結びつけたメディア(情報の集まり)
    • Webでは
      • 「情報」=リソース(resource)
        • インターネット上に分散して置かれており
        • 様々な種類のものがあり(テキスト、画像、etc.)
        • 同じ情報でも複数の表現(representation)を持つ場合があり
        • 互いに区別できる仕組みを持つ
          • URI(Uniform Resource Identifier)
  • Webのアーキテクチャ
    • クライアント・サーバシステム
      • リソースを供給するWebサーバ、Webサーバとユーザとの橋渡しをするWebクライアント(Webブラウザなど)
    • ステートレスサーバ
      • Webクライアントの状態をWebサーバでは管理しない
    • キャッシュ
      • Webクライアントが一度取得したリソースを使いまわす
    • 統一インタフェース
      • すべてのリソースに対する操作が統一されている
    • 階層化
      • システムをいくつかの階層に分離する
      • 目的:Webサーバの負荷分散など
    • コードオンデマンド
      • プログラムをサーバからダウンロードし、それをクライアント上で実行する
  • Webのアーキテクチャ=REST(Representation State Transfer)

0 件のコメント: