Webアプリケーションの仕組み

Webの仕組み

Webの仕組みとは、「Webクライアント」と「Webサーバー」によって支えられてます。
クライアントとは「顧客・依頼者」などという意味があり、ユーザが見るブラウザのことを表します。
サーバーは「仕える者・支給人」という意味で、高性能な専用ソフトウェアが稼働している、
ネットワークで結ばれたデータの保管場所を表します。

実際、Webクライアントから始まって、アドレス欄にURLを入力し、
Webサーバーに対して見たいページ情報を送り「リクエスト」ます。
Webサーバーはそのページ情報を内部に保存して、Webクライアントにデータを戻す、
「レスポンス」することによって、そのWebクライント上でページが表示される仕組みになっています。

Webアプリケーションの仕組み

例えばニュースサイトのように、アクセスする度に同じページ内で最新情報が常に変わって表示されるものや、
SNSやショッピングサイトのように、登録することで自分だけの管理ページを扱えるようにもなります。

このようなプログラムで自動でユーザーに提供するような動的サイトは、
WebクライアントとWebサーバーを利用したシステムである「Webアプリケーション」によって
実現されている場合がほとんどです。
一定時間ごとや、ユーザーのアクセスの度に見合った情報を、編集者が待機して手作業で送信するのではなく、
サーバー内にデータを受け取ることでプログラムが起動し、自動でレスポンスするシステムを用意しておきます。

この、サーバー内で起動してレスポンスするプログラムを「サーバーサイドスクリプト」と言い、
PHPやJava、Cと言った言語があります。必要であればデータベースに接続してデータを取得・更新し、
HTMLデータを自動的に生成し出力します。

それに対して各ユーザーのブラウザ上で実行するプログラムを「クライアントサイドスクリプト」と言い、
JavaScriptやActionScriptのようにサーバーの負荷を軽減する言語があります。ただし、これらは
プログラムがバージョンアップをする度に、各ブラウザのプログラムをFlashPlayerのように
再インストールしていかなければならなりません。

なので、これらの問題に対応する方法として、プログラムをWebサーバーで実行し、OSやブラウザに依存しない
Webアプリケーションが注目されました。

▲上に戻る

Webアプリケーションに必要なもの

Webアプリケーションを動かす環境として、Webサーバーにはデータベースを管理するシステムと、それを利用するプログラムと、それら全てのソフトウェアを動かす土台となるOSが必要になります。

これら各ソフトウェアは何種類もあり組み合わせも多彩ですが、ここではローカルである自分のパソコンに仮サーバーとして、これらの組み合わせを主要なソフトウェアが同梱された、効率的にセットアップできる「XAMPP」というパッケージソフトをインストールします。

本来であれば各自が契約したレンタルサーバーに、すでに設定されているソフトウェアに合わせて制作していきますが、対応や制作方法が人それぞれ変わってしまうので、統一してネットワークを介さずにサーバーアクセスを想定した練習制作を行います。通常の業務もテストとしてXAMPPを使うことが多いです。

XAMPPのXはWindows、Linux、Mac OS Xなどのクロスプラットフォーム。
AはApache、MはMySQL、PはPHP、もう1つのPはPerlの頭文字から構成されています。
ただOSにLinuxを使う場合はLAMP、Macを使う場合はMAMPという専用パッケージがあります。

実際に、XAMPPをローカルにインストールしたときの仮想サーバー内は、
どのような構造が組み上がっているか、以下の図を参考にしてください。

まずパソコンを立ち上げた時点でWindowsOSが起動します。
そしてXAMPPコントローラーからApacheを起動します。でなければPHPが動きません。さらにコントローラーからMySQLを起動します。これもデータベースを操作するための、データベース管理システム(DBMS)が作動しないので「Start」の状態でボタンを押します。

PHPは主にDreamWeaverのようなテキストエディターで作成します。
作成したデータは「.php」という拡張子を付けて、cドライブ内のxamppディレクトリ(フォルダ)内の「htdocs(HyperTextDocuments)ディレクトリ」に保存していきます。

そうすれば、サーバー内にデータをアップしたと仮定され、
ブラウザのアドレスに「http://localhost/sample.php」と打てば、ページを閲覧することができます。
さらにその中で、何らかのPHPプログラムから、データベースの情報や動的ページを
自動的に取得することもできるようになります。

▲上に戻る

>>目次に戻る >>次へ