
今回は…
というテーマでお送りします。

入門コースを開始します。
Webアプリ作成の 第一歩です。
一緒に、頑張っていきましょう。
このコース、一緒に勉強する仲間は
Java入門コースに引き続いて…
河合彩香さんと、速水剛留くんです。

好きな食べ物は、きつねうどん です。
改めまして、よろしくお願いします。


好きなスポーツは、サッカーです。
よろしくお願いします。

【1】 Webアプリケーション

これから、JavaによるWebアプリケーションの
勉強をしていきますが…
まずは、Webアプリケーションの
概要を見ていきましょう。

と いう言葉からです。
は、何かサービスを依頼する側
のコンピュータやソフトウェアを指します。

そして
は、サービスを提供する側の
コンピュータやソフトウェアです。

例えば 私達が、パソコンを使ってインターネットで
買い物をしたり、検索サイトで調べ物をする場合…
クライアント側で「Webブラウザ」を使用します。

そして、サービスを依頼するメッセージを 送ります。

そうすると、サーバは送られてきた 「リクエスト」
に合わせて処理を行い、メッセージを返します。

そして、このように Webブラウザとサーバの間で
メッセージを やり取りする時には…
ある「ルール」に従っています。
このルールを…

この大枠で考えた時
これから学ぶ「Webアプリケーション」は…
サーバに乗っかって 動いているイメージです。

リクエストを受け取ると、その Webアプリケーション
固有の処理を行って、レスポンスを返します。
通常、この「リクエスト」と「レスポンス」は
繰り返してやりとりされ…
結果的に、一連のサービスが
提供される事となるのです。

全体の流れと Webアプリケーションの位置づけ。
まずは、大枠のイメージで 押さえておきましょう。
【2】 サーバ構成

前のコーナーで大枠で、クライアントと
サーバの関係を見てきました。
今度は、Webアプリケーションの一般的な
サーバ側の 構成を見ていきましょう。
先程の図のサーバ部分を 拡大しました。

ここで サーバ側の話の前に、まず
クライアント側の Webブラウザの役割を見ておきましょう。
こちらは、大きく2つ。
1つは、HTTPプロトコルに従った
リクエストを送ること。

もう1つは、HTTPプロトコルに従った
レスポンスを受け取って画面に表示することです。

こちらは明確ですね。
② HTTPプロトコルに従ったレスポンスを受け取って
画面に表示すること。
これに対して、サーバー側は
一般的に 3層構造になっています。

Webサーバ、APサーバ、DBサーバです。
① Webサーバ ② APサーバ ③ DBサーバ
まず、受付係に相当するのが、Webサーバです。
こちらは、クライアントとのHTTP通信が主な役割です。

リクエストを受け取って、処理をAPサーバに依頼して
結果をレスポンスの形でクライアントに返します。
サーバ製品の例としては…
Apache HTTPサーバ、nginx、IIS などがあります。
次が、APサーバ(アプリケーションサーバ)です。
APサーバは、Webアプリケーションの処理を行います。

送金処理、集計処理、メッセージ送信処理など
アプリケーション固有の処理を 行います。
また、DBサーバに蓄積されているデータに対しては
データの検索、追加、更新、削除の処理を行います。
サーバ製品の例としては…
Tomcat、JBoss、GlassFish などがあります。
最後が DBサーバです。こちらは
多くのデータを 蓄積・保管 しておくためのサーバです。

商品のデータ、銀行の口座のデータ
登録ユーザのデータなど多岐に渡りますが…
データの倉庫、そしてその倉庫を管理する
役割を担うサーバです。
サーバ製品の例としては…
Oracle、SQL Server、MySQL などがあります。
3層構造のメリットとしては
管理・メンテナンスが容易になることと…
負荷のかかっている部分を 増設するなど
変更・拡張を 行いやすいという点があります。

② 変更・拡張を 行いやすい。
私達が開発する Webアプリケーションは
このうち APサーバ に乗せて動かす事になります。
プログラムを配置して 動かせる状態にする事を
デプロイメント ( デプロイする ) といいますが…
APサーバと一体化させて 動作させる事となります。

ここでは、一般的には Webアプリケーションを
動作させるサーバ類は 3層に分かれていて…
Webアプリケーションは APサーバにデプロイして
動かすということを このイメージで押さえておきましょう。

複数のサーバが連携して 動作しているんですね。
大枠の構造を、理解しました。

完璧です。
【3】 コースの範囲

それでは、このコースの範囲と 勉強する技術要素を 見ておきましょう。
① コースの範囲
このコースは、Javaにおける
Webアプリケーションの入門コースです。
範囲は、青枠で囲んだ部分です。

Webブラウザから受け取ったリクエストを
Webサーバが APサーバに伝達します。
そして、APサーバ上で待ち構えている
Webアプリケーションが処理して…
結果を Webサーバを経由して
Webブラウザにレスポンスとして返します。

…という部分を 見ていきます。
DBサーバの部分は、また別の機会に
やっていくとしましょう。
今回は、Webブラウザと Webサーバ・APサーバが
リクエスト・レスポンスを繰り返して…
Webアプリが動作していく部分を
学んでいきましょう。
② 技術要素
そして、技術要素ですが…。
まずは、HTML と CSS の基本部分 です。

Webブラウザが受け取るレスポンスが
この HTMLとCSS です。
Javaによる Webアプリを学びますが
HTML/CSS の基本も知っておく必要があります。
基本的な部分を 習得しましょう。
そして、servlet と JSP です。

これは、APサーバの中にある Webコンテナというものと
JavaによるWebアプリケーションが協力して動作する仕組みです。
この Webコンテナ詳細については
後の回で解説していきます。
今のところは、そういう形になっていることを
押さえておきましょう。
そして、MVCモデルについて学びます。

これは、Webアプリを組み立てていく時に
このように考えていきましょうという 設計モデルです。
この考え方を使って、プログラムを組み立て
られるようになる事が、このコースのゴールです。

プログラミング言語は、Javaを使っていきます。

現時点では、Javaの基本文法、クラスやインスタンスの
概念、メソッド呼び出しといった事が…
…一通りできる事を想定しています。
Java超入門コース、Java入門コースを
ご覧いただけたかたは、もちろん大丈夫ですし…
そうでなくても、Javaの基本は大丈夫と思えるかたは
もちろんOKです…。
また、このコースの中でも、Javaの基本についても
適宜 補足して説明していきますので ご安心ください。
…という事で
① このコースの範囲 、② 技術要素
…順に見てきました。この内容で進めていきます。
Webアプリケーション入門
一緒に 頑張って 進めていきましょう。

皆さん、一緒に頑張っていきましょう!

このコースの ゴールに向けて 走っていきます。
皆さん、ゴールに向けて、一緒に頑張っていきましょう!
【まとめ】

サーバ側の Webアプリケーションが
メッセージ交換することで成り立つ。
✅ Webブラウザとサーバの間は
HTTPプロトコルに従って
メッセージのやりとりをする。
❶ Webサーバ
HTTP通信を行う
❷ APサーバ
アプリ固有の処理を行う
❸ DBサーバ
データの保持・管理を行う
リクエストに対して固有の処理を
行って、レスポンスを返す範囲。
今回も、ご覧いただき、ありがとうございます。