0
0

More than 1 year has passed since last update.

web技術の基礎  Chapter5 まとめ

Posted at

Chapter5

Webアプリケーションの3層構造

  • ネットワークを介してブラウザ上で動作するアプリをwebアプリケーションという。
  • webアプリケーションは、3層構造(3層アーキテクチャ)と呼ばれる階層からできている。
  • ユーザーインターフェイスとなる「プレゼンテーション層」、業務処理を行う「アプリケーション層」、データの処理や管理を行う「データ層」の3つからなる。

MVCモデル

  • MVCモデルとは、Model、View、Controllerの3つの役割からできるアプリである。
    • Modelとは、アプリケーションの扱うデータと業務処理を行う。
    • Viewとは、ユーザーへの出力処理を行う。
    • Controllerとは、必要な処理をModelやViewに使える。
  • 分業を行いやすく、さらに修正や機能追加が容易なので開発では多く使われる。

フレームワーク

  • サーバーサイド・スクリプトの開発を行う場合は、データの受け取りから通信処理などの多くのシステムを実装する。そこで、一般的な処理の流れを「雛形」として準備することによって開発スピードを高め、独自のアプリケーションを組めるようにしたものをフレームワークという。
  • javaをベースにした「Java EE」「Struts」「Spring Boot」、PHPをベースにした「Cake PHP」、Rubyをベースにした「Ruby on Rails」が有名。

webサーバー

  • webサーバーとは、webアプリケーションにおいてクライアントに対する窓口の役割を果たすプログラム。
    • 静的ページや動的ページを呼び出しの元のコンピュータに転送する。
  • webサーバーの機器台数を増やすことで1台あたりの負荷を少なくすることで故障した際もサービスを運用することができる構造を冗長化。

webクライアント

  • webサーバーとやりとりを行い、webシステムを利用するためのプログラムをwebクライアントと呼ぶ。
    • webサーバーから送られてきたHTTPレスポンスを解釈し、わかりやすいように表示するソフトウエア。
    • webアプリケーションを利用するためのwebクライアントとして利用されるものをwebブラウザという。

アプリケーションサーバー

  • アプリケーションサーバー(APサーバー)は、webアプリケーションの中核となる業務処理を行うプログラム。
    • 役割jは、webサーバーから送られてきたデータを受け取り、サーバーサイドのプログラムを実行することでデータの加工や検索をおこない転送。
  • HTTPは、一回のリクエストとレスポンスで通信が遮断されるので、クライアントが同のような状況か把握できない。
    • アプリケーションサーバーは、クライアントごとに発行したID(セッションID)を通信データに含めることで同じクラインアントとの通信を1つのセッションとして判別し、ログイン状況などを把握する。
  • トランザクションとは、通信を行う一連の作業の最小単位のこと。

データベース管理システム

  • webアプリケーションに蓄積されるデータはデータベース(DB)に格納される。
  • データベースの管理を行っているのが、データ管理システム(DBMS:Database Management System)。
  • DBMSを搭載したサーバー機器を一般にデータベースサーバーという。
  • ミラーリングとは、データの更新命令に対して複数のデータベースに同時に更新を行う方法。
  • レプリケーションとは、ミラーリングとは異なり更新命令をただちに送らず、任意のタイミングで更新を行う方法。
  • シェアードディスクとは、複数のDBサーバーから更新を行う方法。

キャッシュサーバー

  • キャッシュサーバーとは、リクエストに対するレスポンスを覚えておく役割を持っている。
  • リクエストに対するレスポンスの記憶をキャッシュという。
  • コンテンツキャッシュとは、文章や画像、動画といったコンテンツの記憶。
  • クエリキャッシュとは、DBMSデータ検索要件の結果を記憶。

Ajax

  • クライアントとサーバーを交互に処理を行い、同調して通信を行うことを同期通信という。
  • 同調通信の欠点である通信の遅さを補うのがAjaxという技術。
    • webブラウザ上で直接動くサーバーサイドスクリプト、javascriptが通信を行いHTMLを更新。
    • DOMをつかってHTMLを変換するので同期通信よりもデータ量は少なくなる。
  • 非同期通信を行うことができるのでレスポンスを待つ間の時間をその操作に左右されない箇所の更新を行える。

Webプログラミング

  • プログラミング言語を使ってwebアプリケーションを開発することをwebプログラミングという。
  • 特徴として、サーバーサイドスクリプトとクライアントサイドスクリプトの2種類からなる。
  • サーバーサイドスクリプトは、素早いリクエストの処理やDBMS,セキュリティーを意識した技術が必要。
  • クライアントサイドスクリプトは、主にwebブラウザーでの表示を整えたり、Ajaxでの非同期処理などを行う。

WebAPI

  • webAPI(Appllication Program Interface)とは、アプリケーションがwebサーバーの機能を利用するためのインターフェイスで、webブラウザーから操作しなくてもアプリケーションが直接webサービスを利用することができる。

マッシュアップ

  • さまざまなwebAPIを利用し、組み合わせることで別のサービスを提供することをマッシュアップという。

CGI

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0