Javaの勉強を始めて2ヶ月。書籍やサイトで基礎の基礎(変数や四則演算、オブジェクト指向など)は学べました。
次のステップは、この学んだ知識のアウトプットとしてWebアプリを無料(主にYouTube)独学で学んでみます。※JavaのWebアプリ開発で用いられるサーブレットやJSPといったものもよくわかっていません。
そこで、まずはWebアプリケーションの作りかたを学び、それから自分で実際に何かサービスを作ってみようと思います。
時間はかかるかもしれませんが、頑張っていきます。
Webアプリケーションの全体の流れ
Webアプリケーションを簡単に説明すると、、
パソコンを使ってインターネットで買い物をしたり、検索サイトで調べ物をする場合、
クライアント(サービスを依頼する側のコンピュータ)が
サーバ(サービスを提供する側のコンピュータ)へ
Webブラウザ(GoogleChromeなど)でリクエスト(サービスを依頼)し、
サーバがこれに合わせて処理を行い、レスポンス(メッセージを返す)をするもの。
WebブラウザとWebサーバの間でリクエストやレスポンスでやり取りをするときのルール
▶︎HTTPプロトコル
これから学んでいくWebアプリケーションは、サーバ側に配置するもの。
サーバー構成
サーバは一般的に3層構造になっている。
Webサーバ ↔︎ APサーバ ↔︎ DBサーバ
・Webサーバ(受付係の役割)
→クライアントとのHTTP通信が主な役割。
→リクエストを受け取って、処理をAPサーバに依頼し、結果をレスポンスとして返す。
例)Apache/nginx/IIS
・APサーバ(Webアプリの処理)
→送金処理、集計処理、メッセージ処理などアプリケーション固有の処理を行う。
→DBサーバに蓄積されている処理に対して、データの検索・追加・更新・削除を行う。
例)Tomcat/JBoss/GlassFish
・DBサーバ(データを蓄積・保管)
→商品のデータ、銀行のデータ、登録ユーザのデータなどデータの倉庫かつそれを管理する。
例)Oracle/SQL Server/MySQL
3層構造のメリット
・管理・メンテナンスが容易になる
・負荷のかかっている部分を増設するなど変更・拡張を行いやすい
ここでのWebアプリケーションはAPサーバに乗せて動かす。
→APサーバにデプロイ(プログラムを配置して動かせる状態にすること)し、APサーバと一体化させて動作させる。
今後学ぶこと
技術要素として
- HTML/CSS
- servlet
- JSP
- MVCモデル
- Java
HTML/CSSはレスポンスを返すときに使う。
servletとJSPはAPサーバ内にあるWebコンテナとJavaによるアプリケーションが協力して動作する。
MVCモデルとは設計モデル。Webアプリを開発するときに、最初に見通しを立てておくことが必須。
まとめ
とりあえず、そのような仕組みでWebアプリが動くのかという大枠(本当に大雑把に)をなんとなく理解できました。
クライアントがサーバにリクエストを送り、それをサーバ内で処理し、レスポンスとして返す。
サーバは3層構造となっており、WebアプリはこのうちAPサーバに乗せて動かす。
3層構造のメリットは管理やメンテナンス、拡張・変更が行いやすくなるから。
聞きなれない言葉が多かったのですが、こうしてアウトプットすることで頭に入ってきます。言葉を暗記する必要はないと思うので、分からなくなればここを見ればいいという安心感も生まれました。
HTML/CSSはなんとなくわかるので、次回はTomcatについて学びます。
コメント